Textbot Exchange

本帮助页面适用于 CXone Studio此信息也可用于Desktop Studio

将自助服务虚拟坐席关闭 代替现场人工坐席处理客户交互的软件应用程序。与聊天脚本集成。此操作在脚本中循环使用。脚本必须至少包含两个 TextBot Exchange 操作。您的虚拟坐席必须支持此操作。

TextBot Exchange 操作适用于复杂的虚拟坐席或者当您需要自定义虚拟坐席每个回合的行为时。该操作控联系人与虚拟坐席关闭 代替现场人工坐席处理客户交互的软件应用程序。之间每个回合的对话。它将每句话语关闭 联系人所说或输入的内容。发​​送到虚拟坐席。虚拟坐席将分析话语的意图关闭 联系人所说/输入内容背后的含义或目的;联系人想要沟通或完成的内容和上下文,并且确定需要作出的响应。TextBot Exchange 将响应传递给联系人。对话完成后,该操作将继续执行脚本。

双击此操作打开 虚拟坐席中心,您可以在其中管理所有虚拟坐席机器人。

支持的脚本类型

电子邮件 聊天 短信 数字

支持的虚拟坐席

此操作支持以下虚拟坐席:

在将虚拟坐席分配给此操作之前,您必须在 虚拟坐席中心 中添加并配置虚拟坐席的应用程序。对于您使用的每个虚拟坐席,您只需要一个应用程序。您可以将同一应用程序分配给脚本中的多个虚拟坐席操作。有关配置详细信息,请参阅您正在使用的虚拟坐席提供程序的帮助页面。

类似操作比较

以下操作具有类似功能,但存在一些关键区别:

  • Textbot Exchange:此操作用于复杂的虚拟坐席交互。它允许您包含交换参数,以及对联系人和虚拟坐席之间对话的各个方面进行自定义。
  • Voicebot Conversation:此操作仅适用于非常简单的虚拟坐席。它不允许每次都自定义虚拟坐席的行为。如果要使用SIP 秘密渠道连接并且您的虚拟坐席支持它,则必须使用 Voicebot Conversation
  • Voicebot Exchange:此操作用于复杂的虚拟坐席交互。它允许您包含交换参数,以及对联系人和虚拟坐席之间对话的各个方面进行自定义。

输入属性

这些属性定义操作在执行时使用的数据。

此操作的一个或多个属性需要带有自定义代码Snippet 操作。

属性 详细信息

添加 说明文字

输入在脚本中唯一标识此操作的短语。标题显示在脚本画布上的操作图标下方。

Virtual Agent ID

虚拟坐席中心 中选择的虚拟坐席的姓名对应。当您将虚拟坐席应用程序分配给 虚拟坐席中心 中的 Studio 操作时,它会自动填充此属性。该名称是 虚拟坐席中心 应用程序中的 Virtual Agent (Bot) Name 字段中使用的名称。

Automated Intent

按名称输入虚拟坐席要响应的特定意图,而不是让虚拟坐席解读收集的用户输入。这种情况的常见用例是从虚拟坐席获取初始欢迎消息。Welcome 是初始问候语的标准字符串。

User Input

联系人在聊天窗口中写入的消息,并作为文本输入传递给虚拟坐席。

Custom Payload

仅当需将自定义有效负载数据传递给虚拟坐席时才配置此属性。自定义有效负载对象从 Studio 脚本填充。您可以使用它从 CRM关闭 管理联系人、销售信息、支持详细信息和案例历史记录等事项的第三方系统。 传递联系人姓名等信息,以便在欢迎消息中使用。

输入将数据从脚本传递到虚拟坐席的 JSON 对象的名称。您必须在 Snippet 操作中定义自定义有效负载对象。必须在代码段或 customPayload 属性中将该对象转换为 JSON。

对特定虚拟坐席提供程序的要求:

如果需要处理虚拟坐席返回给脚本的数据,请勿使用此属性。请使用 customPayloadVarName (out) 变量。

Bot Session State

虚拟坐席提供程序会为联系人和虚拟坐席之间的每次对话分配一个唯一的标识符。该标识符可防止在对话的每一个回合中都创建一个新会话。该提供程序在对话开始时创建标识符,并将其传递给包含首个响应的脚本。脚本会将标识符存储在 ExchangebotSessionStateVarName (out) 属性中命名的变量中。然后,它将标识符传递给 botSessionState 属性。

必须正确配置此属性才能使您的虚拟坐席正常运行。有关如何配置的更多信息,请参见“机器人会话状态代码片段”帮助页面。

输出属性

这些属性包含保存执行操作返回的数据的变量。它们在操作完成后供引用和使用。

属性

说明

Next Prompt Var Name

定义在下一个会话回合中提示用户的行为。

Custom Payload Var Name

将自定义 JSON 数据从虚拟坐席返回到脚本。如果希望脚本处理虚拟坐席提供的数据,请使用此变量。可能包含履行数据。

如果要向虚拟坐席提供数据,请使用 customPayload 属性。

Error Details Var Name

提示错误意图序列;可能导致转移到真人坐席。

Intent Info Var Name

用于保存虚拟坐席指示当前用户意图的详细信息的变量。

Bot Session State Var Name

保存脚本存储虚拟坐席提供程序发送的机器人会话状态标识符的变量。该变量的内容被传递给 botSessionState 属性。

必须正确配置此属性才能使您的虚拟坐席正常运行。有关如何配置它的更多信息,请参见“机器人会话状态代码片段”帮助页面。

结果分支条件

结果分支条件允许您在脚本中创建分支,以在执行操作时处理不同的结果。

条件

说明

Default 除了脚本满足条件要求其接受其他分支的情况之外,所要采用的路径。如果未定义操作的其他分支,也会执行此操作。
PromptAndCollectNextResponse

虚拟坐席已决定继续进行交互并准备好接受更多联系的人工输入时采用的路径。对话中下一个回合的提示。

Error 出现意外问题(如连接性差、语法错误等等)时所要采用的路径。_ERR 变量中应填入对问题的简明解释。
ReturnControlToScript

如果虚拟坐席指示对话完成并将控制权交还给 Studio 脚本以转移或结束呼叫,则采用的路径。customPayload 结果中可能有需要处理的履行数据。

代码片段操作代码

此操作的一个或多个属性需要带有以下自定义代码的 Snippet 操作

使用 Google Dialogflow CX 的 Custom Payload 的最佳实践

将此操作与 Google Dialogflow CX 一起使用时,请遵循集成自定义有效负载的最佳实践:

  • DialogflowCX 不像 Dialogflow ES 使用上下文将数据传递给 Dialogflow 意图关闭 联系人所说/输入内容背后的含义或目的;联系人想要沟通或完成的内容
  • 您可以使用 JSON 键值对将自定义数据传递到 Dialogflow CX。在脚本的 Snippet action操作中,创建一个动态 customPayload 对象,并向其添加键值。例如:

    DYNAMIC customPayload
    customPayload.ani = ani
    customPayload.contactID = contactId
    customPayload.masterContactId = masterId
    customPayloadJSON = "{customPayload.asJSON()}"	
  • 在脚本的 ExchangeConversation 操作中,通过其值中包含 asJSON() 函数的变量来配置 customPayload 属性。您可以在 customPayload 对象中找到该变量。
  • 使用 QueryParametersPayload 属性将 customPayload JSON 传递给虚拟坐席。请参阅 Google 文档,了解 Google Dialogflow CXQueryParameters 一个方块,右上角有一个从中心向外的箭头。
  • 通过 QueryParameters 传递的数据由 Dialogflow CX 中的 Webhook 接收。您可以在 Dialogflow CX 控制台中编写代码来处理传递的数据。
  • 不要在 customPayload 对象中嵌套对象。嵌套的对象作为文字字符串进行发送。
  • 要将自定义数据从 Dialogflow CX 虚拟坐席传递回脚本,请使用 Dialogflow CX 控制台中的 Custom Payload 字段。确保您位于与 CXone 结合使用的虚拟坐席的控制台中。在脚本中的语音聊天 Studio 操作中,使用 customPayloadVarName (out) 变量将其映射到脚本。例如,您可以使用此来设置下一个提示行为
  • 使用 customPayload 设置的参数只能在外部 Webhook 中使用。如果要设置参数以便在外部 webhook 之外使用,请在包含 session_params 字段的 Snippet 操作中设置参数。例如:

    {
    	"session_params":
    	{ 
    		"name": "Winnie Le Pooh"
    		"job": "Food critic"
    		"location": "Hundred Acre Wood"
    	}
    }

    使用以下语法访问 Dialogflow CX 坐席意图中的会话参数:

    $session.params.name = Winnie Le Pooh

    $session.params.job = Food critic

    $session.params.location = 100 Acre Wood

    会话参数仅与 Dialogflow CX 虚拟坐席一起使用。要通过 Dialogflow 获得类似的结果,请使用上下文。

  • 语音上下文提示可以通过 speechContexts 参数中的自定义有效负载进行传递。voiceContexts.phrases 的值必须是您想要给出的提示的 Google 类令牌 一个方块,箭头从中心指向右上角。。该令牌必须与您的联系人的语言和区域设置相匹配。例如:

    DYNAMIC customPayload
    customPayload.speechContexts.phrases="$OOV_CLASS_ALPHANUMERIC_SEQUENCE"
    customPayload.speechContexts.boost=10		

使用 Google Dialogflow ES 的 Custom Payload 的最佳实践

将此操作与 Google Dialogflow ES 一起使用时,请遵循集成自定义有效负载的最佳实践:

  • CustomPayload 用于传递意图关闭 联系人所说/输入内容背后的含义或目的;联系人想要沟通或完成的内容的上下文。上下文有助于虚拟坐席理解用户的意图。上下文不是必需的,但有助于虚拟坐席将话语关闭 联系人所说或输入的内容。与意图相匹配。
  • 在脚本的 Snippet 操作中,创建一个 customPayload 对象,其遵循 REST 资源: projects.agent.sessions.contextGoogle Dialogflow ES 文档指示链接到外部网站的图标中概述的格式。Studio 联机帮助提供有关动态数据对象的附加信息。
  • 您还可以在没有上下文的情况下使用 customPayload 传递自定义数据。为此,请在动态数据对象中包含标准的 JSON 键值对。
  • 语音上下文在 speech_contact 参数中的自定义有效负载中进行传递。您可以在 Studio 跟踪和应用程序日志中查看该参数的内容。
  • customPayload 动态对象以 JSON 格式作为虚拟坐席参数传递,如示例脚本中所示。
  • 语音上下文提示可以通过 speechContexts 参数中的自定义有效负载进行传递。voiceContexts.phrases 的值必须是您想要给出的提示的 Google 类令牌 一个方块,箭头从中心指向右上角。。该令牌必须与您的联系人的语言和区域设置相匹配。例如:

    DYNAMIC customPayload
    customPayload.speechContexts.phrases="$OOV_CLASS_ALPHANUMERIC_SEQUENCE"
    customPayload.speechContexts.boost=10