Ir al contenido principal
Desarrollo & IA

Cómo Automatizar WhatsApp Business con IA y n8n [Tutorial 2026]

8 de febrero de 2026
36 min

Automatiza WhatsApp Business con n8n e IA: chatbots inteligentes, respuestas automáticas, reservas 24/7.

Javier Santos

Especialista en IA & Machine Learning

📧¿Te gusta este contenido?

Únete a 547+ profesionales que reciben tips de IA cada semana. Sin spam, cancela cuando quieras.

Cómo Automatizar WhatsApp Business con IA y n8n [Tutorial 2026]

WhatsApp es el canal número uno para atención al cliente en España (90% de empresas lo usa). Pero responder manualmente cada mensaje cuesta tiempo y dinero. En 2026, con n8n e IA, puedes automatizar completamente tu soporte, reservas, y gestión de leads—y los clientes ni notarán la diferencia.

Por Qué WhatsApp Business + IA es la Combinación Ganadora

Números de 2026:

  • 75 millones de usuarios de WhatsApp en España
  • 80% de usuarios prefiere hablar con empresas por WhatsApp antes que email/teléfono
  • Responder en <1 minuto aumenta conversión 40%
  • Soporte humano 24/7 cuesta €2,000-5,000/mes por persona

Con IA + n8n:

  • Respuestas automáticas en <2 segundos
  • Disponible 24/7/365
  • Costo: €50-200/mes (con OpenAI API)
  • Escalable a ilimitados mensajes

Setup Inicial: WhatsApp Business API

Obtener Acceso a WhatsApp Business API

Meta (Facebook) controla el acceso. Necesitas:

  1. Cuenta de Meta Business

- Ir a: https://www.facebook.com/business/

- Crear cuenta si no existe

- Costo: Gratis

  1. Aplicación de Meta

- En Meta Developers: https://developers.facebook.com/

- Crear app → Elegir "Business"

- Nombre: "Mi Chatbot WhatsApp"

  1. Número de Teléfono Verificado

- Necesitas un número para el chatbot (puede ser el mismo de la empresa)

- Meta requiere verificación con SMS

- Costo: Gratis

  1. Token de Acceso

- Meta te proporciona: EAAxx... (token de 400+ caracteres)

- NUNCA compartas públicamente

- Permite enviar/recibir mensajes

Guía oficial: https://developers.facebook.com/docs/whatsapp/cloud-api/get-started

Tiempo total: ~30 minutos incluida verificación.

Configuración de Webhook

Para que n8n reciba mensajes de WhatsApp, necesitas un webhook.

code
1WhatsApp → Servidores Meta
2 → Tu Webhook (URL pública de n8n)
3 → n8n procesa mensaje
4 → Respuesta automática
5 → Meta → WhatsApp cliente

En Meta Developers:

code
1App → WhatsApp → Configuration
2 Webhook URL: https://tu-n8n-instance.com/webhook/whatsapp
3 Verify Token: tu_token_secreto_aqui
4 Subscribe to these webhook fields:
5 - messages
6 - message_status
7 - message_template_status_update

Instalar y Configurar n8n

n8n es la plataforma de automatización que conecta WhatsApp con IA.

Opción 1: n8n Cloud (Más Fácil)

bash
1# Ve a https://app.n8n.cloud
2# Crea cuenta gratis
3# Costo: Gratis para 1,000 ejecuciones/mes (~33 mensajes/día)
4# Pro: $20/mes para 10,000 ejecuciones

Opción 2: Instalar n8n Local (Más Control)

Si quieres ejecutar en tu servidor:

bash
1# Requisitos: Node.js 18+, Docker (opcional)
2 
3# Instalación directa (sin Docker)
4npm install -g n8n
5n8n start
6# Accede: http://localhost:5678
7 
8# O con Docker
9docker run -it --rm \
10 -p 5678:5678 \
11 -v ~/.n8n:/home/node/.n8n \
12 n8nio/n8n
13 
14# Para uso en producción, configura reverse proxy (nginx)
15# y SSL certificate (Let's Encrypt)

Primeras Conexiones en n8n

code
1Dashboard n8n:
21. New Workflow → Crear flujo
32. Add node → Buscar "WhatsApp"
43. Seleccionar "WhatsApp Cloud API"
54. Conectar tu API Key de Meta
65. Agregar nodos de IA (OpenAI)
76. Crear flujo de respuesta

Construir tu Primer Bot Inteligente

Flujo Básico: Respuestas Automáticas

Estructura del flujo:

code
1┌──────────────────────────────────────────────────┐
2│ Webhook: Mensaje recibido en WhatsApp │
3└───────────────┬──────────────────────────────────┘
4
5
6 ┌──────────────────┐
7 │ OpenAI/Claude │
8 │ Genera respuesta │
9 └────────┬─────────┘
10
11
12 ┌──────────────────────┐
13 │ Enviar por WhatsApp │
14 └──────────────────────┘

Crear el Workflow en n8n

Paso 1: Nodo Webhook

json
1{
2 "type": "webhook",
3 "name": "Webhook WhatsApp",
4 "settings": {
5 "path": "whatsapp",
6 "method": "POST",
7 "authentication": "none" // O basicAuth si quieres
8 }
9}

Paso 2: Procesar Mensaje

javascript
1// Nodo Function: Extraer datos del mensaje
2const body = $input.body;
3const messageText = body.entry[0].changes[0].value.messages[0].text.body;
4const phoneNumber = body.entry[0].changes[0].value.messages[0].from;
5 
6return {
7 message: messageText,
8 phone: phoneNumber,
9 timestamp: new Date()
10};

Paso 3: Llamar a OpenAI para Respuesta

json
1{
2 "type": "openai",
3 "name": "Generar Respuesta IA",
4 "settings": {
5 "apiKey": "sk-...",
6 "model": "gpt-4-turbo",
7 "prompt": "Eres un agente de servicio al cliente amable. El cliente escribió: '{{ $node['Process Message'].json.message }}'\\n\\nResponde en máximo 2 líneas, en español, de forma amable y profesional."
8 }
9}

Paso 4: Enviar Respuesta por WhatsApp

json
1{
2 "type": "whatsapp",
3 "name": "Enviar Respuesta",
4 "settings": {
5 "apiKey": "EAAxx...",
6 "action": "sendMessage",
7 "recipientPhone": "{{ $node['Process Message'].json.phone }}",
8 "message": "{{ $node['Generar Respuesta IA'].json.choices[0].message.content }}"
9 }
10}

Resultado

Cliente escribe: "¿Qué horario tenéis?"

Bot responde en 1.5 segundos: "Abiertos de lunes a viernes 9am-6pm. ¿En qué te puedo ayudar?"

Casos de Uso Avanzados

Caso 1: Chatbot Calificador de Leads

Automáticamente califica leads antes de pasar a humano.

code
1Cliente: "Hola, necesito presupuesto para un sitio web"
2
3n8n pregunta automáticamente:
4 "¿Cuál es tu presupuesto aproximado?"
5
6Cliente responde: "Entre €5k y €10k"
7
8n8n clasifica: "Lead de ALTA PRIORIDAD"
9
10Envía a especialista de ventas por WhatsApp o email

Flujo en n8n:

javascript
1// Nodo Function: Evaluar respuesta y crear ticket
2const respuesta = $node['Mensaje Anterior'].json.message;
3const presupuesto = respuesta.match(/\d+k?/i)?.[0];
4 
5let prioridad = "BAJA";
6if (presupuesto && parseInt(presupuesto) >= 5000) {
7 prioridad = "ALTA";
8}
9 
10// Crear ticket en CRM
11return {
12 prioridad: prioridad,
13 presupuesto: presupuesto,
14 timestamp: new Date().toISOString()
15};
16 
17// Siguiente nodo: enviar a Webhook → CRM (Pipedrive, HubSpot, etc.)

Caso 2: Reservas Automáticas para Consultorio/Barbería

Cliente pide cita → Bot la agenda automáticamente.

code
1Cliente: "Quiero una cita mañana"
2Bot: "¿Para qué hora prefieres? (9am, 10am, 2pm, 3pm)"
3Cliente: "10am"
4Bot: "✓ Cita confirmada para mañana a las 10am.
5 Enviaremos recordatorio 1 hora antes."
6
7n8n escribe en Google Calendar
8n8n envía recordatorio automático al día siguiente

Setup en n8n:

json
1{
2 "type": "google_calendar",
3 "name": "Crear Evento",
4 "settings": {
5 "calendarId": "tu-email@gmail.com",
6 "eventTitle": "Cita cliente - {{ $node['Extract'].json.phone }}",
7 "startTime": "2026-02-09T10:00:00",
8 "endTime": "2026-02-09T11:00:00",
9 "description": "Cliente contactó por WhatsApp"
10 }
11}

Caso 3: Seguimiento Automático de Pedidos

Cliente pregunta por su pedido → Bot da actualización instantánea.

code
1Cliente: "¿Dónde está mi pedido 12345?"
2
3n8n consulta base de datos/API de Shopify
4
5Bot responde: "Tu pedido 12345 está en almacén y saldrá hoy.
6 Número de seguimiento: DHL12345
7 Entrega estimada: 2-3 días"

Consultar Shopify:

json
1{
2 "type": "shopify",
3 "name": "Obtener Estado Pedido",
4 "settings": {
5 "apiKey": "shpat_...",
6 "action": "getOrder",
7 "orderId": "{{ $node['Extract Order ID'].json.id }}"
8 }
9}

Caso 4: Encuesta Post-Venta Automática

Después de confirmar compra, envía encuesta automáticamente.

code
1Trigger: Cliente compra producto
2
3Espera 30 minutos
4
5n8n envía: "¿Qué tal tu experiencia? Reacciona con emoji:
6 😊 Perfecto | 😐 Normal | 😞 Mal"
7
8Cliente reacciona con emoji
9
10n8n guarda feedback en Google Sheets

Caso 5: Respuestas Contextuales Inteligentes

El bot recuerda conversaciones previas.

code
1Cliente (primera vez): "¿Tienen iPhone 15 en negro?"
2Bot: "Sí, lo tenemos en stock. ¿Quieres comprar?"
3
4[Almacena conversación en memoria]
5
6Cliente (una semana después): "¿Siguen con el iPhone?"
7Bot: "Claro, y sigue en negro como preguntaste.
8 ¿Quieres que te reserve uno?"

Setup: Guardar historial

javascript
1// Guardar en Airtable/Sheet
2const conversationHistory = {
3 phone: cliente.phone,
4 fecha: new Date(),
5 mensaje: cliente.message,
6 respuesta: bot.response,
7 contexto: "buscando iPhone"
8};
9 
10// En siguiente mensaje, consultar historial
11// Añadir a prompt: "Contexto previo: El cliente ya preguntó por iPhone 15 negro"

Inteligencia de Negocio: Análisis de Conversaciones

Extrae insights de las conversaciones automáticamente.

javascript
1// Nodo Function: Analizar conversación
2const conversacion = $node['Historial'].json;
3 
4// ¿Qué productos/servicios mencionan?
5// ¿Cuál es el sentimiento? (positivo/negativo/neutral)
6// ¿Precio aproximado de interés?
7// ¿Qué objeciones aparecen?
8 
9const analisis = {
10 producto_mencionado: ["iPhone", "Galaxy"],
11 sentimiento: "positivo",
12 rango_precio: "500-800€",
13 objeciones: ["precio", "disponibilidad"],
14 probabilidad_compra: 0.75
15};
16 
17// Guardar en datos analytics

Regulaciones GDPR/LEC 2026

España tiene reglas estrictas sobre:

  1. Consentimiento: Debes tener permiso escrito para enviar mensajes de marketing
  2. Privacidad: Los datos del cliente están protegidos
  3. Derecho a olvidar: El cliente puede solicitar borrar su data

Implementación en n8n:

yaml
1# Guardar consentimiento
2automation:
3 - guardar_consentimiento_whatsapp:
4 - Cuando cliente contacta, preguntar:
5 "¿Aceptas recibir ofertas/actualizaciones?"
6 - Si sí → almacenar flag consent: true en BD
7 - Si no → nunca enviar marketing, solo respuestas a consultas
8 
9 - respetar_horarios:
10 - No enviar mensajes entre 21:00-08:00
11 - No enviar en domingos/festivos
12 - Excepción: si cliente pregunta, siempre responder
13 
14 - derecho_a_olvidar:
15 - Si cliente escribe "borrar mis datos"
16 - Ejecutar: DELETE FROM conversaciones WHERE phone = X
17 - Responder: "Datos eliminados. Adios!"

Mejores Prácticas

  1. Respuestas rápidas: <2 minutos para primero contacto, <5 para seguimiento
  2. Tono humano: Las IA deben sonar como personas reales, no robots
  3. Escalación a humano: Si el bot no entiende, pasar a persona real inmediatamente
  4. Privacidad de datos: Nunca guardar datos sensibles sin encriptación
  5. Testing: Prueba con números de prueba (Meta proporciona) antes de ir a producción

Análisis de Costo vs Beneficio

Desglose de Costos Mensuales

ConceptoCosto
n8n Pro€20
OpenAI API (5,000 msg/mes @ $0.002/msg)€8
Teléfono WhatsApp Business€0 (número existente)
Herramientas integradas (Google Calendar, Shopify)€0-50
Total€28-78/mes

Beneficios Medibles

Escenario: Tienda Online con 500 clientes/mes

Sin automatización:

  • 1 persona time full-time: €1,800/mes
  • Disponibilidad: 9am-6pm (8 horas)
  • Conversión respuesta lenta: 60%

Con n8n + IA:

  • Costo: €60/mes
  • Disponibilidad: 24/7
  • Conversión respuesta rápida: 90%

ROI:

code
1Ahorros mensuales: €1,800 - €60 = €1,740
2Incremento conversión: 500 clientes × 30% × €20 margen = €3,000
3Beneficio total: €4,740/mes
4Payback: 0.4 días

Troubleshooting Común

Problema 1: Bot No Recibe Mensajes

bash
1# Verificar webhook
2# En Meta Developers → WhatsApp Configuration
3# Hacer test: "Ping Webhook"
4# Si falla: Verificar que n8n URL es pública (no localhost)
5 
6# Solución: Si tienes n8n local, usar ngrok para exponerlo
7ngrok http 5678
8# Copiar URL → Meta Webhook URL

Problema 2: Respuestas Lentas (>5 segundos)

javascript
1// Causa: OpenAI API lenta O n8n sobrecargado
2 
3// Optimización 1: Usar modelo más rápido
4"model": "gpt-3.5-turbo" // Más rápido que gpt-4
5 
6// Optimización 2: Usar caché
7// Guardar respuestas frecuentes (preguntas FAQ)
8// Si cliente pregunta algo que vimos 100 veces:
9// Responder con cache en lugar de llamar OpenAI
10 
11// Código:
12const respuestasCache = {
13 "¿Horario?": "Abiertos lunes-viernes 9am-6pm",
14 "¿Teléfono?": "615 123 456"
15};
16 
17if (respuestasCache[message]) {
18 return respuestasCache[message]; // Cache hit = 0.1s
19} else {
20 return llamar_openai(message); // Miss = 2-3s
21}

Problema 3: Meta API Retorna Error 401

code
1Error: "Invalid access token"
2Causa: Token expirado o revocado
3 
4Solución:
51. Meta Developers → App → WhatsApp → API Token
62. Generate New Token
73. Copiar nuevo token a n8n
84. Test: Enviar mensaje de prueba

Ejemplos de Prompts para Casos Específicos

Prompt: Atención al Cliente Profesional

code
1Eres un agente de atención al cliente de una tienda de electrónica.
2Tu objetivo: resolver preguntas y facilitar ventas.
3 
4Reglas:
51. Responde siempre en español formal
62. Máximo 3 líneas (mensajes de WhatsApp cortos)
73. Si no sabes, ofrece: "Te paso con un especialista"
84. Siempre pregunta al final cómo puedes ayudar más
95. Usa emojis moderadamente (máximo 1)
10 
11Cliente pregunta: "¿Qué diferencia hay entre iPhone 15 y Galaxy S24?"
12 
13Respuesta esperada:
14"iPhone 15: cámara increíble, batería 1 día, A18 Pro chip.
15Galaxy S24: pantalla AMOLED superior, 2 días batería, Snapdragon 8.
16¿Cuál te interesa más?"

Prompt: Chatbot de Ventas (Más Agresivo)

code
1Eres un agente de ventas de cursos online.
2Tu objetivo: convertir curiosos en estudiantes.
3 
4Regla: Después de 2 mensajes, invita a demostración gratuita.
5 
6Cliente: "Enseñan Python?"
7Bot: "¡Sí! Tenemos curso completo desde cero.
8 ¿Quieres ver una clase de demo GRATIS?
9 📺 Solo 20 minutos, después decides."

Prompt: Support Técnico

code
1Eres especialista técnico de soporte.
2 
3Cuando cliente reporta problema:
41. Confirmar que entendiste
52. Hacer 1 pregunta diagnóstica
63. Ofrecer 2 soluciones ordenadas por probabilidad
74. Si no se resuelve: ticket de escalación
8 
9Cliente: "No puedo loguearme en mi cuenta"
10Bot: "Entiendo que no accedes a tu cuenta.
11 ¿Te aparece error específico? (ej: contraseña incorrecta, cuenta bloqueada)
12 Intenta:
13 1️⃣ Resetear contraseña
14 2️⃣ Limpiar cookies del navegador
15 Si nada funciona, crearemos ticket de soporte técnico."

Métricas de Éxito

Rastrear estos KPIs:

javascript
1// En n8n, después de cada conversación:
2{
3 tiempoRespuesta: 1.2, // segundos
4 satisfaccionCliente: 4.5, // sobre 5
5 problemaResuelto: true, // sí/no
6 requiereEscalacion: false, // sí/no
7 conversión: true, // compró/no
8 tiempoConversación: 45 // segundos totales
9}
10 
11// Calcular métricas semanales:
12- Mensajes procesados: 2,345
13- Tasa resolución: 92%
14- Tasa escalación: 8%
15- Tiempo promedio respuesta: 1.8s
16- NPS (Net Promoter Score): 67
17- Conversión leads → clientes: 18%

Seguridad: Proteger tu API Key

Nunca Hagas Esto

javascript
1// ❌ MAL: Token visible en código
2const apiKey = "sk-abc123...";
3 
4// ❌ MAL: Token en GitHub
5git commit -m "Add WhatsApp API key" (contiene token)
6 
7// ❌ MAL: Token en screenshot/documentación

Hazlo Así

javascript
1// ✅ BIEN: Variables de entorno
2const apiKey = process.env.WHATSAPP_API_KEY;
3 
4// ✅ BIEN: En n8n → Credentials
5// Settings → Credentials → Add → WhatsApp
6// n8n encripta automáticamente
7 
8// ✅ BIEN: Rotar tokens regularmente
9// Cada 30 días, generar nuevo token
10// Revocar uno antiguo
11// Actualizar en n8n

FAQ: WhatsApp Business + n8n

¿Pueden los clientes saber que es un bot?

Legalmente, algunos jurisdicciones requieren transparencia. Mejor práctica: "Respondido automáticamente por bot de IA. Escribe para hablar con una persona." Meta recomienda pero no obliga. En España, es buen UX ser transparente.

¿Cuántos mensajes puede procesar n8n simultáneamente?

Plan Cloud gratis: ~1 mensaje/segundo

Plan Pro: ~10 mensajes/segundo

Plan Enterprise: 100+

Para 500 clientes contactando simultáneamente, necesitas at mínimo Pro. Pero realidad: 500 clientes NO contactan al mismo tiempo; distribución es a lo largo del día.

¿Qué pasa si el cliente escribe un insulto o amenaza?

Puedes configurar filtros:

javascript
1const mensajeProhibido = ['amenaza', 'insulto', 'xxx'].some(
2 palabra => message.toLowerCase().includes(palabra)
3);
4 
5if (mensajeProhibido) {
6 return "Tu mensaje contiene lenguaje inapropiado. Por favor, intenta de nuevo.";
7 // Opcionalmente: bloquear usuario
8}

¿Cuánto puedo escalar esto sin costo adicional?

n8n Pro €20/mes maneja ~100,000 ejecuciones/mes

OpenAI API: según tokens usados

Para un negocio de €50k/mes con 1,000 clientes activos, costo total típico es €80-150/mes. Perfecto ROI.

¿Qué sucede si Meta cambia su API?

Meta actualiza regularmente. n8n mantiene integraciones actualizadas automáticamente. En caso de cambios mayores, tendrías notificación de Meta (30 días de aviso típicamente). Costo de actualización: 2-3 horas de reconfiguración.

📬

¿Te ha gustado? Hay más cada semana

Únete a "IA Sin Humo" — la newsletter donde comparto lo que realmente funciona en inteligencia artificial. Sin teoría innecesaria, sin postureo.

📚

1 Tutorial

Paso a paso, práctico

🛠️

3 Herramientas

Probadas y útiles

💡

0 Bullshit

Solo lo que importa

+547 suscriptores • Cada martes • Cancela cuando quieras