2026-10-07 · 原文发布日
Telegram客服机器人:Gemini按FAQ自动回复
该n8n流程监听Telegram机器人消息,读取Google Sheets里的FAQ表和你的业务信息,用Gemini严格基于FAQ生成回复并保留每会话10条短时记忆,随后再次用Gemini判断该对话是「已解答」还是「需要人工」,把对话记录追加到Sheets日志;若需人工则通过Telegram通知店主。FAQ随时改表即生效,无需动流程。作者称Gemini免费额度即可起步。
原文要点
该n8n工作流用Telegram Trigger监听客户发给你的机器人的消息,加载业务信息并从Google Sheets读取整张FAQ表;用Google Gemini(每个会话保留10条消息的短时记忆)严格基于FAQ和业务信息、按客户语言生成回复并发回Telegram;随后再次调用Gemini把该轮对话分类为「Answered」或「Needs a person」,把对话追加到Sheets的Log标签页;如需人工,则向店主的Telegram发提醒并记录交接。FAQ只改表格即生效,无需动流程。作者称Gemini免费额度足够起步。
这次做成什么
搭一个Telegram FAQ客服机器人:配好三个凭据与两张表,填入店主chat ID,用本站虚构FAQ数据实测「命中FAQ自动答复」「超纲问题转人工并通知店主」两条路径。
准备什么
- Telegram账号,并已通过@BotFather创建机器人拿到token
- Google AI Studio的Gemini API密钥,免费档即可开始测试
- Google账号及Sheets OAuth2凭据,建有FAQ和Log两个标签页的表格
- 店主本人Telegram的chat ID,用于接收转人工提醒
具体怎么做
建表与填FAQ
在Google Sheets新建表格:FAQ标签页设Question、Answer两列,先填3-5条本站示例问题;Log标签页设Time、Customer、Message、Reply、Needs a person五列;把表格ID复制下来备用。
配置三类凭据
在n8n新建Telegram凭据填BotFather给的token;新建Google Gemini(PaLM) API凭据填AI Studio密钥并挂到两个Gemini节点;新建Google Sheets OAuth2凭据挂到读写节点。打开模板设置字段,填入店主chat ID、FAQ文档ID、Log文档ID。
核对回复提示词的约束
打开生成回复的Gemini节点,确认系统指令要求「只依据FAQ和业务信息回答,FAQ没有就如实说不知道」,并使用客户消息的语言;如需调整业务介绍,改工作流设置里的业务信息字段即可。
激活流程并实测命中路径
激活工作流后,用测试账号向机器人发送FAQ里有的问题(如「营业时间」),检查Telegram收到基于FAQ的回复,且Log新增一行、Needs a person为否。
实测转人工路径
再问一个FAQ没有的问题(如「能帮我定制一批刻字logo吗」),Gemini应回复无法回答并把该轮分类为Needs a person;检查店主Telegram收到提醒、Log该行标记为需人工。
可直接复制的材料
FAQ回复生成提示词(本站独立编写)
本站独立编写示例;店铺名称、营业时间、包邮规则需替换为你的业务信息,模板原节点的具体写法以原工作流为准。
你是「晨光文具店」的客服助手。规则:
1. 只能依据下面提供的FAQ内容和店铺信息回答,禁止编造FAQ中不存在的信息。
2. 使用与客户消息相同的语言回复。
3. 如果FAQ里没有答案,礼貌说明暂时无法回答该问题,并表示会转交人工处理。
4. 回复控制在120字以内,语气友好。
店铺信息:晨光文具店,营业时间每天9:00-21:00,满59元包邮。
FAQ内容:
{{$json.faqText}}
客户消息:
{{$json.customerMessage}}对话分类提示词(本站独立编写)
本站独立编写示例,对应模板的第二次Gemini调用;分类结果决定后续是否通知店主。
判断下面这轮客服对话的状态,只输出一个词:
- 若机器人的回复直接解答了客户问题,输出:Answered
- 若机器人表示无法回答、客户情绪激动、或客户明确要求找人工,输出:Needs a person
客户消息:{{$json.customerMessage}}
机器人回复:{{$json.botReply}}
只输出 Answered 或 Needs a person,不要输出其他内容。FAQ表与Log表测试数据
本站虚构测试数据,客户名为测试账号,不涉及真实个人信息;直接在Sheets里增删FAQ行,下一条消息即生效。
FAQ表(Question | Answer):
你们的营业时间是什么 | 我们每天9:00到21:00营业,节假日不休。
满多少包邮 | 单笔订单满59元即可包邮。
支持退货吗 | 签收后7天内、未拆封的商品支持退货。
Log表头:Time | Customer | Message | Reply | Needs a person
示例行:2026-10-08 10:15 | @test_user | 满多少包邮 | 单笔订单满59元即可包邮哦! | 否输入与输出示例
本站虚构演示,非原作者运行结果;时间与内容均为示意,实际回复措辞由Gemini生成会有差异。
输入
测试账号 @test_user 向机器人发送:「你们周末几点关门?」对应输出
机器人回复:「我们每天营业到晚上9点(21:00),周末也一样,节假日不休哦。」Log新增一行:Time=2026-10-08 20:30,Customer=@test_user,Message=你们周末几点关门,Reply=上述回复,Needs a person=否。随后发送「能不能帮我谈批发价,我要找你们老板」,机器人回复无法处理并转人工,店主Telegram收到提醒,Log该行Needs a person=是。做完检查这些
- FAQ中已有问题能在Telegram收到基于FAQ内容的回复,且Log表正确追加一行
- 超纲问题触发Needs a person分类,店主chat ID收到Telegram提醒
- 只在Sheets新增一条FAQ、不改流程,再发对应问题机器人即可用新条目回答
- 同一会话连续对话时能记住最近几轮上下文(模板为每会话10条消息记忆)
容易卡住的地方
- 店主chat ID要填数字ID不是用户名,可先用机器人给自己发消息再查ID
- Gemini按调用计费,作者称免费档够起步,但消息量大时要留意额度
- FAQ表结构必须是Question、Answer两列,改列名会导致读取失败
- 分类提示词若输出多余文字,会影响后续Needs a person分支判断,需约束只输出固定词
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Answer Telegram customer FAQs with Gemini and Google Sheets
- 原作者
- Cristian Dinca
- 原始发布日期
- 2026-10-07T12:12:24.855Z
- 来源
- https://n8n.io/workflows/20628