HacksIA
automatizacion

Cómo construir un Call Center de IA para llamadas en frío: Guía completa sin programar

Sistema completo de prospección outbound B2B que extrae leads de Google Maps, gestiona llamadas automáticas con IA y agenda consultorías. Adaptable a cualquier negocio con cumplimiento legal español.

Por Martin Reche ·

inteligencia-artificialautomatizacionventasn8nprospeccion
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
01

INTRODUCCIÓN AL SISTEMA

¿Qué vas a construir exactamente?

Este sistema es una máquina de prospección B2B completamente automatizada que trabaja 12 horas al día, de lunes a sábado, sin intervención humana. No es un simple bot de llamadas: es una infraestructura completa que conecta extracción de datos, orquestación de workflows, inteligencia artificial conversacional y gestión de pipeline en tiempo real.

🤖

Agente de Voz IA

Llama en frío, se identifica como inteligencia artificial, detecta problemas del prospecto y agenda consultorías de 20 minutos

📊

Dashboard en Tiempo Real

Visualiza leads en cola, llamadas activas, tasa de conversión y análisis post-llamada con transcripciones completas

🗺️

Scraping Automatizado

Extrae automáticamente empresas de Google Maps con nombre, teléfono, web y ubicación geográfica

⚖️

Cumplimiento Legal

Cumple con la Orden TDF/149/2025 (número fijo obligatorio) y el AI Act (identificación como IA)

El flujo completo

1. Extrae

Obtén cientos de empresas objetivo de Google Maps con datos de contacto verificados

2. Importa

Carga los leads en tu base de datos propia con un clic, filtrando duplicados y blacklist

3. Llama

El agente IA contacta cada empresa, detecta necesidades y califica el interés

4. Agenda

Programa consultorías directamente en el calendario y notifica a tu equipo comercial

Obligaciones legales en España (2025): La Orden TDF/149/2025 exige obligatoriamente el uso de número fijo para llamadas comerciales outbound. Además, el AI Act Art. 50 obliga a que el agente se identifique como IA en los primeros 5 segundos. La base legal para el tratamiento es el interés legítimo B2B (Art. 19 LOPDGDD).

02

REQUISITOS TÉCNICOS

Infraestructura necesaria y costes

El sistema se compone de 6 piezas tecnológicas interconectadas. No necesitas ser programador experto porque Claude Code escribirá el código por ti, pero sí debes entender qué hace cada componente para configurarlo correctamente. Y si prefieres saltarte todo el montaje, existe la versión gestionada de este sistema.

1

Next.js 14 + Vercel

Framework React moderno con App Router. Alojamiento serverless gratuito para proyectos pequeños.

npm create next-app@latest dashboard --typescript --tailwind --app
2

Neon.tech (PostgreSQL)

Base de datos serverless con escalado automático. Gratis hasta 500MB y 190 horas de computación.

Conexión vía string de conexión proporcionada en el dashboard de Neon
3

N8N (Autómatas)

Plataforma de automatización tipo Zapier pero self-hosted. Control total sobre los workflows.

Docker compose o cloud n8n.io ($24/mes)
4

Retell AI

Plataforma especializada en agentes de voz conversacionales con latencia <800ms.

API Key desde dashboard.retellai.com
5

Número Fijo SIP

Obligatorio por ley española. Proveedor tipo OVH, Netelip o Twilio (solo números fijos).

Configuración SIP trunk en Retell AI
6

Apify

Plataforma de web scraping con 'actores' preconfigurados para extraer datos de Google Maps.

Apify API token + Actor ID de Google Maps Scraper

Inversión mensual estimada: Mes 1 costará entre $75-130 (incluyendo VPS para N8N, número fijo, minutos de llamada Retell y scraping). Con una sola consultoría convertida en cliente, el sistema se amortiza completamente.

03

PASO 1: ARQUITECTURA BASE

Creando el proyecto Next.js y la base de datos

1

Configura las credenciales iniciales

Antes de ejecutar el primer prompt, asegúrate de tener creadas las cuentas en Neon.tech y Vercel. En Neon, crea un proyecto nuevo y copia la cadena de conexión (connection string). Esta será la variable de entorno DATABASE_URL que usará Drizzle ORM para conectar con PostgreSQL.

Prompt para Claude Code - Configuración inicial completa
Quiero construir un sistema de prospección outbound con agente de voz IA para vender [TU SERVICIO] a empresas de [TU NICHO] en España. El sistema necesita:
1. Un dashboard web en Next.js 14 (App Router) con autenticación básica
2. Base de datos PostgreSQL con Drizzle ORM conectada a Neon.tech
3. Tabla de leads con estados: nuevo, en_cola, llamando, interesado, tibio, frío, descartado, agotado
4. Tabla de llamadas con análisis post-llamada
5. Tabla de blacklist (números que pidieron no ser contactados)
6. API REST para gestionar leads desde N8N

Empieza por el schema de base de datos y la estructura de carpetas del proyecto.

¿Por qué estos estados específicos? El sistema implementa una máquina de estados robusta: 'nuevo' (recién importado), 'en_cola' (listo para llamar), 'llamando' (en conversación activa), 'interesado/tibio/frío' (resultado cualificado), 'descartado' (blacklist o imposible contactar) y 'agotado' (3 intentos fallidos). Esto permite reportes precisos de funnel.

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

Ver sesiones
04

PASO 2: EL AGENTE CONVERSACIONAL

Configuración del prompt de voz en Retell AI

2

Diseña la personalidad del agente

El agente es el corazón del sistema. No busca vender en la llamada (eso sería invasivo y poco efectivo), sino diagnosticar si el prospecto tiene el problema que tú resuelves. Debe ser directo, profesional y respetuoso del tiempo del interlocutor. La identificación como IA no es opcional: es obligatoria por ley desde el primer momento.

Prompt para Claude Code - Configuración del agente Retell
Escribe el prompt del sistema para un agente de voz IA llamado [NOMBRE DEL AGENTE] que trabaja para [TU EMPRESA]. El agente llama en frío a empresas de [TU NICHO] para vender [TU SERVICIO].

Requisitos:
- Debe identificarse como IA en los primeros 5 segundos (obligatorio por ley)
- El objetivo NO es vender en la llamada, sino detectar si tienen el problema que resuelves y agendar una reunión de 20 minutos con un humano
- Si el lead pide no ser contactado, debe confirmarlo y terminar la llamada con amabilidad
- Tono: directo, profesional, sin ser pesado
- Duración objetivo: 2-4 minutos

Variables dinámicas disponibles: {{nombre_negocio}}, {{ciudad}}, {{nombre_contacto}}

El dolor principal que detectamos en [TU NICHO]: [DESCRIBE EL PROBLEMA QUE TIENEN]

Crítico para el cumplimiento: El prompt debe incluir explícitamente que el agente diga algo como 'Soy [Nombre], un asistente de inteligencia artificial de [Empresa]'. Retell AI permite configurar 'LLM credentials' y 'Voice' por separado. Asegúrate de seleccionar una voz en español de España (no latinoamericana) para mayor naturalidad.

05

PASO 3: DASHBOARD DE LEADS

Interfaz de gestión visual con Next.js

3

Desarrolla el panel de control principal

El dashboard es donde gestionas el pipeline visualmente. Necesitas ver en tiempo real qué leads están siendo contactados, cuántos han mostrado interés y poder reencolar manualmente los que merecen otro intento. La tabla debe soportar miles de registros sin lag (por eso TanStack Table v8).

Prompt para Claude Code - Página de leads
Crea la página de leads del dashboard con estas funcionalidades:
- Tabla con TanStack Table v8 que muestre: nombre negocio, ciudad, teléfono, estado (badge de color), intentos (ej: 1/3), último contacto
- Filtro por estado (todos, en cola, interesado, frío...)
- Buscador en tiempo real por nombre, ciudad o teléfono
- KPIs en la parte superior: leads en cola, interesados, tasa de contacto, consultorias agendadas
- Botón para reencolar un lead manualmente
- Botón para descartar un lead
- Polling automático cada 5 segundos cuando hay campaña activa

Usa shadcn/ui para los componentes y Tailwind CSS para estilos.

Sobre el polling: Aunque WebSockets serían más eficientes, el polling cada 5 segundos es suficiente para este caso de uso y mucho más fácil de implementar con Next.js App Router. Recuerda detener el polling cuando la pestaña no esté activa para ahorrar recursos.

06

PASO 4: EXTRACCIÓN DE DATOS

Importación masiva desde Google Maps (Apify)

4

Integra el scraping de Google Maps

Apify es un marketplace de scrapers. Usarás el 'Google Maps Scraper' para extraer negocios por ciudad y categoría. El flujo debe permitirte lanzar el scraping, ver su progreso en tiempo real, y seleccionar qué resultados importar (no todos merecen la pena). Es crucial verificar la blacklist antes de importar para respetar el derecho de oposición del RGPD.

Prompt para Claude Code - Sección de scraping
Crea una sección de scraping en el dashboard que permita:
1. Introducir ciudades (múltiples) y una búsqueda personalizada (ej: "instaladores paneles solares")
2. Lanzar el actor de Google Maps de Apify y guardar el job en base de datos
3. Ver el estado del scraping en tiempo real (pendiente, ejecutando, completado)
4. Mostrar los resultados: nombre, teléfono, web, ciudad
5. Seleccionar cuáles importar como leads con checkboxes
6. Al importar: verificar blacklist, ignorar duplicados, guardar solo los nuevos

El endpoint de importación debe recibir los items en formato JSON y devolver: importados, duplicados, bloqueados.

Optimización de costes: Apify cobra por tiempo de cómputo. Para pruebas, limita la extracción a 20-30 resultados por ciudad. Los teléfonos extraídos a veces incluyen prefijos internacionales (+34) y a veces no: normaliza siempre a formato E.164 (+34XXXXXXXXX) antes de guardar en la base de datos para evitar errores en Retell AI.

07

PASO 5: AUTOMATIZACIÓN N8N

Workflows de orquestación de llamadas

5

Configura los 4 workflows esenciales

N8N es el cerebro operativo. Necesitas 4 workflows interconectados: uno para recibir leads del dashboard (webhook), otro para procesar resultados post-llamada desde Retell, un scheduler que lanza llamadas en horario comercial respetando el límite de 3 intentos, y un sub-workflow reutilizable que gestiona la creación de la llamada en sí. La lógica de reintentos (24h entre intentos) es clave para no ser invasivo.

Prompt para Claude Code - Workflows N8N
Diseña los workflows de N8N para este sistema de llamadas outbound:

WF1 - Disparador (Webhook):
- Recibe leads desde el dashboard vía webhook
- Valida el secret de seguridad
- Lanza el sub-workflow de llamada para cada lead de forma individual (SplitInBatches)

WF2 - Post-llamada (Webhook desde Retell):
- Recibe el evento "call_analyzed" de Retell AI
- Extrae: transcripción, nivel de interés, si agendó reunión, si pidió no ser contactado
- Actualiza el estado del lead en la base de datos vía API
- Si es interesado: envía notificación a Slack

WF3 - Scheduler:
- Corre cada hora en horario laboral (lunes-viernes 9-21h)
- Busca leads en cola cuyo próximo intento ya llegó
- Los lanza al sub-workflow de llamada
- Máximo 3 intentos por lead, con 24h entre intentos

WF4 - Call Launcher (sub-workflow):
- Recibe un lead
- Verifica que no esté en blacklist
- Crea la llamada en Retell AI con los datos del lead
- Actualiza estado a "llamando"
- Si falla: revierte a "en cola"

Explica la lógica de cada nodo y los posibles errores.

Gestión de errores crítica: Si Retell AI devuelve error de 'número ocupado' o 'no contesta', el workflow debe capturar ese error específico, actualizar el timestamp del último intento, y mantener el lead en 'en_cola' (no marcarlo como fallido). Solo después de 3 intentos en días diferentes debe marcarse como 'agotado'.

08

PASO 6: GESTIÓN DE CITAS

Pipeline de consultorías agendadas

6

Crea el módulo de citas comerciales

Cuando el agente detecta interés, propone una hora y el lead acepta. Esa información llega a través del análisis de Retell AI. Necesitas una vista separada para gestionar estas oportunidades calificadas: ver qué citas pendientes tienes, marcar las realizadas, o cancelar las que no procedan. Nota: No integraremos Google Calendar ni Calendly para mantener la simplicidad; tú llamas manualmente al teléfono proporcionado a la hora acordada.

Prompt para Claude Code - Sección de citas
Crea una sección "Citas" en el dashboard donde aparezcan las consultorías que el agente de voz agendó durante las llamadas. Cada cita debe mostrar:
- Nombre del negocio y contacto
- Teléfono
- Fecha/hora que dijo el lead durante la llamada (en texto, como lo verbalizó)
- Notas adicionales
- Estado: pendiente, realizada, cancelada

Acciones disponibles:
- Marcar como realizada
- Cancelar
- Reabrir (si estaba realizada)

Las citas pendientes aparecen arriba, el historial debajo.
No hay integración con calendario externo — el dueño llama desde su móvil a la hora acordada.
09

NICHO Y ESTRATEGIA

Los 3 sectores donde esto funciona mejor

No todos los negocios son igualmente receptivos a llamadas en frío. Los mejores candidatos tienen: alta fragmentación (muchos pequeños competidores), dolor agudo pero no urgencia vital, y procesos de venta consultivos (no transaccionales). Aquí tienes los tres nichos testados:

🏠

Climatización / Aerotermia

Sector fragmentado con temporadas marcadas. Problema: presupuestos perdidos y mala gestión de leads. Ángulo: '¿Cuántos presupuestos se os quedan sin respuesta cada mes?'

🏥

Clínicas Estética/Fisio

Alta competencia y pacientes que no vuelven. Problema: falta de reactivación de pacientes inactivos. Ángulo: '¿Cuántos pacientes que pidieron información nunca volvieron a llamar?'

🔧

Mantenimiento Industrial

Ciclos de venta largos y decisión racional. Problema: tiempo comercial perdido en prospección inicial. Ángulo: '¿Cuánto tiempo pierde su equipo en llamadas que no llegan a ningún sitio?'

10

DESPLIEGUE Y RESULTADOS

Checklist de lanzamiento y métricas esperadas

1

Regístrate en Neon.tech, Vercel, Retell AI, N8N y Apify

2

Describe tu negocio a Claude Code usando el Prompt 1 y espera la estructura base

3

Configura el schema de base de datos y despliega en Vercel

4

Crea el agente en Retell AI usando el Prompt 2 adaptado

5

Importa los workflows N8N y conecta las credenciales API

6

Lanza campaña piloto con 20-30 leads y mide tasa de contacto

¿Qué pasa si un lead pide explícitamente que no le llamemos más?

El agente debe detectar esta intención (usa palabras clave como 'lista de Robinson', 'no llamar', 'borrar datos') y confirmar la baja. El workflow de N8N debe mover automáticamente ese teléfono a la tabla blacklist. Legalmente, debes conservarlo en blacklist durante al menos 2 años para evitar reimportarlo accidentalmente.

¿Puedo usar un número móvil en lugar de fijo?

No. La Orden TDF/149/2025 de abril de 2025 prohíbe expresamente las llamadas comerciales outbound desde números móviles. Debes contratar un número fijo geográfico (prefijo 91X, 93X, etc.) a través de un proveedor SIP como OVH, Netelip o Twilio (solo opciones fijas).

¿Cuál es la tasa de conversión esperada?

En B2B prospección en frío con IA, espera: 15-25% de tasa de contacto (descuelgan), 3-5% de tasa de interés cualificado, y 1-2% de citas agendadas. Con 100 leads/día, eso son 1-2 citas diarias. La clave está en la calidad de la lista (scraping bien filtrado) y el prompt del agente.

¿Necesito saber programar para modificar los prompts?

No. Una vez Claude Code genera el código base, puedes pedirle modificaciones en lenguaje natural. Sin embargo, entender conceptos básicos de JavaScript/TypeScript ayuda a depurar errores cuando algo falla en la integración entre N8N y tu API.

Métricas clave a monitorizar: No solo mires citas agendadas. Controla la tasa de contacto (cuántos descuelgan), la duración media de llamada (menos de 1 minuto suele ser rechazo inmediato, más de 3 es buena señal), y el coste por lead contactado (debería estar entre €0.30-0.80).

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