Llamadas entrantes
Configura tu agente para atender llamadas telefónicas de forma autónoma, 24 horas al día, 7 días a la semana.
¿Cómo funcionan las llamadas entrantes?
Cuando alguien llama al número de teléfono asociado a tu agente, Twilio recibe la llamada y notifica a VoiceAgent mediante un webhook HTTP POST. VoiceAgent responde con las instrucciones TwiML necesarias para conectar la llamada al agente de IA a través de un WebSocket de medios en tiempo real.
El flujo completo desde que suena el teléfono hasta que el agente saluda al llamante tarda típicamente menos de 2 segundos.
Llamante marca número
│
▼
Twilio recibe la llamada
│
▼ POST /api/twilio/voice
VoiceAgent responde con TwiML (<Stream>)
│
▼
WebSocket bidireccional establecido
│
▼
Agente pronuncia saludo inicial
│
▼
Bucle de conversación: escucha → STT → LLM → TTS → habla
│
▼
Llamada finalizada (por el usuario, por el agente, o por timeout)Configuración del webhook en Twilio
Para que Twilio notifique a VoiceAgent de las llamadas entrantes, debes configurar la URL de webhook en la consola de Twilio para cada número que desees usar.
Configuración manual en la consola de Twilio
Accede a tu número
Entra en console.twilio.com → Phone Numbers → Manage → Active Numbers. Haz clic en el número que quieres configurar.
Configura el webhook de voz
En la sección "Voice Configuration", encuentra el campo "A CALL COMES IN" y selecciona "Webhook" en el desplegable.
Introduce la URL
Pega la URL del webhook de VoiceAgent y asegúrate de que el método sea HTTP POST.
Configura el status callback
En "Call Status Changes", añade la URL de status. Esto permite a VoiceAgent saber cuándo la llamada termina.
Voice Webhook URL
https://usvoiceagent.com/api/twilio/voiceStatus Callback URL
https://usvoiceagent.com/api/twilio/statusConfiguración automática vía API
Si prefieres automatizar la configuración de webhooks, puedes hacerlo mediante la API de VoiceAgent:
curl -X POST https://usvoiceagent.com/api/agents/{agentId}/configure-twilio \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"phoneNumber": "+12125551234",
"autoConfigureWebhooks": true
}'Configuración automática
Al activar autoConfigureWebhooks: true, VoiceAgent usará las credenciales de Twilio almacenadas en tu cuenta para actualizar los webhooks del número automáticamente. Requiere que hayas guardado tu Account SID y Auth Token en la sección de integraciones.
Personalización del saludo inicial
El saludo inicial es lo primero que escucha el llamante. Debe ser claro, breve y establecer el tono de la conversación. Puedes configurarlo en Agentes → [Tu agente] → Saludo inicial.
Ejemplos de saludos efectivos
Soporte técnico
"Hola, has llamado al soporte técnico de TuEmpresa. Soy tu asistente virtual. ¿Cuál es el motivo de tu llamada?"Clínica médica
"Bienvenido a la Clínica Salud. Puedo ayudarte a agendar, cancelar o reprogramar una cita. ¿Qué necesitas?"E-commerce
"Hola, soy el asistente de MiTienda. Estoy aquí para ayudarte con pedidos, devoluciones o consultas de producto. ¿En qué puedo ayudarte?"Variables dinámicas en el saludo
Puedes usar variables que VoiceAgent reemplaza automáticamente en el saludo:
| Variable | Descripción | Ejemplo |
|---|---|---|
{{hora_del_dia}} | Buenos días / tardes / noches según la hora | Buenos días |
{{nombre_agente}} | Nombre del agente configurado | Sofía |
{{nombre_empresa}} | Nombre de tu empresa | TuEmpresa S.L. |
{{numero_llamante}} | Número de teléfono del llamante | +34600000000 |
Flujo de la conversación
VoiceAgent gestiona el estado de la conversación de forma automática. El agente:
Detecta el fin de turno
Usando el modelo de detección de end-of-utterance del STT, el agente sabe cuándo el usuario ha terminado de hablar y procede a generar la respuesta.
Gestiona interrupciones
Si el usuario habla mientras el agente está respondiendo (barge-in), el agente detiene inmediatamente su respuesta y procesa el nuevo input.
Maneja el silencio
Si el usuario no habla durante más de 8 segundos, el agente pronuncia un mensaje de cortesía ("¿Sigues ahí?"). Tras 20 segundos sin respuesta, la llamada se cierra amablemente.
Registra la conversación
Cada turno de la conversación se almacena en tiempo real: transcripción, respuesta del agente, timestamps y métricas de confianza del STT.
Transferencia a agente humano
Puedes configurar condiciones bajo las cuales el agente transfiere la llamada a un humano. Esto se hace en las instrucciones del sistema indicando al LLM cuándo usar la herramientatransfer_call:
// En las instrucciones del sistema del agente:
"Si el usuario pregunta por hablar con un humano, si está muy frustrado,
o si la consulta supera tu conocimiento, usa la herramienta transfer_call
para transferir la llamada al número +34912345678."Aviso sobre transferencias
Las transferencias de llamadas consumen minutos de tu plan tanto para la llamada original como para la llamada de transferencia. Asegúrate de tener suficientes minutos disponibles o activar el recargo por minuto adicional en la configuración de tu plan.