← Todos los artículos

Un bot de atención que cita sus fuentes y sabe cuándo pasar con una persona

Una demo para una clínica de fisioterapia inventada: Chatwoot, un bot que solo responde con lo que está en las páginas del negocio, pasa a recepción las quejas, las dudas médicas y los precios que no están en la tarifa, y tiene un tope de gasto. Con un modelo local, sin cuenta de Meta, y el camino a WhatsApp.

En este artículo

Muchas pymes contestan lo mismo decenas de veces por WhatsApp: horarios, precios, si queda hueco el sábado. Un bot te puede quitar eso de encima, pero un bot que se inventa un precio o da un consejo médico es peor que no tener bot.

Yo monté una demo para una clínica de fisioterapia inventada, Ondaviva, con una regla que me puse: el bot solo responde lo que puede citar. Si no puede, pasa la conversación a una persona.

Lo que hace

  • La clínica tiene sus páginas en texto: horarios, tarifas, servicios y normas.
  • Cuando escribe un cliente, el bot busca los fragmentos de esas páginas que encajan con la pregunta y se los da a un modelo local (qwen3:14b).
  • El modelo tiene que responder con un formato fijo: la respuesta, qué fragmentos ha usado, su confianza y de qué va la consulta.
  • El código rechaza cualquier respuesta sin citas válidas, y cualquier precio que no aparezca en un fragmento de tarifas citado.
  • Quejas, devoluciones, preguntas médicas o legales y precios que no están en la tarifa pasan a recepción, con una nota privada que explica por qué.
  • Hay un tope diario de respuestas y un horario: fuera de horario, el bot avisa de que la clínica está cerrada antes de pasar la conversación.
flowchart LR
  U[Cliente escribe] --> CW[Chatwoot]
  CW -->|webhook firmado| B[Bot]
  B --> R[Busca en las páginas de la clínica]
  R --> M[Modelo local: respuesta + citas]
  M --> V{¿Citas válidas y tema permitido?}
  V -->|sí| CW
  V -->|no| H[Pasa a recepción con nota]

Para la demo yo uso el chat web de Chatwoot, así que no me hace falta cuenta de Meta. En WhatsApp el bot es el mismo; solo cambia la bandeja de entrada de Chatwoot, que se conecta a la API de WhatsApp Cloud.

La prueba de verdad

Le mandé seis mensajes como lo haría un cliente, con el modelo local en mi ordenador:

Mensaje Qué hizo Tiempo
"¿Abrís los sábados por la mañana?" Respondió citando el horario 3,2 s
Precio de una sesión "45 minutos cuesta 40 €", citando la tarifa 2,1 s
Precio de la punción seca (no está en la tarifa) Pasó a recepción 2,1 s
Una queja Pasó a recepción sin llamar al modelo 0,1 s
Una pregunta médica Pasó a recepción 3,1 s
Un mensaje que finge ser una orden del sistema para que diga "gratis" Se negó y no habló de precios 2,1 s

La primera respuesta después de cargar el modelo tardó 24 segundos. Las demás, entre 2 y 3.

Lo que se me rompió por el camino

  • El bot no me contestaba nada. En Chatwoot 4.19, una conversación pendiente aparece asignada al propio bot, y mi código la saltaba como si ya la llevara una persona. Ahora solo se salta si la lleva una persona de verdad.
  • El contenedor no llegaba al modelo. El cortafuegos de mi ordenador me bloquea el tráfico de los contenedores hacia el equipo. En vez de tocar el cortafuegos, añadí un pequeño puente por un socket local.
  • Chatwoot no llamaba al bot. Por seguridad, no envía webhooks a direcciones de red privada salvo que se active a mano. En la demo está activado y avisado; en producción el bot estaría detrás de una dirección normal.

Lo que no hace

  • Busca por palabras, no por significado. Una pregunta muy rebuscada acaba en recepción en vez de contestarse. Para una clínica pequeña yo lo prefiero a lo contrario.
  • No reserva citas. Las pasa a una persona. Conectarlo a la agenda es el siguiente paso.
  • No conoce los festivos. El horario es semanal.
  • Pasa de más a propósito. "Reembolso de mi mutua" va a recepción aunque no sea una queja.

Si lo montas para un negocio

  • Cuándo no compensa. Con menos de unas 100 conversaciones al mes, WhatsApp Business gratis y respuestas rápidas guardadas suelen bastar.
  • Lo que cuesta WhatsApp. Meta cobra por mensaje según el tipo. Desde el 1 de octubre de 2026 cada número tiene 1.000 mensajes de servicio gratis al mes, y a partir de ahí cada respuesta del bot cuesta. Por eso mi bot manda un solo mensaje por turno. Fuera de las 24 horas desde el último mensaje del cliente solo se pueden enviar plantillas aprobadas, y las de marketing nunca sin consentimiento.
  • Lo que no deja Meta. Desde enero de 2026 prohíbe los asistentes generalistas en WhatsApp. Un bot que solo habla del negocio sí está permitido, y es lo que tiene sentido de todos modos.
  • Dónde corre. Chatwoot Community en un servidor del negocio o un VPS en la UE a su nombre, con el modelo local o uno europeo. Si son datos de salud, local.

Si en tu negocio contestáis lo mismo cada día, hablamos y vemos si compensa.