Blog · · 4 min de lectura
Cómo conectar WhatsApp Cloud API a n8n (Meta app, token y webhook)
Guía paso a paso para conectar WhatsApp Cloud API con n8n: crear la app en Meta, token temporal, Phone Number ID, webhook HTTPS, verificar y recibir el primer mensaje de prueba.

Antes de montar un agente de WhatsApp con IA, necesitas que n8n y WhatsApp Cloud API se hablen. Esa conexión es lo que más atasca a quien empieza: la app de Meta, el token, el Phone Number ID y un webhook HTTPS que Meta pueda alcanzar.
Esta guía cubre solo esa pieza: crear la app, sacar los datos, registrar el webhook en n8n, verificar el token y recibir un mensaje de prueba. Cuando eso funcione, ya puedes importar la plantilla gratuita del agente.
Qué vas a conectar
- Una app de Meta (tipo Business) con el producto WhatsApp.
- Un token de acceso (temporal al principio) y el Phone Number ID.
- Un nodo Webhook en n8n con URL pública HTTPS.
- La verificación del webhook (challenge de Meta) y el primer mensaje entrante.
Lo que necesitas
- n8n con URL pública HTTPS (n8n Cloud, o autoalojado detrás de un túnel/servidor).
localhostsolo no vale: Meta no puede llamar a tu portátil. Si aún no lo tienes, empieza por instalar n8n gratis. - Cuenta en Meta for Developers (developers.facebook.com).
- Unos 30–45 minutos la primera vez.
Paso 1: crea la app en Meta
- Entra en Meta for Developers → My Apps → Create App.
- Elige tipo Business (o el flujo actual equivalente a negocio).
- Pon un nombre claro (
AgentKiosk-Pruebavale) y asocia un Business Portfolio si te lo pide. - Dentro de la app, ve a Add products y añade WhatsApp.
En WhatsApp → API Setup verás el número de prueba, el Phone number ID, el WhatsApp Business Account ID y un botón para generar un token temporal.
Copia ya:
- Phone number ID (no es el número que se ve en pantalla; es el ID numérico largo).
- Temporary access token (caduca en horas; solo para pruebas).
Paso 2: el webhook en n8n
- Crea un workflow nuevo.
- Añade un nodo Webhook.
- Método: POST. Path: algo corto, por ejemplo
whatsapp. - Activa «Respond Immediately» o responde 200 en cuanto llegue la petición (Meta reintenta si tarda).
- Activa el workflow (o usa la URL de prueba según tu versión de n8n) y copia la URL de producción HTTPS.
Esa URL debe ser alcanzable desde Internet. Sin HTTPS, Meta rechaza el registro.
Paso 3: registra y verifica el webhook en Meta
En WhatsApp → Configuration (o API Setup → Webhook):
- Callback URL: la URL HTTPS de tu nodo Webhook.
- Verify token: inventa una cadena secreta (por ejemplo
ak_verify_2026) y guárdala también en n8n. - Meta enviará un GET con
hub.mode,hub.verify_tokenyhub.challenge. Tu flujo (o el nodo Webhook en modo verificación) debe devolver elchallengeen texto plano si el token coincide. - Tras verificar, suscríbete al campo messages.
Si la verificación falla, casi siempre es: URL no HTTPS, workflow inactivo, o el verify token no coincide carácter a carácter.
Paso 4: recibe el primer mensaje de prueba
- En API Setup, añade tu número personal a la lista de destinatarios de prueba.
- Desde el panel de Meta (o con curl/Postman) envía un mensaje de plantilla/hola al número de prueba, o escribe tú al número de prueba desde tu WhatsApp.
- En n8n, ejecuta el workflow en modo listening y mira el JSON entrante:
entry[0].changes[0].value.messages[0]suele traer el texto y elfromdel cliente. - Para responder, usa el nodo HTTP Request (o el de WhatsApp si lo tienes) contra la Graph API con el token y el Phone Number ID.
Un eco mínimo («recibido») confirma que ida y vuelta funcionan antes de enchufar la IA.
Token temporal vs token permanente
| Temporal | Permanente (System User) | |
|---|---|---|
| Caducidad | Horas | Hasta que lo regeneres / revoques |
| Uso | Solo pruebas | Producción |
| Cómo | Botón en API Setup | Business Settings → System Users → Generate token con permisos whatsapp_business_messaging y whatsapp_business_management |
Guarda el token permanente como credencial en n8n, nunca en un nodo Set a la vista. Si un flujo deja de enviar de golpe, lo primero que mirar es si el token caducó.
Número de prueba vs número Business real
- Número de prueba de Meta: gratis, ideal para aprender. Solo puedes escribir a unos pocos números añadidos a la allowlist. No sirve para clientes reales.
- Número Business propio: lo vinculas cuando el flujo ya responde bien. Implica negocio verificado según las reglas actuales de Meta y un número que no esté ya en otra cuenta de WhatsApp Business de forma conflictiva.
Regla práctica: desarrolla y prueba con el número de prueba; pasa al real solo cuando el webhook, el antibucle y la tipificación de mensajes estén estables.
Errores frecuentes
- Webhook no verifica. HTTPS obligatorio; workflow activo; verify token idéntico; respuesta al challenge en el cuerpo, no un HTML.
- «Invalid OAuth access token». Token temporal caducado o mal pegado (espacios, comillas).
- Envías pero no llega / error de destinatario. Estás usando el número de prueba y el móvil no está en la lista de testers.
- Phone Number ID incorrecto. Confundes el ID con el WABA ID o con el número legible (
+34…). En la URL de la Graph API va el Phone number ID. - Dobles respuestas / bucles. Estás reaccionando a eco de tus propios envíos o a statuses (
delivered,read). Filtra: solo procesamessagesde tipo texto de clientes, nostatuses. - n8n local sin túnel. Meta nunca alcanzará
http://localhost:5678. Usa Cloud, un VPS o un túnel conWEBHOOK_URLbien configurada (más detalle en la guía de instalación).
Limitaciones honestas
- La interfaz de Meta cambia nombres de menú; si no encuentras «API Setup», busca WhatsApp dentro de la app y la sección de configuración del webhook.
- El número de prueba no sustituye un canal de atención real.
- Conectar la API ≠ tener un buen agente: faltan memoria, prompt del negocio, filtro de audios y derivación a humano. Eso lo cubre la guía del agente y la plantilla gratis.
Siguiente paso
Con el webhook verificando y un mensaje de prueba visible en n8n, descarga gratis el agente de WhatsApp e impórtalo. Si aún no tienes n8n, instálalo paso a paso. Para el pack completo de agentes, mira el pack AgentKiosk.


