Novedades y Noticias

Chatbot para clínicas dentales con n8n y WhatsApp

Chatbot para clínicas dentales con n8n y WhatsApp

Chatbot IA para clínicas dentales con n8n y WhatsApp

Atender a pacientes por WhatsApp con respuestas claras, pedir la información clínica mínima, proponer huecos reales en agenda y confirmar la cita con email… sin que nadie del equipo tenga que intervenir. Ese es el objetivo del chatbot para clínicas dentales que vas a montar con n8n y Evolution API: escucha texto, audio e imagen, guarda el lead en tu CRM/BD, sugiere fechas disponibles en tu Google Calendar, crea y confirma la cita, envía el email de confirmación formateado y además recuerda la cita el mismo día. Todo con lógica de negocio determinista, prompts controlados y un buffer de mensajes que evita respuestas cruzadas.

Caso de uso y experiencia del paciente

  • El paciente escribe “Hola” o envía un audio o foto (por ejemplo, de una lesión).
  • El bot saluda por su nombre (si está disponible), ofrece información de servicios o agenda.
  • Si hay síntomas (dolor, sangrado, traumatismo, fiebre), muestra mensajes de prioridad clínica y propone cita urgente.
  • Solicita consentimiento para guardar imágenes en el historial y hace preguntas estructuradas (desde cuándo, dolor 0–10, zona, sangrado…).
  • Propone huecos reales (consulta el calendario), crea la cita y envía email con todos los detalles.
  • Activa un recordatorio el mismo día por WhatsApp y correo.

Arquitectura técnica

  • Canal: WhatsApp (Evolution API) → Webhook a n8n.
  • Orquestación: n8n (workflows: principal + buscar cita + crear cita + confirmación email + recordatorio día D).
  • IA:
    • Transcripción de audio (Whisper/ChatGPT).
    • Análisis de imagen (visión) → descripción objetiva para el agente.
    • Agente clínico con tools: buscar cita, crear cita, conocimiento, lead upsert, think (intención).
  • Datos: BD/CRM (p. ej., Airtable o Postgres) para leads, servicios y trazabilidad.
  • Agenda: Google Calendar (consulta y creación de evento).
  • Email: SMTP o proveedor transaccional (HTML personalizado).

Requisitos previos

  • Cuenta y instancia de Evolution API (WhatsApp) con webhook hacia n8n.
  • n8n operativo (local/VPS/Docker).
  • Google Calendar accesible desde n8n (credenciales).
  • Proveedor de email (SMTP/SendGrid/Mailersend…) y plantilla HTML.
  • BD/CRM (Airtable/SQL) con tablas: Leads, Servicios, Interacciones.
  • Claves de OpenAI (transcripción y visión) u otro proveedor compatible.

Flujo completo en n8n (visión general)

  1. Webhook (Evolution API) → llega JSON con mensaje, tipo (texto/audio/imagen), chat_id, nombre, teléfono, timestamps.
  2. Normalización → datos mínimos unificados.
  3. Buffer (push/get) → agrupa mensajes consecutivos (5 s) y evita respuestas cruzadas.
  4. Split & switch → deriva a texto, audio (→ transcripción) o imagen (→ descripción).
  5. Merge & ordenar → asegura que el agente reciba todo en el orden real.
  6. Agente clínico → decide: informar, pedir datos, buscar cita, crear cita, actualizar lead.
  7. Confirmación → email HTML + registro en BD/CRM.
  8. Recordatorio día D → WhatsApp + email.

Paso a paso de la implementación

1) Entrada por Webhook (Evolution API)

  • Recibe JSON con: serverUrl, instancia, apiKey, chatId, messageId, type, content, timestamp, name/phone.
  • Parsea y guarda solo lo necesario para el flujo.
  • Enmascara datos sensibles en logs (teléfono, API key).

2) Buffer de mensajes

  • Push en BD: colección chatId/buffer con {messageId, type, content, timestamp}.
  • Get y comparación: si llega un segundo mensaje a <5 s, el bot espera y agrupa.
  • Regla: si messageId nuevo ≠ messageId esperado → wait 5 s y reintentar; si >5 s desde el último → continuar.
  • Borrado del buffer al responder, para no concatenar mensajes antiguos con nuevos.

3) Ramas por tipo de contenido

  • Texto: extrae content y timestamp.
  • Audio: descarga archivo, convierte (base64 → data), transcribe con Whisper/ChatGPT → content.
  • Imagen: descarga, convierte (base64 → data), describe con visión → texto objetivo (sujetos, zona, estado).

4) Unificación y orden

  • Merge (máx. 3 inputs: texto, audio→texto, imagen→descripción).
  • Ordenación por timestamp para contexto coherente (“Hola” → “¿qué tal?” → “tengo dolor…”).

5) Agente clínico con herramientas

  • Rol: atención al paciente en clínica dental (objetivo: informar + agendar).
  • Tools:
    • Conocimiento (tabla Servicios).
    • Think (intención, validación de datos).
    • Buscar cita (workflow aparte).
    • Crear cita (workflow aparte).
    • Crear/actualizar lead (BD/CRM).
  • Reglas clínicas: priorizar dolor intenso, sangrado persistente, traumatismo, fiebre → proponer cita urgente.
  • Consentimiento: pedir permiso explícito para guardar imágenes en historial.
  • Datos mínimos para cita: nombre y apellidos, teléfono/email, motivo breve, fecha/hora preferida.

Agenda: buscar huecos y crear la cita

Buscar cita (workflow)

  • Entrada: fecha, hora.
  • Consulta: comprueba evento en [fecha, fecha+1h].
  • Si librestatus=available.
  • Si ocupado → obtiene todas las horas ocupadas del día (8–20h) y pide a la IA sugerir 3 huecos libres dentro del horario y posteriores a la hora solicitada.
  • Respuesta al agente: “disponible” o “propuestas”.

Crear cita (workflow)

  • Entrada: fecha, hora, nombre, email, motivo.
  • Evento Calendar: inicio hora, fin hora+1h, título Paciente: nombre, descripción motivo, invitados (email paciente / recepción), ubicación clínica.
  • Salida: detalles de la cita (fecha legible, enlace a Calendar).
  • Upsert lead: registra/actualiza paciente en BD/CRM.

Confirmación por email y recordatorios

Confirmación (workflow independiente)

  • Trigger: cada minuto revisa eventos creados recientemente.
  • Acción: email HTML al paciente con: paciente, fecha y hora legibles, ubicación/mapa, motivo, instrucciones (DNI, llegar 10’ antes, alergias…).
  • Formateo: normaliza fecha “lunes, 9 de septiembre de 2025, 11:00”.

Recordatorio día D (workflow independiente)

  • Trigger: a primera hora del mismo día, lee eventos del día.
  • Acciones:
    • WhatsApp: “Hola, [Nombre]. Te recordamos tu cita hoy a las [hora]. Responde CONFIRMAR o CAMBIAR.”
    • Email: mensaje breve con botón/enlace a la cita.

Buffer de mensajes y orden cronológico

  • Problema común: bots que responden a “Hola” y después a “¿qué tal?” por separado.
  • Solución: persistir mensajes 5 s, agrupar y ordenar; si llega un segundo mensaje fuera de ventana, abrir nueva interacción.
  • Beneficio: agente recibe contexto completo y responde una sola vez de forma coherente.

Procesamiento de audio, texto e imagen

  • Audiotranscripción robusta (mejor audios cortos y claros).
  • Imagenvisión describe de forma objetiva (zona afectada, signos visibles) para que el agente no fabule.
  • Texto → normalización y enriquecimiento con hora para ordenar.

Cumplimiento y buenas prácticas clínicas

  • Consentimiento informado para almacenar imágenes y datos en historial/CRM.
  • Privacidad: minimizar datos, cifrar en tránsito, no loguear teléfonos ni API keys en claro.
  • Mensajes de seguridad: ante dolor intenso, sangrado que no cede, traumatismo o fiebre → cita prioritaria.
  • Tono: empático y claro; evitar diagnósticos definitivos sin exploración.
  • Trazabilidad: guardar interacciones con marca temporal y responsable (agente/automatismo).

Costes, rendimiento y escalado

  • n8n: puede correr en VPS económico.
  • Evolution API: coste según proveedor/instancia.
  • OpenAI: pago por uso (audios/imágenes/LLM).
  • Email: coste marginal por envío.
  • Escalado: separar staging y producción; colas por chat_id; límites y backoff en llamadas a Calendar/LLM.

Errores típicos y cómo resolverlos

  • Respuestas desordenadas: falta de buffer o de ordenación por timestamp → implántalo sí o sí.
  • Cita no creada: credenciales de Calendar o formato de fecha incorrecto → normalizar datetime y revisar zona horaria.
  • Email en SPAM: autentica dominio (SPF/DKIM/DMARC) y usa plantillas limpias.
  • IA “parlanchina” fuera de protocolo: endurece el rol, tools y ejemplos; limita el dominio de respuestas.
  • Imagen sin consentimiento: el bot debe preguntar antes de guardar en historial.

Preguntas frecuentes

¿Puedo usarlo sin imagen o sin audio?
Sí. Las ramas son modulares: texto, audio→texto e imagen→descripción.

¿Se adapta a otras clínicas (fisioterapia, estética, óptica)?
Totalmente. Cambia Conocimiento, copy clínico y motivos de cita.

¿Puedo proponer varios profesionales/sillones?
Sí. Usa calendarios por profesional o etiquetas por recurso.

¿Qué pasa si dos pacientes piden la misma hora a la vez?
El buscar cita valida disponibilidad en tiempo real y el crear cita es atómico; si falla, ofrece alternativas.

¿Cómo cancelo o muevo citas?
Añade tool de buscar evento por paciente y update/delete en Calendar + aviso.


Conclusión y siguientes pasos

Has visto un chatbot clínico completo: capta leads, analiza audio/imagen, prioriza según síntomas, propone y crea citas reales, envía email de confirmación y recordatorios. La clave está en la lógica determinista (workflows separados para buscar/crear), el buffer que ordena la conversación y los prompts con herramientas bien acotadas.

Siguiente paso: desplegarlo en tu entorno, conectar tus servicios, calendarios y plantillas de email, y publicar el número de WhatsApp de la clínica.

Compartir:

Expertbrain
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.