https://d226lax1qjow5r.cloudfront.net/blog/blogposts/how-to-switch-bot-human-via-text-channel-on-the-ai-studio/ai-studio_live-agent-switch.png

Cómo cambiar Bot <> Humano a través del canal de texto en AI Studio

Publicado el December 15, 2022

Tiempo de lectura: 6 minutos

Vonage AI Studio ofrece a las empresas una plataforma de IA conversacional de bajo código y sin código para gestionar interacciones complejas con los clientes.

Independientemente del flujo de conversación que esté creando, es posible que desee añadir la posibilidad de que los representantes humanos intervengan y tomen el control si es necesario. Como antiguo diseñador de conversaciones, instamos encarecidamente a todas las empresas a que añadan esta opción de escalado a sus flujos de conversación. Permitir una opción alternativa elegante para apoyar los casos en que el agente no pueda manejar la consulta del usuario o el usuario final solicite hablar con un humano es crucial para mantener un Net Promoter Score saludable y la satisfacción general del cliente.

Escalada en los canales de voz frente a los de texto

En el canal Voice, la conversación puede transferirse mediante la nota "Enrutar llamada". En los canales de texto como WhatsApp y HTTP, podemos contactar con un representante humano mediante el botón "Agente en directo". En esta entrada de blog, aprenderá a transferir la conversación a un representante humano utilizando slack.

En agente en directo permite a sus usuarios finales interactuar con agentes en directo sin tener que abandonar la conversación; el agente en directo también tendrá información sobre en qué consistía la conversación antes de que se activara el enrutamiento del agente en directo. Puede hacer un seguimiento de toda la conversación en los informes de AI Studio para optimizar el rendimiento de su agente.

Live Agent RoutingLive Agent Routing

Integración en Slack - Así funciona

Tenga en cuenta que esta demostración sólo admite una sesión a la vez.

Lo primero que tenemos que hacer es crear nuestro agente virtual en el estudio. Crearemos un agente para la empresa ficticia de electrónica 'Awesome Internet Support' en el canal de WhatsApp. El agente virtual ayudará al usuario final con su caso. Cuando el VA se dé cuenta de que se necesita soporte profesional, dirigirá la conversación al equipo de soporte. Ellos se comunicarán con el cliente a través de Slack, mientras que el propio cliente permanecerá en la misma conversación de WhatsApp.

Después de crear el flujo del Agente Virtual y utilizarlo para saludar al cliente e iniciar la conversación, añadimos el punto de salida para el enrutamiento del Agente en Directo. De esta forma, llamamos al nodo Live Agent.

The Virtual Agent Flow so farThe Virtual Agent Flow so far

Aquí es donde entra en juego el nodo Agente en Vivo. Usamos este nodo para comunicarnos con el agente en vivo. Hay dos URLs webhook requeridas que necesita rellenar. Los otros puntos finales permanecerán como están. Ignoraremos el endpoint de entrega de estado en este blog.

Live AgentLive Agent

¿Cuáles son estos puntos finales?

Como se mencionó, el nodo de agente en vivo es un nodo genérico que le permite conectarse a cualquier tercero, debido a eso, usted tendrá que construir el conector entre AI Studio y su tercero (en nuestro caso, Slack). Por lo tanto, construimos un conector que es capaz de enrutar la solicitud de inicio de conversación, y las solicitudes de mensajes de entrada (de su cliente al representante en vivo), y también es capaz de enviar las solicitudes de mensajes de salida (de su representante en vivo a su cliente) y terminar la conversación.

Endpoint flowEndpoint flow

¿Cómo lo hemos hecho?

En primer lugar, vamos a crear el conector. Para esta demo, hemos utilizado el framework Nest.JS para construir fácilmente la API del conector. Construimos dos endpoints para manejar las peticiones del estudio -

Code for Start and Message EndpointCode for Start and Message Endpoint

Ambos son Post endpoints, y extraemos la información que necesitamos de cada uno de ellos. El cuerpo del endpoint de inicio contiene información como el id de sesión, toda la transcripción de la conversación hasta el momento, todos los parámetros del sistema, y también otros parámetros que elegiste del cajón de agente en vivo.

En el endpoint del mensaje, también obtendremos el id de sesión, y el mensaje (en nuestro caso esperamos sólo texto, así que tomamos inmediatamente el campo de texto, pero también podría ser un enlace a cualquier archivo multimedia).

En el siguiente paso, transferiremos los datos de nuestro conector a slack.

Para ello, seguimos la documentación de la API de slack aquí. Para nuestra demostración básica, creamos una nueva aplicación en slack y utilizamos las funciones de Incoming Webhooks para enviar mensajes a nuestra aplicación de slack:

Slack PermissionsSlack Permissions

Enrutamos el webhook a un canal de slack que creamos ( vgai-live-agent-test ) - y llamamos a este webhook desde nuestro conector, lo hicimos como resultado de la petición de iniciar conversación y también para las peticiones de mensajes entrantes. Debería verse algo así

Route the WebHook to a ChannelRoute the WebHook to a Channel

El texto es el mensaje que quieres enviar.

Para que el representante en directo pueda gestionar la conversación con el cliente y comunicarse con él mediante slack, hemos añadido una nueva función a la aplicación de slack y hemos creado comandos de slack. Uno para enviar mensajes, y el segundo para cerrar la conversación del cliente con el representante en vivo.

Create a New CommandCreate a New Command

Añadimos dos puntos finales más al conector:

An Additional 2 EndPointsAn Additional 2 EndPoints

  • El punto final slack/message está conectado al comando /vgai-message.

  • El punto final de slack/end está conectado al comando /vgai-complete.

En esta demo, enviamos mensajes de texto al usuario, por lo que debería tener este aspecto:

Send Text Messages back to the UserSend Text Messages back to the User

Ahora después de que hicimos la integración para iniciar la conversación y enviar mensajes del cliente al representante en vivo:

Integration 1Integration 1

Y también conseguimos enviar mensajes de vuelta al cliente y cerrar la conversación:

Integration 2Integration 2

Ahora podemos probarlo de extremo a extremo

El cliente se queja del wifi y la VA decide que se necesita apoyo informático profesional:

Customer ScenarioCustomer Scenario

En este punto, el Nodo de Agente en Vivo, dispara el endpoint de inicio de conversación del conector. El conector dispara un webhooks a la aplicación slack, el representante en vivo es capaz de ver la conversación con la VA, y cualquier información adicional que queramos elegir:

TranscriptionTranscription

Ahora el representante en directo podrá comunicarse con el cliente utilizando el comando /vgai-message

Live Representative CommunicatingLive Representative Communicating

Y el cliente recibirá el mensaje en su canal de WhatsApp:

WhatsApp Message that the customer will receiveWhatsApp Message that the customer will receive

Y ambos podrán comunicarse entre sí, utilizando sus propios canales:

Communicating with their own channelsCommunicating with their own channels

Communicating with their own channels part 2Communicating with their own channels part 2

Ahora, en el momento en que el representante en vivo ejecute el comando /vgai-complete, cerrará la conexión y la VA podrá retomar el control:

Live Representative running the commandLive Representative running the command

El VA que toma el control de la conversación:

VA taking control of the conversationVA taking control of the conversation

Toda la conversación puede grabarse y visualizarse con fines de optimización en la pestaña Informes de llamada de AI Studio.

Everything can be recorded in AI StudioEverything can be recorded in AI Studio

Tres consejos Pro más antes de irnos:

  1. Ajustes adicionales en el nodo de agente en directo: Additional settings in the live agent nodeAdditional settings in the live agent node

    • Elija si queremos mostrar la conversación con el Agente en Vivo

    • Elija qué parámetros queremos transferir el conector en el punto final de la conversación de inicio

    • Configurar cuánto tiempo vamos a esperar a la respuesta del agente en vivo

  2. Práctica recomendada - Asegúrese de notificar al usuario final que está siendo redirigido a un agente en directo antes de cederle la conversación. Puede hacerlo utilizando el nodo Nodo Enviar Mensaje.

  3. Si desea enviar contenido multimedia al agente en directo sólo puede hacerlo a través del canal de WhatsApp. Consulte a continuación la lista de tipos de medios de soporte:

    • Imágenes - jpg, jpeg y png.

    • Audio - aac, m4a, amr, mp3 y opus

    • Video - mp4 y 3gpp. (Nota, solo se admite el códec de vídeo H.264 y el códec de audio AAC).

    • Ficheros - zip, csv y pdf.

Para obtener más información sobre los tipos de soporte compatibles, visite esta página.

¿Tan emocionado como nosotros? Visita AI Studio para añadir este nodo a tu flujo.

Si tienes preguntas o comentarios, únete a nosotros en el Slack para desarrolladores de Vonage o agrega tus comentarios a través de AI Studio. Gracias por leer y ¡feliz exploración!

Compartir:

https://a.storyblok.com/f/270183/400x400/4daed9a53c/luisa-onnebrink.png
Luisa Onnebrink

With over 5 years of experience in Conversation Design, Luisa deployed hundreds of conversational AI projects for Vonage AI. Now a Product Education Manager for the AI Studio, she's trying to turn everyone into AI enthusiasts by educating them on the capabilities and benefits of the product.