Voicebot Conversation

This help page is for Desktop Studio.This information is also available for CXone Studio.

The icon for the Voicebot Conversation action.

将自助服务虚拟坐席关闭 代替现场人工坐席处理客户交互的软件应用程序。与语音脚本集成。您的虚拟坐席必须支持此操作。

Voicebot Conversation 操作仅适用于非常简单的机器人或使用 SIP关闭 用于对多媒体通信会话(如语音和视频通话)发出信号和进行控制的协议。 秘密渠道连接时。不允许 Studio 脚本自定义或控制虚拟坐席每个回合的行为。 如果您需要自定义虚拟坐席在对话回合之间的行为,而您的虚拟坐席提供程序支持此功能,则您可以使用 Voicebot Exchange 操作

此操作直接与虚拟坐席交互,并被动地实时监控对话。虚拟坐席分析对话意图关闭 联系人所说/输入内容背后的含义或目的;联系人想要沟通或完成的内容和来自恒定音频流的上下文。然后将合适的响应返回给联系人。当虚拟坐席指示对话已完成时,该操作将继续执行 Studio 脚本。该操作传递有关弹出屏幕关闭 允许坐席在完成交互后完成工作要求的状态、坐席路由等的任何相关信息。

不建议将此操作与 Google Dialogflow ES 一起使用。除非您使用 SIP 反向通道连接,否则也不建议将其与 Google Dialogflow CX 一起使用。

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

Supported Script Types

The icon for the Phone script type - an old-style phone handset with curved lines indicating sound coming out of it.

电话

Comparison of Similar Actions

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

  • Textbot Conversation: This action is only suitable for very simple virtual agents.It doesn't allow for customization of the virtual agent's behavior from turn to turn.It's not currently supported in CXone.
  • Textbot Exchange:此action用于复杂的虚拟坐席交互。它允许您包含交换参数,以及对联系人和虚拟坐席之间对话的各个方面进行自定义。
  • Voicebot Conversation:此action仅适用于非常简单的虚拟坐席。它不允许每次都自定义虚拟坐席的行为。如果要使用SIP 秘密渠道连接并且您的虚拟坐席支持它,则必须使用 Voicebot Conversation
  • Voicebot Exchange:此action用于复杂的虚拟坐席交互。它允许您包含交换参数,以及对联系人和虚拟坐席之间对话的各个方面进行自定义。

Supported Virtual Agents

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

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

Input Properties

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

属性

说明

virtualAgentID

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

customPayload

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

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

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

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

maxTimeouts

设置路由到错误回退分支之前的无话语交流的次数。

maxNotUnderstood

设置路由到错误回退分支之前失败的意图识别交流的次数。

Output Properties

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

属性

说明

customPayloadVarName (out)

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

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

errorDetailsVarName (out)

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

intentInfoVarName (out)

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

Result Branch Conditions

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

条件

说明

OnBotSessionComplete

机器人指示对话已结束时所采用的路径。

If you're using a SIP backchannel connection and want the virtual agent to be able to pass the contact back to the script to talk to a live agent, you must include the Live Agent Handoff snippet in your script.

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

满足脚本中的 DTMF关闭 当用户在电话按键上按下或敲击某个键时产生的信号音。 规则时所采用的路径。

OnUserInputTimeout

如果用户在“提示行为”片段(不论是默认下一个提示行为片段)中指定的时间内没有响应,则采用的路径。

对于 Google Dialogflow,您可以在 虚拟坐席中心 Dialogflow 应用程序中配置想要发生的事件。对于 Dialogflow ES,配置 Timeout Event 字段。对于 Dialogflow CX,配置 Timeout Event Handler。如果没有配置事件,则默认使用 Dialogflow 控制台中配置的默认回退意图。

如果需要,您可以配置这个分支以在脚本的不同位置使用不同的事件

OnUserInputNotUnderstood

当虚拟坐席不理解联系人的响应或联系超时时所采取的路径。

Snippet Action Code

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

Best Practices for Custom Payload with Google Dialogflow CX

When using this action with Google Dialogflow CX. follow these best practices for integrating custom payloads:

  • 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		

Best Practices for Custom Payload with Google Dialogflow ES

When using this action with Google Dialogflow ES, follow these best practices for integrating custom payloads:

  • 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		

Script Example

此示例并非完整的脚本。要使用此操作,需要额外的脚本编写工作。

A script example showing the Voicebot Conversation action.

Download this script.

Script Example CustomPayload with Google Dialogflow ES

此示例并非完整的脚本。要使用此操作,需要额外的脚本编写工作。

该脚本是如何将自定义有效负载与 Google Dialogflow ES 虚拟坐席相集成的一个示例。此脚本使用 Voicebot Exchange 操作,但如果您改用 TEXTBOT EXCHaNGE,它也可以工作。

说明如何使用 Google Dialogflow CX 处理自定义有效负载的示例脚本。

下载此脚本

Example Script for Alternate Timeout Events

可以在脚本的不同位置使用不同的超时事件。例如,您可能希望在第一次和第二次触发 UserInputTimeout 属性时使用不同的超时事件。以下示例脚本展示了可能实现此目标的一种方式。

在此脚本中,Snippet 操作用于创建和递增超时计数器。第二次超时后,Snippet 操作则用于设置不同的超时事件。交替超时事件通过 automatedIntent 属性从 Snippet 操作传递给语音机器人操作。

下载此脚本