人工服务
人工服务功能允许 Agent 开发者接入接入第三方人工客服系统,以响应 Agent 用户的人工服务请求。当前已支持接入 Intercom、WebHook 等其他的方式更灵活的接入其他人工服务系统( 如:livechat 、WhatsApp 、 slack 、LINE、Telegram等)。
如何启用人工服务
- 在 Agent 设置-人工服务,点击「启用」按钮,即可启用人工服务。
- 选择需要的人工服务系统,支持 intercom、webhook 等。
- 完成所选择三方人工服务系统的鉴权配置,确保消息互通成功
- 根据企业人工服务支持的实际情况,调整设置人工服务相关配置设置
- 在 Agent 对话窗口中,发起人工服务请求即可正常调用人工服务
人工服务模式
人工服务功能包含 2 种模式,分别是Other to 客服系统 和 客服系统 to 客服系统。以客服系统为 Intercom 为例:
flowchart TD
    A["人工服务功能"] --> B["Other to 客服系统"] & C["客服系统 to 客服系统"]
    B --> D["用户从Agent集成模块所支持的平台发起对话请求"]
    D --> E["WhatsApp/Iframe/Widget/Share/LINE 等平台"] & G["Intercom 平台"]
    E --> F["Intercom 客服系统接收和处理"]
    G --> F
    C --> H["用户从客服系统平台发起请求"]
    H --> I["Intercom 平台"] & K["非 Intercom 平台"]
    I --> J["Intercom 客服系统接收并处理"]
    K --> L["无法被 Intercom 客服系统接收和处理"]
     A:::Peach
     B:::Sky
     C:::Aqua
     D:::Sky
     E:::Sky
     G:::Sky
     F:::Sky
     H:::Aqua
     I:::Aqua
     K:::Aqua
     J:::Aqua
     L:::Aqua
    classDef Sky stroke-width:1px, stroke-dasharray:none, stroke:#374D7C, fill:#E2EBFF, color:#374D7C
    classDef Aqua stroke-width:1px, stroke-dasharray:none, stroke:#46EDC8, fill:#DEFFF8, color:#378E7A
    classDef Peach stroke-width:1px, stroke-dasharray:none, stroke:#FBB35A, fill:#FFEFDB, color:#8F632D- other to 客服系统:
 用户可以从Agent集成模块支持的所有平台发起人工服务请求,由选定的客服系统接收和处理用户的人工服务请求。如:- 用户在 WhatsApp/iframe/Widget/share/LINE 等平台上发起对话和请求人工服务,Intercom 客服系统将收到该人工服务请求并处理。
- 若用户在 Intercom 平台上发起人工服务请求,Intercom 客服系统将收到该人工服务请求并处理。
 
- 客服系统 to 客服系统:
 用户仅可从客服系统平台发起人工服务请求,由同个客服系统接收和处理用户的人工服务请求。如:- 用户在 Intercom 平台上发起对话和请求人工服务,Intercom 客服系统将收到该人工服务请求并处理。
- 若用户在非 Intercom 平台上发起人工服务请求,将无法被 Intercom 客服系统接收和处理。
 
配置人工服务鉴权
Intercom 鉴权
通过 Intercom 提供人工服务的完整教程指南
- 创建 APPS
 首先需要在 intercom 注册并按照引导创建完成 workspace 。通过「账号头像-settings-APPS&INTEGRATIOS」访问 Developer-hub页面。在 Developer-hub 点击「New app」创建一个应用。若已创建好 App,直接选择目标 App进入其设置页面。
  
- 获取 AccessToken 并填写到 GPTBots
- 选择「Authentication」菜单项,复制 Access token 信息。 
- 将 token信息填写到「人工服务-intercom 鉴权」的 Access token 输入框中 
- 将人工服务消息接收地址填写到 Intercom
 复制「GPTBots 消息接收地址」中的URL 地址,并将该 URL 地址填入在 Webhooks 菜单项的 Endpoint URL 中 
- 在 Intercom 订阅关键业务事件
 在 Webhooks 菜单项的 Topics 功能区,使用「Select a topic...」选中4个订阅事件,点击「save」按钮保存配置。- conversation.admin.closed
- conversation.admin.replied
- conversation.admin.snoozed
- conversation.read
 
至此,Intercom 的配置全部完成,你可以在 Agent 对话窗口请求人工服务,Agent 发起人工服务请求成功时,Intercom 的 Help Desk 会接收到用户消息,当人工客服回复该条消息后人工服务连接正式建立。
Webhook 鉴权
通过 Webhook 提供人工服务的完整教程指南
- 首先,开发者需要在自己的服务器环境构建一个 Webhook 接收服务,提供以下3个接口用于接收 Agent 发起的人工服务请求和接收消息。详见人工服务webhook。 - 创建会话:/conversation/establish
- 聊天:/chat
- 关闭会话:/conversation/close
 
- 创建会话:
- 然后,开发者需要在 Agent - 人工服务配置中配置 Webhook 接收服务的 URL 地址、用户名和密码,以便 Agent 能够发送消息到 Webhook 接收服务。  - URL地址:必填,用于接收 Agent 端用户发送的消息内容 
 用户名:非必填,由开发者所构建的 webhook 服务决定
 密码:非必填,由开发者所构建的 webhook 服务决定
- 最后,在「Agent-集成-API」 启用 API 功能,再将 GPTBots 消息接收地址配置为 Webhook 端的消息发送 URL 地址,用于将人工回复消息内容发送到 Agent 对话窗口中。详见人工服务webhook。  
 至此,Webhook 鉴权配置全部完成,你可以在 Agent 对话窗口请求人工服务,Agent 发起人工服务请求成功时,Webhook 接收服务会接收到用户消息。
Livechat 鉴权
- 开发者需要创建自己的livechat账号,获取到organization_id。 创建livechat账号  
- 开发者需要创建APP,添加Blocks,选择App Authorization,设置为服务端app。在该页面,能够获取到clientId。创建APP    
- 添加Blocks,选择APP webhook,将portal端的GPTBots消息接收地址作为webhook url填入。  
- 添加Bolcks,选择Chat webhook,将portal端的GPTBots消息接收地址作为webhook url填入。选择incoming_event和chat_deactivated   
- 点击Priveate installation进到页面,install app  
- 将前期准备中的 organization_id 和 liveChatClientId 输入到卡片中,点击确定,完成配置。至此,livechat配置完成。  
Sobot 鉴权
请您参考Sobot集成配置来配置相应的人工服务,Sobot人工服务只能在 sobot widget 中才能使用。
Zoho Sales IQ鉴权
Other to Zoho Sales IQ
- 开发者需要登录自己的Zoho账号,进入Zoho API Console - 注意:如果您的账号为非 US 地区账号,需要切换域名,具体请看:Prerequisite - Generate Org OAuth Token 
- 在Homepage URL中填写当前服务域名,在Authorized Redirect URIs中,填写当前服务域名 + /api/console/bot/zoho/salesiq/org/redirect,点击CREATE,创建成功后,系统将生成Client ID和Client Secret,复制相应的Client ID 和 Client Secret, 这将会在人工服务配置中用到。 

- 登录GPTBots,将在Zoho API Console 中获取的 Clinet ID 和 Client Secret 填入,并填入 Screen Name,选择 Server Region。 - Client ID 和 Client Secret:必填,已在前期准备中获取;
- Screen Name:必填,取值来自于账号登录的页面,您需要取域名后面的第一个 path 字符串,例如 https://salesiq.zoho.com/gptbos/mychats/000000000000003 地址,Screen Name 就是取 gptbots;
- Server Region:选择Zoho账号的区域;
 - 信息配置好后点击Authorize 
- 点击Authorize后,将会弹出一个授权状态弹窗,请您点击Accept 
- Public Key :选填,如果您在稍后的 webhook 配置中开启了 Secure your webhook,则需要填写;若未开启,则不需要填写。配置Webhook请参考:Zoho Sales IQ 集成配置 
- 请您选择一个合适的Zoho的人工服务分组,选择分组后,该对话将会被对应的人工客服分组接管。 

注意:在该场景下,智能体无法接收来自Zoho端发送的文件,从Zoho端发送的文件将无法在智能体中显示。
Zoho Sales IQ to Zoho Sales IQ
请您参考Zoho Sales IQ 集成配置来配置相应的人工服务。
注意:在该场景下,由于OpenAI-GPT-4omini的模型能力问题,会出现无法唤起人工客服的情况,建议您使用其他模型。
配置人工服务
人工服务

服务状态:展示三方人工服务系统的可用性
- 未配置:当从未填写三方人工服务系统的鉴权信息时
- 服务可用:当填写鉴权信息且验证通过时
- 对不可用:当已填写的鉴权信息在调用时失效/失败时
触发时机:支持自定义触发时机描述,帮助 LLM 正确判断何时调用人工服务。
超时机制
等待超时:默认 60 S,用户发起人工服务请求后的最大等待时长,超时将提示用户结束本次请求或继续等待
会话超时:默认 180 S,人工客服最后 1 条消息产生后,若等待 N 秒后一直无用户回复,将自动退出人工服务
人工服务时段

支持自定义设置最多 10 条人工服务时间段,规则如下:
- 每周:此模式下,支持选择周一~周日,设定人工服务时间段,每周循环执行
- 自定义:此模式下,必须选择一个绝对日期,设定人工服务时间段,只执行一次
当 Agent 存在多条人工服务时段时,人工服务事件生效机制如下:
- 首先按照自然日维度,筛选出该自然日的所有「人工服务时段」规则
- 按照最宽时间窗口规则计算所有的重叠时间规则参数,不重叠则不参与计算
- 若存在多个不重叠的最宽时间窗口,则该自然日存在多个有效的人工服务时间段,例如2024.12.12日生效的人工服务时间规则共 4 条,分别如下: 09:00 ~ 12:00、10:00 ~ 1 2:00、13:00 ~ 18:00、15:00 ~ 17:00.
 则系统生效的服务时间窗口为:09:00 ~ 12:00、13:00 ~ 18:00
非服务时段回复
当前人工服务处于「非人工服务时段」,调用人工服务时会自动回复「预置文案」进行回复
传递对话轮数
当成功调用三方服务系统,将N 轮的聊天记录+用户最新问题一起提交到人工服务系统,以帮助
在对话窗口发起人工服务请求
- 用户发起人工服务请求
 当用户希望获得人工服务时,会由 LLM 判断是否唤醒人工服务,若 LLM 决定唤醒人工服务则会调用人工服务 tools 并要求用户提供邮件地址.当系统已有用户的邮箱信息时,则会跳过「输入邮箱」的环节,直接调起人工服务请求流程。 - 用户已登录状态且账号经过邮箱验证时,系统存在用户邮件信息
- 开发者在气泡部件场景,通过window.ChatBot.setEmail("somebody@mail.com")命令设置用户邮箱时,系统存在用户邮件信息
- 开发者在 iframe 场景,通过iframe_url+?email=somebody@mail.com的方式设置用户邮箱时,系统存在用户邮件信息
 
- 当三方人工服务系统接收到用户消息,并回复用户第一条消息时,正式进入人工服务环节
- 用户可以不限轮数的与人工服务系统互发消息,用户和人工客服人员均可以主动关闭本次人工服务对话
接入intercom 、 webhook、 livechat等 任何三方人工服务系统,上述功能均适用。
