inbound-lead-enrichment
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseInbound Lead Enrichment
入站线索数据补全与增强
Takes inbound leads with incomplete data and fills in the gaps. Researches the company, identifies the person's role, finds other stakeholders at the company, and checks for existing relationships in CRM. Turns a bare email address into a full lead profile.
针对数据不完整的入站线索补全缺失信息。调研线索所属公司、识别联系人职位、查找公司内其他关键决策者,并检查CRM系统中的现有关联关系。仅通过一个邮箱地址即可生成完整的客户线索档案。
When to Auto-Load
自动加载场景
Load this composite when:
- User says "enrich these leads", "fill in the missing data", "research these inbound leads"
- flags leads as
inbound-lead-qualificationinsufficient_data - detects leads with missing company/title fields
inbound-lead-triage - User has a list of emails or partial lead data and needs complete profiles
在以下场景中加载此复合工具:
- 用户提出“补全这些线索数据”、“填充缺失信息”、“调研这些入站线索”等需求
- 标记线索为
inbound-lead-qualification(数据不足)insufficient_data - 检测到线索缺失公司/职位字段
inbound-lead-triage - 用户拥有邮箱列表或部分线索数据,需要生成完整档案
Architecture
架构
[Raw Leads] → Step 1: Assess Gaps → Step 2: Company Research → Step 3: Person Research → Step 4: Stakeholder Discovery → Step 5: Relationship Check → Step 6: Compile & Output
↓ ↓ ↓ ↓ ↓ ↓
Gap inventory Company profiles Person profiles Buying committee CRM/pipeline matches Enriched lead records[原始线索] → 步骤1:评估数据缺口 → 步骤2:企业调研 → 步骤3:联系人调研 → 步骤4:关键决策者挖掘 → 步骤5:关联关系检查 → 步骤6:整合与输出
↓ ↓ ↓ ↓ ↓ ↓
缺口清单 企业档案 联系人档案 采购决策团队 CRM/销售管道匹配 增强版线索记录Step 0: Configuration (Once Per Client)
步骤0:配置(每位客户仅需一次)
On first run, establish enrichment tool preferences. Save to .
clients/<client-name>/config/lead-enrichment.jsonjson
{
"enrichment_tools": {
"company_research": {
"primary": "web-search | Apollo | Crunchbase | none",
"secondary": "web-search"
},
"person_research": {
"primary": "Apollo | LinkedIn scraper (Apify) | web-search | none",
"secondary": "web-search"
},
"stakeholder_finding": {
"primary": "Apollo | LinkedIn Sales Nav export | company-contact-finder | none",
"secondary": "web-search"
}
},
"crm_source": {
"tool": "Supabase | HubSpot | Salesforce | CSV | none",
"access_method": ""
},
"buyer_personas": [],
"enrichment_depth": {
"tier_1_leads": "deep",
"tier_2_leads": "deep",
"tier_3_leads": "standard",
"tier_4_leads": "minimal",
"untiered_leads": "standard"
},
"cost_controls": {
"max_apify_credits_per_run": null,
"max_apollo_credits_per_run": null,
"skip_paid_enrichment_for_tier_4": true
}
}On subsequent runs: Load config silently.
首次运行时,设置数据增强工具偏好,并保存至。
clients/<client-name>/config/lead-enrichment.jsonjson
{
"enrichment_tools": {
"company_research": {
"primary": "web-search | Apollo | Crunchbase | none",
"secondary": "web-search"
},
"person_research": {
"primary": "Apollo | LinkedIn scraper (Apify) | web-search | none",
"secondary": "web-search"
},
"stakeholder_finding": {
"primary": "Apollo | LinkedIn Sales Nav export | company-contact-finder | none",
"secondary": "web-search"
}
},
"crm_source": {
"tool": "Supabase | HubSpot | Salesforce | CSV | none",
"access_method": ""
},
"buyer_personas": [],
"enrichment_depth": {
"tier_1_leads": "deep",
"tier_2_leads": "deep",
"tier_3_leads": "standard",
"tier_4_leads": "minimal",
"untiered_leads": "standard"
},
"cost_controls": {
"max_apify_credits_per_run": null,
"max_apollo_credits_per_run": null,
"skip_paid_enrichment_for_tier_4": true
}
}后续运行时: 静默加载配置。
Step 1: Assess Data Gaps
步骤1:评估数据缺口
Process
流程
For each lead, inventory what's known vs. unknown:
Required fields (must fill):
- — What company do they work for?
company_name - — Company website domain
company_domain - — Full name
person_name - — Current job title
person_title - — Contact email (usually already have this from inbound)
person_email
Valuable fields (fill if possible):
- — Employee count or range
company_size - — Industry classification
company_industry - — Funding stage or maturity
company_stage - — Headquarters location
company_hq - — One sentence about what they do
company_description - — IC, Manager, Director, VP, C-Level, Founder
person_seniority - — Engineering, Sales, Marketing, etc.
person_department - — LinkedIn profile URL
person_linkedin - — How long at current company
person_tenure
Bonus fields (nice to have):
- — Known technologies used
company_tech_stack - — Any recent events (funding, launches, hires)
company_recent_news - — Previous companies, education
person_background - — Recent posts or engagement topics
person_social_activity
针对每条线索,梳理已知信息与缺失信息:
必填字段(必须补全):
- — 所属公司名称
company_name - — 公司官网域名
company_domain - — 联系人全名
person_name - — 当前职位
person_title - — 联系邮箱(通常从入站渠道已获取)
person_email
高价值字段(尽可能补全):
- — 员工数量或范围
company_size - — 行业分类
company_industry - — 融资阶段或成熟度
company_stage - — 总部所在地
company_hq - — 公司业务一句话介绍
company_description - — 普通员工、经理、总监、副总裁、高管、创始人
person_seniority - — 技术部、销售部、市场部等
person_department - — LinkedIn个人主页链接
person_linkedin - — 当前公司任职时长
person_tenure
附加字段(如有则补全):
- — 公司使用的已知技术栈
company_tech_stack - — 近期动态(融资、产品发布、招聘等)
company_recent_news - — 过往任职公司、教育经历
person_background - — 近期社交动态或参与话题
person_social_activity
Gap Classification
缺口分级
For each lead, classify the enrichment effort needed:
| Gap Level | Missing | Enrichment Needed | Cost |
|---|---|---|---|
| Minimal | 1-2 valuable fields | Quick web search | Free |
| Standard | Company or title missing | Web search + possible API lookup | Low |
| Deep | Multiple required fields missing | Multi-source research | Medium |
| Email-only | Only have an email address | Full research from scratch | High |
针对每条线索,分级确定所需的数据增强力度:
| 缺口等级 | 缺失内容 | 所需增强力度 | 成本 |
|---|---|---|---|
| 基础级 | 1-2个高价值字段 | 快速网页搜索 | 免费 |
| 标准级 | 缺失公司或职位信息 | 网页搜索+可选API查询 | 低 |
| 深度级 | 多个必填字段缺失 | 多数据源调研 | 中 |
| 仅邮箱 | 仅提供邮箱地址 | 从零开始全面调研 | 高 |
Output
输出
- Gap inventory table showing each lead and what's missing
- Recommended enrichment depth per lead (based on gap level AND urgency tier if available)
- Cost estimate if paid tools will be used
- 缺口清单表格,展示每条线索的缺失信息
- 针对每条线索推荐的增强深度(基于缺口等级及紧急程度)
- 若使用付费工具,提供成本预估
Human Checkpoint
人工确认环节
"Here's what's missing across your leads. [X] need deep enrichment, [Y] need standard, [Z] just need a quick lookup. Estimated cost: [amount]. Proceed?"
“以下是线索的缺失信息统计:[X]条线索需要深度增强,[Y]条需要标准增强,[Z]条仅需快速查询。预估成本:[金额]。是否继续?”
Step 2: Company Research
步骤2:企业调研
Process
流程
For each unique company in the lead list (deduplicate — don't research the same company twice for multiple leads):
From email domain (if company name is missing):
- Extract domain from email (e.g., →
jane@acme.com)acme.com - Skip personal email domains (gmail, yahoo, hotmail, outlook, etc.)
- Look up the domain → company name, description
Company profile research:
| Field | Primary Source | Fallback Source |
|---|---|---|
| Company name | Domain lookup | Web search |
| Description | Company website (homepage, about page) | Crunchbase, LinkedIn company page |
| Employee count | Apollo, LinkedIn company page | Crunchbase, web search |
| Industry | LinkedIn company page, Crunchbase | Infer from website content |
| Stage/Funding | Crunchbase, news articles | Apollo, web search |
| HQ Location | LinkedIn company page, website | Crunchbase |
| Tech stack | Job postings, BuiltWith | Web search |
| Recent news | Web search (last 90 days) | Twitter/social mentions |
Research depth by config:
- Deep: All fields, multiple sources, verify across sources
- Standard: Required + valuable fields, primary source only
- Minimal: Company name + description + size only
针对线索列表中的每家独立公司(去重——同一家公司无需为多条线索重复调研):
通过邮箱域名调研(若缺失公司名称):
- 从邮箱中提取域名(例如:→
jane@acme.com)acme.com - 跳过个人邮箱域名(gmail、yahoo、hotmail、outlook等)
- 查询域名对应的公司名称与业务介绍
企业档案调研:
| 字段 | 主要数据源 | 备用数据源 |
|---|---|---|
| 公司名称 | 域名查询 | 网页搜索 |
| 业务介绍 | 公司官网(首页、关于我们页面) | Crunchbase、LinkedIn企业主页 |
| 员工数量 | Apollo、LinkedIn企业主页 | Crunchbase、网页搜索 |
| 所属行业 | LinkedIn企业主页、Crunchbase | 从官网内容推断 |
| 发展阶段/融资情况 | Crunchbase、新闻报道 | Apollo、网页搜索 |
| 总部所在地 | LinkedIn企业主页、官网 | Crunchbase |
| 技术栈 | 招聘信息、BuiltWith | 网页搜索 |
| 近期动态 | 网页搜索(近90天) | Twitter/社交平台提及内容 |
按配置确定调研深度:
- 深度增强: 覆盖所有字段,多数据源交叉验证
- 标准增强: 仅覆盖必填+高价值字段,使用主要数据源
- 基础增强: 仅覆盖公司名称+业务介绍+员工规模
Output
输出
Each company gets a block:
company_profile{
"company_name": "",
"company_domain": "",
"company_description": "",
"employee_count": "",
"employee_range": "",
"industry": "",
"sub_industry": "",
"stage": "",
"last_funding": "",
"hq_location": "",
"tech_stack": [],
"recent_news": [],
"research_sources": [],
"confidence": "high | medium | low"
}每家公司生成一个模块:
company_profile{
"company_name": "",
"company_domain": "",
"company_description": "",
"employee_count": "",
"employee_range": "",
"industry": "",
"sub_industry": "",
"stage": "",
"last_funding": "",
"hq_location": "",
"tech_stack": [],
"recent_news": [],
"research_sources": [],
"confidence": "high | medium | low"
}Handling Personal Email Domains
个人邮箱域名处理
If the lead used a personal email (gmail, etc.):
- Check if name + any other available data can identify the company (e.g., form field, chat message)
- If company is mentioned in their form submission or chat, use that
- If truly unknown, flag as — still proceed with person research if name is available
company_unidentified
若线索使用个人邮箱(gmail等):
- 检查是否可通过姓名+其他可用数据识别公司(例如:表单字段、聊天记录)
- 若表单提交或聊天内容中提及公司,则使用该信息
- 若确实无法识别,标记为——若有姓名信息,仍继续进行联系人调研
company_unidentified
Step 3: Person Research
步骤3:联系人调研
Process
流程
For each lead, build a person profile:
From name + company (if title is missing):
- Search LinkedIn for person at company (via configured tool or web search)
- Cross-reference with Apollo or other contact databases
- If multiple matches, use email domain to disambiguate
Person profile research:
| Field | Primary Source | Fallback Source |
|---|---|---|
| Full name | Input data | LinkedIn profile |
| Current title | LinkedIn profile, Apollo | Web search |
| Seniority level | Infer from title | LinkedIn profile |
| Department | Infer from title | LinkedIn profile |
| Tenure at company | LinkedIn profile | Apollo |
| Previous companies | LinkedIn profile | Web search |
| Education | LinkedIn profile | Skip |
| LinkedIn URL | Apollo, web search | Skip |
| LinkedIn headline | LinkedIn profile | Skip |
| Recent activity | LinkedIn posts (if scraper configured) | Skip |
Seniority inference rules:
- Titles containing: Intern, Associate, Coordinator, Specialist →
IC_junior - Titles containing: Analyst, Engineer, Designer, Developer (no "Senior/Lead/Staff") →
IC_mid - Titles containing: Senior, Lead, Staff, Principal →
IC_senior - Titles containing: Manager, Team Lead →
Manager - Titles containing: Director, Head of →
Director - Titles containing: VP, Vice President, SVP, EVP →
VP - Titles containing: Chief, C-level abbreviations (CTO, CMO, CRO, CFO), President →
C_Level - Titles containing: Founder, Co-founder, Owner →
Founder
Adjust for company size:
- At companies <20 employees: inflate seniority one level (a "Manager" has Director-level scope)
- At companies >5000 employees: deflate seniority one level (a "Director" may have Manager-level autonomy)
针对每条线索,生成联系人档案:
通过姓名+公司调研(若缺失职位):
- 通过配置工具或网页搜索,在LinkedIn查找该公司下的对应联系人
- 与Apollo或其他联系人数据库交叉验证
- 若存在多个匹配结果,通过邮箱域名区分
联系人档案调研:
| 字段 | 主要数据源 | 备用数据源 |
|---|---|---|
| 全名 | 输入数据 | LinkedIn个人主页 |
| 当前职位 | LinkedIn个人主页、Apollo | 网页搜索 |
| 职级 | 从职位推断 | LinkedIn个人主页 |
| 所属部门 | 从职位推断 | LinkedIn个人主页 |
| 当前公司任职时长 | LinkedIn个人主页 | Apollo |
| 过往任职公司 | LinkedIn个人主页 | 网页搜索 |
| 教育经历 | LinkedIn个人主页 | 跳过 |
| LinkedIn链接 | Apollo、网页搜索 | 跳过 |
| LinkedIn简介 | LinkedIn个人主页 | 跳过 |
| 近期动态 | LinkedIn帖子(若配置了爬虫工具) | 跳过 |
职级推断规则:
- 职位包含:Intern(实习生)、Associate(助理)、Coordinator(协调员)、Specialist(专员)→ (初级员工)
IC_junior - 职位包含:Analyst(分析师)、Engineer(工程师)、Designer(设计师)、Developer(开发人员)(无“Senior/Lead/Staff”前缀)→ (中级员工)
IC_mid - 职位包含:Senior(高级)、Lead(主管)、Staff(资深)、Principal(首席)→ (高级员工)
IC_senior - 职位包含:Manager(经理)、Team Lead(团队主管)→ (经理)
Manager - 职位包含:Director(总监)、Head of(负责人)→ (总监)
Director - 职位包含:VP、Vice President(副总裁)、SVP(高级副总裁)、EVP(执行副总裁)→ (副总裁)
VP - 职位包含:Chief、高管头衔缩写(CTO、CMO、CRO、CFO)、President(总裁)→ (高管)
C_Level - 职位包含:Founder(创始人)、Co-founder(联合创始人)、Owner(所有者)→ (创始人)
Founder
根据公司规模调整职级:
- 员工数<20人的公司:职级上调一级(“经理”相当于“总监”权限)
- 员工数>5000人的公司:职级下调一级(“总监”可能仅拥有“经理”级自主权)
Output
输出
Each lead gets a block:
person_profile{
"full_name": "",
"current_title": "",
"seniority_level": "",
"department": "",
"tenure_months": null,
"previous_companies": [],
"education": "",
"linkedin_url": "",
"linkedin_headline": "",
"recent_activity_summary": "",
"research_sources": [],
"confidence": "high | medium | low"
}每条线索生成一个模块:
person_profile{
"full_name": "",
"current_title": "",
"seniority_level": "",
"department": "",
"tenure_months": null,
"previous_companies": [],
"education": "",
"linkedin_url": "",
"linkedin_headline": "",
"recent_activity_summary": "",
"research_sources": [],
"confidence": "high | medium | low"
}Step 4: Stakeholder Discovery
步骤4:关键决策者挖掘
Process
流程
For each company in the lead list, identify other relevant people — the buying committee.
Why this matters:
- Inbound leads are rarely the sole decision-maker
- Finding the rest of the buying committee early accelerates the deal
- Multi-threading (engaging multiple people at a company) dramatically improves win rates
Who to find (based on buyer personas from config):
- Economic buyer — Person who signs the check. Usually VP+ or C-level in the relevant department.
- Champion — Person most likely to push for adoption internally. Usually a senior IC or Director who feels the pain.
- Technical evaluator — Person who will assess the product's technical fit. Usually engineering or ops.
- End user — Person who will use the product daily. Their buy-in prevents post-sale churn.
Process per company:
- Using the buyer personas, determine which roles to search for
- Search via configured tool (Apollo, LinkedIn, company-contact-finder)
- For each stakeholder found, capture: name, title, seniority, LinkedIn URL, email (if available)
- Note the relationship to the inbound lead: same team? Same department? Different function?
Depth control:
- Deep enrichment (Tier 1-2 leads): Find all 4 stakeholder types. Research each.
- Standard enrichment (Tier 3 leads): Find economic buyer + champion only.
- Minimal enrichment (Tier 4 / untiered): Skip stakeholder discovery.
针对线索列表中的每家公司,识别其他相关人员——即采购决策团队。
重要性:
- 入站线索很少是唯一的决策者
- 提前找到完整的采购决策团队可加速成单
- 多线程触达(同时对接公司内多人)可显著提升赢单率
需挖掘的角色(基于配置的买家画像):
- 经济决策者 — 最终签字付款的人。通常是相关部门的副总裁及以上级别。
- 内部支持者 — 最可能在内部推动产品落地的人。通常是感受到业务痛点的资深员工或总监。
- 技术评估者 — 评估产品技术适配性的人。通常是技术部或运维部人员。
- 终端用户 — 日常使用产品的人。他们的认可可降低售后流失率。
每家公司的调研流程:
- 根据买家画像确定需搜索的角色
- 通过配置工具(Apollo、LinkedIn、company-contact-finder)搜索
- 针对找到的每位关键决策者,记录:姓名、职位、职级、LinkedIn链接、邮箱(若有)
- 标记与入站线索的关系:同团队?同部门?不同职能?
深度控制:
- 深度增强(1-2级线索):挖掘全部4类角色,并完成每位的调研
- 标准增强(3级线索):仅挖掘经济决策者+内部支持者
- 基础增强(4级/未分级线索):跳过关键决策者挖掘
Output
输出
Each company gets a :
stakeholder_map{
"company": "",
"inbound_lead": {
"name": "",
"title": "",
"role_in_deal": "economic_buyer | champion | evaluator | user | unknown"
},
"stakeholders_found": [
{
"name": "",
"title": "",
"seniority": "",
"linkedin_url": "",
"email": "",
"role_in_deal": "",
"relationship_to_lead": "",
"confidence": "high | medium | low"
}
],
"buying_committee_completeness": "full | partial | minimal",
"recommended_multi_thread": ""
}每家公司生成一个:
stakeholder_map{
"company": "",
"inbound_lead": {
"name": "",
"title": "",
"role_in_deal": "economic_buyer | champion | evaluator | user | unknown"
},
"stakeholders_found": [
{
"name": "",
"title": "",
"seniority": "",
"linkedin_url": "",
"email": "",
"role_in_deal": "",
"relationship_to_lead": "",
"confidence": "high | medium | low"
}
],
"buying_committee_completeness": "full | partial | minimal",
"recommended_multi_thread": ""
}Stakeholder Prioritization
关键决策者优先级
If the inbound lead IS the economic buyer → stakeholders are supporting context
If the inbound lead is a user/evaluator → finding the economic buyer is critical
If the inbound lead is unknown → identifying their role determines the multi-threading strategy
若入站线索本身是经济决策者 → 其他关键决策者作为辅助参考
若入站线索是用户/评估者 → 找到经济决策者是核心任务
若入站线索角色未知 → 先识别其角色,再确定多线程触达策略
Step 5: Relationship Check
步骤5:关联关系检查
Process
流程
For each lead AND each discovered stakeholder, check existing systems for prior relationships:
Check 1 — CRM / Supabase table:
people- Does this person already exist in our system?
- If yes: what's their current status? (active lead, contacted, nurture, customer, churned)
- If yes: who owns the relationship?
Check 2 — Outreach history ():
outreach_log- Have we emailed/messaged this person before?
- If yes: when, what channel, what was the outcome?
- Critical: prevent the "we cold-emailed you last week and you ignored us, now you came inbound" collision
Check 3 — Company-level pipeline ( table or CRM):
companies- Is there an active deal with this company?
- If yes: at what stage? Who's the deal owner?
- An inbound lead at a company with an active deal is a HUGE signal — flag it prominently
Check 4 — Signal history ( table):
signals- Has this company appeared in any signal scans?
- If yes: which signals? Were they acted on?
Check 5 — Mutual connections (if data available):
- Does anyone on our team know someone at this company?
- If yes: note the warm intro path
针对每条线索及每个挖掘到的关键决策者,检查现有系统中的过往关联关系:
检查1 — CRM / Supabase表:
people- 该联系人是否已存在于系统中?
- 若是:当前状态是什么?(活跃线索、已联系、培育中、客户、流失)
- 若是:谁负责维护该关系?
检查2 — 触达历史():
outreach_log- 我们是否曾通过邮件/消息联系过该联系人?
- 若是:联系时间、渠道、结果如何?
- 核心:避免出现“上周我们给你发过冷邮件未得到回复,现在你主动进线”的尴尬场景
检查3 — 公司级销售管道(表或CRM):
companies- 该公司是否有活跃的销售机会?
- 若是:处于哪个阶段?谁负责该机会?
- 若有活跃销售机会的公司有入站线索,这是极强的信号——需重点标记
检查4 — 信号历史(表):
signals- 该公司是否曾出现在信号扫描中?
- 若是:涉及哪些信号?是否已跟进?
检查5 — 共同联系人(若有数据):
- 我们团队中是否有人认识该公司的员工?
- 若是:记录可进行转介绍的路径
Output
输出
Each lead gets a block:
relationship_context{
"person_in_crm": true/false,
"person_crm_status": "",
"person_outreach_history": [
{
"date": "",
"channel": "",
"campaign": "",
"outcome": ""
}
],
"company_in_pipeline": true/false,
"company_deal_stage": "",
"company_deal_owner": "",
"company_signal_history": [],
"mutual_connections": [],
"relationship_summary": ""
}每条线索生成一个模块:
relationship_context{
"person_in_crm": true/false,
"person_crm_status": "",
"person_outreach_history": [
{
"date": "",
"channel": "",
"campaign": "",
"outcome": ""
}
],
"company_in_pipeline": true/false,
"company_deal_stage": "",
"company_deal_owner": "",
"company_signal_history": [],
"mutual_connections": [],
"relationship_summary": ""
}Step 6: Compile & Output
步骤6:整合与输出
Enriched Lead Record
增强版线索记录
Merge all research into a single enriched record per lead:
{
"original_data": {},
"company_profile": {},
"person_profile": {},
"stakeholder_map": {},
"relationship_context": {},
"enrichment_metadata": {
"enrichment_depth": "deep | standard | minimal",
"fields_filled": X,
"fields_still_missing": [],
"sources_used": [],
"confidence_overall": "high | medium | low",
"enrichment_date": "",
"cost_incurred": ""
}
}将所有调研数据整合为每条线索的单独增强记录:
{
"original_data": {},
"company_profile": {},
"person_profile": {},
"stakeholder_map": {},
"relationship_context": {},
"enrichment_metadata": {
"enrichment_depth": "deep | standard | minimal",
"fields_filled": X,
"fields_still_missing": [],
"sources_used": [],
"confidence_overall": "high | medium | low",
"enrichment_date": "",
"cost_incurred": ""
}
}Output Formats
输出格式
Primary: Enriched CSV
Produce a CSV that extends the original lead data with all enriched fields:
| Original Fields | + Company Fields | + Person Fields | + Stakeholder Fields | + Relationship Fields | + Metadata |
|---|---|---|---|---|---|
| All input columns | company_description, employee_count, industry, stage, hq, tech_stack, recent_news | current_title, seniority, department, tenure, linkedin_url, headline | stakeholder_1_name, stakeholder_1_title, stakeholder_1_role, ... (up to 4) | in_crm, crm_status, in_pipeline, deal_stage, outreach_history_summary | enrichment_depth, confidence, fields_missing, sources_used |
Save to:
clients/<client-name>/leads/inbound-enriched-[date].csvSecondary: Enrichment Report
markdown
undefined主要格式:增强版CSV
生成CSV文件,在原始线索数据基础上添加所有增强字段:
| 原始字段 | + 企业字段 | + 联系人字段 | + 关键决策者字段 | + 关联关系字段 | + 元数据 |
|---|---|---|---|---|---|
| 所有输入列 | company_description, employee_count, industry, stage, hq, tech_stack, recent_news | current_title, seniority, department, tenure, linkedin_url, headline | stakeholder_1_name, stakeholder_1_title, stakeholder_1_role, ...(最多4个) | in_crm, crm_status, in_pipeline, deal_stage, outreach_history_summary | enrichment_depth, confidence, fields_missing, sources_used |
保存路径:
clients/<client-name>/leads/inbound-enriched-[date].csv次要格式:增强报告
markdown
undefinedLead Enrichment Report: [Date]
线索增强报告:[日期]
Summary
摘要
- Total leads enriched: X
- Deep enrichment: X leads (Tier 1-2)
- Standard enrichment: X leads (Tier 3)
- Minimal enrichment: X leads (Tier 4)
- 增强线索总数: X
- 深度增强: X条(1-2级线索)
- 标准增强: X条(3级线索)
- 基础增强: X条(4级线索)
Data Quality
数据质量
- Fully enriched (all required + valuable fields): X leads
- Mostly enriched (all required, some valuable): X leads
- Partially enriched (some required fields still missing): X leads
- Could not enrich (insufficient starting data): X leads
- 完全增强(所有必填+高价值字段补全):X条线索
- 基本增强(所有必填字段补全,部分高价值字段缺失):X条线索
- 部分增强(部分必填字段仍缺失):X条线索
- 无法增强(初始数据不足):X条线索
Company Research
企业调研
- Unique companies researched: X
- Companies already in CRM: X
- Companies with active deals: X (flag for deal owner)
- Companies with signal history: X
- 调研独立公司数量: X
- 已在CRM中的公司: X
- 有活跃销售机会的公司: X(标记给销售机会负责人)
- 有信号历史的公司: X
Stakeholder Discovery
关键决策者挖掘
- Total stakeholders found: X across Y companies
- Economic buyers identified: X
- Champions identified: X
- Full buying committees mapped: X companies
- 找到的关键决策者总数: X(覆盖Y家公司)
- 识别的经济决策者: X
- 识别的内部支持者: X
- 完整采购决策团队已映射: X家公司
Relationship Flags
关联关系标记
- Leads already in CRM: X (update status, don't create duplicates)
- Previously contacted leads: X (check outreach history before re-engaging)
- Companies with active deals: X (coordinate with deal owner)
- Warm intro paths found: X
- 已在CRM中的线索: X(更新状态,避免重复创建)
- 曾触达过的线索: X(再次触达前检查历史记录)
- 有活跃销售机会的公司: X(与销售机会负责人协同)
- 找到转介绍路径: X
Cost
成本
- Enrichment tool credits used: [breakdown by tool]
- Cost per lead: [average]
- 增强工具消耗额度: [按工具细分]
- 单线索平均成本: [平均值]
CSV saved to: [path]
CSV保存路径:[路径]
---
---Handling Edge Cases
边缘场景处理
Lead with only an email, nothing else:
- Extract domain → look up company
- Search "[name] [company]" on LinkedIn/web
- If still can't identify: flag as with reason, recommend manual lookup
enrichment_failed - Don't waste paid API credits on truly unidentifiable leads — web search first
Same company appears multiple times (multiple inbound leads):
- Research the company ONCE, apply to all leads
- Stakeholder discovery runs once per company, not per lead
- Note the multi-lead signal: "3 people from [Company] came inbound — buying committee forming?"
Lead claims a title that doesn't match LinkedIn:
- Trust LinkedIn over self-reported form data (people sometimes inflate titles on forms)
- Note the discrepancy: "Form says 'VP of Engineering', LinkedIn says 'Senior Engineer'"
- Use the LinkedIn title for qualification purposes
Company recently renamed, merged, or was acquired:
- If the company domain redirects, follow the redirect
- Note the corporate action: "[Company] was acquired by [Parent] in [date]"
- Qualify against the current entity, not the historical one
Person left the company since filling the form:
- If LinkedIn shows a different company than the form submission, flag it
- Note: "Lead submitted via [Company] but now at [New Company] as of [date]"
- Qualify both companies if both are potentially relevant
Enrichment tool rate limits or failures:
- If primary tool fails, fall back to secondary (web search is always available)
- If both fail for a specific lead, mark as and move on
enrichment_partial - Never block the entire batch because one lead failed
Very high volume (100+ leads):
- Batch company research first (deduplicate companies)
- Parallelize person research via Task agents (15-20 leads per batch)
- Skip stakeholder discovery for Tier 4 and untiered leads
- Provide cost estimate before running paid enrichment tools
Personal email domains:
- If form had a company field: use it even though email is personal
- If no company info: attempt LinkedIn search by name
- Last resort: flag as , enrich person only
company_unidentified
仅提供邮箱,无其他信息的线索:
- 提取域名 → 查询公司信息
- 在LinkedIn/网页搜索“[姓名] [公司]”
- 若仍无法识别:标记为并说明原因,建议人工查询
enrichment_failed - 不要在无法识别的线索上浪费付费API额度——优先使用网页搜索
同一家公司出现多条入站线索:
- 仅调研公司一次,结果应用于所有线索
- 关键决策者挖掘仅针对公司运行一次,而非每条线索
- 标记多线索信号:“[公司]有3位联系人进线——是否正在组建采购决策团队?”
线索自报职位与LinkedIn不符:
- 优先信任LinkedIn信息(用户有时会在表单中夸大职位)
- 标记差异:“表单填写‘工程副总裁’,LinkedIn显示‘高级工程师’”
- 资质审核时使用LinkedIn职位信息
公司近期更名、合并或被收购:
- 若公司域名跳转,跟进跳转后的域名
- 标记企业变动:“[公司]于[日期]被[母公司]收购”
- 基于当前主体进行资质审核,而非历史主体
联系人填写表单后已离职:
- 若LinkedIn显示的公司与表单提交的不符,标记该情况
- 备注:“线索通过[原公司]提交表单,但自[日期]起任职于[新公司]”
- 若两家公司均相关,则同时对两家进行资质审核
增强工具触发限流或故障:
- 若主工具故障,切换至备用工具(网页搜索始终可用)
- 若两个工具均对某条线索失效,标记为并继续处理其他线索
enrichment_partial - 不要因单条线索故障阻塞整个批次
大批次线索(100+条):
- 先批量完成企业调研(去重公司)
- 通过Task agent并行处理联系人调研(每批次15-20条线索)
- 跳过4级及未分级线索的关键决策者挖掘
- 使用付费增强工具前提供成本预估
个人邮箱域名:
- 若表单中有公司字段:即使邮箱是个人邮箱,仍使用该公司信息
- 若无公司信息:尝试通过姓名搜索LinkedIn
- 最后手段:标记为,仅增强联系人信息
company_unidentified
Update Protocol
更新规则
After enrichment is complete, update the source systems:
- If CRM is configured: Create/update lead records with enriched data. Don't overwrite existing data — append or fill gaps only.
- If Supabase is the data store: Upsert into and
peopletables.companies - Flag duplicates: If enrichment reveals a lead already exists in CRM under a different email, flag the duplicate rather than creating a second record.
增强完成后,更新源系统:
- 若配置了CRM: 创建/更新线索记录,补充增强数据。不要覆盖现有数据——仅追加或补全缺口。
- 若使用Supabase作为数据存储: 插入/更新和
people表。companies - 标记重复项: 若增强后发现线索已在CRM中(使用不同邮箱),标记为重复项而非创建新记录。
Tools Required
所需工具
- Web search — primary fallback for all research
- Apollo — company + person lookup (optional, enhances depth)
- LinkedIn scraper (Apify) — person profile enrichment (optional)
- Company-contact-finder — stakeholder discovery
- CRM access — relationship checks (HubSpot, Salesforce, Supabase)
- Supabase client — pipeline, outreach history, signal lookups
- Read/Write — CSV I/O and config management
- Task tool — for parallelizing enrichment across large lead batches
- 网页搜索 — 所有调研的主要备用方案
- Apollo — 企业+联系人查询(可选,提升调研深度)
- LinkedIn scraper (Apify) — 联系人档案增强(可选)
- Company-contact-finder — 关键决策者挖掘
- CRM权限 — 关联关系检查(HubSpot、Salesforce、Supabase)
- Supabase客户端 — 销售管道、触达历史、信号查询
- 读写权限 — CSV读写与配置管理
- 任务工具 — 大批次线索的并行增强处理