phone-verification-waterfall
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese<objective>
Maintain a continuously refreshed inventory of callable leads with verified phone numbers. Automates the waterfall from HubSpot lead identification → Apollo phone verification → Clay enrichment (for Apollo misses) → HubSpot sync. Ensures Tim ALWAYS has 50+ verified dial prospects queued and ready, eliminating "nobody to call" downtime and maximizing daily dial velocity.
Built on: Lead lifecycle → phone verification → queue prioritization by ICP + intent signals.
</objective>
<quick_start>
Standalone run (manual trigger):
"verify phones" or "phone waterfall" or "callable leads" or "who can I call" → pulls all HubSpot leads missing phones → enriches via Apollo + Clay → writes back to HubSpot → outputs sortable callable queue
Scheduled run:
Every Monday & Wednesday 6:15 AM (between prospect-enrich 6:00 AM and prospect-refresh 6:30 AM) — keeps phone inventory fresh twice-weekly and allows newly refreshed leads to be phone-verified before daily calls
Trigger phrases:
- "verify phones"
- "phone waterfall"
- "callable leads"
- "who can I call"
- "dial list"
- "always have someone to call"
- "phone check"
- "enrich phones" </quick_start>
<success_criteria>
- HubSpot lead pull returns 100+ contacts missing phones from all ICP verticals
- Apollo phone lookup succeeds for 40-50% of contacts (baseline)
- Clay waterfall fills 60-70% of remaining Apollo misses
- HubSpot phone field updated for 70%+ of missing numbers
- Final callable queue contains 50+ contacts sorted by ICP score + intent
- Zero contacts belong to customers (lifecycle_stage = 'customer') — Golden Rules block them
- Zero contacts owned by Account Executives (Lex, Phil, Ron, Anthony) — no AE lead theft
- Zero channel partners or existing device owners included
- Execution time under 8 minutes (HubSpot → Apollo → Clay → sync) </success_criteria>
<objective>
维护一个持续更新的、带有已验证电话号码的可呼叫潜在客户库。自动化从HubSpot线索识别 → Apollo电话号码验证 → Clay数据补全(针对Apollo未找到的线索) → HubSpot同步的全流程。确保Tim始终有50个以上已验证的可拨号潜在客户在队列中,消除“无人可联系”的空档期,最大化每日拨号效率。
基于:潜在客户生命周期 → 电话号码验证 → 按ICP+意向信号进行队列优先级排序。
</objective>
<quick_start>
独立运行(手动触发):
输入“verify phones”或“phone waterfall”或“callable leads”或“who can I call” → 提取所有缺少电话号码的HubSpot线索 → 通过Apollo+Clay进行数据补全 → 同步回HubSpot → 输出可排序的可呼叫队列
计划运行:
每周一和周三早上6:15(在潜在客户数据补全6:00和潜在客户数据刷新6:30之间)—— 每周两次刷新电话号码库,确保新更新的线索在每日呼叫前完成电话号码验证
触发短语:
- "verify phones"
- "phone waterfall"
- "callable leads"
- "who can I call"
- "dial list"
- "always have someone to call"
- "phone check"
- "enrich phones" </quick_start>
<success_criteria>
- HubSpot线索提取返回来自所有ICP垂直领域的100+个缺少电话号码的联系人
- Apollo电话号码查询对40-50%的联系人成功(基准值)
- Clay瀑布式补全填补60-70%的Apollo未命中线索的电话号码
- 70%+的缺失电话号码已更新至HubSpot
- 最终可呼叫队列包含50+个按ICP分数+意向信号排序的联系人
- 无客户类联系人(lifecycle_stage = 'customer')—— 黄金规则会拦截这些线索
- 无归属给客户经理(Lex、Phil、Ron、Anthony)的联系人—— 避免BDR占用客户经理的线索
- 不包含渠道合作伙伴或现有设备所有者
- 执行时间少于8分钟(HubSpot → Apollo → Clay → 同步) </success_criteria>
Pipeline Stages
管道阶段
STAGE 1: PULL LEADS STAGE 2: APOLLO PHONE STAGE 3: CLAY WATERFALL STAGE 4: HUBSPOT SYNC STAGE 5: CALLABLE QUEUE
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
HubSpot Query → Apollo People Match → Clay Enrichment → Update Phone Field → Prioritized CLI
phone = null/empty → (Name + Email + Org) → (Multiple Providers) → (API bulk update) → ICP Score Sort
lifecycle_stage → Return: Verified # → Return: Verified # → Mark: enriched_at → Intent Signals
!= 'customer' → Success Rate: 40-50% → Success Rate: 30-40% → (Contact & Company) → Output: CSV + Chat
No Excluded Owner → (No cost) → (Find + Enrich) → Log completion → Time-to-dial: <5s
Golden Rules Pass → → → →STAGE 1: PULL LEADS STAGE 2: APOLLO PHONE STAGE 3: CLAY WATERFALL STAGE 4: HUBSPOT SYNC STAGE 5: CALLABLE QUEUE
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
HubSpot Query → Apollo People Match → Clay Enrichment → Update Phone Field → Prioritized CLI
phone = null/empty → (Name + Email + Org) → (Multiple Providers) → (API bulk update) → ICP Score Sort
lifecycle_stage → Return: Verified # → Return: Verified # → Mark: enriched_at → Intent Signals
!= 'customer' → Success Rate: 40-50% → Success Rate: 30-40% → (Contact & Company) → Output: CSV + Chat
No Excluded Owner → (No cost) → (Find + Enrich) → Log completion → Time-to-dial: <5s
Golden Rules Pass → → → →Stage 1: Pull Leads Needing Phones
Stage 1: 提取需要补全电话号码的线索
HubSpot Query:
Criteria (ALL must match):
- phone IS NULL OR phone = '' (empty string)
- lifecyclestage != 'customer'
- NOT hubspot_owner_id IN (82625923, 423155215, 190030668)
(Exclude AEs: Lex Evans, Ron Epstein, Phillip Sandler)
Golden Rules Hard Gate (SKIP if ANY match):
- first_conversion contains ['Pearl', 'setup', 'Connect', 'signup']
(Existing product engagers — not cold prospects)
- company.device_count >= 1
(Already owns equipment — likely existing relationship)
- is_channel = true
(Channel partners excluded)
- engagement_overview contains ['Pearl', 'trial', 'demo', 'customer']
(Existing touchpoints)HubSpot查询条件:
Criteria (ALL must match):
- phone IS NULL OR phone = '' (empty string)
- lifecyclestage != 'customer'
- NOT hubspot_owner_id IN (82625923, 423155215, 190030668)
(排除客户经理:Lex Evans, Ron Epstein, Phillip Sandler)
Golden Rules Hard Gate (SKIP if ANY match):
- first_conversion contains ['Pearl', 'setup', 'Connect', 'signup']
(现有产品使用者 — 非冷线索)
- company.device_count >= 1
(已拥有设备 — 可能存在现有合作关系)
- is_channel = true
(渠道合作伙伴排除)
- engagement_overview contains ['Pearl', 'trial', 'demo', 'customer']
(已有接触记录)ATL/BTL Classification Gate (applied after Golden Rules)
ATL/BTL分类筛选(黄金规则后应用)
Classify each contact by job title using approved ATL/BTL definitions (see CLAUDE.md § ATL/BTL Classification v1.0):
ATL Title Keywords (budget authority — PRIORITY DIAL):
Chief (CIO, CTO, CFO, COO) • VP (AVP, SVP, EVP) • President • Provost • Vice Provost • Superintendent • Director (of IT, Technology, Facilities, Academic Technology, Procurement, Materials Mgmt, Medical Education, Court Administration) • Dean • Court Administrator • Clerk of Court • City Manager • County Manager • Senior Pastor • Executive Pastor
BTL Title Keywords (no budget authority — LOWER PRIORITY):
Technician • Specialist • Coordinator • Support • Administrator (Systems/Network/Database) • Engineer (AV/Network/Systems) • Operator • Instructor/Professor/Faculty • Designer • Assistant • Clerk (non-Court Admin) • Volunteer • Intern • Student • Resident • Help Desk
NEVER ATL — Auto-classify BTL regardless of other signals:
Warehouse Manager • Network Manager • Systems Administrator • AV Technician • Graphic Design Instructor • Program Administrator • Web Designer • Classroom Support • Lab Coordinator • Maintenance • Building Engineer • Multimedia Services Manager • Video Production Specialist • Streaming Crew
Gray Zone — Flag for manual review:
Manager (AV/Facilities/IT) — ATL only if reports to Director+ AND has delegated budget >$25K
Department Chair • Program Director • Director of Educational Technology
Tag each contact:
atl_btl_tier = 'ATL' | 'BTL' | 'GRAY'Output: Unsorted list of 100+ contacts with:
- contact_id (HubSpot)
- first_name, last_name
- email (primary business email)
- company_name
- hs_job_title
- hubspot_owner_id, hubspot_owner_name
- company.industry, company.num_employees, company.hs_lead_status
- first_conversion (for Golden Rules check)
Tool: with filters applied
hubspot_search_contacts</Stage 1>
使用已认可的ATL/BTL定义,按职位头衔对每个联系人进行分类(参考CLAUDE.md § ATL/BTL Classification v1.0):
ATL头衔关键词(拥有预算决策权 — 优先拨打):
Chief (CIO, CTO, CFO, COO) • VP (AVP, SVP, EVP) • President • Provost • Vice Provost • Superintendent • Director (of IT, Technology, Facilities, Academic Technology, Procurement, Materials Mgmt, Medical Education, Court Administration) • Dean • Court Administrator • Clerk of Court • City Manager • County Manager • Senior Pastor • Executive Pastor
BTL头衔关键词(无预算决策权 — 低优先级):
Technician • Specialist • Coordinator • Support • Administrator (Systems/Network/Database) • Engineer (AV/Network/Systems) • Operator • Instructor/Professor/Faculty • Designer • Assistant • Clerk (non-Court Admin) • Volunteer • Intern • Student • Resident • Help Desk
绝对归为BTL的头衔 — 无论其他信号如何:
Warehouse Manager • Network Manager • Systems Administrator • AV Technician • Graphic Design Instructor • Program Administrator • Web Designer • Classroom Support • Lab Coordinator • Maintenance • Building Engineer • Multimedia Services Manager • Video Production Specialist • Streaming Crew
灰色区域 — 标记需人工审核:
Manager (AV/Facilities/IT) — 仅当汇报给Director及以上且拥有>25K美元的授权预算时归为ATL
Department Chair • Program Director • Director of Educational Technology
为每个联系人添加标签:
atl_btl_tier = 'ATL' | 'BTL' | 'GRAY'输出: 100+个未排序的联系人列表,包含以下字段:
- contact_id (HubSpot)
- first_name, last_name
- email (主要工作邮箱)
- company_name
- hs_job_title
- hubspot_owner_id, hubspot_owner_name
- company.industry, company.num_employees, company.hs_lead_status
- first_conversion(用于黄金规则检查)
工具: 应用筛选条件的
hubspot_search_contacts</Stage 1>
Stage 2: Apollo Phone Lookup
Stage 2: Apollo电话号码查询
For each contact from Stage 1, run in parallel batches:
Input: contact_id, first_name, last_name, email, company_name
↓
apollo_people_match(
first_name: "{first_name}",
last_name: "{last_name}",
email: "{email}",
organization_name: "{company_name}",
domain: "{company_domain}",
reveal_personal_emails: false
)
↓
Output: phone (mobile_phone or corporate_phone, verified)
↓
Match rate: 40-50% success (Apollo baseline)
↓
NO COST — Apollo is included freeLogic:
- Apollo returns mobile_phone or corporate_phone (both acceptable for dial)
- If phone returned: tag contact
apollo_phone_source = true - If no phone: move to Stage 3 (Clay waterfall)
- Keep all results for final merge
Tool: (batch parallel)
apollo_people_match</Stage 2>
对Stage 1中的每个联系人,批量并行处理:
Input: contact_id, first_name, last_name, email, company_name
↓
apollo_people_match(
first_name: "{first_name}",
last_name: "{last_name}",
email: "{email}",
organization_name: "{company_name}",
domain: "{company_domain}",
reveal_personal_emails: false
)
↓
Output: phone (mobile_phone or corporate_phone, verified)
↓
Match rate: 40-50% success (Apollo baseline)
↓
NO COST — Apollo is included free逻辑:
- Apollo返回mobile_phone或corporate_phone(均可用于拨号)
- 如果返回电话号码:为联系人添加标签
apollo_phone_source = true - 如果未找到电话号码:进入Stage 3(Clay瀑布式补全)
- 保留所有结果用于最终合并
工具: (批量并行)
apollo_people_match</Stage 2>
Stage 3: Clay Waterfall Enrichment
Stage 3: Clay瀑布式数据补全
For contacts where Apollo returned NO phone, use Clay:
Option A: Company-level enrichment (recommended for speed)
find-and-enrich-contacts-at-company(
companyIdentifier: "{company_domain}",
contactFilters: {
job_title_keywords: extracted from hs_job_title,
locations: optional if available
},
dataPoints: {
contactDataPoints: [
{ type: "Email" },
{ type: "Summarize Work History" }
]
}
)Then for contacts found, run to enrich phones:
add-contact-data-pointsadd-contact-data-points(
taskId: "{from find-and-enrich response}",
dataPoints: [
{ type: "Custom", customDataPoint: "phone number from multiple providers" }
],
entityIds: [extracted contact IDs]
)Option B: Direct contact enrichment (if company approach yields few)
find-and-enrich-list-of-contacts(
contactIdentifiers: [
{
contactName: "{first_name} {last_name}",
companyIdentifier: "{company_domain}"
}
],
dataPoints: {
contactDataPoints: [
{ type: "Custom", customDataPoint: "verified phone number" }
]
}
)Expected yield:
- 30-40% of Apollo misses will get phones via Clay
- Combined success rate: 40-50% (Apollo) + 30-40% of remainder (Clay) ≈ 65-70% total
Cost: Clay credits consumed (monitor spend against monthly allocation)
Tool: or
find-and-enrich-contacts-at-companyfind-and-enrich-list-of-contacts</Stage 3>
对Apollo未返回电话号码的联系人,使用Clay:
选项A:公司级数据补全(推荐,速度更快)
find-and-enrich-contacts-at-company(
companyIdentifier: "{company_domain}",
contactFilters: {
job_title_keywords: extracted from hs_job_title,
locations: optional if available
},
dataPoints: {
contactDataPoints: [
{ type: "Email" },
{ type: "Summarize Work History" }
]
}
)然后对找到的联系人,运行补全电话号码:
add-contact-data-pointsadd-contact-data-points(
taskId: "{from find-and-enrich response}",
dataPoints: [
{ type: "Custom", customDataPoint: "phone number from multiple providers" }
],
entityIds: [extracted contact IDs]
)选项B:直接联系人数据补全(如果公司级方法效果不佳)
find-and-enrich-list-of-contacts(
contactIdentifiers: [
{
contactName: "{first_name} {last_name}",
companyIdentifier: "{company_domain}"
}
],
dataPoints: {
contactDataPoints: [
{ type: "Custom", customDataPoint: "verified phone number" }
]
}
)预期效果:
- 30-40%的Apollo未命中线索可通过Clay补全电话号码
- 总成功率:40-50%(Apollo)+ 剩余线索的30-40%(Clay)≈ 65-70%
成本: 消耗Clay积分 — 需监控月度预算内的支出
工具: 或
find-and-enrich-contacts-at-companyfind-and-enrich-list-of-contacts</Stage 3>
Stage 4: HubSpot Sync
Stage 4: HubSpot同步
For all contacts with verified phones (Apollo + Clay combined):
Batch update HubSpot contacts:
For each contact:
UPDATE contact {contact_id}
SET:
phone = "{verified_phone}"
phone_source = "apollo" OR "clay" (track origin)
phone_verified_at = NOW()
phone_waterfall_pass = true
Log event to company:
ADD ACTIVITY: "Phone verified via Apollo/Clay waterfall"
(Creates audit trail for Sales)Sync strategy:
- Use HubSpot API in batches (500 contacts per batch)
- Tag with (apollo, clay, manual)
phone_source - Tag with timestamp
phone_verified_at - Log completion to deal/company object if linked
Tool: HubSpot REST API (contacts batch update) via or direct HTTP
hubspot_contacts_update</Stage 4>
对所有已获取验证电话号码的联系人(Apollo+Clay的结果):
批量更新HubSpot联系人:
For each contact:
UPDATE contact {contact_id}
SET:
phone = "{verified_phone}"
phone_source = "apollo" OR "clay" (记录来源)
phone_verified_at = NOW()
phone_waterfall_pass = true
向公司记录添加活动日志:
ADD ACTIVITY: "Phone verified via Apollo/Clay waterfall"
(为销售团队创建审计追踪记录)同步策略:
- 使用HubSpot API批量更新(每批500个联系人)
- 添加标签(apollo, clay, manual)
phone_source - 添加标签时间戳
phone_verified_at - 如果关联了交易/公司对象,记录完成状态
工具: 通过或直接HTTP调用的HubSpot REST API(联系人批量更新)
hubspot_contacts_update</Stage 4>
Stage 5: Callable Queue & Prioritization
Stage 5: 可呼叫队列与优先级排序
Build final output sorted by:
-
ATL/BTL Tier (primary): ATL contacts first, then GRAY, then BTL
-
ICP Vertical Score (secondary):
Higher Ed ..................... 90 Courts/Legal ................... 85 Government ..................... 80 Corporate AV ................... 80 Healthcare ..................... 75 Houses of Worship .............. 70 K-12 Schools ................... 65 -
Intent Signals (tertiary):
- Hiring active AV/IT roles: +15 points
- Recent facility expansion news: +10 points
- Tech stack shows obsolete AV (Extron, Matrox replacement signal): +12 points
- Published RFP or procurement event: +10 points
- Website mentions studio/control room/broadcast: +8 points
- Recent funding/acquisition: +5 points
-
Engagement Recency (quaternary):
- Touched within 30 days: top of queue
- Touched 31-60 days: middle
- No recent touch: bottom (but still callable)
Final Callable Queue Format:
═══════════════════════════════════════════════════════════════════════════════
CALLABLE QUEUE — Phone Waterfall Results
Generated: {timestamp} | Success Rate: {70-80%}
═══════════════════════════════════════════════════════════════════════════════
SUMMARY:
Total Leads Pulled: {N}
Apollo Matches: {X} ({X%})
Clay Enrichments: {Y} ({Y%})
Total Verified Phones: {X+Y} ({(X+Y)%})
HubSpot Updated: {X+Y}
ATL Contacts: {A} ({A%})
Gray Zone: {G} ({G%})
BTL Contacts: {B} ({B%})
READY TO DIAL (sorted ATL first, then ICP score + intent):
# │ NAME │ TIER │ TITLE │ COMPANY │ PHONE │ ICP │ VERTICAL │ INTENT SIGNAL
────┼──────────────────┼──────┼──────────────────┼──────────────────┼──────────────┼──────┼──────────────┼─────────────────
1 │ Jane Smith │ ATL │ VP IT/AV │ Stanford Univ │ (650)xxx-xxx │ 93 │ Higher Ed │ New AV role + hiring
2 │ Mike Johnson │ ATL │ Dir Technology │ Federal Courts │ (202)xxx-xxx │ 87 │ Courts/Legal │ Extron aging out
3 │ Sarah Chen │ GRAY │ Manager IT │ UCSF Medical │ (415)xxx-xxx │ 78 │ Healthcare │ Facility upgrade
4 │ David Lee │ BTL │ AV Technician │ Cisco Corp │ (408)xxx-xxx │ 82 │ Corp AV │ Meeting room reno
5 │ ... │ ... │ ... │ ... │ ... │ ... │ ... │ ...
═══════════════════════════════════════════════════════════════════════════════
DIALER QUICK LINKS:
- Download CSV: [queue.csv]
- Import to Dialpad: [sync button]
- Import to Aircall: [sync button]
- By Company: [grouped view]
- By Vertical: [vertical view]
- By ATL/BTL Tier: [tier view]
NEXT STEPS:
1. Prioritize ATL contacts first (decision-makers with budget authority)
2. Review GRAY zone contacts for manual budget authority verification
3. Import to your dialpad tool
4. Dial 50+ per day, log outcomes, let Sales Engagement cadences trigger
═══════════════════════════════════════════════════════════════════════════════Output formats:
- Chat: Rich formatted table (above) with top 10-20 by ICP score
- CSV download: Full queue with all data for import to dialpad/Aircall
- By Vertical: Secondary view grouped by industry for vertical hunting
- Integration: Link to import queue to Dialpad, Aircall, or sales engagement tool
Tool: Assemble from Stage 4 output, sort, format, and present
</Stage 5>
按以下规则构建最终输出并排序:
-
ATL/BTL层级(首要): 先ATL联系人,再GRAY,最后BTL
-
ICP垂直领域分数(次要):
Higher Ed ..................... 90 Courts/Legal ................... 85 Government ..................... 80 Corporate AV ................... 80 Healthcare ..................... 75 Houses of Worship .............. 70 K-12 Schools ................... 65 -
意向信号(第三):
- 正在招聘AV/IT相关职位:+15分
- 近期有设施扩张新闻:+10分
- 技术栈显示AV设备过时(Extron、Matrox替换信号):+12分
- 发布RFP或采购活动:+10分
- 网站提及工作室/控制室/广播:+8分
- 近期获得融资/收购:+5分
-
近期接触记录(第四):
- 30天内有接触:队列顶部
- 31-60天内有接触:队列中部
- 无近期接触:队列底部(但仍可呼叫)
最终可呼叫队列格式:
═══════════════════════════════════════════════════════════════════════════════
CALLABLE QUEUE — Phone Waterfall Results
Generated: {timestamp} | Success Rate: {70-80%}
═══════════════════════════════════════════════════════════════════════════════
SUMMARY:
Total Leads Pulled: {N}
Apollo Matches: {X} ({X%})
Clay Enrichments: {Y} ({Y%})
Total Verified Phones: {X+Y} ({(X+Y)%})
HubSpot Updated: {X+Y}
ATL Contacts: {A} ({A%})
Gray Zone: {G} ({G%})
BTL Contacts: {B} ({B%})
READY TO DIAL (sorted ATL first, then ICP score + intent):
# │ NAME │ TIER │ TITLE │ COMPANY │ PHONE │ ICP │ VERTICAL │ INTENT SIGNAL
────┼──────────────────┼──────┼──────────────────┼──────────────────┼──────────────┼──────┼──────────────┼─────────────────
1 │ Jane Smith │ ATL │ VP IT/AV │ Stanford Univ │ (650)xxx-xxx │ 93 │ Higher Ed │ New AV role + hiring
2 │ Mike Johnson │ ATL │ Dir Technology │ Federal Courts │ (202)xxx-xxx │ 87 │ Courts/Legal │ Extron aging out
3 │ Sarah Chen │ GRAY │ Manager IT │ UCSF Medical │ (415)xxx-xxx │ 78 │ Healthcare │ Facility upgrade
4 │ David Lee │ BTL │ AV Technician │ Cisco Corp │ (408)xxx-xxx │ 82 │ Corp AV │ Meeting room reno
5 │ ... │ ... │ ... │ ... │ ... │ ... │ ... │ ...
═══════════════════════════════════════════════════════════════════════════════
DIALER QUICK LINKS:
- Download CSV: [queue.csv]
- Import to Dialpad: [sync button]
- Import to Aircall: [sync button]
- By Company: [grouped view]
- By Vertical: [vertical view]
- By ATL/BTL Tier: [tier view]
NEXT STEPS:
1. 优先拨打ATL联系人(拥有预算决策权的决策者)
2. 审核GRAY区域联系人,人工确认其预算决策权
3. 将队列导入拨号工具
4. 每日拨打50+个线索,记录结果,触发销售触达序列
═══════════════════════════════════════════════════════════════════════════════输出格式:
- 聊天界面: 富格式表格(如上),展示按ICP分数排序的前10-20个线索
- CSV下载: 完整队列数据,可导入Dialpad/Aircall
- 按垂直领域分组: 按行业分组的二级视图,便于垂直领域获客
- 集成: 可直接将队列导入Dialpad、Aircall或销售触达工具的链接
工具: 基于Stage 4的输出结果,进行排序、格式化并展示
</Stage 5>
Reply-Scan Integration
回复扫描集成
Automated queuing from reply scans (10 AM, 1 PM, 3 PM):
When reply scans discover new leads with missing phone numbers:
- These leads are automatically queued for the next scheduled phone waterfall run (Monday or Wednesday 6:15 AM)
- Standard enrichment workflow applies (Apollo → Clay waterfall → HubSpot sync)
Urgent high-ICP lead handling:
- For leads scoring 80+ ICP and deemed high-priority prospects, trigger an immediate single-contact Apollo lookup
- If Apollo succeeds, append phone to contact record and add to current day's dial queue
- If Apollo fails, hold for next scheduled waterfall run (standard workflow)
Logic:
IF reply_scan_found_lead AND lead.phone IS NULL
IF lead.icp_score >= 80 AND lead.priority = 'high'
→ TRIGGER immediate apollo_people_match(lead)
→ IF success: append phone, mark urgent_dial = true
→ ELSE: queue for next waterfall run
ELSE
→ Queue for next scheduled waterfall (Mon or Wed 6:15 AM)This ensures urgent prospects get callable status same-day while maintaining efficiency of batch enrichment for standard leads.
自动队列同步(10:00、13:00、15:00):
当回复扫描发现缺少电话号码的新线索时:
- 这些线索会自动加入下一次计划的电话号码瀑布式补全运行队列(周一或周三6:15)
- 应用标准补全流程(Apollo → Clay瀑布式补全 → HubSpot同步)
高ICP紧急线索处理:
- 对ICP分数80+的高优先级线索,触发即时的单联系人Apollo查询
- 如果Apollo成功,将电话号码添加至联系人记录并加入当日拨号队列
- 如果Apollo失败,留待下一次计划的瀑布式补全运行(标准流程)
逻辑:
IF reply_scan_found_lead AND lead.phone IS NULL
IF lead.icp_score >= 80 AND lead.priority = 'high'
→ TRIGGER immediate apollo_people_match(lead)
→ IF success: append phone, mark urgent_dial = true
→ ELSE: queue for next waterfall run
ELSE
→ Queue for next scheduled waterfall (Mon or Wed 6:15 AM)这确保了紧急线索可在当日获得可呼叫状态,同时保持标准线索批量补全的效率。
Scheduled Automation
计划自动化
Cron: Every Monday & Wednesday 6:15 AM (UTC, or Tim's local timezone)
MONDAY MORNING SEQUENCE:
6:00 AM → bdr-v3-prospect-enrich (refresh prospect company data)
6:15 AM → phone-verification-waterfall-skill (verify phones on refreshed data)
6:30 AM → bdr-v3-prospect-refresh (refresh deal velocity metrics)
WEDNESDAY MORNING SEQUENCE (mid-week refresh):
6:00 AM → bdr-v3-prospect-enrich (refresh prospect company data)
6:15 AM → bdr-v3-phone-waterfall-midweek (verify phones on mid-week refreshed data)
6:30 AM → bdr-v3-prospect-refresh (refresh deal velocity metrics)Why 6:15 AM Monday & Wednesday?
- Monday: Sunday evening prospect research populates HubSpot with new prospects; 6:00 AM enrich ensures firmographic data is current; 6:15 AM phone verification catches those prospects while fresh; 6:30 AM velocity refresh gives Tim complete picture before first calls
- Wednesday: Mid-week lead refresh captures newly added prospects from Tue-Wed research; ensures stable of callable leads remains 50+ through week; separate task () allows independent scheduling and monitoring
bdr-v3-phone-waterfall-midweek
Operational notes:
- If phone waterfall takes >8 min, send Slack alert (indicates API slowness or large backlog)
- Log success rate to dashboard (aim for 65%+ total verified)
- If Apple/Apollo API rate limits hit, queue and retry with exponential backoff
- On error: skip Clay enrichment and return Apollo-only results (better to have some phones than none)
Cron表达式: 每周一和周三6:15(UTC或Tim的本地时区)
MONDAY MORNING SEQUENCE:
6:00 AM → bdr-v3-prospect-enrich(刷新潜在客户公司数据)
6:15 AM → phone-verification-waterfall-skill(对刷新后的数据进行电话号码验证)
6:30 AM → bdr-v3-prospect-refresh(刷新交易活跃度指标)
WEDNESDAY MORNING SEQUENCE (mid-week refresh):
6:00 AM → bdr-v3-prospect-enrich(刷新潜在客户公司数据)
6:15 AM → bdr-v3-phone-waterfall-midweek(对周中刷新的数据进行电话号码验证)
6:30 AM → bdr-v3-prospect-refresh(刷新交易活跃度指标)为何选择周一和周三6:15?
- 周一: 周日晚上的潜在客户调研会向HubSpot添加新线索;6:00的数据补全确保公司数据最新;6:15的电话号码验证可及时处理这些新线索;6:30的活跃度刷新让Tim在首次呼叫前掌握完整信息
- 周三: 周中线索刷新捕获周二至周三新增的潜在客户;确保可呼叫线索队列始终保持50+;独立任务()支持独立调度和监控
bdr-v3-phone-waterfall-midweek
操作注意事项:
- 如果电话号码瀑布式补全耗时超过8分钟,发送Slack警报(表明API缓慢或存在大量待处理任务)
- 将成功率记录至仪表盘(目标65%+总验证率)
- 如果触发Apple/Apollo API速率限制,将任务加入队列并使用指数退避重试
- 出错时:跳过Clay数据补全,仅返回Apollo的结果(有部分电话号码总比没有好)
Required MCP Tools
所需MCP工具
Epiphan CRM (primary data source)
Epiphan CRM(主数据源)
- — Pull leads with phone = null, apply Golden Rules filters
hubspot_search_contacts - — Retrieve full contact details if needed
hubspot_get_contact - — Check company against Epiphan customer database (device_count, channel flag)
crm_search_customers
- — 提取phone=null的线索,应用黄金规则筛选
hubspot_search_contacts - — 必要时获取完整联系人详情
hubspot_get_contact - — 检查公司是否在Epiphan客户数据库中(device_count、渠道标记)
crm_search_customers
Apollo (phone verification stage 2)
Apollo(电话号码验证Stage 2)
- — Look up person by name + email + company, return verified phone
apollo_people_match - (No cost — included in Apollo plan)
- — 通过姓名+邮箱+公司查询联系人,返回已验证的电话号码
apollo_people_match - (无额外成本 — 包含在Apollo套餐中)
Clay (phone waterfall stage 3)
Clay(电话号码瀑布式补全Stage 3)
- — Batch enrich by company + job title filters
find-and-enrich-contacts-at-company - — Add custom phone data point to enrich results
add-contact-data-points - — Enrich specific contacts by name + company
find-and-enrich-list-of-contacts - — Poll for async enrichment results
get-existing-search - (Costs Clay credits — monitor spend)
- — 按公司+职位头衔筛选批量补全
find-and-enrich-contacts-at-company - — 为补全结果添加自定义电话号码字段
add-contact-data-points - — 通过姓名+公司补全特定联系人
find-and-enrich-list-of-contacts - — 轮询异步补全结果
get-existing-search - (消耗Clay积分 — 需监控支出)
HubSpot API (sync stage 4)
HubSpot API(同步Stage 4)
- (batch via REST API) — Write verified phones back to HubSpot
hubspot_contacts_update - Or native HubSpot bulk import if preferred
- (通过REST API批量更新)—— 将已验证的电话号码写回HubSpot
hubspot_contacts_update - 或使用原生HubSpot批量导入(如果偏好该方式)
Sibling Skills & Related Tasks Referenced
关联的兄弟技能与任务
- — Lead quality gates, Golden Rules filter, ICP scoring
prospect-research-to-cadence-skill - — ICP vertical definitions, intent signal weighting
sales-revenue-skill - — HubSpot bulk operations, contact filtering patterns, owner ID mapping
hubspot-revops-skill - — Approved title keyword patterns for ATL/BTL/Gray classification (2026-03-17)
CLAUDE.md § ATL/BTL Classification v1.0
- — 线索质量筛选、黄金规则过滤、ICP评分
prospect-research-to-cadence-skill - — ICP垂直领域定义、意向信号权重
sales-revenue-skill - — HubSpot批量操作、联系人筛选规则、所有者ID映射
hubspot-revops-skill - — 已认可的ATL/BTL/Gray分类头衔关键词规则(2026-03-17)
CLAUDE.md § ATL/BTL Classification v1.0
Upstream & Downstream Scheduled Tasks
上下游计划任务
- — Monday 6:00 AM firmographic refresh (runs before phone waterfall)
bdr-v3-prospect-enrich - — Wednesday 6:15 AM mid-week phone verification run (NEW)
bdr-v3-phone-waterfall-midweek - — Monday 6:30 AM velocity refresh (runs after phone waterfall)
bdr-v3-prospect-refresh
- — 周一6:00的公司数据刷新(在电话号码瀑布式补全前运行)
bdr-v3-prospect-enrich - — 周三6:15的周中电话号码验证任务(新增)
bdr-v3-phone-waterfall-midweek - — 周一6:30的活跃度刷新(在电话号码瀑布式补全后运行)
bdr-v3-prospect-refresh
External Dependencies
外部依赖
- HubSpot API: Contact search + bulk update
- Apollo API: People match (no additional cost)
- Clay API: Waterfall enrichment (requires active subscription + available credits)
- Dialpad/Aircall API: Optional integration for direct dial queue sync
- HubSpot API: 联系人搜索+批量更新
- Apollo API: 联系人匹配(无额外成本)
- Clay API: 瀑布式补全(需有效订阅+可用积分)
- Dialpad/Aircall API: 可选集成,用于直接同步拨号队列
Estimated Monthly Cost
月度预估成本
- Apollo: $0 (included)
- Clay: $150-300 depending on contacts enriched (monitor waterfall stage)
- HubSpot: Already in use
- Total variable: ~$200-300/month (Clay credits)
<scheduled_automation>
Task IDs:
- (Monday 6:15 AM run)
bdr-v3-phone-waterfall - (Wednesday 6:15 AM run)
bdr-v3-phone-waterfall-midweek
Trigger: Recurring, every Monday & Wednesday at 6:15 AM (user's local timezone)
Slack Notification on Completion:
✅ Phone Waterfall Complete (Mon 6:15 AM)
Pulled: {N} leads
Verified: {X+Y} phones ({%})
HubSpot Sync: ✓
Queue: Ready to dial
Leads/hour: {rate}On Error:
⚠️ Phone Waterfall Partial (Mon 6:15 AM)
Apollo completed ({X%})
Clay failing — check credits
Manual action: Continue with Apollo-only queue</scheduled_automation>
- Apollo: $0(已包含)
- Clay: $150-300,取决于补全的联系人数量(需监控瀑布式补全阶段)
- HubSpot: 已在使用中
- 总可变成本: ~$200-300/月(Clay积分)
<scheduled_automation>
任务ID:
- (周一6:15运行)
bdr-v3-phone-waterfall - (周三6:15运行)
bdr-v3-phone-waterfall-midweek
触发条件: 每周一和周三6:15(用户本地时区)重复运行
完成时的Slack通知:
✅ Phone Waterfall Complete (Mon 6:15 AM)
Pulled: {N} leads
Verified: {X+Y} phones ({%})
HubSpot Sync: ✓
Queue: Ready to dial
Leads/hour: {rate}出错时的通知:
⚠️ Phone Waterfall Partial (Mon 6:15 AM)
Apollo completed ({X%})
Clay failing — check credits
Manual action: Continue with Apollo-only queue</scheduled_automation>
Reference: Golden Rules Filter
参考:黄金规则筛选
These are hard gates — if ANY condition matches, skip the contact entirely:
| Condition | Value | Action |
|---|---|---|
| 'customer' | SKIP |
| contains 'Pearl' OR 'setup' OR 'Connect' | SKIP |
Company | >= 1 | SKIP |
Company | true | SKIP |
| 82625923, 423155215, 190030668 | SKIP (AEs: Lex Evans, Ron Epstein, Phillip Sandler) |
Rationale:
- Customers are in a different sales motion (success, upsell, retention)
- Product engagers are warm leads for a different sequence
- Device owners are existing relationships or renewals
- Channel partners have their own sales process
- AE-owned leads belong to Account Executives (no BDR lead theft)
</Golden Rules>
以下为硬性拦截条件 — 只要满足任意一条,即跳过该联系人:
| 条件 | 值 | 操作 |
|---|---|---|
| 'customer' | SKIP |
| 包含'Pearl' OR 'setup' OR 'Connect' | SKIP |
Company | >= 1 | SKIP |
Company | true | SKIP |
| 82625923, 423155215, 190030668 | SKIP (客户经理:Lex Evans, Ron Epstein, Phillip Sandler) |
理由:
- 客户属于不同的销售流程(成功续约、交叉销售、留存)
- 产品使用者属于暖线索,适用于其他触达序列
- 设备所有者已有合作关系或需续约
- 渠道合作伙伴有独立的销售流程
- 客户经理的线索归属于对应客户经理(避免BDR占用)
</Golden Rules>
Example: Phone Waterfall in Action
示例:电话号码瀑布式补全运行流程
Monday 6:15 AM kick-off:
INPUT: HubSpot query finds 247 contacts with phone = null and meeting Golden Rules
APOLLO STAGE (2 min):
Batched 247 into 5 parallel requests
Success: 118 phones verified (47.8%)
→ Synced 118 to HubSpot immediately
→ Remaining: 129 needs Clay
CLAY STAGE (4 min):
Batched 129 into company+title groups
Ran find-and-enrich-contacts-at-company for each company
Waterfall returned phones for 41 additional contacts (31.8%)
→ Synced 41 to HubSpot
→ Final miss: 88 (no phone found)
SYNC STAGE (30 sec):
HubSpot batch updated 159 contacts (118 Apollo + 41 Clay)
Tagged phone_source = 'apollo' or 'clay'
QUEUE STAGE (30 sec):
Sorted 159 by ICP score (Higher Ed first, K-12 last)
Output: Callable queue ready for 50+ dials
TOTAL TIME: 7 min 30 sec | CALLABLE: 159 verified | SUCCESS: 64.4%周一6:15启动:
INPUT: HubSpot查询找到247个满足黄金规则且缺少电话号码的联系人
APOLLO阶段(2分钟):
将247个联系人分5组并行请求
成功:118个电话号码已验证(47.8%)
→ 立即同步118个至HubSpot
→ 剩余129个进入Clay阶段
CLAY阶段(4分钟):
将129个联系人按公司+职位分组
对每个公司运行find-and-enrich-contacts-at-company
瀑布式补全为41个额外联系人找到电话号码(31.8%)
→ 同步41个至HubSpot
→ 最终未找到:88个(无电话号码)
同步阶段(30秒):
HubSpot批量更新159个联系人(118个来自Apollo +41个来自Clay)
标记phone_source = 'apollo'或'clay'
队列阶段(30秒):
按ICP分数对159个联系人排序(高等教育优先,K-12最后)
输出:可呼叫队列已准备就绪
总耗时:7分30秒 | 可呼叫:159个已验证 | 成功率:64.4%