2026-09-17 · 原文发布日
Gmail客服来信自动分级、建日程、写回稿
免费n8n模板做轻量客服分诊:每分钟扫Gmail里未读且主题匹配“Inquiry Received”的邮件,交给Google Gemini返回类别、优先级、简短摘要和回复草稿的JSON;按优先级算SLA截止时间(高:4小时后,中:次日18点,低:3天后18点),在Google Calendar创建对应事件,把工单连同日历链接追加进Google Sheets,并在原邮件线程里生成Gmail回复草稿;高优先级还会往Discord频道发紧急告警。需在表格里建好received_at、priority等列。
原文要点
这是n8n平台的免费模板。原文说明:Gmail触发器每分钟检查一次,匹配未读且主题为“Inquiry Received”的邮件;把发件人、主题、正文交给Google Gemini,要求返回含类别、优先级、简短摘要和回复草稿的结构化JSON;SLA按优先级计算——高优先级加4小时、中优先级次日18:00、低优先级3天后18:00;随后用收件时间到截止时间创建Google Calendar事件,把工单连同日历链接追加进Google Sheets,在原邮件线程里生成Gmail回复草稿;只有高优先级才向Discord频道发紧急告警。表格需预建received_at、priority、category、sender、subject、summary、deadline、calendar_event_url等列。
这次做成什么
搭一条轻量客服分诊线:新 inquiry 邮件进来后自动分类、定SLA、建日历事件、登记表格、备好回复草稿,高优先级额外通知Discord。模板免费可导入,本指南给出每个节点的字段配置与一条合成测试邮件的端到端验证方法。
准备什么
- 可访问的n8n实例(云端或自托管均可,本流程不依赖公网回调)
- Gmail凭据(触发与建草稿共用)、Google AI(Gemini)API密钥、Google Calendar与Google Sheets凭据
- 一个Discord服务器的Webhook地址,指向准备接收告警的频道
- 一个预建好的Google表格,含received_at、priority、category、sender、subject、summary、deadline、calendar_event_url八列
- 准备一封主题恰为“Inquiry Received”的测试邮件发到受监控邮箱
具体怎么做
建台账表格
新建Google表格,首个工作表首行写入八列:received_at、priority、category、sender、subject、summary、deadline、calendar_event_url。在模板的Sheets追加节点里填该表格的文档ID与工作表名,字段映射按列名一一对应。
配置Gmail触发器
模板默认每分钟轮询一次Gmail,过滤条件为未读且主题匹配“Inquiry Received”。若要改成自己的业务关键词(如“售后咨询”),在触发节点的搜索过滤里修改;注意主题匹配是按字面比对,发测试邮件时主题要完全一致。
配置Gemini分类节点
把发件人、主题、正文拼进提示词(见下方提示词材料),要求Gemini只返回一个JSON对象,含category、priority(High/Medium/Low)、summary、reply_draft四个键。在节点后接JSON解析,若模型偶发返回多余文字导致解析失败,这是已知边界,可在提示词里强调“只输出JSON”。
SLA计算与建日历事件
按原文规则实现截止计算:High=收件时间+4小时;Medium=次日18:00;Low=3天后18:00。用收件时间作开始、截止时间作结束,在目标日历(默认主日历)创建事件,描述里写入发件人、类别、摘要,拿到事件链接供后面写表。
写表、建草稿、Discord分支
Sheets节点追加一行,calendar_event_url填上一步的事件链接;Gmail节点在原邮件线程里用reply_draft创建回复草稿(是草稿不是直接发送,便于人工确认);加一个按priority分支的判断,仅当值为High时调用Discord Webhook节点,把发件人、主题、截止时间发到告警频道。
可直接复制的材料
Gemini分类与起草提示词(本站独立编写)
本站独立编写的练习提示词,替换双花括号变量为节点字段;原文只说明返回这四类字段,未公开提示词原文。
你是客服分诊助手。阅读下面这封客户邮件,完成分类、摘要和回复草稿。
发件人:{{sender}}
主题:{{subject}}
正文:{{body}}
要求:
1. 只输出一个JSON对象,不要输出任何其他文字或代码块标记。
2. JSON包含四个键:
- category:从 账单、物流、退款、技术故障、产品咨询、其他 中选一个;
- priority:High、Medium、Low 三选一。涉及资金损失、安全、服务完全不可用为High;影响使用但有变通办法为Medium;一般咨询为Low;
- summary:不超过40字的中文摘要;
- reply_draft:100字以内的中文回复草稿,礼貌、先安抚再给出下一步,不承诺未确认的退款或赔偿金额。工单表头(CSV第一行)
按原文Setup要求的列名给出,直接粘贴为表格首行。
received_at,priority,category,sender,subject,summary,deadline,calendar_event_urlSLA规则参考配置(本站独立示例)
本站按原文规则整理的练习配置,供自建计算节点参考;calendarId默认主日历,可按需换成其他日历ID。
{
"slaRules": {
"High": { "type": "addHours", "hours": 4 },
"Medium": { "type": "nextDayAt", "hour": 18, "minute": 0 },
"Low": { "type": "addDaysAt", "days": 3, "hour": 18, "minute": 0 }
},
"calendarId": "primary",
"discordOnlyFor": ["High"]
}端到端测试邮件(合成数据)
全部为虚构信息;把它发到受监控邮箱并保持未读,主题必须与触发过滤完全一致。
From: wangfang.demo@example.com
Subject: Inquiry Received
你好,我上周支付的订单20260917-8831被重复扣款两次,共多扣396.00元,银行短信已确认两笔都成功。请尽快处理,这影响到我这个月的还款安排。输入与输出示例
本站虚构演示,JSON与时间为按规则推演的示意,非模板实际运行结果。
输入
收到上述测试邮件:发件人wangfang.demo@example.com,主题“Inquiry Received”,正文称订单20260917-8831被重复扣款396.00元并要求尽快处理,收件时间为2026-09-17 10:05。对应输出
Gemini返回:{"category":"账单","priority":"High","summary":"客户称订单被重复扣款396元,要求尽快处理","reply_draft":"您好,非常抱歉给您带来困扰。我们已收到您关于订单20260917-8831重复扣款的反馈,将优先核查两笔扣款记录,确认后为您原路退回多扣款项,进展会第一时间邮件告知您。"};SLA截止=2026-09-17 14:05;Calendar创建10:05至14:05的事件;Sheets追加一行priority=High;Discord收到紧急告警;原线程生成回复草稿。做完检查这些
- 发送测试邮件后一分钟内触发执行,Sheets新增一行且八列全部有值,calendar_event_url能打开对应日历事件
- Gemini输出能被JSON解析节点直接解析,四个键齐全,priority取值仅限High/Medium/Low
- High邮件的日历事件结束时间=收件时间+4小时,Discord频道收到告警;再用一封普通咨询邮件验证Medium时截止为次日18:00且Discord无消息
- Gmail原邮件线程里出现回复草稿且状态是草稿未发送,内容不含未确认的承诺金额
容易卡住的地方
- 触发器每分钟轮询,频率不可再调低一档时留意Gmail API配额;大量历史未读邮件首次启用可能批量触发,先清理或加标签过滤
- 主题匹配是字面比对,测试邮件主题多了一个空格或写成小写都可能不匹配,这是最常见的“流程没跑”原因
- Gemini偶发在JSON外包裹解释文字会导致解析失败,提示词里必须明确只输出JSON,必要时加一层容错
- 回复节点创建的是草稿而非直接发送,若以为已自动回复客户会造成漏跟;日历事件与Discord告警依赖正确时区,跨时区团队先核对n8n时区设置
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Triage Gmail support inquiries with Google Gemini, Calendar, Sheets, and Discord
- 原作者
- ryo
- 原始发布日期
- 2026-09-17T12:05:58.246Z
- 来源
- https://n8n.io/workflows/19683