LeadsCaptura, calificación y enrutamiento de prospectos — de un formulario o webhook a una lista de trabajo con puntaje, notas y bitácora completa.
Leads recibe prospectos desde varias fuentes, les asigna un puntaje según reglas que tú defines, dispara acciones automáticas cuando ese puntaje alcanza un umbral, y te da una pantalla de trabajo para darles seguimiento — estatus, notas internas y una línea de tiempo completa por lead.
Formularios embebidos, webhooks de Facebook/Instagram, o carga manual.
Reglas de puntos por campo (admin.php) que califican cada lead al momento de llegar.
Rutas que disparan un correo, WhatsApp o webhook cuando el puntaje llega a un mínimo.
index.php — filtros, panel de detalle, cambio de estatus y notas.
capture.php recibe el POST de cualquier formulario en tu sitio. Trae protección anti-spam de tres capas: honeypot (campo oculto "website"), trampa de tiempo (rechaza envíos en menos de 3 segundos) y límite de 10 envíos por minuto por IP.
incoming.php?source=facebook&entity_id=TU_ID o source=instagram reciben el payload de los formularios de leads nativos de Meta y lo traducen a tu formato con un adaptador por fuente. Límite de 100 solicitudes por minuto por IP.
El filtro de fuente en index.php incluye "WhatsApp" y "Manual" como opciones, pero hoy en día solo Formulario, Facebook e Instagram tienen una ruta de entrada real conectada — esas dos siguen como opciones reservadas para cuando se active esa vía.
Todos los campos que llegan se guardan en una tabla flexible (uno por fila), así que cualquier formulario puede mandar los campos que necesite sin cambios en la base de datos.
Cada regla evalúa un campo del lead contra un valor, con un operador (=, >, <, contains) y otorga puntos si se cumple. El puntaje total de un lead es la suma de todas las reglas que aplican — se calcula automáticamente en cuanto el lead se crea.
presupuesto > 5000 → +50 puntos. Si además ciudad = "Monterrey" vale +20, un lead que cumpla ambas llega con 70 puntos.
Una ruta dispara una acción cuando el puntaje del lead alcanza el mínimo configurado. El JSON de configuración cambia según la acción — para correo, {"to":"[email protected]"}.
| Acción | Qué hace |
|---|---|
| Envía un correo con todos los campos del lead y su puntaje al destinatario del JSON. Funciona de inmediato. | |
| Actualmente es un placeholder: registra el intento en la bitácora del lead pero no manda el mensaje real todavía (falta conectar la API de Meta/Twilio). | |
| Webhook | Aparece como opción en el formulario, pero el motor de rutas todavía no tiene lógica para disparar un webhook saliente — por ahora no hace nada si la seleccionas. |
Cada red social manda sus propios nombres de campo — Facebook, por ejemplo, puede mandar full_name mientras tu sistema guarda name. Los mapeos traducen el nombre externo al interno automáticamente antes de crear el lead, por fuente. Sin un mapeo, el campo llega tal cual lo mandó la fuente.
index.php lista todos los leads con filtros por fecha, estatus y fuente. Al abrir uno se ve un panel con dos columnas:
Todos los datos capturados, y (solo administradores) un selector para mover el estatus entre Nuevo, Contactado, Calificado y Cerrado.
Cada evento del lead (creado, calificado, correo enviado, cambio de estatus) queda registrado automáticamente. Puedes agregar notas internas libres en cualquier momento.