Integrar voz, SMS y chat en un solo asistente virtual ya no requiere infraestructuras complejas. Con Watson Voice Agent, es posible conectar Watson Assistant, Speech to Text y Text to Speech en un único servicio que además incorpora un proveedor SIP para recibir llamadas y mensajes de texto, logrando una experiencia verdaderamente omnicanal.
¿Qué es Watson Voice Agent y por qué habilita un omnicanal real?
Watson Voice Agent es un servicio de IBM Cloud que agrupa tres capacidades fundamentales: Speech to Text (convertir voz en texto), Text to Speech (convertir texto en voz) y Watson Assistant (el chatbot conversacional). A esto se suma la conectividad SIP, que permite vincular un número telefónico para interactuar con el asistente mediante llamadas o SMS [0:20].
El resultado es que un mismo chatbot puede atender usuarios desde una interfaz web, una llamada telefónica o un mensaje de texto, sin duplicar lógica ni flujos de diálogo.
¿Cómo preparar la cuenta de IBM Cloud antes de crear el agente?
Las cuentas light de IBM Cloud tienen un límite de cuatro servicios activos. Para este ejercicio se necesitan exactamente cuatro: Watson Assistant, Speech to Text, Text to Speech y el propio Voice Agent. Por eso es necesario eliminar cualquier otro servicio que ocupe espacio [1:05].
- Ir a Resource List en la esquina superior izquierda.
- Seleccionar los servicios sobrantes.
- Dar clic en los tres puntos y elegir Delete.
Una vez liberado el espacio, se busca Voice Agent en el catálogo de IBM Cloud. El plan light permite hasta dos llamadas simultáneas, cien minutos de voz y cien SMS [1:50].
¿Cómo se configura el agente de voz paso a paso?
Dentro del servicio creado, en la pestaña Manage, se da clic en Create an agent y se elige el tipo de interacción: voz, SMS o ambos [2:30].
La configuración requiere vincular cada servicio existente:
- Conversation: se selecciona la instancia de Watson Assistant y el skill previamente creado.
- Speech to Text: se elige la instancia y el modelo de idioma, por ejemplo, español mexicano narrowband o broadband [3:10].
- Text to Speech: se selecciona la voz deseada, en este caso la voz de Sofía [3:30].
Un detalle importante es que Voice Agent también soporta servicios de terceros como el Speech to Text de Google, ofreciendo flexibilidad en la arquitectura [3:45].
¿Cómo obtener un número telefónico con Twilio para conectar el agente?
Twilio actúa como proveedor SIP y proporciona el número telefónico necesario. Tras crear una cuenta gratuita y verificar el número personal, se obtiene un trial number sin costo [4:15].
Ese número se copia y se pega en el campo phone number del agente en Watson Voice Agent. Pero falta un paso crucial: crear un SIP Trunk en Twilio [5:30].
- En Twilio, ir a Elastic SIP Trunking y crear un nuevo trunk.
- En la sección Numbers, asociar el número gratuito.
- En Origination, agregar la URI que aparece en la página Getting Started de Watson Voice Agent [6:15].
Este enlace es el que conecta Twilio con el agente, completando el binding entre ambas plataformas.
¿Cómo se prueba el asistente por voz y se configura el cálculo dinámico?
Al marcar el número, el asistente responde con las intenciones entrenadas. En la demostración, se utiliza la intención cotizar junto con una entidad de destino como "Yucatán" [7:00].
Para agregar un nuevo destino basta con crear la entidad con sus sinónimos y configurar el flujo de diálogo con una respuesta que incluya el cálculo dinámico. Por ejemplo, si el tour a Yucatán cuesta dos mil pesos y el usuario pide dos, el asistente calcula y responde: "la cotización es de cuatro mil pesos" [8:20].
Es importante que el flujo contemple el orden en que el usuario proporciona los datos; si primero dice el destino y luego la cantidad, el diálogo debe manejar ambas secuencias.
¿Cómo desplegar el asistente en una interfaz web pública?
Desde Watson Assistant, se crea un nuevo asistente, se habilita el preview link y se asocia el dialogue skill correspondiente [9:40]. El enlace generado es público y accesible desde cualquier navegador, lo que significa que el mismo bot que atiende llamadas también puede compartirse como un chat web.
- Crear asistente con nombre descriptivo.
- Habilitar enable preview link.
- Agregar el dialogue skill existente.
- Compartir el enlace con quien se desee.
Con esto, un único flujo conversacional sirve para tres canales simultáneos: interfaz web, llamada telefónica y SMS. La invitación es entrenar el asistente con más intenciones y entidades para enriquecer las conversaciones desde cualquiera de estos medios.