Docs
Llamadas

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

1

Accede a tu número

Entra en console.twilio.com → Phone Numbers → Manage → Active Numbers. Haz clic en el número que quieres configurar.

2

Configura el webhook de voz

En la sección "Voice Configuration", encuentra el campo "A CALL COMES IN" y selecciona "Webhook" en el desplegable.

3

Introduce la URL

Pega la URL del webhook de VoiceAgent y asegúrate de que el método sea HTTP POST.

4

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/voice

Status Callback URL

https://usvoiceagent.com/api/twilio/status

Configuració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:

VariableDescripciónEjemplo
{{hora_del_dia}}Buenos días / tardes / noches según la horaBuenos días
{{nombre_agente}}Nombre del agente configuradoSofía
{{nombre_empresa}}Nombre de tu empresaTuEmpresa 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.