Blog
IA & Machine Learning · 14 min lectura

Voz IA Conversacional De IVR Robóticos a Conversaciones Naturales

Cómo Cadences conecta Twilio, ElevenLabs y Durable Objects para crear agentes de voz que mantienen conversaciones telefónicas naturales en 28+ idiomas — con contexto de negocio en tiempo real.

"Pulse 1 para ventas, 2 para soporte, 3 para facturación…" Todos hemos sufrido un IVR. Menús interminables, reconocimiento de voz que falla el 40% de las veces, y una sensación de frustración que empieza antes de hablar con alguien. La voz IA conversacional de Cadences elimina todo eso: un agente de inteligencia artificial contesta la llamada, entiende lo que dices, consulta tu historial en tiempo real y responde con voz natural en el idioma que prefieras.

📞

El dato clave

Las empresas que adoptan voz IA conversacional reportan una reducción del 60% en tiempos de espera y un aumento del 35% en satisfacción del cliente. En Cadences, el agente de voz puede atender llamadas 24/7 sin tiempo de setup — basta con configurar el prompt y conectar un número de teléfono.

El Problema

IVR Tradicional vs. Voz IA

La diferencia fundamental no es solo tecnológica — es de experiencia. Un IVR es un árbol de decisiones fijo; un agente de voz IA es una conversación abierta con acceso a datos en tiempo real.

Aspecto IVR Tradicional Voz IA en Cadences
Interacción "Pulse 1, 2 o 3" Conversación libre
Comprensión Palabras clave fijas NLU contextual completo
Voz Robótica / grabada IA neural clonada, 28+ idiomas
Contexto Ninguno CRM + historial + pipeline
Interrupciones No soporta Detección y respuesta natural
Idiomas 1-2 pregrabados 28+ automáticos vía modelo multilingüe
Setup Semanas de grabación Un prompt + número telefónico
Arquitectura

El Triángulo: Twilio ↔ Durable Object ↔ ElevenLabs

La voz IA en Cadences funciona como un puente en tiempo real entre tres sistemas. No hay intermediarios de polling ni colas de procesamiento — todo ocurre por WebSocket bidireccional con latencia inferior a 500ms.

📱

Twilio

Red telefónica global. Recibe la llamada, convierte audio a stream digital vía Media Streams.

🧠

Durable Object

Bridge WebSocket en Cloudflare. Mantiene estado de la sesión, traduce formatos entre Twilio y ElevenLabs.

🎙️

ElevenLabs

Conversational AI. Speech-to-text, razonamiento LLM, y text-to-speech con voz neural clonada.

1

Llamada entrante → Twilio

Un cliente llama al número configurado. Twilio genera un webhook con los datos de la llamada (From, To, CallSid) y ejecuta el TwiML con <Connect><Stream> para iniciar un Media Stream por WebSocket.

2

Stream → Durable Object

El WebSocket de Twilio conecta al ElevenLabsMediaStream Durable Object. Al recibir el evento start, el DO extrae parámetros personalizados (agentId, idioma, contexto, primer mensaje) y establece conexión con ElevenLabs vía Signed URL.

3

Audio bidireccional en tiempo real

Cada chunk de audio del cliente (media event) se reempaqueta como user_audio_chunk y se envía a ElevenLabs. La respuesta de audio del agente llega como base64 y se reenvía a Twilio como media payload. El cliente escucha la voz del agente sin percibir delay.

4

Interrupciones inteligentes

Si el usuario habla mientras el agente responde, ElevenLabs envía un evento interruption. El DO inmediatamente envía un clear a Twilio para vaciar el buffer de audio, y el agente reformula su respuesta. Esto crea una conversación natural sin "pisarse".

5

Fin de llamada → Cleanup

Al colgar, Twilio envía stop. El DO cierra ambos WebSockets, libera recursos y el Durable Object vuelve a hibernar. Coste: solo por los segundos de conversación activa.

Configuración

TwiML: Conectando la Llamada al Agente

Cuando Twilio recibe una llamada, ejecuta un webhook que genera TwiML dinámico. Este XML le dice a Twilio que, en lugar de reproducir un IVR, abra un Media Stream por WebSocket hacia el Durable Object, inyectando contexto del negocio como parámetros:

TwiML generado dinámicamente
<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Connect>
    <Stream url="wss://cadences.app/api/elevenlabs/media-stream">
      <Parameter name="agentId"    value="agent_abc123" />
      <Parameter name="language"   value="es" />
      <Parameter name="callerName" value="María García" />
      <Parameter name="contextPrompt"
                value="Clínica dental. Paciente con cita el 15/02. Tratamiento: ortodoncia." />
    </Stream>
  </Connect>
</Response>

Fíjate en el parámetro contextPrompt: aquí es donde inyectas la información de negocio. El agente de ElevenLabs recibe este contexto antes de la primera palabra y puede usarlo durante toda la conversación. "Buenos días María, veo que tiene una cita de ortodoncia el 15 de febrero. ¿En qué puedo ayudarle?"

Contexto Dinámico

Variables Dinámicas y Contexto de Negocio

Lo que convierte a un agente de voz genérico en uno realmente útil es el contexto. El Durable Object envía un mensaje de inicialización a ElevenLabs con la configuración de la conversación y las variables dinámicas del llamante:

Inicialización de conversación (DO → ElevenLabs)
// Mensaje enviado al conectar con ElevenLabs
const initMessage = {
  type: 'conversation_initiation_client_data',
  conversation_config_override: {
    agent: {
      language: 'es',
      prompt: {
        prompt: contextPrompt  // Contexto de negocio
      },
      first_message: 'Hola María, bienvenida a Clínica Dental...'
    }
  },
  dynamic_variables: {
    caller_number: '+34612345678',
    caller_name:   'María García',
    call_sid:      'CA1234567890abcdef',
    workflow_id:   'wf_cita_dental'
  }
};

Las variables dinámicas permiten que un mismo agente de voz se comporte de forma diferente según quién llama. Si el CRM dice que María tiene una factura pendiente, el agente lo sabe antes de que ella pregunte.

Catálogo de Voces

Voces Neurales y Personalización

Cadences incluye un catálogo de voces configurables con control fino sobre estabilidad, expresividad y similitud. El modelo eleven_multilingual_v2 permite que la misma voz hable español, inglés, francés o japonés sin cambiar de perfil.

👩

Cristina

Voz predeterminada

Voz femenina profesional en español nativo. Ideal para atención al cliente y consultas médicas. Clara y empática.

👨

Mario Osborne

Español

Voz masculina profesional y clara. Perfecta para comunicaciones corporativas y tutoriales.

🌎

Mario

Español Latinoamericano

Voz cálida y amigable en español de Latinoamérica. Se adapta automáticamente al contexto regional.

🌍

Voces multilingüe

28+ idiomas

Inglés (US/UK/AU), portugués, francés, alemán, italiano, japonés, coreano, chino y más. Todo con el mismo modelo neural.

Parámetro Rango Default Efecto
Stability 0 – 1 0.50 Mayor = voz más consistente, menor = más expresiva
Similarity Boost 0 – 1 0.75 Mayor = más fiel a la voz original clonada
Style 0 – 1 0.00 Nivel de expresividad (solo modelos avanzados)
Speaker Boost on/off on Mejora claridad de voz (recomendado activado)
API para Storefronts

Llamadas Salientes desde tu Aplicación

Además de llamadas entrantes, Cadences permite iniciar llamadas salientes desde cualquier storefront vía API. Una clínica puede automatizar recordatorios de citas, un e-commerce puede confirmar pedidos, o un equipo de ventas puede hacer seguimiento — todo con voz IA personalizada.

POST /api/storefront/voice-call
POST /api/storefront/voice-call

{
  "phoneNumber": "+34612345678",
  "cadences_prompt": "Recuerda a María su cita de ortodoncia mañana a las 10:00. Pregunta si confirma o desea cambiar fecha.",
  "callType": "reminder",
  "metadata": {
    "patientId": "pat_001",
    "appointmentId": "apt_2025_0215",
    "organizationId": "org_clinica23"
  }
}

// Respuesta
{
  "success": true,
  "callId": "call_1705312800",
  "conversationId": "conv_abc123",
  "status": "initiated"
}

El proxy se encarga de la autenticación con ElevenLabs y Twilio — tu storefront nunca expone las API keys. La llamada se registra en D1 con el ID de conversación para posterior seguimiento.

🔐

Seguridad del proxy

Las credenciales de ElevenLabs (xi-api-key) y el ID de número telefónico de Twilio viven exclusivamente en las variables de entorno del Worker. El storefront solo envía el prompt y los metadatos de negocio — sin acceso a claves de API.

Multilingüe

28+ Idiomas con un Solo Modelo

Gracias al modelo eleven_multilingual_v2, la misma voz puede hablar en cualquiera de estos idiomas sin necesidad de configurar voces separadas. Basta con cambiar el parámetro language en la configuración del agente.

🇪🇸

Español (ES/MX/AR)

🇺🇸

English (US/UK/AU)

🇧🇷

Português (BR/PT)

🇫🇷

Français

🇩🇪

Deutsch

🇮🇹

Italiano

🇯🇵

日本語

🇰🇷

한국어

Casos de Uso

Dónde Brilla la Voz IA

🏥

Clínicas y consultas

Recordatorios de citas, confirmaciones automáticas, instrucciones pre-operatorias. El agente conoce los datos del paciente y puede reagendar en el acto.

🛒

E-commerce

Confirmación de pedidos, estado de envío, gestión de devoluciones. "Su pedido #4521 fue enviado ayer, lo recibirá mañana entre 10 y 14h."

💼

Ventas y seguimiento

Follow-up automatizado después de demos, calificación de leads por teléfono, y scheduling de reuniones. Con datos del CRM integrados.

🎧

Soporte técnico 24/7

Resolución de problemas comunes, escalamiento inteligente a humanos cuando el agente detecta que no puede resolver, y encuestas de satisfacción post-llamada.

Audio Hub

Aplicación de Escritorio para Gestión de Audio

Además de la telefonía, Cadences incluye Audio Hub: una aplicación de escritorio Electron para generar, previsualizar y gestionar contenido de audio con IA. Text-to-Speech en batch, clonación de voz, y exportación en múltiples formatos — todo conectado a la misma infraestructura de ElevenLabs.

TTS en batch

Genera cientos de clips de audio desde una hoja de cálculo o lista de textos.

Preview antes de publicar

Escucha cada clip, ajusta parámetros y regenera antes de usar en producción.

Caché inteligente

Caché de 7 días, máximo 50 MB. Evita re-generar clips que ya existen.

Límites y Seguridad

Controles de Producción

La voz IA tiene controles estrictos para evitar abusos y controlar costes. Cada parámetro es configurable por organización.

Control Valor default Propósito
Texto máximo 5,000 caracteres Evitar prompts excesivos en TTS
Grabación máxima 180 seg (3 min) Limitar duración de grabación de usuario
Rate limit 10 req/min Proteger contra abuso de API
Formato audio MP3 44100 128kbps Balance calidad/tamaño
Caché 7 días, 50 MB Reutilizar audio generado
Teléfono Formato +E.164 Validación estricta de números
Coste

Modelo de Costes: Solo Pagas lo que Usas

La infraestructura de voz IA en Cadences funciona con un modelo serverless puro. No hay servidores encendidos 24/7, no hay mínimas mensuales de infraestructura. La factura se compone de tres elementos:

📱

Twilio

Coste por minuto de llamada según destino. Media Streams incluido. Típicamente $0.013 - $0.022/min para llamadas nacionales.

🎙️

ElevenLabs

Coste por caracteres generados. El plan Scale incluye Conversational AI. La voz neural avanzada permite conversaciones naturales sin coste de setup.

☁️

Cloudflare Durable Objects

Coste marginal por duración de WebSocket activo. El DO hiberna entre llamadas — sin coste cuando no hay conversaciones activas.

Conclusión

La Voz como Interfaz de Primera Clase

La voz IA conversacional en Cadences no es un feature secundario — es una interfaz de primera clase al mismo nivel que el dashboard web o la API REST. Un agente de voz tiene acceso al mismo CRM, al mismo pipeline, a los mismos datos que cualquier otro punto de entrada al sistema.

La combinación de Twilio (red telefónica global), un Durable Object como bridge inteligente, y ElevenLabs (voz neural en 28+ idiomas) crea un stack de voz que es simultáneamente potente y simple de configurar. No necesitas ingenieros de telefonía, no necesitas grabar prompts de IVR, no necesitas contratar un call center.

🎙️

Resumen técnico

  • Twilio Media Streams + Durable Objects + ElevenLabs Conversational AI
  • WebSocket bidireccional con latencia sub-500ms
  • 28+ idiomas con modelo multilingüe, misma voz
  • Contexto de negocio inyectado en tiempo real desde CRM
  • Interrupciones naturales con auto-clear de buffer
  • API de llamadas salientes para storefronts sin exponer credentials
  • Audio Hub desktop para gestión batch de TTS
  • Modelo serverless: pagas solo por conversaciones activas
C

Cadences Engineering

Documentación técnica del equipo de ingeniería