Lead Capture & Tracking Pipeline 🎯
Capture leads from any source, deduplicate by email, score by intent, track in Google Sheets, and notify your team — all automatically via n8n workflows.
Problem
Leads come from multiple sources (website forms, newsletters, strategy calls, product waitlists). Manually entering them into a CRM and following up is error-prone and slow. Hot leads go cold.
This pipeline captures, deduplicates, scores, and routes leads in real-time.
What It Does
- 1. Capture — Receives leads from webhooks (website forms, landing pages, chatbots)
- Deduplicate — Checks Google Sheets for existing leads (email match via
appendOrUpdate) - Score — Basic lead scoring based on source type and engagement signals
- Store — Appends to Google Sheets with scoring data
- Notify — Emails team with lead details and suggested next action
Note: This pipeline does not include third-party enrichment integrations (e.g., Clearbit, FullContact). To add enrichment, insert an HTTP Request node between the webhook and the Sheets node in the workflow, calling your preferred enrichment API.
Included Workflows
| # | File | Purpose |
|---|
| 1 | INLINECODE1 | Webhook → deduplicate → store in Sheets → notify owner |
| 2 |
lead-magnet.json | Lead magnet download → store lead → send PDF attachment email |
| 3 |
newsletter.json | Newsletter signup → store subscriber → send welcome email |
Architecture
CODEBLOCK0
Required n8n Credentials
You must create these credentials in your n8n instance before importing:
| Credential Type | Used For | Placeholder in JSON |
|---|
| Google Sheets OAuth2 | Reading/writing lead data | INLINECODE4 |
| SMTP (Gmail or custom) |
Sending notification and welcome emails |
YOUR_SMTP_CREDENTIAL_ID |
After importing, open each workflow and reconnect the credential nodes to your own credentials.
Configuration Placeholders
Replace these placeholders in the workflow JSON before deploying:
| Placeholder | Description |
|---|
| INLINECODE6 | Your Google Sheet ID for lead tracking |
| INLINECODE7 |
Your n8n Google Sheets credential ID |
|
YOUR_SMTP_CREDENTIAL_ID | Your n8n SMTP credential ID |
|
YOUR_FROM_EMAIL | Sender email address |
|
YOUR_NOTIFICATION_EMAIL | Where to send lead notifications |
|
YOUR_NAME | Your name for email templates |
|
YOUR_DOMAIN | Your website domain for email links |
Supported Lead Sources
| Source | Webhook Path | Fields |
|---|
| Newsletter signup | INLINECODE13 | email |
| Lead magnet download |
/webhook/lead-magnet | name, email, company |
| Strategy call booking |
/webhook/strategy-call | name, email, phone, company, message |
| Product waitlist |
/webhook/product-waitlist | name, email |
| Contact form |
/webhook/contact | name, email, subject, message |
| Custom |
/webhook/add-lead-enriched | Any JSON payload |
Google Sheets Schema
| Column | Type | Description |
|---|
| name | text | Full name |
| email |
text | Email address (primary key for dedup) |
| company | text | Company name |
| phone | text | Phone number |
| source | text | Where they came from |
| score | number | Lead score (0-100) |
| status | text | new / contacted / qualified / converted |
| created_at | date | First captured |
| updated_at | date | Last activity |
| touchpoints | number | Total interactions |
| notes | text | Additional notes |
Quick Start
1. Prerequisites
- - n8n v2.4+ (self-hosted or cloud)
- Google Sheets API credentials (OAuth2)
- SMTP email credentials (Gmail or custom)
2. Create Tracking Sheet
Set up a Google Sheet with the columns above. Enable
appendOrUpdate matching on
email column to prevent duplicates.
3. Import Workflows
Import the 3 JSON files from the
workflows/ directory into n8n. Replace all
YOUR_* placeholders with your actual values.
4. Test
CODEBLOCK1
Lead Scoring
| Factor | Points | Example |
|---|
| Source: Strategy call | +40 | High intent |
| Source: Lead magnet |
+25 | Medium intent |
| Source: Newsletter | +10 | Low intent |
| Has company name | +10 | B2B signal |
| Has phone number | +15 | Ready to talk |
| Repeat visitor | +10 per touchpoint | Engaged |
Use Cases
- 1. Freelancers — Track inbound leads from website contact forms
- Agencies — Multi-source lead capture with team notifications
- SaaS — Waitlist management with scoring
- Content creators — Newsletter subscriber tracking with engagement scoring
- eCommerce — Customer inquiry pipeline
Requirements
- - n8n v2.4+ (self-hosted or cloud)
- Google Sheets OAuth2 credentials
- SMTP email credentials
潜在客户捕获与跟踪管道 🎯
从任何来源捕获潜在客户,按邮箱去重,按意图评分,在Google Sheets中跟踪,并通知您的团队——全部通过n8n工作流自动完成。
问题
潜在客户来自多个来源(网站表单、新闻通讯、策略通话、产品候补名单)。手动将其输入CRM并进行跟进容易出错且速度缓慢。热门客户会变冷。
此管道可实时捕获、去重、评分并路由潜在客户。
功能
- 1. 捕获 — 从Webhook接收潜在客户(网站表单、落地页、聊天机器人)
- 去重 — 在Google Sheets中检查现有潜在客户(通过appendOrUpdate匹配邮箱)
- 评分 — 基于来源类型和参与信号进行基础潜在客户评分
- 存储 — 将评分数据追加到Google Sheets
- 通知 — 通过邮件向团队发送潜在客户详情和建议的下一步操作
注意: 此管道不包含第三方数据丰富集成(例如Clearbit、FullContact)。如需添加数据丰富功能,可在工作流中的Webhook节点和Sheets节点之间插入一个HTTP请求节点,调用您偏好的数据丰富API。
包含的工作流
| # | 文件 | 用途 |
|---|
| 1 | lead-tracker.json | Webhook → 去重 → 存储到Sheets → 通知负责人 |
| 2 |
lead-magnet.json | 下载引流资料 → 存储潜在客户 → 发送PDF附件邮件 |
| 3 | newsletter.json | 订阅新闻通讯 → 存储订阅者 → 发送欢迎邮件 |
架构
潜在客户来源(表单、聊天机器人、API)
│
▼
Webhook端点(n8n)
│
├── 验证必填字段(姓名、邮箱)
├── 检查重复项(在Sheets中匹配邮箱)
│
├── 如果是新潜在客户:
│ ├── 评分潜在客户(来源类型 + 可用字段)
│ ├── 追加到Google Sheets
│ └── 向团队发送通知邮件
│
└── 如果是现有潜在客户:
├── 更新互动次数
└── 记录新的接触点
所需的n8n凭证
导入前,您必须在n8n实例中创建以下凭证:
| 凭证类型 | 用途 | JSON中的占位符 |
|---|
| Google Sheets OAuth2 | 读取/写入潜在客户数据 | YOURGOOGLESHEETSCREDENTIALID |
| SMTP(Gmail或自定义) |
发送通知和欢迎邮件 | YOUR
SMTPCREDENTIAL_ID |
导入后,打开每个工作流并将凭证节点重新连接到您自己的凭证。
配置占位符
部署前,请替换工作流JSON中的以下占位符:
| 占位符 | 描述 |
|---|
| YOURLEADSSHEETID | 用于潜在客户跟踪的Google Sheet ID |
| YOURGOOGLESHEETSCREDENTIAL_ID |
您的n8n Google Sheets凭证ID |
| YOUR
SMTPCREDENTIAL_ID | 您的n8n SMTP凭证ID |
| YOUR
FROMEMAIL | 发件人邮箱地址 |
| YOUR
NOTIFICATIONEMAIL | 接收潜在客户通知的邮箱 |
| YOUR_NAME | 邮件模板中使用的您的姓名 |
| YOUR_DOMAIN | 邮件链接中使用的您的网站域名 |
支持的潜在客户来源
| 来源 | Webhook路径 | 字段 |
|---|
| 新闻通讯订阅 | /webhook/newsletter | email |
| 引流资料下载 |
/webhook/lead-magnet | name, email, company |
| 策略通话预约 | /webhook/strategy-call | name, email, phone, company, message |
| 产品候补名单 | /webhook/product-waitlist | name, email |
| 联系表单 | /webhook/contact | name, email, subject, message |
| 自定义 | /webhook/add-lead-enriched | 任意JSON负载 |
Google Sheets架构
文本 | 邮箱地址(去重主键) |
| company | 文本 | 公司名称 |
| phone | 文本 | 电话号码 |
| source | 文本 | 来源 |
| score | 数字 | 潜在客户评分(0-100) |
| status | 文本 | 新 / 已联系 / 已合格 / 已转化 |
| created_at | 日期 | 首次捕获时间 |
| updated_at | 日期 | 最后活动时间 |
| touchpoints | 数字 | 总互动次数 |
| notes | 文本 | 附加备注 |
快速开始
1. 前提条件
- - n8n v2.4+(自托管或云端)
- Google Sheets API凭证(OAuth2)
- SMTP邮件凭证(Gmail或自定义)
2. 创建跟踪表格
使用上述列设置一个Google Sheet。在email列上启用appendOrUpdate匹配以防止重复。
3. 导入工作流
将workflows/目录中的3个JSON文件导入n8n。将所有YOUR_*占位符替换为您的实际值。
4. 测试
bash
curl -X POST https://your-n8n.com/webhook/add-lead-enriched \
-H Content-Type: application/json \
-d {
name: John Doe,
email: john@company.com,
company: Acme Inc,
source: website-contact
}
潜在客户评分
| 因素 | 分值 | 示例 |
|---|
| 来源:策略通话 | +40 | 高意向 |
| 来源:引流资料 |
+25 | 中等意向 |
| 来源:新闻通讯 | +10 | 低意向 |
| 有公司名称 | +10 | B2B信号 |
| 有电话号码 | +15 | 准备沟通 |
| 重复访问者 | 每次接触点+10 | 已参与 |
使用场景
- 1. 自由职业者 — 跟踪来自网站联系表单的入站潜在客户
- 代理机构 — 多来源潜在客户捕获,带团队通知
- SaaS — 带评分的候补名单管理
- 内容创作者 — 带参与度评分的新闻通讯订阅者跟踪
- 电子商务 — 客户咨询管道
要求
- - n8n v2.4+(自托管或云端)
- Google Sheets OAuth2凭证
- SMTP邮件凭证