El desafío
Siempre es necesario tener canales disponibles para atender al cliente. WhatsApp es, sin duda, el más usado en el mercado ecuatoriano pero atenderlo manualmente las 24 horas no es posible. Queríamos un asistente que pudiera:
- Responder preguntas sobre nuestros servicios Oracle y OCI de forma natural e inteligente
- Identificar el requerimiento del cliente durante la conversación
- Capturar los datos de contacto cuando el cliente mostrara interés real
- Notificar al equipo comercial automáticamente con la información del prospecto
La condición era clara: toda la solución debía correr sobre OCI, sin servicios externos de terceros más allá de la API de WhatsApp Business de Meta.
La arquitectura
El diagrama muestra los componentes que conforman la solución. El flujo completo es el siguiente:
Cuando un usuario escribe al número de WhatsApp de PolluxData (+593 98 365 9645 ), Meta envía el mensaje a un endpoint HTTPS expuesto a través de OCI API Gateway, el único componente con acceso público. Desde ahí, el mensaje viaja a una OCI Function — una función serverless en Python corriendo sobre arquitectura ARM — que orquesta toda la lógica.
La función hace varias cosas en paralelo:
- Verifica la firma HMAC del payload para garantizar que el mensaje proviene de Meta y no de un tercero.
- Consulta el historial de conversación en Oracle Autonomous Database 23ai, recuperando los últimos mensajes para mantener el contexto.
- Llama a OCI Generative AI — el servicio de inteligencia artificial de Oracle — con el historial completo y un prompt del sistema que define la personalidad y los límites del bot.
- Envía la respuesta al usuario a través de la API de WhatsApp.
- Extrae datos de contacto de forma silenciosa analizando la conversación con una segunda llamada al modelo de IA.
- Cuando detecta que el cliente tiene intención clara de ser contactado, guarda el lead en la base de datos y dispara una notificación por email al equipo comercial vía OCI Email Delivery.
Los secretos — tokens de acceso, credenciales de base de datos, claves SMTP — se almacenan en OCI Vault, nunca en el código. OCI Logging registra cada invocación para trazabilidad y debugging.

Algunas mejoras al producto
El Agente si esta frío tarda en responder alrededor de un minuto porque tiene que redesplegar la función de OCI. Esto podríamos atacarlo con una cola para meter asincronía, sin embargo para nuestros escenario no es algo relevante.
Se podrías calentar el agente pero el coste de OCI se dispara porque el mínimo de procesos pre calentados es 10. Esto se podría programar en un cliente grande que espera una gran cantidad de consultas durante el día. Podría pre calentar el agente por la mañana y enfriarlo en la noche.
Flexibilidad sin redeploy
Para no tener que redesplegar al cambiar el agente hemos puesto toda su configuración en la base de datos, el agente carga el contexto con una llamada, esto permite cambiar el comportamiento del agente simplemente realizando un update en la base de datos. Lo mismo aplica para los destinatarios de las notificaciones de email o la configuración SMTP. El equipo puede operar y afinar el bot sin necesidad de un ciclo de desarrollo y despliegue.
Resultados
El bot está en producción atendiendo consultas sobre nuestros servicios de Oracle DBA Managed y OCI Governance (+593 98 365 9645 ). Responde en el mismo idioma del usuario — español o inglés — se mantiene dentro del ámbito de nuestros servicios y, cuando detecta interés real, captura el lead y lo entrega al equipo comercial en segundos.