AI PLAY玩法更新持续收录
← 回到更新流

2026-10-06 · 原文发布日

自动追踪邮件里的承诺并生成催办草稿

n8n模板:每小时扫一次Gmail收件箱,OpenAI判断邮件里有没有具体承诺或兑现了之前的承诺;新承诺写入Google Sheets的Commitments台账,兑现则把对应条目标记完成。每天早八点做汇总,把到期和逾期事项分类,让OpenAI拟好跟进邮件存进Chase-Queue表等待你批准,并发日报邮件;逾期三天以上的事项直接升级提醒且只提醒一次。

原文要点

Vinh Le发布的免费n8n模板:每小时运行,08:00(按工作流时区)走每日汇总,其余小时做收件箱扫描。扫描时取未处理的Gmail邮件,由OpenAI判断是'新承诺'还是'兑现了旧承诺':新承诺按去重键写入Google Sheets的Commitments台账,兑现则把最早一条匹配的未完成条目标记done;处理过的邮件打上promises-processed标签防止重复;AI输出无法解析或缺截止日期时邮件提醒主人。每日汇总把活跃事项分为今日到期、逾期、逾期3天以上(升级,只提醒一次)、正常、已关闭,为到期和逾期项起草跟进邮件存进Chase-Queue表待批准,并发日报。模板含一次性setup lane可自动建表。

这次做成什么

搭一个'邮件承诺台账':自动登记别人在邮件里答应的事,每天早上给你一份到期清单和待批准的催办草稿。用本站合成邮件文本先验证提取逻辑,再接真实收件箱。

准备什么

  • n8n实例与Gmail OAuth2凭据
  • Google Sheets OAuth2凭据
  • OpenAI API密钥
  • 可修改Gmail标签的权限(流程自动打标签防重复)

具体怎么做

  1. 运行一次性setup lane建表

    导入模板后先手动执行setup lane,它会自动创建名为Promise Ledger — Follow-ups的表格,含Commitments与Chase-Queue两个标签页。执行完从输出复制spreadsheet ID,确认不需要演示lane后将其删除。

  2. 配置Gmail标签与Workflow Config

    在Gmail后台新建标签promises-processed,通过Gmail API或模板提示取得其label ID。打开Workflow Config节点,粘贴spreadsheet ID、label ID和你自己的邮箱地址(owner email),并把工作流时区设为你希望早八点触发汇总的时区。

  3. 用合成邮件验证提取提示词

    激活前,先在OpenAI提取节点后临时用Set节点喂入下方合成邮件文本,检查模型是否输出{type:promise}并带截止日期、负责人和去重键;再喂一封'已完成'邮件确认输出{type:fulfillment}能匹配到台账中最旧的未完成条目。验证通过再连真实收件箱。

  4. 理解每日汇总与批准队列

    08:00的汇总把每条活跃承诺分类,只为今日到期和逾期项起草跟进邮件写入Chase-Queue(状态pending,需要你人工批准后才可手动发出);逾期3天以上直接升级提醒你本人并标记escalated,只提醒一次。日报邮件列出全部到期/逾期/升级项。

可直接复制的材料

OpenAI承诺提取提示词

本站独立撰写,与原文描述的提取行为一致,替换提取节点提示词使用。

你是邮件承诺提取助手。输入一封邮件的正文与已有未完成承诺清单。判断该邮件属于哪一类,只输出JSON:
1) 含具体承诺:{"type":"promise","summary":"承诺事项一句话","owner":"承诺人邮箱","due_date":"YYYY-MM-DD或null","dedupe_key":"承诺人+事项关键词"}
2) 兑现了已有承诺:{"type":"fulfillment","matched_dedupe_key":"匹配的去重键"}
3) 两者都不是:{"type":"none"}
规则:只有含明确行动和可辨认时间(含'下周三'等相对时间,按邮件日期换算)才算promise;模糊的'回头聊'不算;无法确定日期时due_date填null。

合成测试邮件两封

本站虚构邮件,演练时逐封喂入提取节点,验证promise登记与fulfillment核销。

[
  {"from": "li.wei@partner-example.com", "date": "2026-10-05", "body": "您好,报价单我这边确认没问题,我会在10月9日前把盖章合同寄回给您。"},
  {"from": "li.wei@partner-example.com", "date": "2026-10-09", "body": "合同今天已经用顺丰寄出,单号SF123456789,请注意查收。"}
]

输入与输出示例

本站虚构演示,展示提取与汇总节点的预期行为,非模板实测结果。

输入

第一封合成邮件:li.wei在2026-10-05写'我会在10月9日前把盖章合同寄回';四天后第二封写'合同今天已经寄出,单号SF123456789'。

对应输出

第一封提取结果:{"type":"promise","summary":"寄回盖章合同","owner":"li.wei@partner-example.com","due_date":"2026-10-09","dedupe_key":"li.wei+盖章合同"},Commitments新增一行。第二封:{"type":"fulfillment","matched_dedupe_key":"li.wei+盖章合同"},该条标记done。若合同未寄出,10月9日08:00汇总会把它列入'今日到期'并在Chase-Queue生成一封pending状态的催办草稿,日报邮件同步提醒。

做完检查这些

  • 同一承诺邮件被重复扫描时因Gmail标签不会二次登记
  • 无截止日期的承诺触发给主人的复核提醒邮件而不是静默丢弃
  • 逾期3天以上的条目标记escalated后下一轮不再重复升级提醒
  • Chase-Queue里的草稿保持pending状态,不会被自动发出

容易卡住的地方

  • label ID必须取自Gmail系统而非标签显示名,填错会导致打标失败进而重复处理
  • 相对日期换算依赖邮件日期,转发链里日期混乱时due_date可能算错
  • fulfillment匹配的是最旧一条未完成承诺,同一联系人有多个相似承诺时可能核销错行
  • 工作流时区决定08:00汇总的实际触发时刻,部署在UTC服务器上要换算
  • Gmail读取授权范围不足时扫描节点会直接报错

原文与作者资料 ↗

本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。

原文标题
Track and chase email promises with Gmail, Google Sheets and OpenAI
原作者
Vinh Le
原始发布日期
2026-10-06T05:37:52.393Z
来源
https://n8n.io/workflows/20510