必须通过自建消息中继服务实现dify与intercom实时协同转接,利用intercom开放api与dify webhook双向打通,配置token权限、http请求节点、人工接管逻辑及webhook同步上下文。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在Dify中实现AI客服与Intercom人工客服的实时协同转接,必须绕过Intercom原生Bot限制,通过自建消息中继服务将Dify工作流输出定向推送至Intercom会话线程,同时捕获Intercom侧的人工回复并注入Dify上下文。整个链路不依赖Intercom Bot SDK,而是利用其开放API与Dify Webhook双向打通。
准备Intercom API访问凭证
登录Intercom开发者控制台 → 进入「Apps & API」→ 创建新App → 选择「Custom app」→ 勾选「Conversations API」和「Contacts API」权限 → 生成Access Token。【该Token需具备write:conversations权限,否则无法向会话发送消息】
复制Token并保存至安全位置,后续将用于Dify工作流中的HTTP请求节点认证。
在Dify中配置Intercom消息中继工作流
进入Dify应用编辑页 → 点击「Workflow」→ 新建节点 → 选择「HTTP Request」→ 设置Method为POST → URL填入Intercom Conversations API端点:https://api.intercom.com/v2.1/conversations/{conversation_id}/reply(注意:{conversation_id}需动态传入)。
在Headers中添加:Authorization: Bearer YOUR_INTERCOM_TOKEN 和 Content-Type: application/json。
Body使用JSON格式,关键字段必须包含:"message_type": "comment"、"body": "{{ai_response}}"、"type": "admin"(表示由客服人员发出,即使实际是AI代发)——这一步确保消息在Intercom界面显示为“客服回复”,而非机器人气泡。
实现人工接管触发逻辑
方法一:关键词识别自动触发
在Dify提示词末尾追加规则:“当用户输入含‘人工’‘转客服’‘找真人’等任一词汇时,立即停止AI回复,输出固定JSON:{“action”: “handover”, “reason”: “user_request”}”。
方法二:置信度阈值兜底
启用Dify 1.15「人工介入」节点,在工作流中插入该节点 → 设置触发条件为“LLM回复置信度<0.65” → 节点输出自动携带conversation_id与用户原始query → 后续HTTP节点直接调用Intercom API发起转接。
【务必关闭Dify默认自动回复开关,否则人工接管后AI仍可能并发响应,造成消息冲突】
同步Intercom人工回复回Dify上下文
第一步:在Intercom后台配置Webhook → 目标URL填写Dify暴露的接收端点(如https://your-dify-app.com/api/intercom-webhook)→ 事件类型勾选「conversation.part.admin.reply」。
第二步:在Dify中创建专用API端点 → 使用「Webhook」节点监听该路径 → 解析Incoming Payload中的item.conversation.id与item.message.body → 提取内容后注入到对应会话的context变量中。
第三步:配置「Chat History」节点 → 将Intercom回复作为user message追加进当前会话历史 → 下一轮AI响应即可基于完整对话上下文继续推理,无需重新加载知识库。
验证转接闭环是否生效
① 在Intercom测试会话中发送“我要找人工客服” → 观察Dify工作流是否跳转至人工介入节点;
② 查看Intercom会话详情页右侧是否出现新消息气泡,内容为“客服正在接入,请稍候”;
③ 人工在Intercom后台回复一句“您好,请问有什么可以帮您?” → 检查Dify对话预览窗是否自动追加该句,并在下一条AI回复中引用此句(如“您刚提到需要帮助,具体是哪方面问题?”);
④ 若第③步未发生,检查Dify Webhook节点日志中是否有401错误——大概率是Intercom Token权限不足或已过期。










