关于 prospect-enrich
面向 BDR 团队的 HubSpot 联系人补全 Skill,会优先处理演示请求,并在查找缺失电话号码前对联系人分类。它先使用 Apollo,再将未匹配项交给 Clay,随后把结果和层级标签同步到 HubSpot,并生成 HTML 报告。
主要功能
- 01查找缺少电话号码的 HubSpot 联系人
- 02筛除排除项和抑制名单联系人
- 03优先处理演示请求并划分 ATL/BTL 层级
- 04先用 Apollo 补全,再以 Clay 处理未匹配项
- 05将电话和层级信息同步到 HubSpot
- 06生成按层级排序的 HTML 报告
适用场景
- 01补全 HubSpot 中缺少电话的联系人
- 02优先处理主动提交的演示和定价请求
- 03查找符合条件的 ATL 和 BTL 联系人电话
- 04为潜在客户跟进准备分层报告
MCP 相关
使用 HubSpot MCP 工具搜索和更新联系人及公司,使用 Apollo MCP 工具补全人员和公司信息,并通过 Clay 执行后备补全流程。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ scientiacapital/ skills --skill prospect-enrich安装后在 Claude Code 中输入/prospect-enrich确认已加载。
附带文件config.json
详细介绍
Prospect Enrich 技能
使用 Apollo 和 Clay API,为缺少电话号码的 HubSpot 联系人补充信息。优先处理 DEMO REQUEST(先处理主动表达意向的联系人),然后优先处理 ATL,并遵循黄金规则(排除客户、渠道合作伙伴、设备所有者和 AE 负责的联系人)。输出品牌化 HTML 报告,按层级排序,并可直接用于电话瀑布流和潜客刷新任务。<quick_start> 触发时间: 周一至周五上午 6:00(ET) 手动触发: “Run prospect enrich” 或 “Enrich phoneless contacts” 依赖项: 需要访问 HubSpot 门户 21530819,并拥有 Apollo 积分和 Clay 积分 输出: 品牌化 HTML 报告 + 已同步至 HubSpot 并带有层级标签的补全联系人 </quick_start>
<success_criteria>
- 查询 HubSpot 中所有 phone = null 的联系人(地理范围:仅限美国/加拿大)
- 根据黄金规则排除项进行筛选(客户、渠道合作伙伴、设备所有者、AE 负责的联系人、产品页互动者)
- 识别 DEMO REQUEST 联系人(first_conversion 包含 demo/pricing 关键词)——优先补充信息
- 按 ATL/BTL 层级对其余联系人进行分类(参见 CLAUDE.md 中的 ATL/BTL 决策者规则)
- 通过 Apollo 批量补充信息(apollo_people_bulk_match 或 apollo:enrich-lead)
- 对 Apollo 未匹配的联系人:交由 Clay 瀑布流处理(find-and-enrich-contacts-at-company)
- 将补充的电话号码同步回 HubSpot,并添加层级标签
- 为 ATL 层级联系人补充公司信息(域名、收入、员工人数)
- 生成带有层级分区和 Epiphan 品牌色的品牌化 HTML 报告
- 报告包含:已处理联系人的总数、电话号码匹配率 %、ATL/BTL 分类统计、已用积分 </success_criteria>
阶段 1:从 HubSpot 获取没有电话号码的联系人
MCP 工具: search_crm_objects(HubSpot)
objectType: "contacts"
filterGroups: [{
filters: [
{ propertyName: "phone", operator: "NOT_HAS_PROPERTY" },
{ propertyName: "hs_lead_status", operator: "IN", values: ["Subscriber", "Qualified Lead", "Inbound Lead", "Marketing Qualified Lead", "Sales Qualified Lead"] }
]
}]
properties: [
"firstname", "lastname", "email", "company", "jobtitle", "phone",
"first_conversion", "lifecyclestage", "hubspot_owner_id",
"device_count", "engagement_overview", "is_channel"
]
limit: 100
输出: 包含姓名、电子邮件、公司、职位和 first_conversion 的联系人列表;这些联系人没有电话号码。
阶段 2:应用黄金规则筛选
黄金规则(硬性排除项——在补充信息之前应用,以节省积分):
- 排除:
lifecyclestage = 'customer'(现有客户) - 排除:
device_count >= 1(设备所有者) - 排除:
engagement_overview包含产品使用信息(仅与产品互动的联系人) - 排除:
is_channel = true(渠道合作伙伴) - AE 负责(90 天未更新的例外情况):
hubspot_owner_id IN (82625923, 423155215, 190030668)- 如果
hs_lastmodifieddate距今超过 90 天 → 保留,但标记为STALE AE LEAD,并附上 ATL/BTL 层级和交易金额。Tim 进行审核。 - Ron Epstein (423155215):90 天规则适用于所有潜客
- Lex Evans (82625923) 和 Phillip Sandler (190030668):90 天规则仅适用于 NA 联系人(美国/加拿大)。非 NA 联系人 → 仍然排除。
- 如果最近活动距今不足 90 天 → 排除(AE 正在积极跟进)
- 如果
- 排除:
first_conversion ILIKE '%setup%'— 仅限产品设置表单(不代表销售意向) - 保留: 地理范围仅限美国/加拿大
⚠️ 重要——不要排除以下 first_conversion 值:
'Pearl family demo'、'Demo signup'、'demo request''General contact us'、'pricing''Pearl'、'Connect'、'signup'
这些是高意向演示请求——主动表达意向的联系人。将其标记为 DEMO REQUEST 层级,并优先于所有其他层级补充信息。
输出: 筛选后的列表(应用黄金规则后,通常保留输入联系人的 60%–70%)
阶段 S:抑制门槛
消耗信息补充积分前,排除受到抑制的联系人:
- 排除
bdr_suppression_until已设置,且bdr_suppression_until> TODAY 的联系人 - 纳入
bdr_suppression_until未设置的联系人(从未受到抑制) - 纳入
bdr_suppression_until< TODAY 的联系人(冷却期已结束)
HubSpot 筛选器:propertyName: "bdr_suppression_until", operator: "NOT_HAS_PROPERTY" 或 operator: "LT", value: TODAY_ISO
参考:lead-suppression-spec(bdr_suppressed、bdr_suppression_reason、bdr_suppression_until)
阶段 3:ATL/BTL 分类门槛(必需)
在补充信息之前应用,以确定处理优先级。
参考: CLAUDE.md § ATL/BTL 决策者分类 v1.0
### 第 1 级:演示请求(优先丰富 — 最高优先级) `first_conversion` 包含以下内容的任何联系人: - `'Demo signup'`、`'Pearl family demo'`、`'demo request'` - `'General contact us'`、`'pricing'`这些联系人已主动表达意向 — 立即丰富,不论其职位头衔。
第 2 级:ATL(第二优先丰富 — 预算决策权)
高管(CIO、CTO、CFO、COO) • 副总裁(VP、AVP、SVP、EVP) • 总裁 • 教务长 • 副教务长 • 学区总监 • 总监(IT、技术、设施、学术技术、采购、物料管理、医学教育、法院行政) • 院长 • 法院行政主管 • 法院书记员(联邦) • 市经理 • 县经理 • 资深牧师 • 执行牧师
第 3 级:GRAY(第三优先丰富 — 标记以供 Tim 审核)
- 经理(AV/设施/IT)— 仅当向总监及以上汇报,且拥有超过 $25K 的授权预算时,才归为 ATL
- 系主任 — 小型机构归为 ATL;大型大学归为 BTL
- 教育技术总监 — 取决于汇报关系(向教务长汇报 = ATL;向 IT 副总裁汇报 = 可能为 BTL)
- 项目总监 — 仅当负责部门级预算时归为 ATL;若负责协调工作,则归为 BTL
第 4 级:BTL(最后丰富 — 降低优先级)
技术员 • 专员 • 协调员 • 支持人员 • 管理员(系统/网络/数据库)• 工程师(AV/网络/系统)• 操作员 • 讲师/教授/教职人员 • 设计师(学习/教学/平面)• 助理 • 文员(非法院行政)• 志愿者 • 实习生 • 学生 • 住院医师 • 帮助台
永不丰富(硬性跳过 — 不要消耗 Apollo/Clay 点数)
仓库经理 • 网络经理 • 系统管理员 • AV 技术员 • 平面设计讲师 • 项目管理员 • 网页设计师 • 课堂支持人员 • 实验室协调员 • 维修人员 • 建筑工程师 • 多媒体服务经理 • 视频制作专员 • 直播团队
分类逻辑:
if first_conversion matches DEMO_KEYWORDS:
tier = "DEMO REQUEST" # Enrich first, regardless of title
elif title in NEVER_ENRICH:
tier = "NEVER" # Hard skip — do not spend credits
elif title in ATL:
tier = "ATL"
elif title in GRAY:
tier = "GRAY" # Flag for Tim's manual review
else:
tier = "BTL"
# Processing order: DEMO REQUEST → ATL → GRAY → BTL (skip NEVER)
第 4 阶段:通过 Apollo 批量丰富
按层级优先顺序处理联系人:演示请求 → ATL → GRAY → BTL
MCP 工具: apollo_people_bulk_match(或 apollo:enrich-lead 技能)
details: [
{
id: contact.id,
first_name: contact.firstname,
last_name: contact.lastname,
email: contact.email,
organization_name: contact.company,
domain: extract domain from email or company website
}
... (up to 10 per batch)
]
reveal_personal_emails: false
预期丰富内容:
- 电话(直线、手机、公司电话)
current_role_min_months_since_start_date(任职时长,用作资历信号)person_seniorities(c_suite、vp、director、manager 等)
匹配率目标: 批次中 65-75% 的联系人应能匹配到电话号码。
第 5 阶段:将未匹配项转至 Clay
对于 Apollo 未匹配项: 发送至 Clay 的 find-and-enrich-contacts-at-company
MCP 工具: find-and-enrich-contacts-at-company
companyIdentifier: contact.company (domain preferred)
contactFilters: {
job_title_keywords: [extract broad role from contact.jobtitle],
locations: ["United States", "Canada"]
}
dataPoints: {
contactDataPoints: [{ type: "Email" }],
companyDataPoints: [{ type: "Latest Funding" }, { type: "Tech Stack" }]
}
Clay 丰富结果: 返回该公司匹配的联系人及其邮箱和公司数据。
第 6 阶段:同步回 HubSpot
对于每个已丰富的联系人:
-
通过
manage_crm_objects(updateRequest)更新 HubSpot 联系人:- phone(来自 Apollo/Clay 的直线或手机号码)
- hs_analytics_num_page_views(互动信号)
- 在备注中添加标签:
[DEMO REQUEST]、[ATL]、[GRAY]或[BTL]
-
丰富公司数据(如果尚未设置):
- MCP 工具:
apollo_organizations_enrich - 更新 HubSpot 公司信息:收入、员工人数、成立日期
- MCP 工具:
阶段 7:生成品牌化 HTML 报告
**输出:**将 HTML 文件保存到工作区,文件名为 bdr-v3-prospect-enrich-YYYY-MM-DD.html
样式:
- Epiphan 品牌色:
#1a1a2e(深色)、#e94560(强调色)、#0f3460(主色) - 简洁、专业的布局
- 适配移动设备的设计
报告章节:
汇总指标表:
| 指标 | 值 |
|---|---|
| 无电话号码的潜在客户总数 | X |
| 经过 Golden Rules 筛选后 | Y(移除 Z%) |
| DEMO REQUEST 层级 | D |
| ATL 层级 | A |
| GRAY 层级 | G |
| BTL 层级 | B |
| NEVER 层级(跳过) | N |
| 找到的电话号码(Apollo) | PA(占已处理数量的 PA%) |
| 找到的电话号码(Clay) | PC(占非 Apollo 处理数量的 PC%) |
| 已丰富的总数 | PA + PC(成功率 %) |
| 使用的 Apollo 积分 | C |
章节 1:DEMO REQUEST 联系人(绿色高亮) 排在最前 — 这些联系人主动表达了意向,转化潜力最高。
| 联系人 | 邮箱 | 职位 | 公司 | 电话 | 首次转化 | 收入 | 操作 |
|---|---|---|---|---|---|---|---|
| ... | ... | ... | ... | ... | Demo 注册 | ... | 优先拨打 |
章节 2:ATL 联系人(蓝色高亮) 预算决策者 — 优先级第二。
章节 3:GRAY 联系人(黄色高亮) 标记为需由 Tim 手动审核 — 预算权限不确定。
章节 4:BTL 联系人(灰色) 没有预算权限 — 丰富优先级最低。
章节 5:跳过的 NEVER ENRICH 列表 与 NEVER ENRICH 职位匹配的联系人 — 未消耗积分。
章节 6:关键洞察 + 建议操作
- ATL 密度最高的公司
- 价值最高的 DEMO REQUEST
- 建议的后续步骤
阶段 8:生成结果 Sidecar
最后一步,将以下 JSON 写入 ~/.claude/skill-analytics/last-outcome-prospect-enrich.json:
{"ts":"[current UTC ISO8601]","skill":"prospect-enrich","version":"1.1.0","variant":"default",
"status":"[success|partial|error]","runtime_ms":[estimated ms from start],
"metrics":{"contacts_processed":[Stage 1 total],"phones_found":[Apollo+Clay hits],
"phone_match_rate_pct":[phones/contacts*100],"atl_count":[ATL tier],"demo_request_count":[DEMO tier],
"credits_used":[Apollo batch count]},"error":null,"session_id":"[date YYYY-MM-DD]"}
如果部分阶段失败但已生成结果,则使用状态 "partial"。仅当未生成任何输出时才使用 "error"。任何字段中都不得包含联系人姓名或邮箱。
**后续步骤:**结果将传入 phone-verification-waterfall-skill,用于重新检查无电话号码的联系人;并传入 prospect-refresh-skill,用于搜索新增 ICP。
技能元数据
**版本:**1.1 **上次更新:**2026-03-19 **作者:**Tim Kipper **状态:**生产环境 **集成:**HubSpot(portal 21530819)+ Apollo + Clay **层级:**P1(核心 BDR 自动化) **触发方式:**定时(周一至周五 6:00 AM)+ 手动("Run prospect enrich") 更新日志:
- v1.1 (2026-03-19):新增 DEMO REQUEST 层级(最高优先级)、排除 AE 所有者(IDs 82625923, 423155215)、新增 first_conversion 筛选逻辑、生成带 Epiphan 品牌色的 HTML 报告。计划扩展为周一至周五运行(此前仅周一)。
- v1.0 (2026-03-19):首次发布,包含 ATL/BTL 分类及 Apollo + Clay 瀑布流程。