No se puede enviar el evento de WhatsApp desde el número de prueba

El disparador de WhatsApp no recibe mensajes entrantes, aunque Meta envía el webhook correctamente

Describe el problema/error/pregunta

Hola a todos,
Estoy enfrentando un problema con el nodo WhatsApp Trigger en n8n. He dedicado bastante tiempo a depurarlo, y parece que Meta envía el webhook correctamente, pero el WhatsApp Trigger nunca crea una ejecución.

Ambiente
Versión de n8n: 2.28.7
Instalación: Local (Node.js)
Iniciado usando: n8n
Sistema operativo: macOS
Túnel: ngrok
API de WhatsApp Cloud: Número de prueba de Meta
Webhook: HTTPS (ngrok)

El WhatsApp Trigger nunca se dispara cuando envío un mensaje desde mi WhatsApp personal al número de prueba de Meta.

No se crea ninguna ejecución.


Lo que funciona

1. Verificación del webhook

Meta verifica correctamente la URL de devolución de llamada.


2. Botón de “Prueba” de Meta

En:

Meta Developers → Webhooks → WhatsApp Business Account → Test

La solicitud POST llega a mi webhook correctamente.

Puedo ver la solicitud POST en ngrok.


3. Mensaje de WhatsApp entrante

Cuando envío “Hola” desde mi número de WhatsApp personal verificado al número de prueba de Meta:

  • El mensaje se entrega correctamente (doble marca gris)
  • Meta muestra el payload del webhook entrante
  • ngrok recibe la solicitud POST

Payload recibido:

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "changes": [
        {
          "field": "messages",
          "value": {
            "metadata": {
              "phone_number_id": "1262521306937058"
            },
            "contacts": [
              {
                "profile": {
                  "name": "Venkat"
                },
                "wa_id": "919553532575"
              }
            ],
            "messages": [
              {
                "from": "919553532575",
                "type": "text",
                "text": {
                  "body": "Hi"
                }
              }
            ]
          }
        }
      ]
    }
  ]
}

Esto confirma que Meta genera el webhook correctamente.

Comportamiento del WhatsApp Trigger

Paso de ejecución

Si hago clic en Ejecutar paso, luego envío un mensaje desde WhatsApp Business Account → Suscripción de mensaje→ Prueba

:white_check_mark: El disparador se activa correctamente.


Flujo de trabajo activo

Si activo el flujo de trabajo:

:cross_mark: Enviar el mismo mensaje de WhatsApp desde el número de prueba, crea ninguna ejecución.


Cosas que ya he verificado

  • Actualizado de n8n 1.97.1 a 2.28.7
  • Eliminé y recreé el WhatsApp Trigger
  • Creé un flujo de trabajo completamente nuevo
  • Eliminé y recreé la suscripción al webhook de Meta
  • Verificó la URL de devolución de llamada correctamente
  • Suscrito solo al campo messages
  • Generé un nuevo token de acceso de Meta
  • Verificó que el ID del número de teléfono coincida
  • Verificó que el número de destinatario esté agregado en Meta
  • ngrok recibe solicitudes webhook correctamente
  • Probé tanto la URL de prueba como la URL de producción
  • Reinicié n8n varias veces

Comportamiento extraño

Cuando el flujo de trabajo está activo, la interfaz de usuario del WhatsApp Trigger a menudo sigue resaltando la URL de prueba, incluso después de seleccionar la URL de producción.

Además:

  • Ejecutar el nodo escucha en /webhook-test/...
  • Activar el flujo de trabajo debería usar /webhook/...

Sin embargo, independientemente de qué URL esté configurada en Meta, los mensajes de WhatsApp entrantes nunca crean una ejecución en el flujo de trabajo activo.


Pregunta

¿Alguien ha experimentado esto?

¿Hay:

  • un problema conocido con el WhatsApp Trigger en n8n 2.28.7?
  • alguna configuración adicional requerida para que el disparador procese los webhooks de la API de nube entrante?
  • algún registro de depuración que deba habilitar para determinar por qué se ignora el webhook?

Se agradecería mucha ayuda.

¡Gracias!

Comparta su flujo de trabajo

WhatsApp Trigger
      ↓
AI Agent
      ↓
WhatsApp Send Message

Comparta el resultado devuelto por el último nodo

Información sobre su configuración de n8n

  • Versión de n8n: 2.28.7
  • Base de datos (predeterminada: SQLite): SQLite (predeterminada)
  • Configuración de EXECUTIONS_PROCESS de n8n (predeterminada: own, main): Predeterminada (own)
  • Ejecutando n8n a través de (Docker, npm, n8n cloud, aplicación de escritorio): npm (instalado globalmente y ejecutándose localmente a través de Node.js)
  • Sistema operativo: macOS Sequoia (Apple Silicon M1 Air)

@jio_mobile

Intenta estos pasos en orden:

  • El “Reinicio Forzado”: Despublica (Desactiva) tu flujo de trabajo, espera aproximadamente 30 segundos y luego Publica (Activa) de nuevo. Este cambio forzado a menudo dispara un nuevo registro del webhook en el lado de Meta.
  • Verifica WEBHOOK_URL: Como estás ejecutando localmente con ngrok, asegúrate de que tus variables de entorno de n8n incluyan: WEBHOOK_URL=https://your-ngrok-subdomain.ngrok-free.app/ Si esto no está configurado, n8n podría estar generando la “URL de Producción” en la interfaz usando localhost, lo que causa una discrepancia cuando Meta intenta acceder a tu túnel ngrok.

¿Funciona ahora?

La mejor solución es crear un flujo de trabajo separado y simple que mantenga tu conexión de WhatsApp «activa».

Cómo construirlo:

  1. Disparador de Programación: Configúralo para ejecutarse cada 6 o 12 horas (Prueba y error para obtener el resultado óptimo)
  2. Clave de API de n8n: Ve a Configuración → API en n8n y genera una clave de API.
  3. Nodo HTTP Request (Desactivar):
    • Método: POST
    • URL: https://<your-n8n-instance>/api/v1/workflows/<YOUR_WHATSAPP_WORKFLOW_ID>/deactivate
    • Autenticación: Header Auth (X-N8N-API-KEY)
  4. Nodo Esperar: Espera 5–10 segundos.
  5. Nodo HTTP Request (Activar):
    • Método: POST
    • URL: https://<your-n8n-instance>/api/v1/workflows/<YOUR_WHATSAPP_WORKFLOW_ID>/activate
    • Autenticación: Header Auth (X-N8N-API-KEY)

Al cambiar periódicamente el estado de activación, obligas a Meta a reverificar y restablecer la suscripción del webhook, evitando que se vuelva obsoleta.