¿Estás buscando llevar la automatización de atención al cliente al siguiente nivel? Si los asistentes de voz tradicionales se quedan cortos porque no pueden interactuar con los datos reales de tu empresa, hoy te traemos la solución definitiva. En ConfiguroWeb vamos a desglosar cómo construir un sistema basado en AIReceptionist open source, potenciado por Google Gemini Live, EspoCRM y LiveKit.
Esta edición extendida del proyecto transforma un simple bot conversacional en una operadora telefónica capaz de administrar el ciclo de vida completo de las citas médicas o comerciales: crear, consultar, reprogramar y cancelar, leyendo directamente desde una base de datos real. Hemos preparado esta integración optimizada de AIReceptionist open source en un formato up and running (casi lista para producción), la cual puedes explorar y clonar directamente desde nuestro repositorio oficial en GitHub.
La Arquitectura detrás de AIReceptionist open source
El sistema está diseñado para evitar la latencia de las arquitecturas en cascada, conectando un modelo de voz nativo (Voz-a-Voz) con un CRM robusto mediante llamadas API REST estructuradas. El flujo funciona de la siguiente manera:
- LiveKit recibe la llamada telefónica SIP entrante y crea una sala privada.
- Una regla de dispatch inicia el worker (el agente IA) inyectando los metadatos del negocio específico (configuración multiempresa).
- El agente, impulsado por Gemini Live (o de manera compatible con OpenAI Realtime), atiende al usuario.
- El sistema consulta la API REST de EspoCRM para resolver FAQs, buscar pacientes, evitar conflictos de horario y registrar las citas (Meetings).
⚡ Ventajas frente a Asistentes Básicos
Desplegar AIReceptionist open source con un CRM reduce drásticamente las alucinaciones. Los datos provienen del sistema, no del prompt original.
- Información actualizable en caliente: Cambia horarios, seguros o políticas desde EspoCRM sin tocar el código fuente ni reiniciar el agente.
- Continuidad Operativa: Los contactos (Accounts y Contacts) y las citas (Meetings) sobreviven a cada llamada y mantienen trazabilidad.
- Autenticación segura: Para modificar citas, el sistema exige validación de identidad por nombre y teléfono, obteniendo el ID real del sistema.
- Infraestructura autohospedada: Cero dependencias de SaaS costosos. El CRM local y MariaDB se levantan con Docker Compose.
Guía de Instalación Rápida en Windows
Implementar AIReceptionist open source requiere conocimientos en despliegue de contenedores y gestión de entornos virtuales. Asegúrate de tener instalado Python 3.11+, Docker Desktop y PowerShell.
1. Preparar el Entorno Python
Primero, clonaremos el repositorio, crearemos el entorno virtual e instalaremos las dependencias necesarias de desarrollo:
git clone https://github.com/configurowebmax/AIReceptionist.git
cd AIReceptionist
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -e ".[dev]"
2. Configurar Variables de Entorno y Seguridad
Necesitas aislar las credenciales. Duplica los archivos de ejemplo para el worker y para la infraestructura del CRM:
Copy-Item .env.example .env
Copy-Item infra\espocrm\.env.example infra\espocrm\.env
Edita tu archivo .env raíz con tus claves de LiveKit y Gemini. Asegúrate de que las credenciales ESPOCRM_USERNAME y ESPOCRM_PASSWORD coincidan con las variables de administrador definidas en el archivo de la carpeta infra.
3. Despliegue con Docker Compose
Levantaremos la base de datos MariaDB y el sistema ejecutando el siguiente comando. Una vez iniciado, puedes verificar que el sistema esté "healthy" ingresando a http://localhost:8080 en tu navegador.
docker compose --env-file infra\espocrm\.env -f infra\espocrm\compose.yaml up -d
4. Poblar la Base de Datos (Seed Idempotente)
Para probar las interacciones, el repositorio incluye un script Python para inyectar datos ficticios en español. Este script es seguro de ejecutar múltiples veces sin duplicar información:
.\.venv\Scripts\python.exe infra\espocrm\seed_demo.py
5. Configuración de Telefonía (LiveKit SIP) y Ejecución
En el panel de LiveKit, renta un número entrante y crea una regla de dispatch apuntando al agentName: receptionist e incluye el metadato del negocio: {"config":"example-dental"}.
Finalmente, arranca el worker:
.\.venv\Scripts\python.exe -m receptionist.agent dev
Al ver el mensaje "registered worker", ya puedes llamar a tu número telefónico y agendar tu primera cita de prueba.
Despliegue a Producción: Notas Importantes
Para un entorno en producción de tu AIReceptionist open source, el flujo de desarrollo local localhost no será suficiente si despliegas el agente en servicios como Railway o Fly.io. Considera lo siguiente:
- Asegura el tráfico: Utiliza HTTPS/SSL para que el worker se conecte de forma segura a EspoCRM.
- Usuarios API Restringidos: No uses la cuenta "admin" por defecto. Crea un usuario API con permisos mínimos, restringido únicamente a lectura y escritura sobre Account, Contact, Meeting y KnowledgeBaseArticle.
- Backups: Implementa copias de seguridad de los volúmenes de MariaDB y rota tus claves de Gemini y LiveKit periódicamente.
Conclusión
Construir soluciones con AIReceptionist open source conectadas a bases de datos relacionales ya no es una tarea de meses de desarrollo ni depende de licencias restrictivas. El código abierto nos da la flexibilidad de iterar sobre estas herramientas con total libertad.
¿Tienes dudas con el despliegue del docker-compose o la configuración del dispatch en LiveKit? ¡Déjanos un comentario y resolveremos tus dudas en el próximo video de ConfiguroWeb!