Automatización end-to-end de solicitudes de empleo vía WhatsApp con formularios progresivos, geolocalización, y seguimiento proactivo mediante plantillas Meta aprobadas.
Lo que el cliente experimenta hoy vs. lo que el sistema entregará
Experiencia completa desde el primer mensaje hasta la convocatoria
Candidato escribe al número de WhatsApp de la empresa. El sistema lo identifica por teléfono: si es nuevo, inicia el flujo; si ya tiene una solicitud, retoma desde el avance guardado.
Flow A — IdentificaciónMenú interactivo (botones de respuesta rápida de WhatsApp): selección de Departamento → Municipio → Zona/Colonia de residencia.
Flow B — GeolocalizaciónBasado en la zona seleccionada, el sistema presenta las tiendas más cercanas. El candidato elige la que más le conviene.
Flow B — Multi-tiendaCuestionario paso a paso vía WhatsApp (o link a formulario web): datos personales → DPI → educación → experiencia laboral → disponibilidad → referencias. Cada respuesta se guarda en tiempo real.
Flow C — Formulario progresivoSi el candidato regresa 2 días después: el bot detecta su número, consulta el avance guardado y le envía el link del formulario con todos sus datos pre-llenados para que continúe desde donde paró.
Session persistence · JWT tokenAl completar el formulario: plantilla Meta de confirmación al candidato + notificación automática al reclutador de la tienda correspondiente en el dashboard.
Flow E — NotificacionesPara candidatos con formulario incompleto por más de 48h: el sistema envía automáticamente una plantilla Meta aprobada con el link para retomar. No requiere que el candidato escriba primero.
Flow D — Re-engagement · Meta TemplatesDesde el dashboard: invitar a entrevista (dispara plantilla Meta) o descartar con motivo. Todo queda registrado en el historial de la solicitud.
Dashboard · Flow FEl diferenciador más importante de este sistema para el cliente
Cada solicitud tiene un token JWT de sesión único vinculado al número de teléfono. Al guardar cada respuesta del formulario, el sistema actualiza el campo form_step y el JSONB form_progress en la base de datos.
Cuando el candidato vuelve a escribir (puede ser días después), el bot identifica su número, consulta el avance, y responde: "Hola Juan, tienes una solicitud en progreso. Continúa aquí donde la dejaste: [link]". El formulario web carga automáticamente todos los datos ya capturados.
Si el candidato no vuelve, el Flow D (re-engagement) envía una plantilla Meta aprobada después de 48h de inactividad. Esto es proactivo — el sistema actúa sin esperar.
Mensajes proactivos que el sistema puede enviar sin que el candidato escriba primero — requieren aprobación previa de Meta Business
Qué se replica, qué se adapta, qué es nuevo
| Aspecto | Sistema Actual (reclutamiento/) | MGP |
|---|---|---|
| Segmento | Perfiles TI (DevOps, Backend...) | Perfiles retail (tiendas, operativos) |
| Entrada de datos | CV en PDF (upload) | Nuevo Formulario conversacional paso a paso |
| Continuidad | No — proceso lineal sin retorno | Nuevo Session persistence + link de retorno |
| Seguimiento proactivo | No — reactivo al candidato | Nuevo Templates Meta, re-engagement automático |
| Geolocalización | No | Nuevo Dept / Municipio / Zona / Tienda preferida |
| Multi-tienda | No | Nuevo Catálogo de tiendas, asignación geográfica |
| Análisis con IA | Gemini analiza el CV | Gemini valida coherencia del formulario (opcional) |
| Orquestación | n8n (Flows 01-07) | n8n (Flows A-F, arquitectura adaptada) |
| Chatwoot + Meta API | Chatwoot + Meta API (inbox separado) | |
| Dashboard | Next.js — pipeline TI | Next.js — filtros por tienda y región |
| Stack base | Docker Compose en VPS GCP | Réplica en mgp/ (mismo VPS o nuevo) |
Flows n8n necesarios para el nuevo sistema
Recibe webhook de Chatwoot. Detecta si el candidato es nuevo o tiene solicitud en progreso. Enruta al flujo correspondiente.
Menús interactivos WhatsApp para Departamento → Municipio → Zona → Tienda preferida. Guarda en DB en tiempo real.
Cada pregunta del formulario como nodo n8n. Guarda respuesta, avanza al siguiente paso. Genera link web para datos complejos.
Scheduler que detecta solicitudes inactivas >48h. Envía plantilla Meta aprobada con link de retorno. Sin esperar al candidato.
Alerta al reclutador de la tienda cuando llega un formulario completo. Envía confirmación al candidato vía template Meta.
Webhook desde el dashboard. El reclutador invita a entrevista o descarta. Dispara template Meta correspondiente al candidato.
Tablas principales del sistema MGP — nuevas y específicas para retail
Réplica del stack existente adaptado en directorio mgp/
Flows A–F, self-hosted
Inbox WhatsApp separado
Schema retail nuevo
Sessions, queues BullMQ
Dashboard de reclutadores
Proxy + SSL (ya existente)
Validación de formulario
WhatsApp + Templates
4 fases incrementales — cada una entrega valor tangible al cliente
Puntos que requieren definición con el cliente antes de iniciar
¿Qué secciones y campos necesita el cliente? (datos personales, educación, experiencia, referencias). Necesitamos el formato actual en papel para digitalizarlo.
Lista completa de tiendas con nombre, dirección, departamento y municipio. Se carga como seed inicial a la base de datos.
¿El cliente ya tiene número aprobado en Meta Business? ¿Tiene acceso al Business Manager para aprobar las plantillas?
Listado de posiciones para las que se recluta. ¿Son fijos para todas las tiendas o varía por tienda/región?
¿Quién usa el dashboard? ¿Hay un reclutador por tienda o un reclutador central? Esto define los roles y filtros.
¿Se despliega en el mismo VPS existente (mgp/ separado) o el cliente requiere su propio servidor? ¿Dominio propio o nip.io?