automatizar captación leads n8n
Automatiza la captación de leads con n8n y tu CRM favorito

Automatiza la captación de leads con n8n y tu CRM favorito

Cada lead que entra y no se gestiona en las primeras horas tiene muchas más probabilidades de enfriarse. El problema no suele ser la falta de voluntad del equipo comercial, sino la fricción: hay que copiar los datos del formulario al CRM, mandar el email de bienvenida, avisar al comercial asignado… Si eso se hace a mano, se hace tarde, mal, o no se hace.

Con n8n puedes conectar todos esos pasos en un único workflow que se ejecuta en segundos, sin que nadie tenga que hacer nada manualmente. Funciona con HubSpot, Notion, Pipedrive o cualquier CRM favorito que ya uses.


Qué vamos a construir

Un flujo de captación de leads que hace todo esto de forma automática:

  1. Recibe los datos del formulario de contacto en tiempo real.
  2. Enriquece el lead con información adicional (empresa, LinkedIn…).
  3. Crea el contacto en HubSpot (o en Notion si no usas CRM).
  4. Envía un email de bienvenida personalizado al lead.
  5. Notifica al comercial por WhatsApp con los datos del lead.
  6. Si el lead tiene empresa, lo prioriza automáticamente.

Todo esto ocurre en menos de 30 segundos desde que el lead rellena el formulario.


Requisitos


Paso 1: El trigger — Capturar el lead

El punto de entrada del workflow es un Webhook de n8n. Este webhook recibe los datos cuando alguien envía el formulario de contacto.

Crea un nuevo workflow en n8n y añade un nodo Webhook:

La URL generada (https://n8n.tudominio.com/webhook/captacion-leads) es la que configuras en tu formulario web.

Compatibilidad con formularios populares

Datos recomendados para capturar

Asegúrate de que tu formulario recoge al menos:


Paso 2: Validar y limpiar los datos

Antes de hacer nada con el lead, limpia los datos. Añade un nodo “Code” o “Set”:

// Normalizar el teléfono (quitar espacios, guiones)
const telefono = $json.telefono?.replace(/[\s\-\(\)]/g, '') || '';

// Capitalizar el nombre
const nombre = $json.nombre
  ?.split(' ')
  .map(w => w.charAt(0).toUpperCase() + w.slice(1).toLowerCase())
  .join(' ') || '';

// Extraer dominio del email (útil para B2B)
const dominioEmail = $json.email?.split('@')[1] || '';

return [{
  json: {
    ...$json,
    nombre,
    telefono,
    dominioEmail,
    fechaEntrada: new Date().toISOString(),
  }
}];

Paso 3: Enriquecer el lead (opcional pero muy útil para B2B)

Si tu negocio va a empresas, añadir información sobre la empresa del lead antes de pasarlo al CRM ahorra mucho tiempo al equipo comercial.

Opción A: Clearbit

Clearbit puede devolver el nombre de la empresa, el sector, el número de empleados y el cargo del lead solo con el email.

Nodo “HTTP Request”:

Clearbit tiene un plan gratuito limitado. Para uso intensivo, considera alternativas como Apollo.io o Snov.io.

Opción B: Enriquecimiento básico sin API

Si no quieres gastar en enriquecimiento, al menos puedes detectar si el email es corporativo o genérico:

const dominiosGenericos = ['gmail.com', 'hotmail.com', 'yahoo.com', 'outlook.com'];
const esCorporativo = !dominiosGenericos.includes($json.dominioEmail);
const prioridad = esCorporativo ? 'alta' : 'normal';
return [{ json: { ...$json, prioridad, esCorporativo } }];

Un lead con email corporativo tiene más probabilidades de ser un prospecto B2B de calidad.


Paso 4A: Crear el contacto en HubSpot

HubSpot tiene una API REST muy bien documentada. Con el plan gratuito puedes crear contactos, empresas y deals.

Nodo “HubSpot” (nodo nativo de n8n) o “HTTP Request”:

Con el nodo nativo de n8n:

Con HTTP Request:

POST https://api.hubapi.com/crm/v3/objects/contacts
Authorization: Bearer {API_KEY}

{
  "properties": {
    "email": "{{$json.email}}",
    "firstname": "{{$json.nombre.split(' ')[0]}}",
    "lastname": "{{$json.nombre.split(' ').slice(1).join(' ')}}",
    "phone": "{{$json.telefono}}",
    "company": "{{$json.empresa}}",
    "hs_lead_status": "NEW",
    "lifecyclestage": "lead",
    "lead_source": "{{$json.fuente}}"
  }
}

Asignar el lead al comercial correcto

Si tienes varios comerciales, puedes añadir lógica de asignación automática. Por ejemplo, rotar de forma equitativa o asignar por sector o región:

const comerciales = ['comercial1@empresa.com', 'comercial2@empresa.com', 'comercial3@empresa.com'];
const indice = new Date().getMinutes() % comerciales.length; // rotación simple
return [{ json: { ...$json, comercialAsignado: comerciales[indice] } }];

Paso 4B: Crear el contacto en Notion (alternativa a HubSpot)

Si no usas un CRM formal, Notion es una excelente alternativa para equipos pequeños.

Nodo “Notion” (nativo en n8n) → “Create Page”:

Crea una base de datos en Notion con propiedades: Nombre, Email, Empresa, Teléfono, Estado (selector: Nuevo, Contactado, Cualificado, Perdido), Fecha entrada, Comercial asignado.


Paso 5: Email de bienvenida personalizado

El email de bienvenida debe llegar en minutos desde el envío del formulario, no horas. Y debe ser personalizado, no un template genérico.

Nodo “Gmail” o “Send Email” (SMTP):

Subject: Hola {{$json.nombre.split(' ')[0]}}, hemos recibido tu consulta

Body (HTML recomendado para mejor presentación):

<p>Hola {{$json.nombre.split(' ')[0]}},</p>

<p>Gracias por contactar con [Tu empresa]. Hemos recibido tu mensaje 
y uno de nuestros especialistas se pondrá en contacto contigo 
en las próximas horas.</p>

<p>Mientras tanto, puede que te interese:</p>
<ul>
  <li><a href="[URL]">Artículo relevante 1</a></li>
  <li><a href="[URL]">Caso de éxito de cliente similar</a></li>
</ul>

<p>Si tienes cualquier duda urgente, puedes escribirnos directamente 
a este email.</p>

<p>Un saludo,<br>
[Nombre] | [Tu empresa]</p>

La personalización con el nombre y el contexto de la consulta aumenta significativamente la tasa de apertura y la percepción de atención.


Paso 6: Notificación al comercial por WhatsApp

Mientras el lead recibe su email de bienvenida, el comercial asignado recibe un mensaje por WhatsApp con toda la información.

Nodo “HTTP Request” hacia la WhatsApp Business API:

{
  "messaging_product": "whatsapp",
  "to": "{{$json.telefonoComercial}}",
  "type": "text",
  "text": {
    "body": "🔔 Nuevo lead:\n\n*Nombre*: {{$json.nombre}}\n*Email*: {{$json.email}}\n*Empresa*: {{$json.empresa}}\n*Teléfono*: {{$json.telefono}}\n*Prioridad*: {{$json.prioridad}}\n\n*Mensaje*: {{$json.mensaje}}\n\nEntró el {{$json.fechaEntrada}}"
  }
}

Si no tienes WhatsApp Business API configurado, puedes usar Telegram como alternativa más sencilla. El nodo de Telegram en n8n funciona en minutos.


Paso 7: Lógica de leads prioritarios

Si el lead tiene empresa (email corporativo o campo empresa relleno), añade una rama adicional que lo trate diferente:

IF (prioridad = 'alta')
  → Crear Deal en HubSpot con valor estimado
  → Notificar también al responsable de ventas por email
  → Añadir tag 'B2B' en el contacto de HubSpot
  → Programar seguimiento automático en 24h (otro trigger)

Resultado final: el workflow completo

Webhook (formulario enviado)
  → Code (limpiar y normalizar datos)
  → HTTP Request (enriquecimiento Clearbit, opcional)
  → Code (determinar prioridad)
  → HubSpot / Notion (crear contacto)
  → Gmail (email de bienvenida al lead)
  → WhatsApp API (notificación al comercial)
  → IF (lead prioritario)
      → HubSpot (crear deal)
      → Email (notificar al responsable)

Todo esto ocurre en menos de 30 segundos desde que el lead envía el formulario.


Métricas para medir el impacto

Una vez activo el workflow, mide estos indicadores:


Preguntas frecuentes

¿Funciona con otros CRMs además de HubSpot? Sí. n8n tiene nodos nativos para Salesforce, Pipedrive, ActiveCampaign, Zoho CRM y muchos más. El flujo es idéntico, solo cambia el nodo del CRM.

¿Puedo tener diferentes flujos para diferentes formularios? Sí. Puedes tener webhooks distintos (con paths diferentes) para distintos formularios y crear flujos específicos para cada uno.

¿Puedo añadir un lead scoring automático? Sí. Añade un nodo de IA que analice el mensaje del lead y asigne una puntuación según el nivel de intención de compra. Esto ayuda al equipo comercial a priorizar qué leads contactar primero.

¿Qué pasa si el lead ya existe en el CRM? Antes de crear el contacto, añade un paso que busque si el email ya existe. Si existe, actualiza el registro en lugar de crear uno duplicado. HubSpot y la mayoría de CRMs tienen un endpoint específico para esto.


¿Te ha resultado útil? Compártelo con alguien que quiera automatizar su trabajo con IA.