HacksIA
automatizacion

Sistema completo de calificación de leads con Agente de Voz IA + Meta Ads + N8N usando Claude Code

Construye en 2 horas un sistema automatizado que captura leads desde Meta Ads, los contacta mediante un agente de voz con IA, extrae información clave de la conversación y notifica a tu equipo solo cuando el lead está cualificado para comprar.

Por Martin Reche ·

claude-codeagente-voz-ian8nmeta-adsretell-aiautomatizaciónlead-generationmcp
MR

Martin Reche · Sistemas de conversión con IA para negocios

Hemos construido sistemas de conversión para más de 50 negocios: desde el anuncio en Meta Ads hasta el cliente cerrado, pasando por la cualificación del lead y la venta. Todo lo que ves en esta guía está funcionando en negocios reales.

Ver lo que hacemos
Ver el sistema en funcionamiento
↓ Aquí la guía gratuita
01

INTRODUCCIÓN

El sistema que califica leads mientras duermes

Este tutorial te guiará para construir un ecosistema completo de automatización comercial utilizando Claude Code como orquestador principal. El sistema captura leads desde publicidad en Meta (Facebook/Instagram), los contacta inmediatamente mediante un agente de voz con inteligencia artificial, extrae datos estructurados de la conversación y notifica a tu equipo comercial solo cuando el lead cumple criterios de cualificación específicos.

¿Por qué esto cambia el juego? Antes, este proyecto tomaba 1-2 semanas de desarrollo entre programadores, diseñadores y especialistas en ads. Ahora, usando Claude Code conectado mediante MCPs (Model Context Protocol) a tus herramientas, lo construyes en menos de 2 horas.

El flujo completo

1. Publicidad

Crea campaña en Meta Ads con formulario de captura

2. Captura

Webhook envía datos del lead a N8N automáticamente

3. Contacto

Agente de voz IA llama al lead en menos de 60 segundos

4. Análisis

IA extrae dolor, urgencia, CRM usado y estado emocional

5. Cualificación

Si califica, notifica al equipo por Slack con toda la info

02

STACK TECNOLÓGICO

Herramientas y requisitos necesarios

1

Claude Code (Anthropic)

IDE conversacional con capacidad de ejecutar código y conectar APIs mediante MCP

npm install -g @anthropic-ai/claude-code
2

Cuenta en Retell AI

Plataforma para construir agentes de voz conversacionales con LLMs

https://www.retellai.com/
3

N8N (Self-hosted o Cloud)

Orquestador de workflows de automatización con capacidad de webhooks

docker run -it --rm -p 5678:5678 n8nio/n8n
4

Meta Business Manager

Acceso a Meta Ads para crear campañas con formularios de leads instantáneos

business.facebook.com
5

Airtable

Base de datos para almacenar leads y resultados del análisis post-llamada

airtable.com
6

Slack (opcional)

Canal para notificaciones internas cuando un lead califica

api.slack.com/apps

MCP (Model Context Protocol): Es el protocolo que permite a Claude Code conectarse directamente a tus herramientas como si fuera un usuario humano, pero mediante APIs. Necesitarás configurar MCPs para N8N y Retell AI.

03

CONFIGURACIÓN INICIAL

Preparar Claude Code y los MCPs

1

Instalar y autenticar Claude Code

Claude Code es la herramienta central que actuará como tu equipo de desarrollo. Se instala mediante npm y requiere autenticación con tu cuenta de Anthropic.

Instalación global de Claude Code
npm install -g @anthropic-ai/claude-code
claude-auth login
2

Configurar los MCPs (Model Context Protocol)

Los MCPs son las 'habilidades' que le das a Claude Code para que interactúe con plataformas externas. Necesitas configurar MCPs para N8N (gestión de workflows) y Retell AI (gestión de agentes de voz). Estos se configuran en el archivo de configuración de Claude Code.

Estructura de configuración MCP (claude.json)
{
  "mcpServers": {
    "n8n": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-n8n"],
      "env": {
        "N8N_API_KEY": "tu_api_key_de_n8n",
        "N8N_HOST": "https://tu-instancia.n8n.cloud"
      }
    },
    "retell": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-retell"],
      "env": {
        "RETELL_API_KEY": "sk_tu_api_key_de_retell"
      }
    }
  }
}

Seguridad API Keys: Nunca compartas estas claves en el chat de Claude Code. Guárdalas en variables de entorno o en el archivo de configuración MCP seguro. Claude Code accederá a ellas mediante el protocolo, no necesitas pegarlas en el chat.

¿Te trabas en algún paso? Lo vemos en una llamada desde 49€, con acciones por escrito.

Ver sesiones
04

WORKFLOW 1: DISPARADOR

Conectar Meta Ads → N8N → Retell AI

Este workflow se ejecuta instantáneamente cuando alguien completa el formulario en tu anuncio de Meta. Su función es recibir los datos del lead, guardarlos en Airtable y disparar la llamada del agente de voz.

3

Crear el webhook en N8N

En N8N, crea un nuevo workflow y añade un nodo 'Webhook'. Configúralo como método POST y copia la URL generada. Esta URL es la que configurarás en Meta Ads para que envíe los datos del formulario.

Configuración del nodo Webhook en N8N
{
  "nodes": [
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "meta-lead-capture",
        "responseMode": "responseNode",
        "options": {}
      },
      "name": "Webhook Meta Ads",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 1,
      "position": [250, 300]
    }
  ]
}
4

Configurar el formulario de Meta Ads

En Meta Ads Manager, crea una campaña de generación de leads con formulario instantáneo. Configura los campos: Nombre, Teléfono, Email, Nombre de empresa, Leads por mes (cantidad), CRM actual. En la configuración de 'Configuración de webhook', pega la URL del webhook de N8N.

Campos obligatorios para personalización: El teléfono es crítico (para llamar), pero también captura el nombre y empresa para que el agente de voz pueda personalizar la llamada diciendo: 'Hola [Nombre], vi que trabajas en [Empresa]...'

5

Formatear datos y guardar en Airtable

Añade un nodo 'Code' en N8N para formatear los datos recibidos del webhook y extraer las variables necesarias. Luego conecta con el nodo de Airtable para crear un registro inicial del lead.

Nodo de código para formatear datos del lead
// Mapeo de datos desde Meta Ads
const leadData = {
  leadId: $input.first().json.body.lead_id || $input.first().json.body.id,
  nombre: $input.first().json.body.full_name || $input.first().json.body.name,
  telefono: $input.first().json.body.phone_number,
  email: $input.first().json().json.body.email,
  empresa: $input.first().json.body.company_name,
  leadsPorMes: $input.first().json.body.leads_per_month,
  crmActual: $input.first().json.body.current_crm,
  timestamp: new Date().toISOString(),
  estado: "Nuevo - Pendiente de llamada"
};

return [{json: leadData}];
6

Integración con Retell AI para disparar la llamada

Añade un nodo HTTP Request en N8N que se conecte a la API de Retell AI para crear la llamada. Debes usar el endpoint POST /v2/create-phone-call con el número del lead y las variables dinámicas para personalizar el contexto del agente.

Configuración HTTP Request a Retell AI
{
  "method": "POST",
  "url": "https://api.retellai.com/v2/create-phone-call",
  "headers": {
    "Authorization": "Bearer {{$env.RETELL_API_KEY}}",
    "Content-Type": "application/json"
  },
  "body": {
    "from_number": "+1234567890",
    "to_number": "={{ $json.telefono }}",
    "override_agent_id": "agente_sofia_001",
    "retell_llm_dynamic_variables": {
      "nombre_lead": "={{ $json.nombre }}",
      "empresa": "={{ $json.empresa }}",
      "crm_actual": "={{ $json.crmActual }}",
      "leads_mes": "={{ $json.leadsPorMes }}",
      "tiempo_transcurrido": "menos de 60 segundos"
    }
  }
}

Configuración de Outbound en Retell: Antes de probar, asegúrate de que tu agente en Retell AI tenga habilitada la capacidad de llamadas salientes (Outbound) y que el número from_number esté verificado y configurado en tu dashboard de Retell.

05

CONFIGURACIÓN DEL AGENTE

Crear el agente de voz 'Sofía' en Retell AI

El agente de voz es el corazón del sistema. Debe sonar humano, entender el contexto del negocio inmobiliario (o tu industria), hacer preguntas de descubrimiento y determinar si el lead es cualificado según criterios específicos.

7

Configurar el prompt del agente

En Retell AI, crea un agente nuevo y configura el LLM con un prompt detallado que incluya: su nombre (Sofía), el contexto de la empresa, el objetivo de la llamada (calificación), las preguntas obligatorias que debe hacer, y los criterios para determinar si califica o no.

Prompt base para el agente de calificación
Eres Sofía, asistente virtual de Nova (empresa de agentes de voz IA para inmobiliarias).

CONTEXTO: El lead {{nombre_lead}} de {{empresa}} completó un formulario hace {{tiempo_transcurrido}} solicitando información sobre nuestro servicio de agentes de voz que atienden llamadas perdidas para inmobiliarias.

TU OBJETIVO: Realizar una llamada de descubrimiento de 3-5 minutos para determinar si es un lead cualificado.

DATOS QUE DEBES EXTRAER OBLIGATORIAMENTE:
1. Dolor principal: ¿Por qué pierden llamadas? ¿Cuántas aproximadamente?
2. Volumen: ¿Cuántos leads entran por mes actualmente?
3. Equipo: ¿Cuántos comerciales tienen?
4. Timing: ¿Qué tan urgente es solucionar esto? (Escala 1-10)
5. CRM: ¿Qué sistema usan actualmente?
6. Horario preferido: ¿Cuándo prefieren que los contacte el equipo comercial?

CRITERIOS DE CUALIFICACIÓN (Marca como CUALIFICADO si cumple 3 de 4):
- Pierde más de 20 llamadas al mes
- Tiene al menos 3 agentes comerciales
- Urgencia mayor a 7/10
- Usa CRM (cualquiera)

INSTRUCCIONES DE COMPORTAMIENTO:
- Sé conversacional, no robótica
- Usa muletillas naturales ('mm', 'vale', 'entiendo')
- Si no califica, sé amable pero directa al despedirte
- Si califica, confirma datos y agenda siguiente contacto
- NUNCA digas que eres una IA o robot
8

Configurar la voz y personalidad

En Retell AI, selecciona una voz que suene natural y profesional. Configura parámetros como: velocidad de habla (recomendado 0.9-1.0), tono, y activa opciones de 'fillers' (muletillas) para que suene más humano. Configura también el nombre del agente y la empresa en las variables estáticas.

Variables dinámicas vs estáticas: Las variables dinámicas ({{nombre_lead}}, {{empresa}}) vienen del webhook de N8N y cambian en cada llamada. Las estáticas (nombre del agente, nombre de tu empresa) se configuran una vez en Retell.

06

WORKFLOW 2: ANÁLISIS POST-LLAMADA

Procesar resultados: Retell → N8N → Airtable → Slack

Una vez que Sofía cuelga la llamada, Retell AI envía un webhook con el análisis completo de la conversación. Este workflow extrae la información clave, actualiza el registro en Airtable y notifica al equipo si el lead está cualificado.

9

Configurar el webhook de post-call en Retell

En el dashboard de Retell AI, ve a la configuración de tu agente y en 'Post-Call Analysis' o 'Webhook', configura la URL del segundo webhook de N8N. Retell enviará un payload con el análisis detallado una vez finalizada la llamada.

Payload recibido desde Retell AI (Post-Call)
{
  "event": "call_completed",
  "call_id": "call_abc123",
  "agent_id": "agente_sofia_001",
  "call_status": "completed",
  "disconnection_reason": "user_hangup",
  "post_call_analysis": {
    "cualificado": true,
    "dolor_principal": "Pierden 30-40 llamadas mensuales por falta de tiempo del equipo comercial",
    "numero_agentes": "3-4 comerciales",
    "crm_actual": "No tienen CRM formal, usan Excel",
    "leads_perdidos_estimados": "30-40",
    "tiempo_respuesta_actual": "No responden WhatsApp en horas pico",
    "urgencia": "Alta, quiere solución inmediata",
    "timing": "Quiere demo esta semana",
    "hora_contacto": "Prefiere mañanas (9-11h)",
    "sentimiento": "Positivo, muy interesado",
    "resumen": "Martín es el fundador, toma decisiones. Frustrado por perder leads. Quiere demo personalizada."
  },
  "transcript": "[Texto completo de la conversación]",
  "duration_seconds": 245,
  "recording_url": "https://..."
}
10

Filtrar por estado de llamada en N8N

Retell envía 3 estados diferentes: 'started' (inicio), 'ended' (fin), y 'post_call_analysis' (análisis completo). En N8N, añade un nodo 'IF' o 'Filter' para procesar solo cuando el evento sea 'post_call_analysis', ya que es el único que contiene los datos extraídos por el LLM.

Condición de filtro en N8N
// Solo procesar si es el evento de análisis post-llamada
if ($input.first().json.body.event === "post_call_analysis" || 
    $input.first().json.body.post_call_analysis) {
  return true;
}
return false;
11

Parsear datos y actualizar Airtable

Extrae los campos del post_call_analysis y actualiza el registro del lead en Airtable. Mapea cada campo extraído (dolor_principal, urgencia, sentimiento, etc.) a las columnas correspondientes en tu base de datos.

Mapeo de datos para actualización Airtable
const input = $input.first().json.body;
const analysis = input.post_call_analysis || {};

return [{
  json: {
    leadId: input.call_id,
    cualificado: analysis.cualificado ? "Sí" : "No",
    dolorPrincipal: analysis.dolor_principal || "No especificado",
    numeroAgentes: analysis.numero_agentes || "No especificado",
    crmActual: analysis.crm_actual || "No especificado",
    leadsPerdidos: analysis.leads_perdidos_estimados || "No especificado",
    urgencia: analysis.urgencia || "No especificado",
    timing: analysis.timing || "No especificado",
    horaContacto: analysis.hora_contacto || "No especificado",
    sentimiento: analysis.sentimiento || "Neutral",
    resumenEjecutivo: analysis.resumen || "",
    duracionLlamada: input.duration_seconds,
    urlGrabacion: input.recording_url,
    estado: analysis.cualificado ? "Cualificado - Pendiente seguimiento" : "No cualificado",
    fechaActualizacion: new Date().toISOString()
  }
}];
12

Configurar notificación condicional a Slack

Añade otro nodo 'IF' para verificar si el campo 'cualificado' es true. Si lo es, envía un mensaje detallado al canal de ventas de Slack con todos los datos extraídos para que el equipo comercial actúe inmediatamente.

Mensaje de notificación para Slack
{
  "text": "🎯 NUEVO LEAD CUALIFICADO - LLAMADA COMPLETADA",
  "blocks": [
    {
      "type": "header",
      "text": {
        "type": "plain_text",
        "text": "🔥 Lead Cualificado: {{ $json.nombre }}"
      }
    },
    {
      "type": "section",
      "fields": [
        {
          "type": "mrkdwn",
          "text": "*Empresa:*\n{{ $json.empresa }}"
        },
        {
          "type": "mrkdwn",
          "text": "*Teléfono:*\n{{ $json.telefono }}"
        },
        {
          "type": "mrkdwn",
          "text": "*Dolor principal:*\n{{ $json.dolorPrincipal }}"
        },
        {
          "type": "mrkdwn",
          "text": "*Leads perdidos:*\n{{ $json.leadsPerdidos }}"
        }
      ]
    },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "*Resumen de Sofía:*\n{{ $json.resumenEjecutivo }}"
      }
    },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "*Próximo paso:* Contactar {{ $json.horaContacto }} | Sentimiento: {{ $json.sentimiento }}"
      }
    },
    {
      "type": "actions",
      "elements": [
        {
          "type": "button",
          "text": {
            "type": "plain_text",
            "text": "Escuchar llamada"
          },
          "url": "{{ $json.urlGrabacion }}",
          "style": "primary"
        }
      ]
    }
  ]
}

Doble vía de notificación: Configura también una notificación alternativa (menos detallada) para leads NO cualificados, así el equipo puede revisar si alguno merece seguimiento manual o entender por qué no calificaron.

07

TESTING Y DEBUGGING

Validar el sistema con Claude Code

Antes de activar la campaña publicitaria, debes probar todo el flujo end-to-end. Claude Code puede ayudarte a simular leads, detectar errores y corregir configuraciones automáticamente.

13

Simular un lead de prueba

Pide a Claude Code que ejecute un test del Workflow 1 enviando un payload JSON simulado al webhook de N8N. Esto verifica que la conexión Meta→N8N→Retell funcione sin necesidad de gastar presupuesto publicitario.

Comando para Claude Code (simulación de lead)
Claude, ejecuta un test end-to-end del Workflow 1: 
1. Envía un payload simulado de Meta Ads con estos datos:
   - Nombre: Martín Test
   - Teléfono: [tu número personal]
   - Empresa: Inmobiliaria Test
   - Leads por mes: 50
   - CRM: Excel
2. Verifica que el webhook responda 200
3. Confirma que se creó el registro en Airtable
4. Verifica que Retell recibió la orden de llamada
14

Depuración autónoma de errores

Si Claude Code detecta errores (como un 404 en el webhook o credenciales incorrectas), él mismo puede diagnosticar el problema y sugerir soluciones. Por ejemplo, si el workflow de post-call no se ejecuta, verificará si está activado (publicado) en N8N.

Error común: En la nueva versión de N8N, el interruptor de activar/desactivar workflow es visualmente sutil. Si el workflow 2 (post-call) no se ejecuta después de una llamada, 90% de probabilidades de que esté desactivado. Busca el botón 'Active' en la esquina superior derecha del editor.

15

Prueba de llamada real

Una vez pasado el test simulado, realiza una prueba real: usa tu propio número de teléfono en el formulario de prueba de Meta (o simula el webhook con tu número) y contesta la llamada. Verifica que Sofía mencione tu nombre, haga las preguntas de calificación y que, al terminar, recibas la notificación en Slack con los datos correctos.

08

MÉTRICAS Y OPTIMIZACIÓN

Dashboard de control y mejora continua

Una vez en producción, necesitas medir el rendimiento del sistema para optimizar tanto el agente de voz como la campaña publicitaria.

📊

Tasa de Cualificación

% de leads que pasan el filtro de Sofía vs total de llamadas. Meta: >30%

☎️

Tasa de Contestación

% de leads que contestan la llamada automática. Meta: >60% (primeros 5 min)

⏱️

Tiempo de Respuesta

Segundos entre formulario y llamada. Debe ser <60 segundos

🎯

Costo por Lead Cualificado

Presupuesto ads / leads cualificados. Clave para ROI

💬

Sentimiento Positivo

% de conversaciones marcadas como positivas/neutras vs negativas

🔊

Duración Promedio

Segundos de llamada. >180s indica buen engagement

16

Crear vista de métricas en Airtable

En Airtable, crea una vista de 'Dashboard' con gráficos que muestren: volumen de leads por día, tasa de cualificación, distribución de sentimientos, y los principales dolores detectados (tag cloud de los campos de texto libre).

09

CONCLUSIÓN Y PRÓXIMOS PASOS

Desplegar en producción y escalar

El sistema está completo cuando: (1) Meta Ads envía leads automáticamente, (2) Sofía llama y cualifica en tiempo real, (3) Airtable almacena toda la información estructurada, y (4) Slack notifica instantáneamente a ventas. Desde este punto, puedes escalar presupuesto publicitario o replicar el modelo para otros nichos.

¿Qué pasa si el lead no contesta la primera llamada?

Configura un segundo workflow en N8N que programe un reintento a los 30 minutos y un tercer intento al día siguiente. Retell AI permite programar llamadas futuras mediante su API.

¿Puedo cambiar el criterio de cualificación sin tocar código?

Sí, modifica el prompt del agente en Retell AI y ajusta la lógica condicional en el nodo IF de N8N que envía a Slack. Claude Code puede hacer estos cambios por ti mediante comandos de texto.

¿Funciona para otros sectores además de inmobiliarias?

Absolutamente. Solo necesitas cambiar el prompt de Sofía para adaptarlo a tu industria (ej: concesionarios, clínicas dentales, consultoras) y ajustar las preguntas de descubrimiento a los dolores específicos de ese sector.

¿Cuánto cuesta operar este sistema?

Costos aproximados: Retell AI ($0.05-0.10/minuto de llamada), N8N (gratis self-hosted o $20/mes cloud), Meta Ads (según presupuesto), Claude Code ($20/mes). Para 100 llamadas/mes, costo operativo ≈ $50-100.

Recuerda: Este sistema aprende y mejora. Revisa semanalmente las transcripciones de llamadas no cualificadas para ajustar el prompt de Sofía y detectar falsos negativos (leads buenos que no pasaron el filtro).

¿Quieres la guía paso a paso descargable?

Hemos preparado un PDF completo con todos los comandos exactos, prompts listos para copiar y pegar, y diagramas de flujo de los workflows de N8N para que repliques este sistema sin errores.

Descargar guía gratuita
Plantilla lista para usar

Agente de Voz Retell AI - Sofía Cualificadora de Leads Inmobiliarios

Agente de voz IA que contacta a tus leads en menos de 60 segundos y agenda reuniones solo con clientes cualificados.

  • Lista para importar directamente en Retell AI
  • Sin configurar nada desde cero
  • Recibes el archivo JSON por email al instante

29

Pago único

Obtener plantilla
Se envía por email al instante
Plantilla lista para usar

Automatización n8n - Disparador Ultrarrápido Meta Ads a Retell AI

Conecta tus formularios de Meta Ads con Retell AI para iniciar llamadas a leads en menos de 1 minuto.

  • Lista para importar directamente en Retell AI
  • Sin configurar nada desde cero
  • Recibes el archivo JSON por email al instante

9

Pago único

Obtener plantilla
Se envía por email al instante
Workflow listo para usar

Automatización n8n - Análisis Post-Llamada y Triaje a Slack

Procesa los datos de tus agentes de voz, actualiza tu CRM y notifica a tu equipo comercial solo lo que importa.

  • Importa el workflow en n8n en 2 minutos
  • Sin construir nada desde cero
  • Recibes el archivo JSON por email al instante

13

Pago único

Obtener plantilla
Se envía por email al instante

Si quieres ir más rápido

Sistemas de conversión que funcionan, no demos de IA

Soy Martin Reche. Hemos construido sistemas de conversión para más de 50 negocios: desde el anuncio en Meta Ads hasta el cliente cerrado, pasando por la cualificación del lead y la venta. Todo lo que ves en esta guía está funcionando en negocios reales. Si quieres aplicarlo a tu caso, lo vemos en una llamada: te digo qué montar, con qué y en qué orden, y te lo dejo por escrito. Y si prefieres que lo montemos por ti, eso es NovaChat.

Sistemas de conversión

Del anuncio al cliente cerrado: captación, seguimiento y venta en un solo flujo que funciona.

Cualificación de leads

Cada contacto se filtra, se atiende y se lleva a la venta sin que nadie lo persiga a mano.

Agentes de IA que atienden y venden

Voz, WhatsApp, web e Instagram: responden, cualifican y cierran citas 24/7.

Consultoría 1:1

Desde 49 €: te digo qué montar, con qué y en qué orden, por escrito.

Consultoría 1:1 · Google Meet

Una llamada y sales sabiendo qué hacer y qué no

Me cuentas tu caso en un formulario de dos minutos, pagas, eliges hora. Garantía simple: si en los primeros 10 minutos veo que no te puedo ayudar, te devuelvo el importe. Pack de 3 Revisiones por 249 € si quieres que te acompañe 90 días.

49€

30 min · Diagnóstico 1:1

99€

60 min · Revisión 1:1

149€

90 min · Estrategia 1:1

Ver opciones y reservar

¿Prefieres que lo montemos por ti?

En NovaChat IA construimos agentes de voz, chatbots y automatizaciones para pymes. Tú lo usas, nosotros lo mantenemos.

novachatia.com