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

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版本

具体怎么做

  1. 导入并初始化模板

    在n8n模板页(workflows/20732)点导入此免费模板。先手动执行一次初始化分支,自动创建chats、messages、knowledge base三张Data Table,并把Drive文件夹内文档完成首次索引。本站未下载原工作流文件,节点细节以你导入后的实际画布为准。

  2. 配置五组凭据与参数

    在WhatsApp Trigger节点填入Cloud API凭据和webhook;OpenAI节点填API密钥;Google Drive节点授权后在Configuration节点填入driveFolderId;Google Sheets节点填交接表URL;Telegram节点填机器人令牌和团队群chat ID。可按需调整humanTimeoutMinutes、topPassages、minRelevance。

  3. 建交接记录表

    在Google Sheets中新建名为Handoffs的标签页,表头依次为Date、Phone、Name、Question、Reason、Status,用于记录每次转人工。

  4. 等待或触发增量同步

    计划分支每小时列出Drive文件夹内受支持文件(Google Docs、Sheets、Slides、PDF、文本),只重建新增或修改的文档嵌入,删除已移除文档;若文件夹列表为空则不执行任何删除,防止误清空知识库。

  5. 用测试消息验证分流

    用材料中的测试数据模拟两条WhatsApp消息:一条能命中文档(AI直接回复并写回WhatsApp),一条知识库没有(机器人暂停该会话、推Telegram群、写Sheets、告知客户已转人工)。

  6. 验证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