El problema.
Elena dirige una academia de español en Hong Kong con más de 2.000 estudiantes activos, clases presenciales y online, y un catálogo de micropagos mensuales que oscilan entre 60 y 100 USD según plan. La operativa es sencilla pero la demografía no ayuda: Hong Kong, multi-zona horaria, estudiantes con una vida saturada y una academia que no quiere convertirse en un cobrador.
El problema no era la morosidad. Era el olvido. Micropagos por transferencia bancaria que se le pasan a la gente entre la reunión del jueves y el fin de semana. Cada mes, entre 200 y 300 estudiantes llegaban a vencimiento sin pagar — no por mala fe, sino porque el recordatorio llegaba a un inbox saturado o se difuminaba entre notificaciones.
El equipo de administración lo gestionaba a mano. Cada semana, alguien abría Teachworks, cruzaba con la bandeja de WhatsApp, sacaba quién había pagado y quién no, y mandaba recordatorios uno a uno. Con 200 deudores activos y un ciclo de 7 días, eso son mil y pico mensajes revisados y tecleados al mes. Y el fallo más incómodo: a veces un estudiante que ya había pagado recibía el recordatorio la semana siguiente porque el comprobante se había traspapelado en el chat. La academia quedaba como pesada sin serlo.
No era un problema de morosos. Era un problema de fricción: micropagos que se olvidan y un equipo mandando recordatorios uno a uno. Cuando además se te escapa un mensaje a alguien que ya pagó, pierdes credibilidad por algo que deberías estar resolviendo solo.
Qué construimos.
Cron semanal + consulta Teachworks
Un workflow de n8n se dispara cada lunes a las 10:00 HKT. Consulta Teachworks vía API y extrae la lista de facturas con vencimiento pasado y sin pago registrado. Cruza cada deudor con una tabla interna en Postgres que guarda la fecha del último recordatorio enviado: si han pasado 7 días desde el último mensaje (o no hay registro previo), entra en la cola de envío. Si se envió hace menos de 7 días, se salta. Cadencia exacta y sin solapes.
Envío WhatsApp vía Chatwoot (inglés)
Para cada deudor que corresponde recordar, el workflow publica un mensaje en la conversación del estudiante a través de la API de Chatwoot — que es la plataforma omnicanal donde el equipo de atención al cliente ya opera todas las conversaciones de WhatsApp. Ventaja: el mensaje automático aparece en el mismo hilo que el equipo ve en Chatwoot, con todo el contexto histórico del estudiante a la vista. Plantilla en inglés, personalizada con nombre, curso e importe pendiente, con tono de recordatorio cordial — nada agresivo.
Parada automática al pagar
El estudiante paga por transferencia bancaria y manda el comprobante (captura o PDF) por WhatsApp al mismo hilo. El equipo de atención al cliente ve el comprobante en Chatwoot, lo valida y marca la factura como pagada en Teachworks. Al lunes siguiente, cuando el cron vuelve a consultar Teachworks, el estudiante ya no aparece en la lista de deudores — no se le envía nada. Cero mensajes post-pago. La "inteligencia" del sistema está en preguntar siempre antes de escribir.
Escalado a humano a los 21 días
Tras 3 recordatorios sin pago (día 21), el workflow marca al estudiante como escalado y notifica al equipo de customer success con el historial completo: fechas de recordatorio, última interacción, total pendiente, curso afectado. A partir de aquí es una conversación humana — llamada, propuesta de plan de pago, o baja consensuada. El sistema no se pone pesado.
Dashboard y trazabilidad
Vista Metabase sobre Postgres con KPIs operativos: deudores activos en cada ciclo, tasa de recuperación por semana, tiempo medio a pago, ratio de escalados a humano, mensajes enviados/semana. Log completo por estudiante — cada mensaje enviado, cada confirmación de pago, cada escalado — para auditoría y análisis.
Cómo lo implementamos.
Seguimos nuestras 5 fases estándar — ver proceso completo.
- Semana 1 · Descubrimiento + plan de ruta: sesión con Elena y el equipo de administración. Inventariamos los planes de pago activos, los estados de factura en Teachworks, los flujos de conversación en Chatwoot y cerramos propuesta con fee fijo. Quick win: cron semanal + envío + parada al pagar; el escalado a humano y el dashboard quedan para la fase 3.
- Semana 2 · Desarrollo: conexión con Teachworks API (extracción de deudores), Chatwoot API (publicación en conversación del estudiante) y Postgres (tabla de recordatorios enviados). Plantilla WhatsApp en inglés — cordial, corta, con campos personalizables — aprobada por Elena.
- Semana 3 · Desarrollo con datos reales: pruebas con 30 deudores históricos del mes anterior en modo staging (sin enviar a producción). Validamos 3 comportamientos críticos: el pagado no recibe mensaje, el no pagado recibe exactamente uno por semana, y la personalización del mensaje se renderiza bien en la pantalla del estudiante. Añadimos escalado a humano y dashboard Metabase.
- Semana 4 · Entrega y corte: 5 días de sombra enviando sólo a 5 deudores voluntarios para observar comportamiento real. Tras validación, activación completa: el lunes 6 el cron procesa los 200+ deudores del ciclo.
- Semanas 5-8 · Estabilización (4 semanas supervisadas): reuniones semanales con Elena y el equipo de atención al cliente para revisar casos borde: estudiantes que responden pero no pagan, comprobantes dudosos, fraccionamientos pactados, plantilla para casos sensibles (estudiantes de larga duración, becados, situaciones personales). Al cerrar: producción 100 % autónoma.
- Producción: retainer de 3 h/mes para evolución (ajustes de plantilla, cambios en planes, nuevos idiomas si la academia se expande, reportes adicionales).
Stack utilizado.
n8nTeachworks APIChatwoot APIWhatsApp Business (vía Chatwoot)PostgreSQLMetabaseSentry