关于 icp-sequencer-workflow
ICP Sequencer Workflow 引导用户在 Clay 中构建潜客搜索工作流、人员受众细分和草稿营销活动。它强调验证联系人数据、逐项审批,并将活动加入名单和发送操作留给用户控制。
主要功能
- 01构建可复用的原生 Clay 工作流
- 02搜索并丰富符合 ICP 的联系人
- 03写入前验证工作邮箱
- 04创建人员受众细分
- 05准备由受众驱动的草稿活动
- 06运行或发送前要求审批
适用场景
- 01构建可重复使用的潜客挖掘流程
- 02将合格联系人保存到 Audiences
- 03按细分筛选已验证潜客以便联系
- 04准备活动文案和发件人设置
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ clay-run/ clay-skill-creator --skill icp-sequencer-workflow安装后在 Claude Code 中输入/icp-sequencer-workflow确认已加载。
详细介绍
ICP 序列工作流
构建三个相互关联的产物:原生搜索与丰富工作流、已保存的人员受众细分,以及由受众驱动的草稿营销活动,并配置外联文案和发件人设置。
工作流会将符合条件且已验证的联系人保存到 Audiences;受众细分会筛选出这些联系人;营销活动则负责从该细分中招募联系人。不要添加 Enroll in Campaign 节点。生产环境中的搜索和丰富应放在已保存的工作流中完成,而不是通过本地脚本或独立批次处理后再导入 CSV。本地配置文件和有限范围的诊断预览可以使用。
将此技能完整保存在一个 SKILL.md 文件中。
声明的输入
复用用户或会话已提供的任何信息;仅针对确实缺失的内容提问,每次只问一个重点问题。零、false 和“无需个性化”都是真实答案,并非缺失输入。
| 输入 | 安装者提供的内容 | 缺失时的处理方式 |
|---|---|---|
| 买家角色和资历级别 | ICP 所针对的职能和资历级别 | 首先询问——没有这些信息就无法编写搜索查询 |
| 公司标准和信号 | 规模、行业、增长、技术特征或其他账户筛选条件 | 构建人员级查询,并说明未应用公司标准 |
| 人员或公司所在地 | 地点指人员所在地还是公司总部所在地,以及涉及哪些区域 | 不应用地理筛选,并说明原因;不得自行推断 |
| 排除项 | 明确的纳入/排除名单,以及需要排除的账户 | 不应用任何排除项;不得自行推断,也不得为了达到数量而扩大目标范围 |
| 卖方、报价和 CTA | 卖方是谁、报价内容、行动号召,以及任何声明所依据的证据 | 构建搜索和丰富流程;在收到这些信息前暂停编写营销活动文案 |
| 可选个性化 | 要丰富哪些信息,以及这些信息需要有多新 | 跳过个性化——这是有效选择——并将邮件判断节点直接连接到写回 |
| 工作区 | 预期使用且包含 Workflows、Audiences 和营销活动的 Clay 工作区 | 如果目标不明确,则在创建任何内容前停止 |
| 邮箱验证功能 | 如果要求使用特定功能,提供已安装的瀑布流/验证功能 | 在工作区中查找合适的功能;如果没有,则报告阻碍因素,不得猜测邮箱地址 |
| 成员资格设计 | 每个营销活动专用的布尔标记字段,或明确指定的现有成员资格设计 | 为此营销活动创建专用布尔字段,避免覆盖其他营销活动的成员资格 |
| 发件人账户 | 营销活动应使用的已连接发件身份 | 仅在多个发件人存在实质性歧义时询问;将营销活动保留为草稿 |
| 运行范围(执行时) | 整个搜索或结果数量限制,以及任何单次运行或每家公司的上限 | 按需运行,并在运行时使用受支持的控件确定范围;说明无法执行的任何上限 |
此技能涉及的内容
- 读取:工作区身份信息(
clay whoami);用户指定的现有工作流、细分和营销活动,以避免重复;Audiences 字段定义;搜索触发器的运行时输出;电子邮件函数的输入、输出和验证约定;已连接的发件人账户;以及用户提供的 ICP、优惠方案和个性化背景信息。 - 写入:创建草稿工作流;创建或配置人员受众细分;创建由受众提供名单的草稿营销活动(外联文案、发件人设置、细分绑定);将联系人记录写入或更新到 Audiences — 已验证的主要电子邮件地址、姓名、匹配的公司字段、所需的个性化信息 — 以及仅在通过资格筛选和电子邮件验证后写入的、针对每个营销活动的布尔成员标记;根据构建需求添加兼容的 Audiences 字段;如果已安装的技能提供了指定身份信息,则可在工作流描述中附加一行 Marketplace 来源信息。
- 绝不执行:自行将人员加入营销活动或发送电子邮件;未经单独授权发布或运行工作流、启动营销活动或发送测试邮件;删除记录或清空已填充字段(传入值为空时保留现有值);覆盖共享字段上其他营销活动的成员标记;猜测域名或电子邮件地址;导入无关联系人以填充预览;或自行提交或发布。
- 暂停点:第 4 步样本审核、第 4 步支出批准、第 4 步发送批准。
发现和资源链接
运行 clay whoami 以识别工作区。复用用户或会话明确指定的资源;编辑前先检查,并在创建重复资源前解决匹配结果不明确的问题。
根据需要使用可用的 Clay 技能来处理工作流、搜索语法、操作发现、Audiences 和营销活动。否则,使用已安装的 clay ... --help 和实时架构。当前指南优先于下方示例。请如实报告身份验证、网络和不支持的功能错误,不要将它们混为一谈。
每次成功创建资源后,立即发送简短进度更新,注明其名称并附上可点击的 https://app.clay.com 编辑器链接。 工作流、受众细分和营销活动都要分别发送更新;不要等到最后才汇报。适用时说明该资源为草稿或仍在配置中。复用资源时,在确认资源后分享其链接。
优先使用 Clay 返回的 URL。如果未返回 URL,则使用实际工作区 ID 和已创建的资源 ID 构造链接:
| 资源 | 应用 URL |
|---|---|
| 工作流 | https://app.clay.com/workspaces/<workspaceId>/terracotta/tc-workflows/<workflowId> |
| 人员细分 | https://app.clay.com/workspaces/<workspaceId>/people/audience/<segmentId> |
| 营销活动 | https://app.clay.com/workspaces/<workspaceId>/campaigns/<campaignId> |
绝不可替换为 API 端点、猜测的 ID 或其他工作区的资源。最终交接时再次附上全部三个链接。
1. 确定 ICP 和提供的价值
通过对话式访谈引导用户:每条消息只问一个重点问题,然后等待用户回答后再问下一个。 不要向用户展示完整问卷,也不要在一个提示中合并多个彼此独立的问题。重复使用用户已经提供的信息,并跳过已回答的问题。简短示例有助于用户作答。
先了解买家的职位/职能,再依次确认尚缺的公司条件、地理位置、排除条件、提供的价值,以及可选的个性化信息。必要时将宽泛主题拆分为单独的问题。发现已连接的账号后,再询问发件人选择。在等待回答期间,如有帮助,可继续进行相互独立的信息收集或草拟工作。
以下是内部覆盖清单,不是要直接发给用户的问卷:
- 买家职位和资历;公司条件和信号;个人所在地与公司总部所在地;排除条件。
- 卖家、提供的价值、行动号召,以及有依据的产品事实或已获批准的证明材料。
- 可选的个性化信息及其时效要求。不得补充其他个性化信息。
简要总结 ICP 和重要假设。未指定频率时,默认按需配置。在构建访谈中,不要询问每次运行的潜在客户数量或每家公司要联系的人数,也不要硬编码搜索上限,除非用户有此要求。运行工作流时,用户可以选择搜索全部结果或限制结果数量。如果用户要求执行工作流,则通过支持的运行控制项确定当次运行范围,并遵守用户已提供的任何限制。两封邮件并在三天后跟进,是合理的默认方案,并非效果保证。不要为了达到某个数量而扩大目标范围,也不要覆盖用户明确指定的纳入/排除条件。
使用当前的 clay searches query-mode reference 编译查询。将当前职位和公司谓词放在同一个 experience 表达式中。检查增长率单位和公司规模分组:增长率高于 1.2 表示超过 20%,而 51–1,000 这一分组并不能精确实现 50–1,000。说明此类边界。必须进一步丰富数据才能判断的条件,应在工作流中进行检查;报告无法实现的条件。
2. 构建原生工作流
请将其构建为已保存的 Clay 工作流,而非内联对话操作,这样它就会持久保存为可供用户重新运行的可复用图;创建下方所示节点前,先通过 clay workflows nodes --help 确认已安装 CLI 中的节点语法(绝不要使用硬编码的命令格式)。
先展示拟议流程,然后根据当前的预算选择要求,创建一个名称描述明确的草稿工作流:
flowchart TD
A([Find leads: ICP search]) --> B(Resolve required company details if missing)
B --> C(Find and verify work email)
C --> D{Verified email available?}
D -->|Yes| E(Optional personalization)
E --> F(Save contact and membership marker to Audiences)
F -.-> G[Audience segment]
G -.-> H[Audience-fed campaign]
虚线连接表示独立的产物,并非额外的工作流节点。如果所需详情已齐全,则省略公司信息补充;如果不需要个性化内容,也将其省略。搜索筛选条件已满足其所执行标准的资格要求;泛泛的潜客资格指导不需要再添加第二个节点。仅当搜索无法表达某些标准时,才添加下游资格筛选。不要用额外的职位名称关键词规则缩窄结构化的资历匹配。缺少必填输入和未经验证的电子邮件应停止处理或转交审核;这些属于数据就绪性检查,而不是再次进行 ICP 资格筛选。
使用包含实际 ICP 查询的原生 Find leads 触发器。每位匹配的人员启动一次运行。已知的来源结构如下;请根据当前触发器帮助信息进行核验:
{
"triggerType": "action_source_scheduled",
"dataSource": {
"kind": "cpj_criteria",
"entityType": "people",
"dslQuery": "<ICP query>"
}
}
如果没有 scheduleConfig,则无论类型名称如何,它都是按需触发的。创建触发器不会执行搜索。读取触发器以获取其输出架构;已保存的来源配置可能只返回来源 ID,而不会回显查询。如果原生来源不可用,请报告阻塞因素,不要悄悄改用 CSV 工作流。
在最终确定绑定之前,请使用此工作流搜索触发器的现有运行记录,或经授权的小规模来源测试,检查实际输出样例。搜索预览、声明的架构或其他工作流中的映射都不能证明运行时的实际值。检查每个必需的电子邮件输入是否存在、类型是否正确以及是否为 null。尤其要注意,即使最新职位/公司字段和 Clay 公司 ID 存在,matched_experience 也可能为 null。没有运行时证据时,应将绑定标记为未验证,而不是声称已就绪。
使用满足搜索条件的同一雇主对应的职位、公司、域名和标识符。不要悄悄回退到最近的雇主:请确认两者匹配、通过受支持的信息补充方式解析匹配的任职记录,或将未解决的记录转交审核并说明限制。如果正确的公司标识符可用但缺少其域名,请在工作流内补充该公司的信息,并根据电子邮件函数所需的输入设置门控条件。不要仅因来源缺少可通过补充获得的字段,就丢弃整个目标群体。绝不要猜测域名或电子邮件地址。
查找合适的已安装电子邮件瀑布流/函数,并检查其输入、输出和验证约定。如果它只返回已验证的工作邮箱,则将其标记为“查找并验证工作邮箱”,无需重复验证。否则,应添加验证步骤,并根据其文档中说明的可接受状态设置门控条件。电子邮件非空并不代表已验证。在写回成员身份之前,停止处理缺失或未经验证的地址。
尽可能将可选的个性化步骤放在资格筛选和验证之后。个性化内容应以返回的证据为依据,适时保留来源/日期,并为缺失值提供诚实的回退方案。只购买文案实际使用的事实信息。
搜索上限限制的是候选人数,而非已验证的电子邮件或已加入的成员数。按人员执行的代码不具备跨运行记忆:只有通过受支持的来源或持久化机制,才能强制执行全局/公司级上限;运行前应说明无法强制执行的限制。
连线要点
遵循当前的工作流数据传递指南和操作架构。保留以下区别:
- 通过
incomingEdges[].sourceNode传递触发器返回的workflowNodeId,而不是其resourceId。触发器最多只有一条直接出边。 - 使用
inputSchema.properties.<variable>.sourceNodeId和sourcePath固定上游值;通过tools[].inputMappingConfig映射工具参数。 - 触发器字段位于根路径;工具/函数结果位于
$.result下。核对准确的输出名称,包括名称含空格时的 JSONPath 方括号写法。 - 使用实际规则 ID 和受支持的无匹配终止方式路由条件分支。更新传入边会替换现有边集。
- 重新读取已保存的节点:架构会被规范化,保存时也可能添加默认映射。
3. 连接受众和营销活动
检查受众字段定义。配置联系人新增或更新时,使用合适的身份查找键、经过验证的主要邮箱、姓名、匹配的公司信息,以及必需的个性化信息。传入数据为空时保留已填充的值。每个选定的查找/写入字段都需要对应的映射。
为此营销活动创建专用的布尔成员标记字段,并创建一个筛选该字段为 true 的人员细分,除非有明确标识且适用的现有成员设计。只有在完成资格筛选和邮箱验证后,才写入该标记。避免使用会覆盖其他营销活动成员身份的共享标量受众字段。
在 recordFields|selectedRecordFields 中选择标记,并使用当前受支持的回写架构映射 recordFields|<markerFieldId>。静态值 true 可能会被拒绝,并显示“请选择一个工作流字段”。遇到这种情况时,在邮箱验证关卡之后生成一个明确的布尔类型输出(例如,使用一个小型代码步骤返回 campaign_member: true),并绑定该字段。测试输出生成步骤和持久化映射;切勿用臆测的工具 success 标志替代,也不要为了提供标记而保留多余的资格筛选。确认已保存的记录具有预期值,并且确实符合该细分的筛选条件。细分是筛选器,不是存储目标;创建细分不会自动填充其中的联系人。
在构建过程中创建营销活动,不要将其留作未说明的前置条件。检查当前的营销活动创建/更新帮助。使用受众驱动的路径,并在营销活动处于草稿状态时通过 leadBaseSegmentId 绑定细分。移除细分不会将营销活动转换为工作流加入模式。不要在此 CLI 工作流中引入仅限 UI 的营销活动创建方式或占位的加入节点。
起草并审核简洁的外联文案,内容应基于已确认的卖家和产品。跟进邮件面向未回复者。使用已验证的字段标识符、易读的占位符,以及适用于可选个性化内容的回退值。工作流必须填充所有必填的营销活动字段。根据用户的选择或已确认的上下文,选择已发现的发件人账号;如果仍有实质不同的发件人身份不明确,请先询问。
使用受支持的命令保存文案和发件人设置。空细分可能无法基于联系人生成预览;应说明此限制,不要导入无关联系人,也不要发送邮件进行测试。
4. 验证并交接
默认构建草稿。构建授权涵盖所请求的制品和字段;但这本身并不授权发布/运行工作流、启动营销活动或发送测试。遵守本会话中已授予的执行授权,无需再次询问。
工作流执行和营销活动启动是分开的。即使营销活动处于草稿状态,也可以准备潜在客户。向活跃营销活动的细分群体添加成员的写入操作即使没有注册节点也可能触发外联,因此执行前要考虑这一点。
读取并验证以下内容:
| 制品 | 必需证据 |
|---|---|
| 工作流 | 已保存原生搜索和输入绑定;只连接必要的资格审核、输入就绪性和验证关卡;无匹配项的路径会停止;使用正确的 upsert 和标记;图表通过验证且画布格式正确 |
| 细分群体 | 筛选条件与写入的标记/值及用户指定的条件完全匹配 |
| 营销活动 | 绑定了正确的细分群体;已保存文案、必填字段/回退值和发件人配置;除非另有授权,否则保持草稿状态 |
在称工作流已测试或可大规模运行之前,先在营销活动保持草稿状态时,完成一次获授权的小规模端到端测试:检查实际触发器输出、解析后的电子邮件输入、验证后的电子邮件输出、已保存的联系人字段以及细分群体成员资格。使用此来源中的真实候选人;合成代码输入和图表验证本身并不足够。如果运行跳过所有记录后结束,就不能证明成功路径有效。在增加数量前,调查所有输入均为空或所有记录都被跳过的情况。
对于 Find leads,请验证来源实际执行的是哪个已发布版本;草稿修复不会在发布前修复线上图表。在建议更大规模的重新运行前,先测试最终配置。单节点测试会在该节点结束,不能证明下游写回或成员资格有效。遵守执行审批要求:如果测试受阻,只检查并展示一次审批请求,将结果保持为“已构建但未经测试”,并停止依赖该测试的执行。提取 ID 或轮询前,先解析命令错误;不要重试审批关卡,也不要轮询不存在的运行。没有实际运行时,绝不要报告已处理联系人。
交付三个可点击的应用链接、最终流程、重要的 ICP 假设、已配置的阶段、草稿/线上状态、已执行的检查,以及明确的剩余步骤,例如选择发件人、发布或启动。尚未启动的营销活动不会妨碍潜在客户准备工作。
获授权运行后,依据实际证据区分候选人、资格审核跳过项、已验证电子邮件、已保存记录、细分群体成员、营销活动注册人数和已发送电子邮件。成功 upsert 不代表已注册或已送达。如果受阻,保留制品 ID,完成不受影响的工作,并给出最小且具体的下一步。
示例输出
虚构示例;实际运行使用真实工作区和资源 ID。没有注册或发送任何内容——三个制品均以草稿形式交付。
构建交接 — 三个相互关联的草稿工件
面向 美国 B 轮金融科技公司的工程副总裁/负责人 ICP 构建:
| 工件 | 状态 | 链接 |
|---|---|---|
| 工作流 — ICP Sequencer: VP Eng, fintech | 草稿,图结构已验证 | https://app.clay.com/workspaces/12345/terracotta/tc-workflows/wf_abc123 |
| 人员细分 — Fintech VP Eng — campaign member | 筛选条件 fintech_vpeng_member = true | https://app.clay.com/workspaces/12345/people/audience/seg_def456 |
| 营销活动 — Fintech VP Eng outbound | 草稿,通过 leadBaseSegmentId 绑定细分 | https://app.clay.com/workspaces/12345/campaigns/cmp_ghi789 |
- ICP 和假设:工程副总裁/负责人;公司员工人数为 51–1,000 人(要求范围为 50–1,000 人,已说明分档边界);人员位于美国;公司已完成 B 轮融资。增长信号表示为
employee_growth_12mo > 1.2。 - 已配置的阶段:原生 Find leads 触发器(按需)→ 缺少公司域名时进行补全 → 查找并验证工作邮箱 → 已验证邮箱关卡 → Audiences 更新,写入
fintech_vpeng_member = true。未要求个性化,因此邮箱关卡直接连接到写回步骤。 - 数据补全:一个已安装的瀑布式流程仅返回已验证的工作邮箱,因此未添加单独的验证节点。
- 成员资格/筛选条件:专用布尔字段
fintech_vpeng_member;细分筛选该字段为true;已回读写入映射和细分筛选条件,两者一致。 - 状态:三项均为草稿。尚未处理任何联系人 — 尚未运行任何内容。
- 后续运行步骤:选择发件人账户,选择运行范围或结果数量上限,运行工作流,然后启动营销活动。每一步都是独立且需明确授权的操作。
成功标准
三个工件均以草稿形式存在,已回读并确认它们的绑定关系,且三个链接均可访问。细分的筛选条件与工作流写入的标记字段和值完全一致 — 创建细分本身并不会填充该字段。只有具备已验证工作邮箱的合格联系人会带有成员标记;缺少必需输入或已验证邮箱的记录会停止处理,或转入指定的审核路径,而不会进入细分。使用来源中的真实候选人进行了一次小规模、经授权的端到端测试,并检查了实际触发器输出、解析后的邮箱输入、已验证邮箱、已保存字段和细分成员资格 — 而非仅进行图结构验证或使用合成输入;也不是通过跳过所有记录而“完成”的运行。候选人数、资格审查跳过数、已验证邮箱数、已保存记录数、细分成员数、营销活动加入人数和已发送邮件数,均依据真实证据分别报告;成功更新绝不报告为已加入营销活动或已送达;未运行时绝不报告已处理。除非获得明确的启动授权,否则营销活动保持草稿状态。
此技能不作出的承诺
所述默认设置——两封邮件,间隔三天后跟进——是合理的起点,并非经测量得出的性能保证。搜索结果上限限制的是候选对象,而非已验证的邮箱或已加入序列的人数;也不会根据搜索结果数量承诺最终加入序列的人数。每个人员的代码节点没有跨运行记忆,因此,全局或每家公司上限以及每家公司仅限一人的规则,只能通过受支持的源级或持久化机制来维持;任何无法强制执行的限制,都会在运行前披露,而不会用隐藏的本地候选名单来伪装。成功更新 Audiences 并不能证明对象已加入细分受众、已加入营销活动或已收到邮件——这些是不同的状态。图验证和合成输入不能证明成功路径可行;只有经授权的实时测试才能做到。公司规模分档可能无法精确实现请求的范围(请求范围为 50–1,000 时,分档为 51–1,000),该边界会明确披露,而不会隐瞒。未查到技术信息或字段信息,并不能证明某家公司没有使用该技术。此技能会创建草稿,但绝不会自行将对象加入序列或发送邮件;它不是一次性潜在客户名单生成工具或 CSV 导入工具。