Automatizar marketing conectado al CRM significa que un evento del CRM dispara el envío y que la respuesta del lead vuelve al CRM y detiene la secuencia. Sin esas dos direcciones tienes una herramienta de email escribiendo a quien ya habla con un comercial. Los flujos los montamos en los trabajos de integración y automatización de Codezone.
El coste se ve en dos sitios. Un lead que entra un viernes a las 18:00 y nadie recoge hasta el lunes llega frío a la llamada. Y el que ya respondió por teléfono recibe al día siguiente un email preguntando si le interesa.
Al terminar sabrás qué dispara cada flujo y quién manda sobre cada campo. La prioridad la decide la puntuación por intención de compra y los datos salen de la capa de datos propios.
Qué es la automatización conectada al CRM
Es el conjunto de flujos que leen un cambio de estado en el CRM, ejecutan una acción de marketing o asignación y escriben el resultado en la misma ficha. El CRM queda como fuente del estado comercial; la herramienta de marketing, como ejecutor.
Qué dispara cada flujo
El disparador es un hecho, no un horario:
- Lead creado con consentimiento: arranca el nurturing y nada más.
- Puntuación sobre el umbral: asigna comercial y crea la tarea de llamada.
- Estado cambiado a propuesta enviada: para el nurturing y lanza seguimiento.
- Oportunidad perdida con motivo: devuelve el contacto a un flujo lento, no al mismo.
Lo que nunca conviene disparar por tiempo es la asignación: con lote nocturno, el lead de las 10:00 espera catorce horas sin dueño.
Asignación, acuse de recibo y parada de la secuencia
La regla combina territorio y carga: filtra por provincia o sector y reparte entre los elegibles por quién tiene menos tareas abiertas. Y asignar no es entregar: el sistema registra que el comercial abrió la ficha y, si no lo hizo en plazo, reasigna.
La otra mitad es la respuesta del lead. Si responde, llama o escribe por WhatsApp, la secuencia se para ahí. HubSpot documenta las dos piezas: listas de supresión que impiden la inscripción en un workflow y una acción para desinscribir al contacto de la secuencia en curso, según la documentación de acciones de workflow de HubSpot. Móntala antes del primer envío.
Quién manda sobre cada campo, y la baja
Bidireccional no es que los dos escriban en todo, es que cada campo tiene un dueño declarado. En su guía de mapeo de propiedades con Salesforce, HubSpot nombra cuatro reglas: preferir Salesforce salvo que esté vacío, usar siempre Salesforce, bidireccional ganando el valor más reciente, y no sincronizar.
El reparto sensato: el estado y el comercial asignado los manda el CRM; el consentimiento, la fecha del último envío y la puntuación, marketing. Es el mismo acuerdo que ordena la comunicación entre ERP y CRM por API.
La baja es un dato del negocio, no un ajuste de la herramienta de email: se escribe en el CRM con fecha y canal. La LSSI exige en su artículo 21 consentimiento previo para las comunicaciones comerciales por email, salvo relación contractual previa con productos similares, y un procedimiento sencillo y gratuito de oposición al recoger los datos y en cada comunicación, según el texto consolidado de la Ley 34/2002.
CodeZone Pro Tip: recibe el lead por webhook, asígnalo por territorio y carga y crea la tarea en la misma transacción, con una clave de idempotencia para que el reintento del proveedor no genere dos leads ni dos tareas.
import crypto from "node:crypto";
// Clave derivada del contenido: el reintento del proveedor repite
// el mismo cuerpo y por tanto la misma clave.
const claveIdem = (email, fecha) =>
crypto.createHash("sha256").update(`${email}|${fecha}`).digest("hex");
// DO NOTHING deja rowCount a 0 si ya existe: no hay segunda tarea.
const ALTA = `INSERT INTO lead (clave_idem, email, provincia) VALUES ($1, $2, $3)
ON CONFLICT (clave_idem) DO NOTHING RETURNING id`;
// Territorio primero, carga despues: menos tareas abiertas gana.
const ASIGNA = `SELECT c.id FROM comercial c
LEFT JOIN tarea t ON t.comercial_id = c.id AND t.cerrada = false
WHERE c.activo AND $1 = ANY(c.provincias)
GROUP BY c.id ORDER BY count(t.id) LIMIT 1`;
const TAREA = `INSERT INTO tarea (lead_id, comercial_id, vence_en)
VALUES ($1, $2, now() + interval '2 hours')`;
export async function recibirLead(req, res, db) {
const { email, provincia, enviado_en } = req.body;
try {
await db.query("BEGIN"); // o lead y tarea, o nada
const idem = claveIdem(email, enviado_en);
const lead = await db.query(ALTA, [idem, email, provincia]);
if (lead.rowCount === 0) {
await db.query("COMMIT");
return res.status(200).json({ estado: "duplicado" });
}
const com = await db.query(ASIGNA, [provincia]);
await db.query(TAREA, [lead.rows[0].id, com.rows[0]?.id ?? null]);
await db.query("COMMIT");
return res.status(201).json({ estado: "creado" });
} catch (e) {
await db.query("ROLLBACK");
return res.status(500).json({ error: "interno" });
}
}La idempotencia evita el fallo más caro: el proveedor reintenta por timeout, el CRM crea dos fichas y dos comerciales llaman al mismo lead. Con la clave derivada del contenido, el reintento devuelve duplicado.
Los Flujos que Conviene no Automatizar
Tres dan más problemas que ahorro.
- La propuesta económica: un envío con la cifra equivocada cuesta la operación.
- La reactivación de un cliente perdido: si se fue molesto, el email reabre la herida.
- El cambio de etapa: si lo mueve una regla y no el comercial, el pipeline deja de reflejar la realidad.
El criterio: automatiza lo que tiene una respuesta correcta y deja a una persona lo que depende del contexto, con el filtro de los flujos de aprobación de gastos. Montarlo sobre una herramienta sin control es por qué n8n puede ser un riesgo para el negocio.
Lo que se Rompe Primero Cuando Crece el Volumen
El primero es la cola. Con pocos leads al día una llamada síncrona aguanta; con picos de campaña el proveedor reintenta y se duplican tareas. El transporte se decide en la comparación entre llamada directa, webhook y cola de mensajes.
El segundo es el campo sin dueño: en cuanto dos sistemas lo escriben aparecen estados imposibles y empieza la limpieza manual, que resuelven una capa de middleware entre CRM y sistemas antiguos y la integración de sistemas en Madrid sin crear silos.
Antes del primer flujo, escribe qué campo manda cada sistema y qué pasa cuando el lead responde. Eso determina si en seis meses el CRM sigue siendo fiable o el equipo vuelve a la hoja de cálculo, igual que en la automatización de procesos administrativos.
Si tu email y tu CRM no se hablan, conectamos los dos y definimos los flujos con tus estados.