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

2026-09-29 · 原文发布日

n8n客服邮件自动回复:Google Docs知识库+Gemini,答不上来会问你并沉淀问答

每分钟检查Gmail收件箱,排除自动发件人后由Gemini判断是否为真实客户邮件;然后从你的Google Docs知识库取内容,让Gemini判断能否仅凭库内信息作答。能答时按设定直接回复或在原邮件线程存草稿;答不上来时发邮件向你求助,最多等三天,再把你的答复转成客户可用的回复,并生成一条可粘贴进知识库的问答条目,下次同类问题就能自动答。建议先跑草稿模式,确认可靠后再切换为直接发送;知识库随时更新,下封邮件即生效。

原文要点

n8n模板页称流程每分钟查Gmail主收件箱未读邮件,排除自己与常见自动发件人;抽取发件人、主题、正文、线程与消息ID后用Gemini判别真伪客户邮件,再读Google Docs知识库判断能否仅凭库内作答。能答则按reply_mode直接回复或在线程存草稿;不能答则邮件求助负责人,单次升级最长等三天,并把答复整理成客户回复与可贴回知识库的问答条目。页面还给出凭据连接、owner_email与reply_mode设置及自定义说明。

这次做成什么

按模板页公开逻辑,在自有n8n里搭一条隔离测试版客服邮件流:真实触发器收信、Gemini分类、查Google Docs知识库、按可答性分支到草稿或升级;全程先用草稿模式和合成邮件验证,不直接发给真实客户。

准备什么

  • 一个可作为客服入口的Gmail测试邮箱,且能授权n8n读取、发信、建草稿、标已读
  • 一个Google Docs知识库文档,内含虚构产品与售后政策,并授予n8n读取权限
  • Google AI/Gemini API凭据;页面称免费层可用,但配额与费用以Google控制台为准
  • 可从公网访问的n8n实例,否则升级邮件里的Respond按钮无法打开回复表单
  • 先在Support Settings类配置节点设owner_email与reply_mode=draft,不启用send

具体怎么做

  1. 准备隔离知识库与邮箱

    新建Google Doc,只放合成问答,例如配送范围、退货期限、发票口径;再准备Gmail测试标签或别名,避免流程读取真实客户收件箱。

  2. 接三份凭据并确认权限

    在n8n分别连接Gmail、Google Docs、Google Gemini凭据;Gmail需要读信、回信、建草稿、标已读和给负责人发升级邮件,Docs只读知识库,Gemini供分类与起草。

  3. 配置触发与基础参数

    用Gmail Trigger按模板思路每分钟检查Primary未读,排除自己地址和常见自动发件人;在设置区写入owner_email=你的测试邮箱、reply_mode=draft、knowledge_base_url=测试Doc链接。

  4. 做字段抽取与真伪分类

    从邮件映射sender、subject、body_plain、threadId、messageId、receivedAt;把这些字段交给Gemini分类,输出is_customer_email与reason,只有is_customer_email=true才继续。

  5. 做可答性判断分支

    把客户正文与Docs全文一起给Gemini,要求只能使用库内事实,返回结构化字段draft_reply、can_answer、escalation_reason、summary;can_answer=true走草稿,false走升级,解析失败也走升级。

  6. 先跑草稿输出,再跑升级闭环

    可答分支在同一Gmail线程创建草稿,标已读并记录摘要;不可答分支给owner_email发含上下文的升级邮件,等待回复最多三天,收到后让Gemini改写成客户可用回复,并另发一条建议知识库问答条目供人工粘贴。

  7. 用合成数据验收后再激活

    发送下方测试邮件到测试邮箱,确认只建草稿不真发;再发一封知识库没有答案的合成邮件,确认升级邮件到达、等待不影响其他邮件执行;两轮都稳定后才考虑把reply_mode改send。

可直接复制的材料

真伪客户邮件分类提示词

本站按模板描述独立编写的练习提示词;字段名需与你的工作流映射一致,非原模板文件。

你是客服收件箱分类器。只根据输入邮件判断是否为真实客户需要人工或自动答复的邮件。不要答复正文。输出必须是JSON:{"is_customer_email":true或false,"reason":"不超过80字中文","category":"咨询|投诉|售后|合作|垃圾邮件|自动通知|其他"}。判定为false的情况包括:本人或本系统发出、常见no-reply自动通知、验证码、账单机器提醒、营销群发、空正文、与客服无关。输入:sender={{sender}};subject={{subject}};body_plain={{body_plain}}。

仅凭知识库作答判断提示词

本站独立示例;要求模型只输出JSON,失败时进入升级分支。原页称会返回结构化草稿、升级原因和摘要,但未给完整提示词。

你是客服起草器。只能使用知识库文本中的事实,不得推测、承诺、编造政策。若知识库足以回答,输出JSON:{"can_answer":true,"draft_reply":"给客户的中文回复,语气简洁,包含下一步","escalation_reason":"","summary":"不超过60字"}。若不足,输出:{"can_answer":false,"draft_reply":"","escalation_reason":"缺少哪条事实","summary":"客户问什么、卡在哪个事实"}。客户邮件:subject={{subject}};body={{body_plain}}。知识库:{{knowledge_base_text}}。

合成测试邮件数据

全部为虚构测试数据;sender用example.com保留域,订单号DEMO-1001,不含真实个人信息或密钥。

{"sender":"customer.demo@example.com","subject":"请问A类订单多久发货","body_plain":"你好,我在贵店测试下单了一件A类样品,订单号DEMO-1001。请告诉我工作日发货时效和能否改地址。谢谢。","threadId":"thread-demo-1001","messageId":"msg-demo-1001","category":"Primary","is_unread":true,"from_owner_or_automated":false}

字段映射与分支配置

这是配置说明而非可导入n8n JSON;节点名与按钮位置需在你的n8n版本中核对后再按此映射搭建。

{"trigger":"Gmail Trigger:每分钟、Primary、未读;排除owner与常见自动发件人","extract":{"sender":"from.address","subject":"subject","body_plain":"textPlain或snippet去HTML","threadId":"threadId","messageId":"id","receivedAt":"internalDate"},"classify":"Gemini分类提示词→is_customer_email","retrieve":"Google Docs读取knowledge_base_url→knowledge_base_text","decide":"Gemini可答性提示词→can_answer,draft_reply,escalation_reason,summary","branch_true":"reply_mode=draft时在同一threadId建草稿;send需二次确认后启用;随后标已读","branch_false":"发Gmail给owner_email,含sender,subject,summary,escalation_reason,threadId;等待回复最长3天;超时记为未处理","learn":"负责人答复→Gemini改写客户回复→另发建议知识库Q&A条目给owner粘贴"}

输入与输出示例

本站虚构演示,未调用n8n或Gemini;输出字段与输入的订单号、时效、改地址规则一一对应。

输入

发送合成测试邮件:sender=customer.demo@example.com,subject=请问A类订单多久发货,正文询问DEMO-1001发货时效与能否改地址;知识库写着A类样品工作日48小时内发出、发货前可改地址、发出后需联系快递。

对应输出

草稿分支示意:can_answer=true;在同一threadId=thread-demo-1001创建草稿;draft_reply=您好,DEMO-1001这类A类样品在工作日48小时内发出。发货前可以修改收货地址;若已经发出,请把新地址和订单号发给客服,我们会协助联系快递尝试变更。summary=A类发货时效与改地址;不向客户真实发送,仅保存草稿并标已读。

做完检查这些

  • Gmail触发只处理Primary未读,且owner自己、no-reply、验证码、营销群发被分到不继续分支
  • 抽字段后每封邮件都有sender、subject、body_plain、threadId、messageId;缺threadId不得尝试在线程建草稿
  • 可答性输出必须是可解析JSON;解析失败、缺can_answer或draft_reply为空且can_answer=true都自动转升级
  • reply_mode=draft时绝不向customer发送,只在同一Gmail线程生成草稿并保留人工审阅痕迹
  • 不可答邮件会向owner_email发升级,等待期间其他测试邮件仍能各自进入独立执行
  • 负责人答复后生成客户可读回复,并单独产出一条可人工粘贴进Google Docs的Q&A条目,不自动改写知识库

容易卡住的地方

  • 原页面是模板说明,本站练习是按其公开描述重建的方案,不能把这里的界面节点名当作已在该模板文件中逐一核对过的事实
  • n8n实例必须公网可达,否则升级邮件里的Respond按钮打不开表单,三天等待会白等
  • reply_mode一旦设成send,分类或知识库缺漏会直接发给客户;先用draft跑合成邮件,再考虑切换
  • Gemini或Google API可能有配额与费用,页面称免费层可用不代表你的项目永远免费或不限量
  • Docs知识库更新会作用于下一封邮件,但已经在等待或草稿中的执行不一定回填新政策
  • 不要让流程自动把负责人答复写进知识库;建议条目必须人工粘贴,避免错误答复沉淀成标准答案

原文与作者资料 ↗

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

原文标题
Answer customer support emails in Gmail with Google Docs and Google Gemini
原作者
Michael Cedeño
原始发布日期
2026-09-29T15:35:49.012Z
来源
https://n8n.io/workflows/20170