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

2026-10-13 · 原文发布日

发票催款回信自动分类打标签

免费n8n模板:监听Gmail里主题含invoice的催款回信,剥掉引用历史和签名后交给Claude Haiku分类:已付款、承诺付款(附承诺日期)、有争议、咨询问题或无关邮件,并附一句理由。结果写入Google Sheets(含回链到原邮件的链接)并在Gmail打上对应标签;模型出错时归入“待人工复核”。工作流只读不发信,分类错了最多是标签打错,风险低。标签、类别和模型都可自行替换。

原文要点

n8n官方模板库免费模板(作者Giacomo):Gmail触发器监听主题含invoice且非本人发出的回信,Clean reply节点剥掉引用历史和签名后交Claude Haiku分类为Payment made、Promise to pay(附承诺日期)、Dispute、Question、Unrelated五类并附一句理由,结果写入Google Sheets(含回链到Gmail线程的链接)并打同名Gmail标签;模型出错归入Needs review。工作流只读不发信,模板说明「Payment made」仅表示客户声称已付款,并不核对你的发票。自托管n8n需配置Google Cloud OAuth应用。

这次做成什么

部署一个发票催款回信的自动分拣流水线:Gmail回信→清洗→Claude分类五类→写Sheet台账→打标签,模型异常进「待人工复核」。本站练习:导入模板后用5封虚构回信(见材料)验证分类、表格字段和标签是否一一对应。

准备什么

  • n8n实例(云端或自托管;自托管需按n8n文档配置Google Cloud OAuth应用)
  • Gmail与Google Sheets的Google OAuth凭据
  • Claude API密钥(或换用OpenAI/Gemini/Mistral/Ollama任一聊天模型节点)
  • 从n8n.io/workflows/20818导入该免费模板

具体怎么做

  1. 导入模板并连接三类凭据

    从模板页导入工作流后,依次为Gmail节点、Google Sheets节点连接Google OAuth凭据,为Claude Haiku节点填入API密钥。自托管n8n需先在Google Cloud创建OAuth应用,否则Google凭据无法授权。

  2. 建好六个Gmail标签

    在Gmail中手动创建六个标签:Payment made、Promise to pay、Dispute、Question、Unrelated、Needs review。然后逐个打开工作流中的Label节点,在下拉里选中同名标签。标签名与节点选择必须一一对应,否则分类正确也会打错标签。

  3. 配置Sheet与搜索条件

    新建一个空白Google Sheet,从地址栏复制完整URL粘贴到Your settings节点,首次运行会自动写入表头。再按你的催款邮件实际命名习惯修改触发器搜索词:默认是主题含invoice且非本人发出,可加上发件人或其他关键词缩小范围。

  4. 核对处理链路后用测试数据验证

    链路为:Gmail触发器→Clean reply(剥引用历史与签名)→Claude分类(五类+承诺付款日期+一句理由)→Route by class分支→写Sheet(含回链到原邮件线程的链接)+打对应Gmail标签;模型异常时落入Needs review分支并记录错误。用材料中的5封虚构回信逐一回复自己的催款邮件测试,核对每封的分类、标签和Sheet行是否一致。

可直接复制的材料

分类提示词(本站等价版)

本站独立撰写的等价提示词,用于理解或复刻Classify reply节点逻辑;模板内真实措辞以导入后为准,<<<EMAIL>>>为占位符。

你是财务助理。下面是一封针对发票催款邮件的客户回信,引用历史和签名已被剥除。请只输出JSON:{"category": "Payment made | Promise to pay | Dispute | Question | Unrelated 之一", "promised_date": "客户承诺的付款日期,无则填null", "reason": "一句话分类理由"}
判断标准:客户声称已转账或已付款=Payment made;客户给出将付款的时间=Promise to pay;对金额、发票内容或交付有异议=Dispute;询问信息但未表态付款=Question;与催款无关=Unrelated。回信内容:<<<EMAIL>>>

测试数据:5封虚构回信及期望分类

本站虚构测试数据,依次回复自己的测试催款邮件即可验证全链路;期望值为本站为虚构练习设定的参考分类,用于比对模型输出。

[
  {"回信": "您好,INV-1042的款项已于昨天通过银行转账支付,请查收。", "期望category": "Payment made", "期望promised_date": null},
  {"回信": "很抱歉延迟了,我们财务流程走完,预计11月5日前一定付清。", "期望category": "Promise to pay", "期望promised_date": "11月5日"},
  {"回信": "这张发票金额和合同不符,多了2000元,请核对后重开。", "期望category": "Dispute", "期望promised_date": null},
  {"回信": "请问发票上的银行账号是新的吗?和上次不一样。", "期望category": "Question", "期望promised_date": null},
  {"回信": "谢谢,顺便问一下你们明年还有展位活动吗?", "期望category": "Unrelated", "期望promised_date": null}
]

输入与输出示例

本站虚构演示,非实际运行结果;Sheet列名以模板首行表头为准。

输入

测试数据第2封:「很抱歉延迟了,我们财务流程走完,预计11月5日前一定付清。」

对应输出

示意模型输出{"category":"Promise to pay","promised_date":"11月5日","reason":"客户明确承诺11月5日前付款"};Sheet新增一行:回信摘要、分类Promise to pay、承诺日期11月5日、理由、回链到Gmail线程的链接;该邮件被打上Promise to pay标签

做完检查这些

  • 5封测试回信分别落入期望分类,且Promise to pay行带有承诺日期
  • 每封邮件在Gmail中打上与分类同名的标签,无错配
  • Sheet每行都包含可点击回链到原Gmail线程的链接
  • 在隔离工作流副本模拟模型失败,检查该封测试邮件进入Needs review且在表格记录错误,不改动正式凭据。
  • 剥除检查:回信中带「>」引用的原始催款内容不影响分类结果

容易卡住的地方

  • 工作流只读不发信,最坏结果只是标签打错,但不要据此自动核销账款——Payment made仅表示客户声称已付,模板明确它不核对你的发票
  • 自托管n8n必须先配好Google Cloud OAuth应用,否则Gmail/Sheets凭据无法授权
  • 六个标签需在Gmail手动创建并在Label节点逐个选对,漏配会导致该分类静默失败或打错标签
  • 默认搜索词是主题含invoice,若你的催款邮件主题不含该词需先改触发器条件
  • 换模型或改类别时需同步修改Classify reply、Reply class format和Route by class三处并新增对应标签
  • 模板免费,Claude API调用按官方价格计费;本站未实测,节点细节以导入后为准

原文与作者资料 ↗

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

原文标题
Classify invoice reminder replies with Claude Haiku, Gmail and Google Sheets
原作者
Giacomo
原始发布日期
2026-10-12T19:34:58.246Z
来源
https://n8n.io/workflows/20818