Proyectos
En vivoAutomatización / Bot

BotCitas

Bot de WhatsApp con IA que agenda, modifica y cancela citas médicas en lenguaje natural, disponible las 24 horas sin intervención humana.

botcitas.edwsystem.com
80%
menos tiempo administrativo
24/7
disponible incluyendo festivos
0
citas perdidas por horario desde el lanzamiento
<3 s
tiempo de respuesta vs 20 min manual

El problema

Una clínica médica recibía más de 80 solicitudes de cita al día por WhatsApp. El personal dedicaba más de 3 horas diarias a copiar y pegar información en una hoja de cálculo, llamar de vuelta a los pacientes para confirmar disponibilidad y enviar recordatorios uno a uno de forma manual.

El resultado era predecible: citas duplicadas, pacientes que llegaban en el horario equivocado, solicitudes que se respondían horas después —o directamente se perdían en el hilo de mensajes— y un equipo administrativo desbordado que atendía el teléfono mientras intentaba registrar datos.

"Cuando una paciente escribe a las 11 p.m. preguntando si hay turno para el jueves, nadie contesta hasta el día siguiente. Para ese momento ya agendó en otra clínica."

— Coordinadora administrativa, cliente (anónimo)

La solución

Desarrollamos un bot conectado directamente a la WhatsApp Business API de Meta que comprende lenguaje natural, consulta disponibilidad en tiempo real y gestiona el ciclo de vida completo de una cita sin intervención humana.

1

Entendimiento en lenguaje natural

El paciente escribe como le resulte natural: "quiero una cita para el martes con el Dr. García". La IA extrae la intención, la fecha, la hora y el servicio sin formularios ni menús rígidos.

2

Disponibilidad en tiempo real

Consulta PostgreSQL al instante y ofrece únicamente los horarios libres. No hay riesgo de doble agendamiento: el registro se escribe en una transacción atómica.

3

Recordatorios automáticos

El sistema envía un recordatorio 24 horas antes y otro 1 hora antes de la cita, directamente por WhatsApp, sin que el personal toque nada.

4

Escalado a agente humano

Cuando la solicitud excede la capacidad del bot (reclamos, casos especiales, urgencias), la conversación se transfiere al personal con el historial completo ya visible.

Tecnologías utilizadas

Next.js 15WhatsApp Business APIMeta Cloud APIPostgreSQLOpenRouter AIDeepSeekpg-bossResend

Estado de conversación en PostgreSQL

Cada número de teléfono actúa como clave de sesión. El estado actual del flujo (paso en que está el usuario, datos parcialmente capturados) se persiste en base de datos, lo que hace al bot resistente a reinicios y escalable horizontalmente.

-- Tabla de sesiones de conversación
CREATE TABLE conversation_sessions (
  phone_number  TEXT PRIMARY KEY,
  step          TEXT NOT NULL DEFAULT 'idle',
  context       JSONB,
  updated_at    TIMESTAMPTZ DEFAULT now()
);

Interpretación de intención con DeepSeek vía OpenRouter

El mensaje del usuario se envía a DeepSeek con un prompt estructurado que devuelve JSON con la intención detectada (book, cancel, reschedule, query), la fecha/hora normalizada y el servicio solicitado.

// Respuesta del modelo
{
  "intent": "book",
  "datetime": "2024-11-19T10:00:00",
  "doctor": "García",
  "service": "consulta_general",
  "confidence": 0.97
}

Jobs de recordatorio con pg-boss

Al confirmar una cita, se encolan dos jobs en pg-boss: uno para 24 h antes y otro para 1 h antes. pg-boss garantiza ejecución exactamente una vez (at-least-once + deduplication), lo que evita doble envío incluso si el servidor reinicia entre medias.

Resultados

Tras el lanzamiento, el equipo administrativo dejó de gestionar el agendamiento por WhatsApp por completo. El bot maneja el 92 % de las conversaciones de principio a fin; solo el 8 % restante requiere algún tipo de intervención humana (casos que implican excepciones médicas o cambios de agenda de último minuto).

El tiempo de respuesta bajó de un promedio de 20 minutos (en horario laboral) a menos de 3 segundos, y el bot opera los 7 días de la semana, incluyendo festivos. La clínica reporta cero citas perdidas atribuibles al proceso de agendamiento desde la puesta en marcha.

92%
de conversaciones resueltas sin intervención humana
3 h/día
recuperadas para el equipo administrativo

¿Necesitas algo similar?

Si tu equipo invierte horas en tareas repetitivas de agendamiento, confirmaciones o atención inicial por WhatsApp, podemos automatizarlo.

Hablemos de tu proyecto