VoiceBot Exchange

Integra un agente virtualCerrado Una aplicación de software que maneja las interacciones del cliente en lugar de un agente humano en vivo. de autoservicio con guiones de voz. Esta acción se utiliza en un ciclo en el script. Un script debe contener al menos dos accionesVoiceBot Exchange . Su agente virtual debe respaldar esta acción.

La Voicebot Exchange acción es para agentes virtuales complejos o para cuando necesite personalizar el comportamiento del agente virtual de un turno a otro. Vigila turno a turno la conversación entre el contacto y el agente virtual. Envía cada enunciadoCerrado Lo que dice o escribe un contacto. al agente virtual. El agente virtual analiza el enunciado para detectar la intenciónCerrado El significado o propósito detrás de lo que dice/escribe un contacto; lo que el contacto quiere comunicar o lograr y el contexto y determina qué respuesta ofrecer. La acción transfiere la respuesta del agente virtual al contacto. Cuando la conversación ha finalizado, la acción continúa el script.

Esta es la acción preferida que se usa con agentes virtuales de voz. Si desea configurar irrumpir o no entrar, se requieren secuencias de comandos adicionales. Si está usando una conexión posterior SIPCerrado Protocolo utilizado para señalizar y controlar sesiones de comunicación multimedia como llamadas de voz y video., debe usar la acción Voicebot Conversation.

Al hacer doble clic en esta acción, abre la Centro de Agente Virtual, donde podrá gestionar todos sus agentes virtuales.

Dependencies

  • Un script debe contener al menos dos acciones VoiceBot Exchange conectadas en un ciclo.
  • Para usar esta acción, su agente virtual debe ser compatible con la personalización de conversaciones turno a turno.
  • Un turno conversacional se define como:

    1. La expresión de contacto que se envía al agente virtual.
    2. El agente virtual procesa la expresión y define cualquier información de carga útil personalizada.
    3. La respuesta regresa al contacto.
    4. Cualquier acción adicional que deba adoptarse (como una base de datos o una llamada API externa) que se determina en la propiedad nextPromptBehaviors. También puede configurar el ciclo conversacional para salir cuando se completa la interacción o si se transfiere el contacto a un agente en vivo.
  • Si incluye una carga útil personalizada con los agentes virtuales Google Dialogflow ES o Google Dialogflow CX, siga las mejores prácticas y pautas de carga útil personalizada.  En esta página se presentan las pautas para CX y ES.

Supported Script Types

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

Teléfono

Comparison of Similar Actions

Las siguientes acciones tienen funciones similares, pero con algunas diferencias clave:

  • 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: Se utiliza esta action para interacciones complejas de agentes virtuales. Le permite incluir parámetros de intercambio y personalizar varios aspectos de la conversación entre el contacto y el agente virtual.
  • Voicebot Conversation: Esta action es adecuada únicamente para agentes virtuales muy simples. No permite la personalización del comportamiento del agente virtual de un turno a otro. Si desea utilizar una conexión de canal trasero SIP y su agente virtual la admite, debe utilizar Voicebot Conversation.
  • Voicebot Exchange: Se utiliza esta action para interacciones complejas de agentes virtuales. Le permite incluir parámetros de intercambio y personalizar varios aspectos de la conversación entre el contacto y el agente virtual.

Supported Virtual Agents

Esta acción es compatible con los siguientes agentes virtuales:

Antes de poder asignar un agente virtual a esta acción, debe agregar y configurar una aplicación para el agente virtual en Centro de Agente Virtual. Solo necesita una aplicación para cada agente virtual que use. Puede asignar la misma aplicación a múltiples acciones de agentes virtuales en sus scripts. Consulte la página de ayuda del proveedor del agente virtual que esté utilizando para los detalles de configuración.

Input Properties

Estas propiedades definen los datos que utiliza la acción al ejecutarse.

Una o más de las propiedades de esta acción requiere una acción Snippet con el siguiente código personalizado.

Propiedad

Descripción

Caption

Ingrese una frase corta que identifique de forma única esta acción en el script. La leyenda aparece en el lienzo del script debajo del ícono de acción. The default is the action name.

virtualAgentID El nombre del agente virtual seleccionado en el Centro de Agente Virtual. Cuando asigna una aplicación de agente virtual a una acción Studio en Centro de Agente Virtual, esta propiedad se rellena de forma automática. El nombre es el nombre que se utiliza en el campo Virtual Agent (Bot) Name en la aplicación Centro de Agente Virtual.
customPayload

Configure esta propiedad solo si necesita transmitir datos de carga útil personalizada al agente virtual. El objeto de carga útil personalizada se rellena desde el script de Studio. Puede usarlo para transmitir información, como el nombre del contacto, desde una CRMCerrado Sistemas de terceros que administran cosas como contactos, información de ventas, detalles de soporte e historiales de casos. para usar en un mensaje de bienvenida.

Ingrese el nombre del objeto JSON que transmite datos desde el script hacia el agente virtual. Debe definir el objeto de carga útil personalizada en una acción Snippet. Se debe convertir el objeto a JSON, ya sea en el snippet o en la propiedad customPayload.

Requisitos para proveedores específicos de agentes virtuales:

No utilice esta propiedad si necesita procesar los datos que devuelve el agente virtual al script. En su lugar, use la variable customPayloadVarName (out).

nextPromptSequence

La respuesta recibida desde el agente virtual que se reproducirá para que escuche el contacto. Configure esta propiedad con la variable que se especifica en nextPromptSequenceVarName (out) con la función asJSON(). También puede convertir el contenido de nextPromptSequenceVarName (out) a JSON en una acción Snippet y configurar esta propiedad con la variable que contenga el JSON.

nextPromptBehaviors

Especifica la configuración y el comportamiento del siguiente aviso en una conversación. Defina los comportamientos que desee ver usando una Snippet actiony siguiendo el ejemplo del fragmento Comportamientos predeterminados del siguiente aviso o Comportamientos del siguiente aviso. Este ejemplo describe las propiedades que puede usar para configurar el ruido de confort, la recopilación de DTMF y permitir que el contacto hable sobre el audio mientras se reproduce (barcaza).

Configurar la propiedad nextPromptBehavior con el nombre del objeto que usó en el código del snippet. Esto transfiere la configuración a esta propiedad y a su acción. Por ejemplo, usando el ejemplo del snippet de Comportamiento del Siguiente Mensaje, ingresaría {nextPromptBehaviorsOutjson} para esta propiedad. Únicamente necesita configurar esta propiedad si usa esta acción para permitir que un agente virtual de textos gestione las interacciones de voz.

botSessionState

El proveedor del agente virtual asigna un identificador único a cada conversación entre un contacto y un agente virtual. El identificador evita que se cree una nueva sesión para cada turno de la conversación. El proveedor crea el identificador cuando comienza la conversación y lo pasa al script junto con la primera respuesta. El script almacena el identificador en la variable que se nombra en la botSessionStateVarName (out) propiedad de esta acción Exchange. Luego pasa el identificador a la propiedad botSessionState.

Debe configurarse adecuadamente la propiedad para que funcione correctamente el agente virtual. En la página de ayuda del Snippet Estado de Sesión del Bot se encuentra más információn sobre cómo configurarlo.

automatedIntent

Ingrese por nombre una intención específica a la que responda el agente virtual, en lugar de que el agente virtual interprete la entrada del usuario. Un caso de uso común de esto es obtener el mensaje de Bienvenida inicial del Agente virtual. Welcome es la cadena estándar para los saludos iniciales.

Output Properties

Estas propiedades contienen variables que incluyen datos que se evuelven al ejecutar la acción. Están disponibles como referencia y para usarse cuando se completa la acción.

Propiedad

Descripción

nextPromptBehaviorsVarName (out)

Define los comportamientos para incitar al usuario en el siguiente turno de conversación.

nextPromptSequenceVarName (out)

Retiene la respuesta del agente virtual y la transfiere a la propiedad nextPromptSequence .

customPayloadVarName (out)

Devuelve datos JSON personalizados del agente virtual al script. Utilice esta variable cuando desee que el script procese los datos que proporciona el agente virtual. Puede contener datos de cumplimiento.

Si desea proporcionar datos al agente virtual, utilice la propiedad customPayload.

errorDetailsVarName (out)

Solicita la secuencia de intento de error; puede dar lugar a una transferencia a un agente activo.

intentInfoVarName (out)

Una variable que contiene los detalles del agente virtual que indica la intención actual del usuario.

botSessionStateVarName (out)

Guarda la variable donde el script almacena el identificador del estado de la sesión bot que envía el proveedor de agente virtual. El contenido de la variable se pasa a la propiedad botSessionState.

Debe configurarse adecuadamente la propiedad para que funcione correctamente el agente virtual. Se encuentra disponible más información sobre cómo configurarla en la página de ayuda del Snippet del Estado de Sesión del Bot.

Result Branch Conditions

Las condiciones de las ramas de resultados le permiten crear ramas en su script para manejar diferentes resultados cuando se ejecute una acción.

Condición

Descripción

Default Recorrido a menos que el script cumple una condición que requiere uno de los otros poderes. También se considera si no están definidas las demás ramas de la acción.
OnPromptAndCollectNextResponse

Ruta adoptada si el agente virtual ha determinado que debe continuar la interacción y está listo para recibir más información humana del contacto. Indica el siguiente turno de la conversación.

OnError Recorrido cuando hay un problema inesperado (por ejemplo, mala conectividad, errores de sintaxis, etc.). La variable _ERR debería completarse con una explicación resumida del problema.
OnReturnControlToScript Path taken if the virtual agent indicated that the conversation finished and gives control back to the Studio script to transfer or end the call. There may be fulfillment data to be processed in the customPayload result.
OnDTMFBreakout

Ruta tomada cuando se cumplió una regla DTMFCerrado Tonos de señalización que se generan cuando un usuario presiona o toca una tecla en el teclado de su teléfono. en el script.

OnUserInputTimeout

Ruta tomada cuando no hay respuesta del usuario dentro del tiempo especificado en el fragmento Comportamientos del aviso (ya sea Comportamientos del aviso predeterminado o siguiente).

Para google Dialogflow, puede configurar el evento que quieres que suceda en la Centro de Agente Virtual Dialogflow aplicación Para ES Dialogflow, configure el campoTimeout Event . Para CX Dialogflow , configure el Timeout Event Handler. Si no se configura ningún evento, el valor predeterminado es usar la intención de reserva predeterminada como se configuró en la Dialogflow consola.

Si lo desea, puede configurar esta rama para usar diferentes eventos en diferentes puntos de su script.

OnUserInputNotUnderstood

Ruta que se toma cuando el agente virtual no entiende la respuesta del contacto o cuando el contacto agota el tiempo de espera.

Required SNIPPET Action Code

Una o más de las propiedades de esta acción requiere una Snippet action con el siguiente código personalizado:

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:

  • Dialogflow CX no usa contextos para pasar datos a DialogflowintencionesCerrado El significado o propósito detrás de lo que dice/escribe un contacto; lo que el contacto quiere comunicar o lograr como Dialogflow ES lo hace.
  • Puede pasar datos personalizados aDialogflow CX usando pares clave-valor JSON. En una acción de Snippet action en su script, cree un objeto dinámico customPayload y agréguele los pares clave-valor. Por ejemplo:

    DYNAMIC customPayload
    customPayload.ani = ani
    customPayload.contactID = contactId
    customPayload.masterContactId = masterId
    customPayloadJSON = "{customPayload.asJSON()}"	
  • En la acción Exchange o Conversation de su script, configure la propiedad customPayload con una variable que tenga la función asJSON() en su valor. Puede encontrar esta variable en el objeto customPayload.
  • Transmita el JSON de customPayload al agente virtual usando la propiedad Payload de QueryParameters. Consulte la documentación de Google sobre QueryParameters Un cuadrado con una flecha que apunta desde el centro hacia la esquina superior derecha. para Google Dialogflow CX.
  • Los datos transmitidos a través de QueryParameters son recibidos por un webhook en Dialogflow CX. Puede escribir código en la Dialogflow Consola CX para manejar los datos pasados.
  • No inserte un objeto dentro del objeto customPayload. Los objetos insertados se envían como cadenas literales.
  • Para transmitir datos personalizados desde su agente virtual Dialogflow CX devuelta al l script, usa el campo Carga útil personalizada en la consola Dialogflow CX. Asegúrese de estar en la consola del agente virtual que está usando con CXone. Asigne esto a su script usando la variable customPayloadVarName (out) en la acción Studio de voz o chat en su script. Por ejemplo, puede usar esto para configurar los Comportamientos del siguiente indicador.
  • Los parámetros definidos con customPayload solo se pueden usar en el webhook externo. Si desea establecer parámetros para usar fuera del webhook externo, configúrelos en una acción Snippet con el campo session_params. Por ejemplo:

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

    Accede a los parámetros de la sesión en la DialogflowIntención del agente CX con la siguiente sintaxis:

    $session.params.name = Winnie Le Pooh

    $session.params.job = Food critic

    $session.params.location = 100 Acre Wood

    Los parámetros de sesión solo se utilizan con los agentes virtuales Dialogflow CX. Para lograr un resultado similar con Dialogflow ES, use contextos.

  • Es posible transmitir Sugerencias de contexto de voz con carga útil personalizada en el parámetro speechContexts. El valor de speechContexts.phrases debe ser un token de clase de Google Un cuadrado con una flecha que apunta desde el centro hacia la esquina superior derecha. para la sugerencia que desea ofrecer. El token debe coincidir con el idioma y la configuración regional de sus contactos. Por ejemplo:

    DYNAMIC customPayload
    customPayload.speechContexts.phrases="$OOV_CLASS_ALPHANUMERIC_SEQUENCE"
    customPayload.speechContexts.boost=10		
  • Para configurar cuánto tiempo debe esperar el agente virtual cuando el contacto hace una pausa al hablar, agregue el parámetro maxPostEnergySilenceMS a la acción de Snippet Next Prompt Behaviorso Default Next Prompt Behaviors.

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 se utiliza para pasar el contexto de una intenciónCerrado El significado o propósito detrás de lo que dice/escribe un contacto; lo que el contacto quiere comunicar o lograr. El contexto ayuda al agente virtual a comprender la intención del usuario. Los contextos no son obligatorios, pero ayudan al agente virtual a relacionar un enunciadoCerrado Lo que dice o escribe un contacto. con una intención.
  • En una acción de Snippet en su script, cree un objeto customPayload que siga el formato descrito en la documentación de Google Dialogflow ES Icono que indica que el enlace va a un sitio web externo para recursos REST: projects.agent.sessions.context. La ayuda en línea de Studio ofrece más información sobre los objetos de datos dinámicos.
  • También puede transmitir datos personalizados con customPayload sin contextos. Para hacerlo, incluya pares clave-valor JSON estándar en un objeto dinámico de datos.
  • Los contextos de voz se transmiten en la carga útil personalizada del parámetro speech_contact. Puede ver el contenido de este parámetro en los seguimientos y registros de aplicación de Studio.
  • El objeto dinámico customPayload se transmite como un parámetro de agente virtual en formato JSON, como se observa en el script de ejemplo.
  • Es posible transmitir Sugerencias de contexto de voz con carga útil personalizada en el parámetro speechContexts. El valor de speechContexts.phrases debe ser un token de clase de Google Un cuadrado con una flecha que apunta desde el centro hacia la esquina superior derecha. para la sugerencia que desea ofrecer. El token debe coincidir con el idioma y la configuración regional de sus contactos. Por ejemplo:

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

Tips and Tricks

Si no se puede escuchar el audio de voz entre Centro de Agente Virtual y el agente virtual, revise el rastro del script para ver si hay alguna transcripción. De haberlo, requiere ajustarse el agente virtual Google Dialogflow.

Script Example

Este ejemplo no es un script completo. Se requiere trabajo adicional en el script para usar esta acción.

VoiceBot Exchange actions must be used in a loop. This means that you must use at least two in a script. The first action initiates the call to the virtual agent's API and must be preceded by the Default Next Prompt Behavior Snippet action. The first action is the Welcome Default, which begins the first scripted loop, or one conversational 'turn'.

An example of a script that uses the VoicebotExchange action.

Download this script.

Example Script for CustomPayload with Google Dialogflow ES

Este ejemplo no es un script completo. Se requiere trabajo adicional en el script para usar esta acción.

Este script es un ejemplo de cómo integrar cargas útiles personalizadas con agentes virtuales de Google Dialogflow ES. Este script utiliza la acción Voicebot Exchange, pero también funciona si usa TEXTBOT EXCHaNGE.

Un script de ejemplo donde se observa cómo gestionar una carga útil personalizada con Google Dialogflow CX.

Descarga este script.

Example Script for Alternate Timeout Events

Este ejemplo no es un script completo. Se requiere trabajo adicional en el script para usar esta acción.

Puede usar diferentes eventos de tiempo de espera en diferentes puntos de su script. Por ejemplo, quizá desee utilizar diferentes eventos de tiempo de espera la primera y la segunda vez que se active la propiedadUserInputTimeout . Este script de ejemplo muestra una forma posible de hacer que esto suceda.

En este script, las acciones Snippet se utilizan para crear e incrementar un contador de tiempo límite. Después del segundo tiempo límite, se utiliza una acción Snippet para establecer un evento de tiempo límite distinto. El evento alternativo de tiempo de espera se transfiere desde la acciónSnippet a la acción del voicebot a través de la automatedIntent propiedad.

Descarga este script.