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

2026-10-07 · 原文发布日

每10分钟分拣 Gmail 并先存草稿不直发

面向收件箱减负:每10分钟抓取符合查询条件的未处理 Gmail,清理正文后交给 OpenAI 输出类别、优先级、情绪、摘要与可选回复草稿;非 dry-run 时套用标签作为已处理锁、建立线程草稿、必要时发紧急提醒,并把结果追加或更新到 Google Sheets 的 Inbox Log。付费模板。

原文要点

原工作流每 10 分钟运行,读取配置(Gmail 搜索式、标签名、OpenAI 模型、Sheets 目标),必要时自动创建缺失的 AI 标签。抓取符合查询的未分拣收件箱邮件,清理 HTML 和引用历史后交给 OpenAI Chat Completions 返回结构化 JSON:类别、优先级、情绪、摘要、下一步和可选回复草稿。非 dry-run 时套用标签作为已处理锁、在线程里建 Gmail 草稿、可发紧急提醒,并把结果追加或更新到 Google Sheets 的 Inbox Log。模板需付费购买。

这次做成什么

搭一条可安全试运行的收件箱分拣练习流:定时取信→清理正文→AI 结构化分类→dry-run 先只写表核对→确认后打开标签、草稿与紧急提醒,回复绝不直接发出。

准备什么

  • n8n 云端或自托管实例,已购买原模板或按本站方案自建
  • Gmail OAuth2 凭据,范围含读取、改标签、建草稿、发送(用测试邮箱)
  • OpenAI API Key,模型用 gpt-4.1-mini 或其他支持 Structured Outputs 的模型
  • Google Sheets OAuth2 凭据和一张含 Inbox Log 工作表的表格
  • 隔离测试邮箱里的若干合成邮件,不用真实客户邮件

具体怎么做

  1. 建表与配置

    在 Google Sheets 建表格和名为 Inbox Log 的工作表,表头用:messageId、receivedAt、from、subject、category、priority、sentiment、summary、nextSteps、draftReply、appliedLabels、status、errorDetail。配置节点里填表格 ID、业务背景与知识库文本、签名、可选的负责人提醒邮箱,以及 Gmail 搜索式(如 is:inbox -label:AI已处理)和各标签名。模板需付费,节点名以原模板为准。

  2. 标签准备与取信

    Schedule Trigger 设为每 10 分钟。先列出现有 Gmail 标签,配置开启时自动创建缺失的 AI 类标签(如 AI已处理、AI-客户、AI-紧急)。Gmail 节点按搜索式限量拉一批未处理邮件,Code 节点清理正文:去 HTML 标签、截掉 On ... wrote: 之后的引用历史。

  3. AI 结构化分拣

    把清理后的正文连同业务背景发给 OpenAI Chat Completions,用 Structured Outputs 约束返回 JSON:category、priority、sentiment、summary、nextSteps、replyDraft(可为空)。后接校验节点检查字段齐全与取值合法,不合法就标记 status=需人工复核,不写草稿。

  4. dry-run 核对后放开写操作

    dry_run=true 时跳过所有 Gmail 写操作,只把 AI 结果写入 Inbox Log,人工核对几轮的分类质量。确认后改 dry_run=false:给邮件套上选定的 Gmail 标签作为已处理锁,允许时在原线程创建草稿回复,命中紧急条件时给负责人发提醒邮件。每封处理完追加或按 messageId 更新 Inbox Log 行,含草稿内容与错误详情。

可直接复制的材料

邮件分拣结构化提示词

本站独立编写的练习提示词,花括号占位需替换为节点变量;类别与标签可按业务增删。

你是客服收件箱分拣助手。业务背景:{在此粘贴你的业务简介与常见问题知识库}。签名:{你的签名}。请分析下面这封邮件,严格输出 JSON,不要输出其他文字:{"category": "客户咨询|订单售后|合作推广|账单财务|垃圾邮件|其他", "priority": "紧急|高|普通|低", "sentiment": "正面|中性|负面", "summary": "不超过60字的中文摘要", "nextSteps": "建议的下一步动作,一句话", "replyDraft": "需要回复时给出中文草稿正文,语气温和专业,结尾附签名;不需要回复则为空字符串"}。规则:含投诉、退款截止、法律字眼的 priority 至少为高;垃圾邮件不生成 replyDraft。邮件主题:{subject} 发件人:{from} 正文:{cleanedBody}

Inbox Log 表头与字段映射

本站设计的表结构与映射方案;原模板需付费,实际列名以购买后的模板为准。

{
  "sheetTab": "Inbox Log",
  "columns": ["messageId", "receivedAt", "from", "subject", "category", "priority", "sentiment", "summary", "nextSteps", "draftReply", "appliedLabels", "status", "errorDetail"],
  "mapping": {
    "messageId": "Gmail节点.id",
    "receivedAt": "Gmail节点.internalDate",
    "category/priority/sentiment/summary/nextSteps": "OpenAI输出JSON同名字段",
    "draftReply": "OpenAI输出.replyDraft",
    "appliedLabels": "实际套用的标签名,逗号分隔",
    "status": "成功|需人工复核|已建草稿|已提醒",
    "errorDetail": "校验失败原因,成功时留空"
  },
  "dryRunBehavior": "dry_run=true 时仅写入本表,不动 Gmail"
}

合成测试邮件

本站虚构邮件,无真实个人信息;用于验证紧急优先级与草稿生成。

{
  "subject": "订单 W20261005 发票抬头错了,报销截止本周五",
  "from": "li.wei@example-test.com",
  "body": "你好,订单 W20261005 的发票抬头开成了个人,需要改成公司全称以便报销,财务截止是本周五下午五点,麻烦尽快处理,谢谢!"
}

输入与输出示例

本站虚构演示,未实际运行,非原作者结果。

输入

合成测试邮件:主题“订单 W20261005 发票抬头错了,报销截止本周五”,正文说明需要改公司抬头、财务截止本周五下午五点,dry_run=true。

对应输出

AI 输出 {"category":"账单财务","priority":"高","sentiment":"中性","summary":"客户要求将订单W20261005发票抬头改为公司全称,报销截止本周五","nextSteps":"今日内重开发票并回传客户确认","replyDraft":"您好,已收到您的发票修改需求……(附签名)"}。Inbox Log 追加一行,status=成功,dry_run 下 Gmail 无标签、无草稿。

做完检查这些

  • Inbox Log 表头与写入字段一一对应,dry-run 跑两轮能正确追加和按 messageId 更新
  • dry_run=true 时 Gmail 完全无写操作:无新标签、无草稿、无提醒邮件
  • 含截止/投诉字眼的测试邮件被判为高或紧急优先级
  • 垃圾邮件类输入的 replyDraft 为空字符串
  • 放开 dry_run 后重跑,旧邮件因已处理标签不会重复处理

容易卡住的地方

  • Gmail 凭据需同时有读、标签、草稿、发送权限,缺 scope 会在对应步骤报错
  • 搜索式与已处理标签要配合好,否则同一封信会被反复分拣扣额度
  • AI 输出未通过校验时应只记表标记复核,不能带病建草稿
  • 回复一律只存草稿由人审,原文也明确不会自动发给联系人
  • 邮件正文会发送给 OpenAI,敏感内容需评估合规;模板需付费,OpenAI 另按用量计费

原文与作者资料 ↗

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

原文标题
Triage Gmail inbox emails and draft replies with OpenAI and Google Sheets
原作者
FLOW AI Automation
原始发布日期
2026-10-06T19:30:13.492Z
来源
https://n8n.io/workflows/20570