Saltar al contenido

Atención al cliente · Agente de voz con IA

Recepcionista telefónica por voz

Nexo es un prototipo de laboratorio para atender por voz las llamadas entrantes de un negocio con cita previa. Su objetivo es comprobar con datos qué combinación de modelo, voz y detección de turnos suena natural en español de España antes de conectar un número real.

Tipo
Laboratorio I+D
Sector
Atención al cliente
Solución
Agente de voz con IA
Periodo
Desde octubre de 2026
Estado
Prototipo MVP privado, sin llamadas telefónicas reales
Datos de demostración Laboratorio de voz con el formulario para elegir asistente, voz, modelo, escenario y duración, una frase de prueba sugerida y el panel para iniciar la conversación de prueba.

Resumen ejecutivo

Prototipo de recepcionista por voz que atiende, consulta horarios, reserva citas y compara tres proveedores de voz con el mismo negocio y conocimiento.

Nexo es una aplicación privada para configurar una recepcionista por voz: datos del negocio, horarios, documentos de conocimiento, contactos, agenda e historial de conversaciones. El asistente consulta disponibilidad, reserva citas sin solapes y deja mensajes mediante una herramienta remota firmada. Un laboratorio prueba en el navegador el mismo asistente con ElevenLabs, Retell y Cartesia, y una versión B propia sobre LiveKit Agents. Hay ensayos hablados de prueba con los tres servicios, pero no se ha hecho ninguna llamada telefónica real ni se ha contratado ningún número.

El reto

  1. Una recepcionista por voz solo sirve si no se nota artificial: respeta los turnos, deja que la interrumpan y no cierra cada frase con «¿algo más?».

  2. Cada proveedor de voz tiene su modelo, sus voces, su forma de detectar turnos y su precio, y no hay forma de compararlos sin montar el mismo caso en todos.

  3. Además, las reservas por teléfono no pueden duplicarse ni pisar otra cita aunque la llamada se corte y el agente repita la petición.

La solución

Una aplicación Next.js sobre Cloudflare con base de datos D1 y Drizzle guarda el negocio, la agenda y el historial por usuario. Las claves de cada proveedor se cifran con AES-GCM y el navegador solo recibe accesos temporales. El agente llama a una herramienta firmada para consultar y reservar. La versión B usa LiveKit con reconocimiento y voz de ElevenLabs y respuestas de Gemini.

Funcionalidades

Qué hace, pantalla a pantalla

Datos de demostración El mismo laboratorio en el móvil, con el formulario de la prueba, la frase sugerida y el inicio del panel de conversación.

01

Laboratorio de voz comparado

El mismo asistente, negocio y conocimiento se prueban con ElevenLabs, Retell y Cartesia eligiendo voz, modelo, escenario y duración de 60 o 120 segundos. Cada prueba se valora de 1 a 5 y guarda su transcripción, duración y coste cuando el proveedor lo informa.

  • Reservas sin solapes

    La herramienta de reservas comprueba en una sola operación que el hueco sigue libre y responde que ya no está disponible si otra cita lo ocupa. Repetir la misma petición no crea una segunda cita, y se respetan zona horaria y cambios de hora.

  • Versión B con LiveKit

    Un agente propio en Python con LiveKit Agents decide cómo escuchar y tomar el turno: detector de fin de turno multilingüe, interrupciones adaptativas, respuesta anticipada, filtro de ruido, aviso tras 15 segundos de silencio y cuelgue tras despedirse.

  • Estilo hablado común

    Todas las voces comparten unas pautas de conversación: marcadores breves como «vale» o «a ver», números y teléfonos escritos como se dicen, trato de tú o usted según la persona y aviso de que es un asistente virtual, como pide el Reglamento europeo de IA.

Módulos

Qué funciona hoy y qué está propuesto

2 operativos, 2 parciales y 0 propuestos. Los propuestos son diseño de producto: todavía no hay software detrás.

  • Panel, agenda y conocimiento

    Operativo

    Negocio, horarios, documentos, contactos, mensajes, agenda con exportación ICS e historial.

  • Laboratorio de voz

    Operativo

    Ensayos hablados en navegador con los tres proveedores; ninguno es una evaluación humana de naturalidad ni una prueba telefónica.

  • Versión B con LiveKit

    Parcial

    Agente escrito y con pruebas sin red; todavía no se ha escuchado ni medido una conversación real.

  • Telefonía con Twilio

    Parcial

    Importación de un número existente, transferencia a una persona y llamadas salientes con confirmación, programadas pero sin número contratado ni llamadas reales.

Arquitectura

Cómo está construido

Plano · nexo-voz 4 capas · 12 piezas
  1. Interfaz

    • Next.js 16 y React 19 sobre Vite (vinext)
    • Tailwind 4, shadcn/ui y Radix
    • Clientes de voz de ElevenLabs, Retell y LiveKit en el navegador
    • De Interfaz a Servidor: sesión autenticada
  2. Servidor

    • Rutas de API en Cloudflare
    • Claves de proveedores cifradas con AES-GCM por usuario
    • Herramienta remota firmada por asistente
    • URLs y tokens de sesión temporales
    • De Servidor a Datos: datos separados por usuario
  3. Datos

    • Cloudflare D1 con Drizzle
    • Citas, contactos, mensajes, historial y valoraciones
  4. Voz y telefonía

    • Agentes de ElevenLabs, Retell y Cartesia
    • Versión B en Python con LiveKit Agents, ElevenLabs y Gemini 2.5 Flash
    • Twilio para números, transferencias y llamadas salientes

Otros flujos

  • Interfaz → Voz y telefonía : audio con acceso temporal
  • Voz y telefonía → Servidor : herramienta firmada de citas y mensajes

Tecnologías

Stack verificado en el código

Interfaz

  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • shadcn/ui
  • Radix UI
  • Vite

Backend

  • Zod
  • Python

Datos

  • Cloudflare D1
  • Drizzle ORM

IA y voz

  • ElevenLabs
  • LiveKit
  • Google Gemini

Infraestructura

  • Cloudflare

Integraciones

  • Twilio

Calidad

  • pytest

Ingeniería

Cómo se planteó y se construyó

  1. Base de la recepcionista (octubre de 2026)

    El 30 de octubre se publica la primera versión privada: panel en español, asistentes configurables, conocimiento, contactos, mensajes, agenda e historial sobre Cloudflare D1, con las claves cifradas y la herramienta de reservas firmada.

  2. Laboratorio de tres proveedores (octubre de 2026)

    El 31 de octubre se añade la comparación en navegador de Retell, ElevenLabs y Cartesia, con catálogos de modelos leídos de cada proveedor, perfiles de prueba de un taller y la retirada de un intermediario que cobraba un recargo por minuto.

  3. Naturalidad y versión B (noviembre de 2026)

    El 1 de noviembre se unifica el estilo hablado y la configuración de laboratorio y teléfono, y se añade la versión B con LiveKit Agents, con detector de turnos, silencios, despedida natural y medición de la latencia hasta que el agente empieza a hablar.

Retos técnicos resueltos

Evitar citas duplicadas o solapadas cuando el agente repite una petición o dos llamadas piden el mismo hueco.
El identificador de la cita se deriva del usuario, el teléfono y la hora, y la inserción solo ocurre si no existe otra cita activa que se solape, en una única sentencia SQL. Si no cambia ninguna fila, el agente recibe un 409 y propone otro hueco.
Probar tres proveedores de pago desde el navegador sin exponer claves ni mezclar datos.
Las claves se cifran con AES-GCM usando el propietario y el proveedor como contexto, y el navegador solo recibe una URL firmada, un acceso WebRTC temporal o un token de 60 segundos. Los costes que el proveedor no informa se muestran como no disponibles.

Resultados

Lo que aporta

Potencial · sin medición propia

  • 3 proveedores

    probados con el mismo asistente y el mismo guion, en conversación hablada e interrupción

  • 0 solapes

    posibles entre citas, por diseño de la reserva atómica

Cronología

Cómo ha evolucionado

  1. Primera versión privada de la recepcionista con agenda y conocimiento.

  2. Laboratorio de voz con tres proveedores comparados.

  3. Versión B propia con LiveKit Agents y mejoras de naturalidad.

Evolución prevista

Lo siguiente

Trabajo planificado, todavía no disponible.

  1. Previsto · 01

    Primera llamada telefónica real

    Conectar un número de Twilio y escuchar en una llamada real la configuración de voz que hoy solo se ha probado en el navegador.

  2. Previsto · 02

    Conversación directa con modelos de voz

    Integrar el modo voz a voz directo de OpenAI sobre LiveKit y el de Gemini, ya investigados y todavía sin integrar ni activar.

Proyectos relacionados

Más trabajo en esta línea

Ver todos los proyectos
  • Producto propio En producción

    Jarvis, asistente de voz para el hogar

    Hogar conectado · Asistente de voz con IA

    Asistente de voz para una casa con Home Assistant: palabra de activación propia, órdenes resueltas en código y cuatro proveedores de LLM con respaldo.

    • Python
    • FastAPI
    • HTMX
    • PWA
  • Fotograma de un reel vertical del proceso: «Paso 02/04 · Pintura», una llanta pintada de rojo por el robot con el rótulo animado encima.

    The Wheel Lab MVP

    Producción de vídeo automatizada

    Posventa de automoción · Automatización de procesos

    Un pulsador en cada estación del taller graba el trabajo y el sistema monta solo el vídeo de la reparación para el cliente y los reels para redes.

    • Python
    • FFmpeg
    • Raspberry Pi
    • Linux
  • Datos de demostración Tablero del CRM con las órdenes repartidas por estación del taller (preparación, diamantado, pintura, montaje, control de calidad y terminado), con operario y tiempo en curso.

    The Wheel Lab En producción

    CRM y ERP a medida para un taller de llantas

    Automoción y posventa · CRM/ERP a medida

    CRM y ERP a medida para un taller de reparación de llantas: de la consulta al cobro, con QR por llanta, recogidas con conductor y facturación por sucursal.

    • Python
    • FastAPI
    • SQLModel
    • Pydantic

Hablemos

¿Necesitas desarrollar una solución similar?

Cuéntanos el problema. Te respondemos con un planteamiento claro: qué haríamos, en cuánto tiempo y con qué entregables.