2026-10-10 · 原文发布日
n8n模板:Drive文档知识库驱动的WhatsApp支持机器人
该n8n模板搭建WhatsApp AI支持机器人:Google Drive文件夹里的文档经OpenAI嵌入索引进Data Tables知识库,每小时增量同步增删改;客户消息(含语音转写)先检索相关段落,AI只依据段落作答,答不了或客户要人工时暂停机器人,把上下文推到Telegram群并记录到Google Sheets,团队在Telegram回复即可转回WhatsApp。
原文要点
这是n8n官方模板库的免费模板(作者Anna Cole)。流程:Google Drive文件夹中的文档经OpenAI嵌入(text-embedding-3-small)索引进n8n Data Tables知识库,每小时增量同步增删改;WhatsApp Cloud API触发客户消息(语音用Whisper转写),检索相关段落后由gpt-5.4-mini只依据段落作答;答不了或客户要人工时暂停机器人,把上下文推到Telegram群并写入Google Sheets的Handoffs页,团队在Telegram回复且在24小时窗口内即转回WhatsApp,输入“#bot on”交还AI。
这次做成什么
搭一个以公司Drive文档为知识来源的WhatsApp客服机器人:AI只按检索到的文档段落回答,答不上自动转人工到Telegram群并留档。模板本身免费,但WhatsApp/OpenAI等第三方服务按各自定价另计费。
准备什么
- Meta WhatsApp Cloud API应用和电话号码,含永久System User令牌
- OpenAI API密钥(嵌入、对话、语音转写三处共用)
- Google账号,能访问存放客服文档的Drive文件夹和一张Google Sheet
- Telegram机器人(@BotFather创建)并已加入团队群
- 支持Data Tables功能的n8n版本
具体怎么做
导入并初始化模板
在n8n模板页(workflows/20732)点导入此免费模板。先手动执行一次初始化分支,自动创建chats、messages、knowledge base三张Data Table,并把Drive文件夹内文档完成首次索引。本站未下载原工作流文件,节点细节以你导入后的实际画布为准。
配置五组凭据与参数
在WhatsApp Trigger节点填入Cloud API凭据和webhook;OpenAI节点填API密钥;Google Drive节点授权后在Configuration节点填入driveFolderId;Google Sheets节点填交接表URL;Telegram节点填机器人令牌和团队群chat ID。可按需调整humanTimeoutMinutes、topPassages、minRelevance。
建交接记录表
在Google Sheets中新建名为Handoffs的标签页,表头依次为Date、Phone、Name、Question、Reason、Status,用于记录每次转人工。
等待或触发增量同步
计划分支每小时列出Drive文件夹内受支持文件(Google Docs、Sheets、Slides、PDF、文本),只重建新增或修改的文档嵌入,删除已移除文档;若文件夹列表为空则不执行任何删除,防止误清空知识库。
用测试消息验证分流
用材料中的测试数据模拟两条WhatsApp消息:一条能命中文档(AI直接回复并写回WhatsApp),一条知识库没有(机器人暂停该会话、推Telegram群、写Sheets、告知客户已转人工)。
验证Telegram人工回复回路
在Telegram群里以回复(reply)形式回答机器人推送的消息,团队答案会经WhatsApp发回客户且该会话保持人工模式;发“#bot on”则把会话交还AI。超过WhatsApp的24小时客服窗口时不会外发,团队会收到被拦截原因。
可直接复制的材料
Handoffs标签页结构
按原文要求的列名原样建立;Status供团队内部流转标记,模板不会替你定义取值
标签页名:Handoffs
表头行(第1行):Date | Phone | Name | Question | Reason | Status
示例数据行:2026-10-10 09:15 | +8613800000000 | 测试客户A | 退货需要承担运费吗? | AI知识库未命中 | Open模拟WhatsApp入站测试数据
本站虚构的Cloud API风格测试负载,号码为假号;真实触发来自Meta webhook,请勿用真实客户号码测试
{
"entry": [{
"changes": [{
"value": {
"messages": [{
"from": "8613800000000",
"id": "wamid.TEST0001",
"timestamp": "1760000000",
"type": "text",
"text": {"body": "你们的退货政策是几天内可以退?"}
}],
"contacts": [{"profile": {"name": "测试客户A"}, "wa_id": "8613800000000"}]
}
}]
}]
}Configuration节点建议初始值
后三项是原文列出的可调项,数值为本站建议起点,请按文档量试调;不要写死进节点,集中在Configuration便于维护
driveFolderId: 你的Drive文件夹ID(从文件夹URL末尾复制)
handoffSpreadsheetUrl: 你的Google Sheet完整URL
telegramGroupChatId: 团队群chat ID(负数,形如-100xxxxxxxxxx)
humanTimeoutMinutes: 120
topPassages: 5
minRelevance: 0.7输入与输出示例
本站虚构演示,非模板实际运行结果;文案取决于你的文档和系统提示词
输入
测试客户A发“你们的退货政策是几天内可以退?”,知识库中Drive文档《售后政策》含段落:签收后7天内支持无理由退货,运费由买家承担对应输出
机器人检索到该段落,gpt-5.4-mini仅据此作答并经WhatsApp发回:您好,签收后7天内支持无理由退货,退货运费需由买家承担。回复同时存入messages表,会话保持AI模式。若问“能定制LOGO吗”而文档没有,则机器人暂停该会话,Telegram群收到含完整对话记录的提醒,Sheets的Handoffs页新增一行,客户收到“已为您转接人工”的消息。(本站虚构示意)做完检查这些
- 手动执行初始化后,三张Data Table存在且knowledge base表内能看到文档分块及嵌入
- 修改Drive里一个文档后等下一轮同步,知识库只更新该文档的条目,其它条目不变
- 命中文档的提问收到仅基于段落的回复,且messages表新增客户消息和AI回复两条记录
- 未命中提问触发:Telegram群收到含对话记录的提醒、Handoffs页新增一行、客户收到转人工提示,三者齐全
- 团队回复Telegram消息能送达WhatsApp,发送“#bot on”后下一条客户消息重新走AI分支
容易卡住的地方
- WhatsApp只在24小时客服窗口内允许自由回复,超时团队消息会被拦截,需改用模板消息(模板未覆盖此扩展)
- 必须使用永久System User令牌,临时令牌过期后收发都会静默失败
- 重复webhook和送达回执已被模板过滤,但若你自己改过触发分支要重新验证不去重
- AI调用失败按转人工处理,OpenAI额度耗尽时所有消息都会转人工,表现为机器人集体沉默
- 文档分块、嵌入、转写都消耗OpenAI额度,文件夹越大首次索引越贵
- 界面与字段名以你导入的模板实际版本为准,本站未核对每一个节点内部配置
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Run a WhatsApp AI support bot with Google Drive, OpenAI, and Telegram
- 原作者
- Anna Cole
- 原始发布日期
- 2026-10-10T08:34:25.320Z
- 来源
- https://n8n.io/workflows/20732