← Volver al inicio

Bot de WhatsApp + Handoff Humano

CCYR — Centro Especializado en Cadera y Rodilla

Un centro médico de Mar del Plata recibía entre 100 y 150 mensajes de WhatsApp por día. Desde CodeMar armamos un bot que hace el triage y le devuelve el control a las secretarias justo cuando importa.

Problema

Las secretarias de CCYR hacían tres trabajos al mismo tiempo: atendían pacientes que esperaban en el consultorio, contestaban el teléfono y respondían WhatsApp. Los tres canales compiten por la misma atención, y WhatsApp siempre pierde — es el que se puede "dejar para después".

El resultado: turnos que se pisaban o se perdían porque nadie llegó a confirmarlos, recetas que se demoraban días porque el pedido quedaba enterrado entre otros ochenta mensajes, y una carga mental constante de no saber cuántas cosas quedaron sin responder.

No era un problema de mala atención — era un problema de volumen. Ninguna persona sostiene 100-150 mensajes por día sin que algo se caiga.

Solución

Un bot de WhatsApp determinístico (sin IA generativa) que atiende la primera parte de la conversación — identifica qué necesita el paciente mediante menús interactivos, junta los datos necesarios — y después pasa la conversación a una secretaria con todo el contexto ya armado, dentro de un panel multi-agente.

El paciente nunca "habla con un robot" en el sentido incómodo: escribe una vez, elige opciones de un menú, y cuando su pedido está listo para resolverse, una persona real lo toma. El bot no reemplaza a las secretarias — les saca el trabajo repetitivo de encima para que se enfoquen en lo que requiere criterio humano.

Paciente WhatsApp
n8n triage + lógica
Chatwoot panel multi-agente
Secretaria resuelve

↩ vuelta: Secretaria → Chatwoot → template aprobada → Paciente

El bot en acción

Capturas reales del bot en producción (sin datos de pacientes).

Stack técnico

  • WhatsApp Cloud API
  • n8n
  • Chatwoot v4.14
  • PostgreSQL
  • Caddy
  • Docker Compose
  • Oracle Cloud (free tier ARM)

Highlights

  • 01
    Menú de 4 ramas Pedir turno, cambiar/anular, receta u otra consulta, con sub-menús para 8 especialidades médicas y 3 tipos de receta.
  • 02
    Detección de horario y feriados Fuera de horario de atención (lun a vie, 8 a 20hs) o en feriado argentino, el bot responde con un mensaje contextual en vez de dejar al paciente en visto.
  • 03
    Handoff de archivos Si el paciente manda una foto o PDF (orden médica, estudio), queda guardado automáticamente en Chatwoot con una nota privada del bot para la secretaria.
  • 04
    Whitelist de bypass Familiares y médicos del staff saltean el bot por completo, van directo a una persona.
  • 05
    Templates aprobadas + Dashboard Apps 5 plantillas de Meta (factura, cambio de turno, receta lista, aviso médico, mensaje general) que las secretarias disparan con un formulario embebido en cada conversación.

Decisiones de diseño

¿Por qué determinístico y no un bot con LLM?

Es un contexto médico, regido por la Ley 25.326 de protección de datos personales. Ningún dato de paciente pasa por un modelo de lenguaje de terceros — cada respuesta del bot sale de un flujo fijo, auditable, sin ambigüedad. En salud, previsibilidad gana sobre "inteligencia".

¿Por qué handoff a Chatwoot en vez de bot puro end-to-end?

Un bot que resuelve todo suena bien en la demo y falla en la práctica: hay pedidos que necesitan criterio humano (una urgencia, una excepción, un paciente confundido). El diseño correcto no es reemplazar a la secretaria, es sacarle el 80% del trabajo mecánico para que el 20% que sí necesita persona lo maneje una persona, con el contexto ya armado.

¿Por qué stack propio en Oracle Free y no un SaaS de bots?

Costo y control. La capa gratuita ARM de Oracle Cloud sostiene todo el stack a costo de infraestructura $0/mes. Nada de licencias por conversación, nada de vendor lock-in — si CCYR quiere migrar de proveedor de WhatsApp o de panel el día de mañana, los datos y la lógica son de ellos.

Resultado

En producción desde mediados de 2026, procesando entre 100 y 150 mensajes de WhatsApp por día.

$0/mes Costo de infraestructura
Instantáneo Respuesta del bot (vs. 30-60 min de espera antes)
~6 semanas Desarrollo, con iteración sobre uso real

Los números de reducción de carga y turnos recuperados todavía no están medidos con precisión. Cuando tengamos unas semanas de datos en Chatwoot, esta sección se actualiza con cifras reales.

¿Tenés un volumen de WhatsApp que ya no da abasto con una persona?

En CodeMar armamos soluciones a medida, sin depender de un SaaS ajeno. Contame lo que necesitás y lo charlamos.

Contactame