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.

Si desea configurar irrumpir o no entrar, se requieren scripts adicionales.

Al hacer doble clic en esta acción, abre la Centro de Agente Virtual, 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 secuencias de comandos compatible

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

Teléfono

Comparación de acciones similares

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

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

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

Propiedades de entrada

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.

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

Propiedades de salida

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.

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

Condiciones de la rama de resultados

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 Ruta adoptada si el agente virtual indicó que terminó la conversación y devuelve el control al script Studio para transferir o finalizar la llamada. Puede haber datos de cumplimiento por procesarse en el resultado customPayload.
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.

Se requiere de código de acción para el SNIPPET

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

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

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:

  • 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		

Consejos y trucos

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.

Ejemplo de secuencia de comandos

Este es un ejemplo para demostrar cómo se puede utilizar esta acción en los scripts. No pretende ser un script completo. Quizá se requieran scripts adicionales.

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 es un ejemplo para demostrar cómo se puede utilizar esta acción en los scripts. No pretende ser un script completo. Quizá se requieran scripts adicionales.

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.

Script de ejemplo para eventos de tiempo de espera alternativos

Este es un ejemplo para demostrar cómo se puede utilizar esta acción en los scripts. No pretende ser un script completo. Quizá se requieran scripts adicionales.

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.