Intercambio VoiceBot

Integra un agente virtualClosed 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.

Esta acción es para agentes virtuales complejos o cuando necesite personalizar el comportamiento del agente virtual de un turno a otro.

Voicebot Exchange supervisa la conversación entre el contacto y el agente virtual de un turno a otro. Envía cada enunciadoClosed Lo que dice o escribe un contacto. al agente virtual. El agente virtual analiza el enunciado para detectar la intenciónClosed 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 devuelve la respuesta del agente virtual al contacto. Cuando la conversación ha finalizado, la acción continúa el script.

Voicebot Exchange es la acción preferida para su uso 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 SIPClosed 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 Virtual Agent Hub, donde podrá gestionar todos sus agentes virtuales.

Dependencias

  • 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.

Tipos de scripts compatibles

El icono del tipo de secuencia de comandos Teléfono: un teléfono de estilo antiguo con líneas curvas que indican que sale sonido.
Teléfono

Comparación de acciones Studio similares

La acción Voicebot Conversation es similar a esta acción pero solo es adecuada 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 posterior SIP, debe usar Voicebot Conversation.

Textbot Conversation y Textbot Exchange también son similares, proporcionando las mismas funciones que Voicebot Conversation y Voicebot Exchange, pero para interacciones de texto.

Agentes virtuales compatibles

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 Virtual Agent Hub. 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 los detalles de la configuración en la página de ayuda del proveedor de agentes virtuales que esté usando.

Propiedades

Algunas propiedades requieren una acción Snippet. La sección Código de acción de fragmento de esta página tiene información sobre el código requerido. Para obtener información sobre otros fragmentos que puedan ser útiles, consulte la página de ayuda de la acción Snippet.

Propiedad Detalles
virtualAgentID El nombre del agente virtual seleccionado en el Virtual Agent Hub. Cuando asigna una aplicación de agente virtual a una acción Studio en Virtual Agent Hub, 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 Virtual Agent Hub.
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 CRMClosed 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 nextPromptSequenceVarName (out) y el método asJSON(). Usted también puede convertir el nextPromptSequenceVarName (out) a JSON en una acción Snippet.

nextPromptBehaviors

Especifica la configuración y el comportamiento del siguiente aviso en una conversación. Defina los comportamientos que desee ver usando una acción Snippet y 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 Comportamientos del Siguiente Mensaje, ingresaría {nextPromptBehaviorsOutjson} para esta propiedad.

botSessionState

El proveedor del agente virtual asigna un único identificador a cada conversación entre un contacto y un agente virtual. El identificador evita que se cree una nueva sesión por cada turno de 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 menciona en la botSessionStateVarName (out) propiedad de esta acción. Luego pasa el identificador a la propiedad botSessionState.

Debe configurarse correctamente esta propiedad para que funcione correctamente su agente virtual. Hay más información disponible sobre cómo configurarlo en la página de ayuda del Snippet de estado de la sesión del bot.

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.

Ramas

Rama Detalles
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 Ruta tomada si el bot indicó que la conversación terminó y devuelve el control alStudio script para transferir o finalizar la llamada. Puede haber datos de cumplimiento a ser procesados en el resultado customPayload.
OnDTMFBreakout

Ruta tomada cuando se cumplió una regla DTMFClosed 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 Virtual Agent Hub 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 tomada cuando el bot no comprende la respuesta del contacto o cuando se agota el tiempo de espera del contacto.

Variables de salida

Variable Detalles
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.

Código de acción de fragmento

Algunas de las propiedades de esta acción requieren una acción Snippet con código personalizado. Puede seguir estos ejemplos al crear su script:

Prácticas recomendadas para cargas útiles personalizadas conGoogle Dialogflow CX

Al usar esta acción conGoogle Dialogflow CX siga estas prácticas recomendadas para integrar cargas útiles personalizadas:

  • Dialogflow CX no usa contextos para pasar datos a DialogflowintencionesClosed 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 Snippet en su script, cree un objeto de customPayload DYNÁMICA y agregue los pares clave-valor. Por ejemplo:

    DYNAMIC customPayload
    customPayload.ani = ani
    customPayload.contactID = contactId
    customPayload.masterContactId = masterId
    customPayloadJSON = "{customPayload.asJSON()}"	
  • En la acción Intercambio o Conversación de su script, configure la propiedad customPayload con una variable que tenga el método asJSON() en su valor. Puede encontrar esta variable en el objeto customPayload.
  • Transmita el JSON de customPayload al bot usando la propiedad Payload de QueryParameters. Consulte la documentación de Google en Parámetros de consulta por 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.
  • 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 su bot de voz o chatbot 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 lePooh

    $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.

  • Para configurar cuánto tiempo espera el agente virtual cuando el contacto hace una pausa mientras habla, agregue el parámetro maxPostEnergySilenceMS a la acción Snippet nextPromptBehaviors o defaultNextPromptBehavior.

Prácticas recomendadas para cargas útiles personalizadas conGoogle Dialogflow ES

Al usar esta acción conGoogle Dialogflow ES, siga estas prácticas recomendadas para integrar cargas útiles personalizadas:

Ejemplo de script usandoIntercambio de VoiceBot

Deben usarse en un ciclo las acciones VoiceBot Exchange. Esto significa que debe usar al menos dos en un script. La primera acción inicia la llamada a la API del agente virtual y debe estar precedida por la acción Snippet del Comportamiento predeterminado del siguiente aviso. La primera acción es el valor predeterminado de bienvenida, que comienza el primer bucle con guion, o un "turno" conversacional.

Un ejemplo de un script que usa la acción de Intercambio de Voicebot.

Descarga este script.

Script de ejemplo para CustomPayload conGoogle Dialogflow ES

Este script es un ejemplo de cómo integrar cargas útiles personalizadas agentes virtuales Google Dialogflow ES. Este script utiliza la acción VoicebotExchange , pero el proceso de integrar la carga útil personalizada es el mismo.

Descargue este script.

Script de ejemplo para eventos de tiempo de espera alternativos

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.