Email Outreach Automation
A complete cold email outreach pipeline built on n8n and Google Sheets. Import prospects, run multi-step email sequences, track replies, and get daily campaign reports.
Problem
Cold email outreach requires consistent followup sequences, reply detection, and status tracking across hundreds of prospects. Most tools charge $50-200/month per seat and lock you into their platform.
This system provides a free, self-hosted outreach pipeline with full control over your data and sending.
What It Does
- 1. Prospect Import — Webhook API to import prospects (single or batch) with validation and deduplication
- Email Sequences — 4-step automated outreach: initial, follow-up 1 (Day 3), follow-up 2 (Day 7), breakup (Day 14)
- Reply Tracking — Webhook to mark prospects as replied and notify your team
- Campaign Reports — Daily metrics: reply rates, bounce rates, step distribution, per-campaign breakdown
Included Workflows
| # | File | Purpose |
|---|
| 01 | INLINECODE0 | Webhook import with validation, dedup, and Sheets storage |
| 02 |
02-outreach-sequence.json | Scheduled 4-step email sequence with timing logic |
| 03 |
03-reply-tracker.json | Webhook to log replies and notify team |
| 04 |
04-campaign-report.json | Daily campaign analytics email |
Architecture
CODEBLOCK0
Email Sequence
| Step | Timing | Template |
|---|
| 1 - Initial | Day 0 | Introduction + value proposition |
| 2 - Follow-up 1 |
Day 3 | Brief followup + case study mention |
| 3 - Follow-up 2 | Day 7 | Different angle + call-to-action |
| 4 - Breakup | Day 14 | Polite closing, leaves door open |
Required n8n Credentials
| Credential Type | Used For | Placeholder in JSON |
|---|
| Google Sheets OAuth2 | Prospect storage and tracking | INLINECODE4 |
| SMTP |
Sending outreach emails and reports |
YOUR_SMTP_CREDENTIAL_ID |
Environment Variables
CODEBLOCK1
Configuration Placeholders
| Placeholder | Description |
|---|
| INLINECODE6 | Google Sheet ID for prospect data |
| INLINECODE7 |
n8n Google Sheets credential ID |
|
YOUR_SMTP_CREDENTIAL_ID | n8n SMTP credential ID |
|
YOUR_NOTIFICATION_EMAIL | Fallback admin email (also set via
OUTREACH_ADMIN_EMAIL env) |
Google Sheets Schema (Prospects)
| Column | Type | Description |
|---|
| email | text | Primary key, prospect email |
| name |
text | Prospect name |
| company | text | Company name |
| title | text | Job title |
| campaign | text | Campaign identifier |
| status | text | new / in_sequence / replied / bounced / completed |
| step | number | Current sequence step (0-4) |
| last
sentat | datetime | When last email was sent |
| next
sendat | datetime | When next email is due |
| replied | boolean | Whether prospect replied |
| replied_at | datetime | Reply timestamp |
| bounced | boolean | Whether email bounced |
| imported_at | datetime | Import timestamp |
Quick Start
1. Prerequisites
- - n8n v2.4+ (self-hosted)
- Google Sheets OAuth2 credentials
- SMTP credentials (dedicated outreach email recommended)
2. Create Prospect Sheet
Create a Google Sheet with the columns above. Name the tab "Prospects".
3. Import & Configure
Import all 4 JSON files into n8n. Replace all
YOUR_* placeholders.
4. Import Prospects
CODEBLOCK2
5. Track Replies
CODEBLOCK3
Use Cases
- 1. Freelancers — Automated client prospecting with professional followup
- Agencies — Multi-campaign outreach with per-campaign analytics
- SaaS founders — Early-stage customer development outreach
- Recruiters — Candidate outreach with sequenced followup
- Sales teams — Supplement CRM with lightweight, self-hosted sequences
Requirements
- - n8n v2.4+ (self-hosted recommended)
- Google Sheets OAuth2 credentials
- SMTP email credentials (use dedicated sending domain for deliverability)
邮件外联自动化
基于n8n和Google Sheets构建的完整冷邮件外联管道。导入潜在客户,运行多步骤邮件序列,跟踪回复,并获取每日活动报告。
问题
冷邮件外联需要对数百个潜在客户进行持续的跟进序列、回复检测和状态跟踪。大多数工具每个席位收费50-200美元/月,并将您锁定在其平台中。
该系统提供了一个免费、自托管的外联管道,让您完全掌控数据和发送过程。
功能
- 1. 潜在客户导入 — Webhook API用于导入潜在客户(单个或批量),包含验证和去重功能
- 邮件序列 — 4步自动化外联:初次联系、第一次跟进(第3天)、第二次跟进(第7天)、终止邮件(第14天)
- 回复跟踪 — Webhook用于标记潜在客户已回复并通知您的团队
- 活动报告 — 每日指标:回复率、退信率、步骤分布、按活动细分
包含的工作流
| # | 文件 | 用途 |
|---|
| 01 | 01-prospect-import.json | 包含验证、去重和Sheets存储的Webhook导入 |
| 02 |
02-outreach-sequence.json | 带时间逻辑的定时4步邮件序列 |
| 03 | 03-reply-tracker.json | 记录回复并通知团队的Webhook |
| 04 | 04-campaign-report.json | 每日活动分析邮件 |
架构
潜在客户导入(webhook/CSV)
|
v
工作流01:验证并存储
+-> 按邮箱去重
+-> 保存到Google Sheets(状态:新)
定时执行(每4小时):
|
v
工作流02:外联序列
+-> 读取状态不等于已回复/退信的潜在客户
+-> 检查时间(第0/3/7/14天)
+-> 发送相应的邮件模板
+-> 更新Sheets中的步骤和下次发送时间
收到回复:
|
v
工作流03:回复跟踪器
+-> 将邮件匹配到潜在客户
+-> 在Sheets中标记为已回复
+-> 通过邮件通知团队
每日定时:
|
v
工作流04:活动报告
+-> 按活动汇总指标
+-> 回复率、退信率、步骤分布
+-> 向管理员发送邮件报告
邮件序列
| 步骤 | 时间 | 模板 |
|---|
| 1 - 初次联系 | 第0天 | 介绍 + 价值主张 |
| 2 - 第一次跟进 |
第3天 | 简短跟进 + 案例研究提及 |
| 3 - 第二次跟进 | 第7天 | 不同角度 + 行动号召 |
| 4 - 终止邮件 | 第14天 | 礼貌结束,保持开放态度 |
所需的n8n凭证
| 凭证类型 | 用途 | JSON中的占位符 |
|---|
| Google Sheets OAuth2 | 潜在客户存储和跟踪 | YOURGOOGLESHEETSCREDENTIALID |
| SMTP |
发送外联邮件和报告 | YOUR
SMTPCREDENTIAL_ID |
环境变量
bash
必需
OUTREACH_SECRET=您的webhook认证密钥
OUTREACH
ADMINEMAIL=admin@您的企业.com
配置占位符
| 占位符 | 描述 |
|---|
| YOUROUTREACHSHEETID | 潜在客户数据的Google Sheet ID |
| YOURGOOGLESHEETSCREDENTIAL_ID |
n8n Google Sheets凭证ID |
| YOUR
SMTPCREDENTIAL_ID | n8n SMTP凭证ID |
| YOUR
NOTIFICATIONEMAIL | 备用管理员邮箱(也可通过OUTREACH
ADMINEMAIL环境变量设置) |
Google Sheets架构(潜在客户)
| 列 | 类型 | 描述 |
|---|
| email | 文本 | 主键,潜在客户邮箱 |
| name |
文本 | 潜在客户姓名 |
| company | 文本 | 公司名称 |
| title | 文本 | 职位 |
| campaign | 文本 | 活动标识符 |
| status | 文本 | 新 / 序列中 / 已回复 / 退信 / 已完成 |
| step | 数字 | 当前序列步骤(0-4) |
| last
sentat | 日期时间 | 上次发送邮件的时间 |
| next
sendat | 日期时间 | 下次发送邮件的时间 |
| replied | 布尔值 | 潜在客户是否已回复 |
| replied_at | 日期时间 | 回复时间戳 |
| bounced | 布尔值 | 邮件是否退信 |
| imported_at | 日期时间 | 导入时间戳 |
快速开始
1. 前提条件
- - n8n v2.4+(自托管)
- Google Sheets OAuth2凭证
- SMTP凭证(建议使用专用外联邮箱)
2. 创建潜在客户表格
创建包含上述列的Google Sheet。将工作表命名为Prospects。
3. 导入并配置
将所有4个JSON文件导入n8n。替换所有YOUR_*占位符。
4. 导入潜在客户
bash
curl -X POST https://您的n8n.com/webhook/outreach/import \
-H Content-Type: application/json \
-d {
_secret: 您的外联密钥,
prospects: [
{email: john@company.com, name: John, company: Acme Inc, campaign: q1-2026}
]
}
5. 跟踪回复
bash
curl -X POST https://您的n8n.com/webhook/outreach/reply \
-H Content-Type: application/json \
-d {email: john@company.com, subject: 回复:快速提问, message: 当然,我们聊聊!}
使用场景
- 1. 自由职业者 — 自动化客户开发,专业跟进
- 代理机构 — 多活动外联,按活动分析
- SaaS创始人 — 早期客户开发外联
- 招聘人员 — 候选人外联,序列化跟进
- 销售团队 — 用轻量级自托管序列补充CRM
要求
- - n8n v2.4+(建议自托管)
- Google Sheets OAuth2凭证
- SMTP邮件凭证(为可送达性使用专用发送域名)