Captura → Califica → Convierte, automatizado

Atrae prospectos. Califícalos. Convierte sin pegar email a mano.

Formularios embebibles con UTM tracking y double opt-in. Lead scoring con DSL JSON. Workflows que envían emails a la hora indicada — vía tu propio Gmail/Outlook o el MTA de Abior.

Marketing inbound roto en 3 herramientas distintas

Capturar, calificar y convertir requiere atravesar Typeform, Mailchimp, Zapier y un Excel. Cada salto pierde contexto.

Formularios en Typeform

Pagas mensual, no controlas el código, no propagas UTM al emprendimiento. Las respuestas viven fuera del proyecto.

UTM se pierde post-click

El visitante ve el ad de Linkedin, llega a tu blog, llena el form 3 días después. ¿De dónde vino? Nadie sabe.

Welcome series en Mailchimp

Otra cuenta, otro paywall, otro flujo desconectado del CRM. Bounces no actualizan tu base. Nadie revisa.

Lead caliente sin notificación

Un prospecto B2B con email corporativo llena el form. Se quedó en una hoja de Excel. El sales rep lo vio una semana después.

Cómo funciona

Cuatro piezas conectadas. Sin Zapier de pegamento.

1

Embebes el formulario

Un script de 2 KB en tu blog/sitio. UTM tracking automático del parent al iframe. Double opt-in si tu industria lo requiere.

2

Reglas de scoring califican

DSL JSON unificado: "email no es Gmail" +15, "click pricing" +20, "bounce" -50. Score se actualiza al instante por signals.

3

Workflow dispara

Trigger signal-driven: lead nuevo → Ejecución creada → handlers (email, esperar, condición if, registrar evento, finalizar).

4

Emails + webhooks salen

Tu propio Gmail/Outlook (SMTP simple) o Postal MTA. Webhooks HMAC-firmados a Slack/n8n cuando un lead califica.

Captura — formularios embebibles

Sin Typeform. Sin Mailchimp signup forms. Captura nativa con UTM tracking y compliance de privacidad.

Script embebible 2 KB

<script async src=https://abior.art/embed.js data-form=tu-slug></script>. Vanilla JS, sin React, sin npm. Iframe sandboxed (allow-scripts allow-forms allow-same-origin).

UTM persistente 90 días

Middleware Next.js captura ?utm_* en cookie abior_utm. First-touch attribution: el visitante puede llegar de Linkedin, browsear, regresar y llenar el form 3 días después — el utm_source sigue siendo "linkedin".

Double opt-in HMAC

Token con bucket semanal y validez 7-14 días. El lead solo recibe marketing emails tras confirmar. Compliance LFPDPPP México + GDPR.

Dedupe automático

email_normalized (lowercased + trimmed) único por emprendimiento. Mismo email reenviando el form no duplica el Lead — agrega RespuestaFormulario al historial.

Snippet embed real

<script async src="https://abior.art/embed.js" data-form="tu-slug"></script>

Pégalo en WordPress, Webflow, HTML estático, lo que sea. Auto-resize, UTM passthrough, Sandbox seguro.

Califica con DSL JSON, no con tags

Reglas declarativas que se reaplican via signals al instante. Mismo DSL alimenta segmentos dinámicos y condiciones de workflows.

ReglaScoring

Email corporativo +15

{ "field": "email_dominio", "op": "not_in", "value": [ "gmail.com", "yahoo.com", "hotmail.com", "outlook.com" ] }

Si email_dominio NO está en la lista, otorga +15 puntos. Aplica UNA sola vez por lead (idempotente).

Segmento dinámico

Leads calientes esta semana

{ "AND": [ {"field":"score","op":"gte","value":50}, {"field":"tags__slug", "op":"contains", "value":"demo-solicitada"} ] }

Cached count cada 15 min. Preview de top 10 leads que matchean. Útil para dispatch de workflows o exportar lista.

Operadores: eq · neq · in · not_in · gt · gte · lt · lte · contains · icontains · exists · ventana_dias

Field path con whitelist (NO eval, anti DSL malicioso). Recálculo automático en signals post_save.

Workflows con handlers tipados

Motor genérico Plan + Quehacer + Paso. 6 handlers V1 que cubren los workflows comunes de marketing. Más en V2.

email

Envía vía CuentaEmail (SMTP propio, Postal interno). Renderiza Plantilla Jinja-style con vars del lead.

esperar

Pospone next_run_at. Config: {dias, horas, minutos}. Beat task lo despierta cuando llegue.

condicion_if

Evalúa DSL JSON. Bifurca a siguiente_si_true / siguiente_si_false. Misma sintaxis que scoring.

manual

Pausa hasta que un humano cierre el Paso vía UI. Útil para "llamar al lead caliente".

registrar_evento

Escribe EventoLog. Webhooks salientes lo escuchan + workflows downstream lo usan como trigger.

finalizar

Marca Ejecucion=completed. Cierre explícito del workflow.

Trigger signal-driven

Crear un Lead corporativo dispara automáticamente:

Lead nuevo (signal post_save) ↓ TRIGGER_REGISTRY busca plantillas con target_content_type=Lead y trigger_tipo=objeto_creado ↓ condicion_entrada evalúa DSL → match ↓ Ejecucion creada (status=pending, next_run_at=now) ↓ Beat task procesar_ejecuciones cada 1 min ↓ Handler ejecuta paso → avanza al siguiente

Registry-driven (NO signal-on-all-models). Solo se conecta receiver para modelos en TRIGGER_REGISTRY. Performance escalable a 100k+ saves/mes.

Trae tu propio SMTP

Envía con tu Gmail/Workspace, tu SMTP corporativo, o el Postal MTA interno de Abior. Multi-cuenta por emprendimiento.

SMTP simple

Gmail (app password), Outlook, Workspace, tu SMTP empresarial. STARTTLS o SSL/TLS. Tracking emulado: pixel 1x1 + click rewriting para opens/clicks aunque SMTP no los reporte nativamente.

Gmail · 500/díaWorkspace · 2000/díaSMTP propio · sin límite

Postal MTA self-hosted

Si quieres alta entregabilidad y tracking nativo de opens/clicks/bounces sin pagar SaaS. SPF/DKIM/DMARC propios. Webhooks HMAC firmados. Cero terceros.

Tracking nativoWebhooks HMACSin límites

Passwords cifrados at-rest con Credac modo server_managed

La password SMTP no se guarda en plaintext. Va a un Credac tipo_acceso='server_managed' (Fernet+SECRET_KEY+salt PBKDF2 600k). El servidor descifra solo cuando un workflow envía email a las 3 AM, cada decrypt deja CredacDecryptLog. NO es zero-knowledge — modelo honesto: si el server se compromete (DB dump + .env), las passwords se filtran, igual que Mailgun/SendGrid.

Roadmap V2: Abior Vault — servicio separado (eventualmente VPS aparte) que custodia secretos y solo entrega via mTLS. Recupera separación de blast radius.

Webhooks salientes HMAC-firmados

Cuando el motor emite un EventoLog (lead corporativo, score >= 80, email rebotó), un dispatcher cada 30s notifica a tus endpoints externos con firma HMAC-SHA256.

Headers que envía Abior

Content-Type: application/json User-Agent: Abior-Webhook/1.0 X-Abior-Signature: hmac_sha256_hex X-Abior-Event-Id: <uuid> X-Abior-Event-Type: lead.corporativo_detectado

Secret HMAC vive en un Credac server_managed (cifrado at-rest). Cliente verifica con hmac.compare_digest en código propio.

Payload canónico (sort_keys)

{ "event_id": "uuid", "event_type": "lead.corporativo_detectado", "event_area": "marketing", "created_at": "2026-05-...", "target": { "app_label": "marketing", "model": "lead", "id": "uuid" }, "emprendimiento_id": "uuid", "data": { ... } }

JSON con sort_keys=True y separadores fijos — HMAC estable ante reintentos. Idempotencia: dedup por X-Abior-Event-Id.

Compatible con:

Slack incoming webhooksn8nZapierMake / IntegromatGitHub Actions repository_dispatchTu propio endpoint

Próximo: workflows con AI

Estamos integrando un handler ejecutar_agente_ai para que los pasos puedan invocar Claude/GPT/Gemini con tu propia API key.

Ver flujo de trabajo con agentes AI

Preguntas frecuentes

Tu primer workflow funcional en 15 minutos.

Crea tu cuenta. Configura tu Gmail/Outlook como CuentaEmail. Activa la welcome series. Embebe el formulario en tu blog. Listo.