2026-10-05 · 原文发布日
库存与到店咨询邮件自动生成Gmail回复草稿
这个免费n8n流程每5分钟检查咨询收件箱,用Claude把每封邮件分类为库存咨询、到店预约或其他:库存类先提取商品品类,查n8n Data Table里的库存和价格,让Claude只按查到的数据起草回复;预约类提取期望日期时段,查当天空档后起草可选时间回复。草稿存回邮件原线程并打上ai-drafted标签,无法处理的打needs-human转人工。
原文要点
原工作流由久保田卓磨发布,每5分钟定时检查咨询收件箱,取最多10封未打ai-drafted或needs-human标签的新邮件,逐封用Anthropic Claude分类为库存咨询、到店预约或其他。库存类先让Claude提取商品品类,查n8n Data Table里的库存与价格,再让Claude仅依据查到的数据起草回复;预约类提取期望日期时段,查当天空档后起草含可选时间的回复(满档则说明)。草稿存回原邮件线程并打ai-drafted标签,无法处理的打needs-human。需配置Gmail与Anthropic凭据、两张Data Table、两个Gmail标签,以及Config里的收件地址、时区、货币和落款签名。
这次做成什么
搭一条“来信分类→查数据→起草回复→打标签”的客服草稿自动化线。本站设计独立练习:先用合成库存表和虚构邮件跑通分类、查表、起草三段逻辑,确认草稿只引用查到的真实库存数据。
准备什么
- n8n实例,支持Schedule Trigger、Gmail、Anthropic Claude节点及n8n Data Tables功能
- 有咨询收件箱访问权限的Gmail OAuth凭据,以及Anthropic API密钥
- 两张n8n Data Table:商品库存表(品类、商品名、库存数、价格)和到店时段表(日期、时段、是否可约)
- Gmail中预先建好ai-drafted和needs-human两个标签
具体怎么做
建数据表与合成数据
在n8n的Data Tables里建products表,列:category、item、stock、price;建slots表,列:date、time、available。先填入本页材料区的合成数据,保证查表环节有确定结果可验证。
配置定时拉信
添加Schedule Trigger设为每5分钟;接Gmail节点搜索收件箱中发往咨询地址、且不含ai-drafted与needs-human标签的最近10封邮件,后续节点按单封逐条处理。
Claude分类节点
添加Anthropic节点绑定API密钥,用材料区的分类提示词,输入邮件主题+正文,强制其只输出stock、visit、other三者之一。后接Switch节点按分类结果分三条支路。
库存支路:提取品类→查表→起草
stock支路先用第二个Claude调用从邮件提取商品品类(输出纯品类词),再用Data Table节点按category查询匹配行,最后用起草提示词生成回复,提示词中明确“只许使用下方查询结果中的商品名、库存和价格,禁止编造”。
预约支路与其他支路
visit支路让Claude提取期望日期,查slots表当天available=true的时段,起草列出可选时间;查不到空档则回复当天已满。other支路不查表,直接打needs-human标签转人工。
存草稿并打标签
用Gmail节点在原线程创建草稿回复,正文末尾追加Config里配置的落款签名;随后给该邮件加ai-drafted标签。other支路只加needs-human标签。手动执行一次,用本页虚构邮件验证三类走向。
可直接复制的材料
Claude分类提示词
本站按原模板描述独立重写;{{ }}字段按你的Gmail节点输出实际字段名替换
你是客服邮件分类器。阅读下面的邮件主题和正文,判断它属于哪一类:
- stock:询问某商品是否有库存、价格、规格等
- visit:希望预约到店、询问可约时间
- other:以上都不是(投诉、合作、垃圾邮件等)
只输出一个英文小写单词:stock、visit 或 other,不要输出任何其他内容。
邮件主题:{{ $json.subject }}
邮件正文:{{ $json.body }}库存起草提示词
本站独立编写;“只按查到的数据起草”这一约束来自原模板描述,签名从Config取值
你是店铺客服。请根据下面的库存查询结果,为顾客起草一封礼貌的中文回复邮件。
硬性规则:只能引用查询结果中出现的商品名、库存数量和价格;结果里没有的商品必须说明暂无该品类信息并建议顾客补充型号;禁止编造任何数据。
顾客来信:{{ $json.body }}
库存查询结果:{{ $json.stockRows }}
落款:{{ $config.signature }}products表合成数据
本站虚构数据,四行两种品类,含一条零库存用于验证缺货话术;货币单位按Config配置
category,item,stock,price
camera,RetroCam X100,3,4200
camera,RetroCam Mini,0,2600
lens,WideLens 24mm,5,1800
watch,ChronoSteel S,2,5600输入与输出示例
本站虚构演示,草稿文案为示意,非真实Claude输出;价格货币取决于Config设置
输入
虚构来信A:主题“RetroCam X100有货吗”,正文“你好,请问RetroCam X100现在有没有库存?多少钱?”;虚构来信B:主题“想周六到店看看”,正文“请问2026-10-10下午可以预约到店吗?”对应输出
来信A被分类为stock,提取品类camera,查到RetroCam X100库存3台、价格4200,草稿回复:“您好,RetroCam X100目前有现货3台,售价4200元,欢迎下单或到店选购。”并打上ai-drafted标签。来信B被分类为visit,若slots表2026-10-10下午有空档,草稿列出可选时段;若当天available全为false,回复“该日已约满”。做完检查这些
- 定时器每5分钟触发,且已打过两类标签的邮件不会被重复处理
- 同一封邮件测试三次:库存类、预约类、无关类分别走对支路,标签正确
- 库存回复草稿中每个商品名、数量、价格都能在products表中找到对应行
- 零库存商品的回复明确说缺货,不出现编造的到货时间
- 草稿出现在原邮件线程中而不是新会话,且末尾带Config配置的签名
容易卡住的地方
- ai-drafted和needs-human标签必须先在Gmail里手动创建,否则打标签节点报错
- Data Table节点的表ID要在两个查询步骤分别选对,库存表和时段表别混
- Claude提取品类可能返回带标点的句子,查表前需清洗为纯品类词否则查不到行
- 每5分钟最多处理10封,积压邮件要等多个周期,高峰期需评估频率
- 预约支路依赖slots表数据维护,无人更新空档时回复会长期显示已满
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Draft Gmail replies to stock and visit inquiries with Claude Haiku
- 原作者
- 久保田 卓磨
- 原始发布日期
- 2026-10-05T13:00:32.599Z
- 来源
- https://n8n.io/workflows/20458