Preciso de AJUDA: trigger do Whatsapp não é acionado ao receber mensagem WA, mas funciona ao testar via mensagem webhook do Meta

OI pessoal, estou tentando disparar uma mensagem do WhatsApp do meu app WhatsApp - quando envio a mensagem do meu número pessoal do WhatsApp para o número de teste, o fluxo n8n não é acionado

porém quando pressiono o botão de teste na workflow de mensagem na página do webhook do Meta, então o workflow é acionado - não consigo encontrar a discrepância entre a chamada de API quando pressiono o botão de teste no botão de teste de mensagem do webhook do meta e a chamada de API quando envio mensagem para o número de teste - ALGUÉM POR FAVOR ME AJUDE

PS - Webhook callback URLS e tudo mais está configurado corretamente, pois quando clico no botão abaixo o workflow n8n funciona perfeitamente, porém quando envio uma mensagem para o número de teste ele não responde

O botão de teste do webhook do Meta e as mensagens reais do WhatsApp percorrem caminhos diferentes — essa é a razão típica para esse comportamento dividido. Algumas coisas a verificar:

1. Inscrição do campo Webhook
Em Meta for Developers → WhatsApp → Configuration, certifique-se de que o campo messages está marcado em Webhook Fields. Sem estar inscrito, as mensagens reais não chegarão ao seu webhook, mesmo que o botão de teste funcione (ele contorna o filtro de inscrição).

2. Correspondência do ID de número de telefone
No nó n8n WhatsApp Trigger, verifique se o Phone Number ID corresponde ao associado ao seu número de teste. Uma incompatibilidade causa descartes silenciosos em mensagens reais.

3. Aplicativo em modo Development vs Live
Se seu aplicativo Meta ainda está em modo Development, apenas números adicionados como números de teste no Meta Business Suite podem disparar o webhook com mensagens reais. Vá para App Settings → Basic e verifique o modo do seu aplicativo.

4. Verificação rápida de sanidade
Em seu workflow n8n, clique em “Listen for test event” enquanto o workflow está ativo, depois envie uma mensagem real do WhatsApp. Se nada chegar no registro de execução do n8n, o problema está do lado do Meta (inscrição ou modo do aplicativo). Se chegar mas o nó não disparar, é um problema de configuração do nó.

Ótimos pontos acima! Só para adicionar mais dois problemas comuns específicos do n8n que causam exatamente esse cenário ‘Teste funciona, mensagem real falha’:

1. A Incompatibilidade entre URL de Teste e Produção No n8n, seu webhook tem duas URLs diferentes: uma para testes (.../webhook-test/...) e uma para produção (.../webhook/...). Verifique qual URL exata você colou no Meta Developer Console.

  • Se você colou a URL webhook-test, mensagens reais APENAS se registrarão quando você tiver clicado ativamente em ‘Listen for test event’ (Ouvir evento de teste) na interface do n8n. Quando o fluxo de trabalho está apenas ‘Ativo’, ele ignorará mensagens reais.

  • Se você colou a URL webhook (produção), clicar em ‘Listen for test event’ ignorará completamente mensagens reais que chegam. Certifique-se de que sua URL no Meta corresponde ao estado exato que você está tentando testar.

2. Logs de Entrega de Webhooks do Meta Vá para seu Meta App Dashboard → Webhooks. Role para o final para encontrar a seção ‘Recent Errors’ (ou logs de entrega de webhook). Se o Meta está enviando a mensagem real com sucesso, mas sua instância n8n retorna um erro 500, expira o tempo limite ou rejeita a estrutura do payload, o Meta registrará o código de resposta HTTP exato lá. Isso lhe diz instantaneamente se o problema é o Meta não enviando ou o n8n rejeitando a conexão.

Olá, obrigado por dedicar tempo e responder à pergunta - verifiquei novamente as opções que você pediu, e parecem estar tudo no lugar

  1. Acredito que o ID de telefone está configurado no gatilho de envio de mensagem - como no nó de gatilho de mensagem do WhatsApp, vejo apenas a opção de configurar as credenciais, e onde coloquei ID de cliente = ID do aplicativo, ID secreto = segredo do aplicativo - corrija-me se estiver errado
  2. o aplicativo está em modo de desenvolvimento, e clico em Executar Fluxo de Trabalho e envio a mensagem, e ainda assim o nó não dispara
  3. Parece haver um problema com o meta porque não recebo nada no n8n

@n8n_Sensei OI, obrigado por dedicar tempo e responder à consulta.

  1. Colei as URLs de teste e tentei enviar uma mensagem enquanto o fluxo de trabalho estava ouvindo o gatilho, mas não vejo nada no n8n

  2. Aqui nos logs do webhook, posso ver que a mensagem foi registrada, no entanto, ela não é passada para meu nó n8n

Com as informações que você fornece na publicação, fica difícil para mim dizer o que poderia estar falhando. Se quiser, pode me mandar mais detalhes no meu e-mail e te dou uma mão pessoalmente. Abraços!!

E-mail: lautaro.automation@gmail.com

Oi @aditya_bansod
Uma mensagem aparecendo no registro de eventos webhook do Meta apenas significa que o Meta a recebeu. A entrega vai para qualquer aplicativo ao qual sua Conta Comercial do WhatsApp está inscrita, e em aplicativos recém-criados geralmente é o próprio aplicativo “WA DevX Webhook Events 1P App” do Meta em vez do seu, portanto o teste do painel funciona enquanto as mensagens reais vão para outro lugar. Abra o Graph API Explorer do Meta e defina o endpoint para seu ID WABA (WhatsApp > API Setup):

<WABA_ID>/subscribed_apps

Envie como GET e veja o nome do aplicativo que volta. Se não for seu aplicativo, mude o método para POST e envie, depois GET novamente para confirmar que seu aplicativo agora está listado. As mensagens começam a chegar logo após.
Veja isto:

@Anshul_Namdev a correção de subscribed_apps é muito útil aqui. Como você mencionou antes, criar um novo app não move automaticamente a assinatura WABA do app de desenvolvimento padrão da Meta. Executar o GET como primeiro passo para confirmar e depois o comando POST para mover o app fará o truque e deve começar a funcionar imediatamente após isso.

Oi, uma observação lateral: é recomendável manter a solução de problemas pública em público, em vez de passar para e-mails pessoais. Tópicos públicos permitem que as pessoas que enfrentam os mesmos problemas investiguem a questão, e é a melhor forma de manter a aplicação resolvendo a questão segura para o público e guias para todos.

Olá, tenho o mesmo problema que vocês. Conseguiram resolver o problema?

Todas as minhas subscriptions foram feitas com os IDs WABA corretos. Meu app Meta está publicado e meu workflow n8n (cloud) também está publicado. A callback_url no Meta está bem configurada com a URL de produção.

  1. Se abrir o workflow no editor n8n e clicar em “Execute workflow” logo antes de enviar uma mensagem WhatsApp para o número, a requisição chega bem e o workflow é acionado normalmente.
  2. Se não clicar em “Execute workflow” (comportamento esperado em funcionamento normal/produção), nada chega: o workflow nunca é acionado automaticamente.
  3. Em comparação, com o número de teste fornecido pelo Meta (webhook padrão do App Dashboard), as mensagens são recebidas corretamente toda vez.

Há alguma configuração que possa ter perdido?

Oi @Elia_Levy ! O motivo pelo qual funciona quando você clica em “Execute Workflow” (Executar Fluxo de Trabalho) mas falha na operação normal de produção é quase sempre devido ao **Test vs. Production Webhook URL mismatch** no Meta Developer Dashboard.

Aqui estão os 2 passos para corrigir completamente:

### 1. Verifique o Caminho da URL do Webhook no Meta App Dashboard

Quando você clica em “Execute Workflow” no editor n8n, n8n escuta na **Test Webhook URL**:

`https://your-instance.n8n.cloud/webhook-test/your-uuid\`

Para operação normal de produção (quando você NÃO está clicando em “Execute Workflow”), Meta deve enviar eventos para a **Production Webhook URL**:

`https://your-instance.n8n.cloud/webhook/your-uuid\` *(observe `/webhook/` em vez de `/webhook-test/`)*

* Acesse **Meta Developer Portal → WhatsApp → Configuration → Edit Webhook**.

* Certifique-se de que a **Callback URL** aponta para `/webhook/…` e NÃO `/webhook-test/…`.

### 2. Garanta que o Toggle do Fluxo de Trabalho Ativo Esteja ON

No n8n, Production Webhooks APENAS escutam se o fluxo de trabalho estiver explicitamente ativado (**ACTIVE**):

* Alterne o botão **Active** no canto superior direito da sua tela de fluxo de trabalho n8n para **ON**.

* Se o fluxo de trabalho estiver Inativo, n8n silenciosamente descarta chamadas de webhook de produção recebidas do Meta sem dispará-las.

### 3. Verifique as Assinaturas de Eventos

Nas configurações do Meta Webhook, certifique-se de que você se inscreveu em `messages` sob eventos da **WhatsApp Business Account**, e seu Meta App está vinculado ao seu WABA ID via `/{WABA_ID}/subscribed_apps` conforme mencionado por @Anshul_Namdev.

Uma vez que Meta tenha a URL `/webhook/` (prod) e o toggle do seu fluxo de trabalho n8n esteja **Active**, mensagens do WhatsApp recebidas dispararão automaticamente 24/7 sem precisar manter o editor aberto!

Estimado.
Fiquei 3 horas com esse problema e não conseguia resolvê-lo.

Aqui estão os passos que funcionaram perfeitamente para mim com o seu mesmo cenário.

  1. Acesse a seguinte URL business.facebook.com/wa/manage/phone-numbers e lá deve aparecer seu número de testes, clique no número.
  2. Ao acessar o número, verifique a URL e verá um parâmetro asset_id=, copie esse número.
  3. Em outra aba, acesse o Graph API Explorer (https://developers.facebook.com/tools/explorer/), selecione sua aplicação, usuário ou página esteja selecionado Identificador de usuário, valide que a permissão whatsapp_business_management esteja adicionada, depois selecione o método POST, e na URL, após o /v26.0, remova esses valores e adicione seu asset_id/subscribed_apps (Exemplo: v26.0/2548428515454815/subscribed_apps) e execute.
  4. A resposta deve ser {“success”: true}.
  5. Teste no n8n, e deve funcionar para você.

@aditya_bansod — Acho que a resposta já está no seu primeiro post,
em duas linhas que ninguém conectou.

“when i send the message from my personal whatsapp number”
“app is in development mode”

Essa combinação é o problema.

Em modo Development, Meta só dispara webhook events para números
explicitamente adicionados como test recipients. Seu número pessoal não
é um, então Meta aceita e entrega a mensagem, mas nunca envia o
webhook event. Nada chega ao n8n porque nada foi enviado.

O botão de teste do Meta funciona porque ele posta diretamente na sua URL
e pula a camada de subscription inteiramente. É por isso que os dois
se comportam diferentemente — não é uma discrepância no payload, são
dois caminhos de código diferentes.

Conserte, em ordem:

  1. Meta dashboard > WhatsApp > API Setup > campo “To” > Manage
    phone number list. Adicione seu número pessoal. Ele recebe um
    código de verificação por SMS.

  2. Envie desse número novamente. O webhook deve disparar.

Duas coisas que vão confirmar isso antes de você mudar qualquer coisa:

Meta App Dashboard > Webhooks > scroll até delivery attempts. Se
não houver tentativas alguma para as mensagens reais — não tentativas
falhadas, nenhuma — então Meta nunca enviou, o que descarta tudo
no lado do n8n. Isso é o que você esperaria aqui.

Também vale saber independentemente do modo: Meta nunca envia webhook
events para mensagens enviadas do mesmo número que possui a WABA.
Se você testar enviando uma mensagem do número de negócio para si mesmo,
você fica em silêncio, e parece idêntico a esse problema.

Mais um, para quando você for para live:

Modo Development limita você a cinco test recipients. Mudar para Live
exige Business Verification, que leva dias em vez de horas
— vale a pena começar agora se isso vai para produção, porque se torna
o bloqueador depois que tudo mais funciona.

Um teste Meta prova que o endpoint é acessível, mas não que a inscrição do WhatsApp em produção está completa. Verifique se o app está inscrito no campo de mensagens, se o número de telefone pertence a esse app e se a URL do webhook de produção corresponde ao fluxo de trabalho n8n ativo.