2026-09-08 · 原文发布日
Google表格线索自动起草冷邮件并存入Gmail草稿
付费模板。流程可手动或每周一触发:读取Google Sheets里的线索名单,先对照n8n数据表的退订黑名单和冷却期日志做过滤,剔除无效邮箱、缺少调研备注和本批次重复的线索,再把剩余线索连同发件人卖点交给OpenAI生成有长度和内容限制的标题与正文,校验后创建Gmail草稿供人工审阅,并把发送记录写回表格和数据表,避免重复触达。
原文要点
原模板为付费n8n工作流(作者Jessy Mariau,模板页19328)。流程支持手动触发或每周一08:00定时触发;从Google Sheets的Leads标签页读线索,对照两个n8n Data Table——Suppression List(email字段)和Sent Log(email、lastDraftedAt字段)——做退订与冷却期过滤,再剔除无效邮箱、缺researchNote的线索和同批次重复邮箱,限制单批数量;将线索加发件人卖点发给OpenAI按长度与内容规则生成标题正文,校验后创建Gmail草稿,最后把草稿时间写入Sent Log、把含Gmail草稿ID的明细追加到Sheets的Draft Log页。需配置Google Sheets、Gmail、OpenAI三组凭据及Outreach Settings(发件人名、公司一句话、价值主张、草稿上限、冷却天数)。
这次做成什么
在不购买原模板的前提下,按原文公开的数据结构自行搭建一个同类流程:每周从表格线索里筛出可触达对象,自动生成冷邮件并只存为Gmail草稿供人工审阅,同时记录发送日志防止重复触达。以下为本站独立设计的练习方案,原模板需付费购买,本站不提供其工作流文件。
准备什么
- 一个可手动执行节点的n8n环境(自建或云端均可)
- 一个Google账号,用于建Sheets并授权Gmail创建草稿
- OpenAI API密钥及可用余额,费用自行承担
- 新建一张含Leads和Draft Log两个标签页的表格,列名见步骤一
具体怎么做
建表格与数据表
在Google Sheets新建表格,Leads页建列:name、company、email、title、researchNote、sourceUrl;Draft Log页建列:email、subject、draftId、createdAt。在n8n的Data Tables中建两张表:Suppression List(仅email列,预填退订邮箱)和Sent Log(email与lastDraftedAt两列)。
读取并归一化线索
添加Manual Trigger(练熟后再换Schedule Trigger设为每周一08:00)。接Google Sheets节点读Leads页全部行,后接Code节点:对文本trim、email转小写,用正则校验邮箱格式,丢弃researchNote为空的行,并用Set结构去掉同一批内重复email。
黑名单与冷却期过滤
用两个Data Table节点分别读出Suppression List的email集合和Sent Log的记录;在Code节点中剔除命中黑名单的email,并计算now减去lastDraftedAt的天数,小于冷却天数(示例设14天)的也剔除,最后用Limit思路把批次截断到草稿上限(示例设20封)。
调用OpenAI生成并校验
接OpenAI Chat节点,system与user提示词使用下方材料一的完整文本,把每条线索的name、company、title、researchNote和发件人卖点填入。要求模型输出JSON含subject与body;后接Code节点校验:subject不超过60字符、body不超过900字符、不含researchNote以外的杜撰事实词,不合格的行路由到失败分支并记入Draft Log备注。
创建Gmail草稿并写回记录
校验通过的每条接Gmail节点选Create Draft操作,收件人为线索email,主题正文用模型输出。随后Data Table节点对Sent Log按email做upsert写入当前时间,Google Sheets节点向Draft Log追加一行含draftId。全程不发信,人工在Gmail草稿箱审阅后再决定是否发送。
可直接复制的材料
冷邮件生成提示词(system+user)
本站独立编写的提示词,非原模板内提示词;双花括号字段需在n8n表达式中映射到实际节点输出。
【system】你是一名B2B外联文案助手。根据给定线索信息和发件人卖点,写一封简短、礼貌、不夸大的冷邮件。硬性规则:1)只输出JSON,格式{"subject":"...","body":"..."},不要输出其他任何文字;2)subject不超过60个字符,不含感叹号和“免费”“保证”等词;3)body不超过900字符,分两段:第一段引用对方的researchNote说明你为什么联系他,第二段用一句话讲清发件人的价值主张并提一个低门槛的下一步(例如15分钟电话);4)不得编造researchNote和发件人资料之外的任何事实、数字或客户名;5)署名使用发件人姓名和公司一句话介绍。
【user】线索信息:姓名={{name}},公司={{company}},职位={{title}},调研备注={{researchNote}}。发件人信息:姓名={{senderName}},公司一句话={{companyLine}},价值主张={{valueProp}}。请按规则输出JSON。Leads页合成测试数据
本站合成数据,邮箱均为示例域名;第三行空邮箱应被过滤,第四行与第一行批内重复且大小写不同用于验证归一化,第五行可预填进Suppression List测试黑名单。
name,company,email,title,researchNote,sourceUrl
林岚,星桥物流,linlan@example-qiao.com,运营总监,上月在行业沙龙提到跨境仓配成本上涨三成正在找系统方案,https://example.com/post/1
赵鹏,北辰制造,zhaopeng@example-beichen.com,IT负责人,官网招聘页显示正在组建数据中台团队,https://example.com/post/2
陈默,青禾餐饮,,门店拓展经理,公众号宣布今年新开20家门店,https://example.com/post/3
林岚,星桥物流,LINLAN@example-qiao.com,运营总监,重复行用于测试批内去重,https://example.com/post/1
苏芮,旧客户科技,surui@example-old.com,采购经理,曾咨询过报价后无回复,https://example.com/post/4Outreach Settings配置示例
本站设计的配置结构,对应原文提到的发件人名、公司一句话、价值主张、草稿上限、冷却天数五项;scheduleCron为每周一08:00的本站示例。
{"senderName":"周远","companyLine":"澜舟数据,专注中小物流企业的仓配成本分析工具","valueProposition":"用现有订单数据两周内定位仓配环节的可压缩成本,不更换现有系统","draftCap":20,"cooldownDays":14,"scheduleCron":"0 8 * * 1"}输入与输出示例
本站虚构演示,非原作者结果,也未真实调用OpenAI或Gmail;模型实际输出会不同。
输入
Leads页含上述5行合成数据;Suppression List预填surui@example-old.com;Sent Log为空;冷却期14天、上限20封。对应输出
过滤后剩2条有效线索:linlan@example-qiao.com和zhaopeng@example-beichen.com(陈默行空邮箱、第四行与第一行批内重复、苏芮行命中Suppression List,均被剔除)。以林岚行为例,示意模型输出{"subject":"关于星桥物流仓配成本的一点想法","body":"林岚您好,在沙龙分享中看到您提到跨境仓配成本上涨约三成,正在寻找系统方案,这正是我们最近关注的方向。澜舟数据用您现有的订单数据,两周内定位仓配环节可压缩的成本,不需要更换现有系统。如果您方便,想约15分钟电话聊聊是否匹配。祝好,周远|澜舟数据"}。Draft Log为两条有效线索各追加一行,此处展示林岚行:email=linlan@example-qiao.com,draftId=r1234567890abc,createdAt为执行时间;Sent Log同样写入两条email与当前时间。做完检查这些
- 空邮箱行、批内大小写不同的重复行、黑名单行均被剔除,可在过滤节点的输出条数中逐条核对
- 生成的subject不超过60字符且body不含researchNote之外的杜撰数字,校验失败的行不会创建草稿
- Gmail草稿箱中出现草稿但未发送,Draft Log与Sent Log均新增对应记录且draftId非空
- 对同一email在14天冷却期内再次执行流程,该行被过滤不再生成草稿
容易卡住的地方
- 原模板为付费商品,本指南是依据公开说明的独立复刻方案,界面与节点名以你实际n8n版本为准
- 作者称流程可每周一08:00运行,这是作者设定而非执行时限保证;定时触发需自建n8n保持进程常驻
- OpenAI与Gmail均可能产生费用或配额限制,批次上限建议先从5封起步测试
- Data Table的upsert需以email为匹配键,字段名不一致会静默插入重复记录
- 模型可能输出带markdown代码块包裹的JSON,校验步骤需先剥离再解析
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Draft cold email templates from Google Sheets with OpenAI and Gmail
- 原作者
- Jessy Mariau
- 原始发布日期
- 2026-09-07T17:20:37.348Z
- 来源
- https://n8n.io/workflows/19328