2026-09-26 · 原文发布日
四封递进冷邮件序列:LinkedIn调研+向量库写稿
这是七件套线索系统的第1部"大脑":四个错峰定时器分别启动第1~4封序列,从NocoDB取线索和发件人信息,先经子工作流检查邮箱当日发送配额;首封时用RapidAPI抓对方LinkedIn资料和近期动态,LangChain agent结合OpenAI做调研简报并写高个性化邮件,Qdrant向量库负责检索准确的产品资料防瞎编;发出后回写NocoDB启动跟进计时,后续序列取历史邮件和公司动态写上下文跟进。注意导入后Execute Workflow节点是断的,需从作者主页下载其余子工作流重新挂接。模板免费。
原文要点
作者Syed Maaz Saeed的免费n8n模板,是七件套线索系统的第1部「大脑」:四个错峰Schedule Trigger分别启动第1~4封序列;从NocoDB取线索和发件人/公司信息;调用子工作流检查邮箱当日/当周发送配额;首封时经RapidAPI的professional-network-data端点抓对方LinkedIn资料和近期动态;LangChain agent结合OpenAI生成调研简报和高个性化邮件,Qdrant向量库检索产品资料;通过Send Emails子工作流发出,回写NocoDB启动跟进计时;后续序列取历史邮件与公司动态写上下文跟进。作者明确导入后Execute Workflow节点是断的,需从其主页下载其余子工作流重新挂接。
这次做成什么
把这套四封递进冷邮件编排器在你环境里跑通最小闭环:NocoDB有一条测试线索、配额检查通过、首封邮件生成并发送到你自己控制的测试邮箱。由于原文未给出提示词全文,本站独立编写调研简报与首封邮件两段提示词,以及NocoDB测试行结构。
准备什么
- n8n实例及从作者主页下载全部子工作流的条件(本模板导入后Execute Workflow节点是断开的)
- OpenAI API Key,用于所有Chat Model节点
- Qdrant向量库实例及一个已建好、向量维度与你的OpenAI嵌入模型匹配的collection
- RapidAPI账号并订阅professional-network-data端点(LinkedIn数据抓取,可能计费)
- 可访问的NocoDB实例(或改用Airtable/Google Sheets,需自行替换HTTP节点),含线索、公司信息、跟进日志三类表
- 一个你完全控制的测试邮箱作为发件与收件,绝不用真实客户做测试
具体怎么做
导入并修复断开的子工作流引用
导入主模板后,逐个打开报错的Execute Workflow节点,从作者n8n主页下载「If Emails Available to Send Email」和「Send Emails」等子工作流并导入你的工作区,再在每个Execute Workflow节点里重新选择对应工作流。缺一个,整条链路都跑不动。
建NocoDB三张表并写入测试行
在NocoDB建Leads表(字段参考本站artifacts的JSON:email、first_name、company、linkedin_url、sequence_stage、last_sent_at、thread_history),建Sender/Company信息表和Follow-up日志表。把模板HTTP Request节点里的base URL、表路径和xc-token头改成你的环境值。只插入一条指向你自己测试邮箱的线索行。
接OpenAI、Qdrant与RapidAPI凭据
为所有Chat Model节点绑定OpenAI凭据;Qdrant节点填实例地址和collection名,先用可选的表单触发器上传一份你自己的产品说明PDF/CSV入库,否则agent检索不到资料只能空写;RapidAPI凭据绑定到professional-network-data调用节点。
替换两段核心提示词
打开首封邮件的LangChain Agent节点,把系统提示替换为本站「调研简报+首封邮件提示词」;打开跟进序列的agent,替换为「上下文跟进邮件提示词」。提示词中的产品事实占位符务必先改成你真实产品的描述,并依靠Qdrant检索补全细节。
用测试线索跑通首封并检查回写
手动执行第1封序列对应的Schedule Trigger链路:观察配额子工作流放行→LinkedIn抓取(测试行可填一个公开的公司主页URL)→agent产出邮件→Send Emails子工作流发到你自己的测试邮箱→NocoDB该行的sequence_stage更新为1、last_sent_at写入时间戳、thread_history追加邮件正文。全部通过后再调整四个触发器的错峰时间。
可直接复制的材料
调研简报+首封邮件提示词(粘贴到首封序列的Agent系统提示)
本站独立编写。{{ }}内字段名需对照流程实际输出调整;若agent节点用工具调用而非表达式,请把三类输入在前置节点合并为一段文本传入。
你是一名B2B销售开发代表(SDR),负责为首次触达写一封高个性化冷邮件。
你会收到两类输入:
1. 对方的LinkedIn资料与近期动态(来自抓取数据,可能不完整);
2. 通过向量检索得到的我方产品资料(只使用检索到的内容,检索不到的产品细节一律不写,禁止编造功能、客户名或数字)。
第一步,写一份内部调研简报(不发出),包含:对方职位与职责推断、其公司近期一件具体动态、一个与我方产品可能相关的痛点假设(标注为假设)。
第二步,基于简报写邮件正文,要求:
- 主题行不超过9个字,不出现「免费」「合作」等垃圾邮件高发词;
- 开头第一句必须引用对方近期那条具体动态,表明这封邮件不是群发模板;
- 正文80到120字,只讲一个痛点假设和一个对应的产品价值点,价值点必须能在检索到的产品资料中找到依据;
- 结尾只提一个低门槛问题(如「这个方向你们目前是怎么处理的?」),不约会议、不附链接;
- 署名使用发件人信息中的名字和公司。
输出格式为一个JSON对象:{"brief":"调研简报全文","subject":"主题行","body":"邮件纯文本正文"},除此之外不输出任何内容。
对方LinkedIn数据:{{ $json.linkedinData }}
检索到的产品资料:{{ $json.retrievedDocs }}
发件人信息:{{ $json.senderInfo }}上下文跟进邮件提示词(粘贴到第2~4封序列的Agent)
本站独立编写。第2/3/4封角度分配是本站设计的练习方案,原模板只说明『上下文跟进』未给规则;sequence_stage字段依赖你回写NocoDB的值。
你是一名B2B销售开发代表,正在写第{{ $json.sequence_stage }}封跟进邮件。
你会收到:此前已发出的全部邮件记录、对方公司近期LinkedIn动态、检索到的我方产品资料。
规则:
1. 先判断对方是否已回复过;只要thread_history里出现对方来信,输出{"action":"stop"},不再写邮件;
2. 跟进邮件必须推进话题而不是催促:每次换一个角度——第2封补充一个产品资料中的具体能力,第3封给一个与对方行业相关的使用场景(场景中的产品细节必须来自检索资料),第4封是简短告别信,表示之后不再打扰并留下一句开放式结尾;
3. 每封正文60到100字,可引用一封历史邮件中的一句话保持连贯,但不要重复之前的价值点;
4. 禁止出现「上次发过」「为何不回」等施压措辞。
输出格式:{"action":"send","subject":"主题","body":"正文"}或{"action":"stop"},只输出JSON。
历史邮件记录:{{ $json.threadHistory }}
对方公司近期动态:{{ $json.companyPosts }}
检索到的产品资料:{{ $json.retrievedDocs }}NocoDB测试线索行(Leads表示例数据)
本站虚构示例。email必须是你自己控制的测试邮箱;linkedin_url填一个公开公司主页即可测试抓取;sequence_stage=0表示尚未发首封。字段名需与模板HTTP节点实际读写的列对齐。
{
"email": "lead-test@your-own-domain.example",
"first_name": "测试员",
"company": "示例制造有限公司",
"role": "运营总监",
"linkedin_url": "https://www.linkedin.com/company/example-public-page/",
"sequence_stage": 0,
"last_sent_at": null,
"thread_history": "[]",
"status": "active"
}输入与输出示例
本站虚构演示,非模板真实运行结果,未调用任何真实API;「节省约2小时」取自虚构产品资料,不是真实客户数据。
输入
测试线索:first_name=测试员,company=示例制造有限公司,role=运营总监,sequence_stage=0;LinkedIn抓取返回该公司上周发布一条「新产线投产」动态;Qdrant检索到产品资料中一条「设备巡检报表自动生成,单班节省约2小时人工统计」。对应输出
agent输出:{"brief":"对方为运营总监,负责产线效率;公司近期动态:新产线投产(上周官宣);痛点假设:新产线数据报表体系尚未建立,统计靠人工(假设)。","subject":"新产线的报表这块","body":"看到你们新产线投产的消息,恭喜。产线扩张阶段巡检和产量报表最容易靠人工凑,我们做的设备巡检报表自动生成功能,客户现场单班能省约2小时统计时间。这个方向你们目前是怎么处理的?——发件人 李工,示例科技"}。发送后NocoDB该行sequence_stage由0变为1,last_sent_at写入当日时间戳,thread_history追加该正文。做完检查这些
- 导入后所有Execute Workflow节点不再报红,且每个都指向已导入的子工作流
- 手动跑首封链路后,测试邮箱收到一封邮件,主题和正文与agent输出JSON一致,且正文引用了LinkedIn动态
- NocoDB测试行的sequence_stage从0更新为1,last_sent_at和thread_history均已写入
- 第2封链路在thread_history中模拟一条对方回复后,agent输出{"action":"stop"}且不发送
- Qdrant未上传资料时,邮件正文不出现任何具体产品功能数字(即没有编造)
容易卡住的地方
- 本模板是七件套的『大脑』,不下载其余子工作流就必然卡在Execute Workflow节点,这不是配置错误而是结构使然
- 通过RapidAPI抓取LinkedIn数据受该平台条款与所在地区法规约束,且professional-network-data端点通常按量计费,先用测试主页验证再放量
- Qdrant collection的向量维度必须与所用OpenAI嵌入模型一致,维度不符会在检索时报错或返回空结果导致邮件空泛
- NocoDB的xc-token、表路径写错会静默返回空数组,表现为『没有线索可发』而不是报错,先在HTTP节点单独跑一次确认返回行
- 必须先用自己控制的邮箱测试;冷邮件群发真实线索前需自行处理退订、频率与当地合规要求,模板本身不含退订机制
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Run multi-step cold email sequences with OpenAI, LinkedIn, Qdrant and NocoDB
- 原作者
- Syed Maaz Saeed
- 原始发布日期
- 2026-09-26T08:03:31.562Z
- 来源
- https://n8n.io/workflows/19958