Estou tentando configurar um WhatsApp AI Chatbot usando os nós WhatsApp Trigger e Send Message. Consegui configurar com sucesso o ID da Conta Comercial do WhatsApp, Client ID, Client Secret e Access Token. No entanto, quando tento salvar a URL de Callback do Webhook (tanto URLs de Produção quanto de Teste usando POST/GET) no Meta Developer Console, o Meta se recusa a validá-la e diz que não foi validada. Porque o Webhook não está sendo validado, as mensagens recebidas não acionam meu workflow do n8n. Só consigo enviar mensagens com sucesso manualmente usando o botão “Send Message” dentro do dashboard do Meta Business Suite.
Antes de clicar em Verify, publique o workflow se você estiver usando a URL de produção ou use a URL de teste, coloque-a para ouvir e clique em Verify
De qualquer forma, você precisará de um nó respond para retornar o token ao Meta após a escuta, então não funcionará na primeira vez; você apenas receberá o token no fluxo de dados e depois configurará seu nó respond to webhook com isso.
Não use a URL de Teste para configuração permanente do Meta, ela funciona apenas enquanto você está escutando ativamente. Use a URL de Produção depois que seu workflow for publicado e ativado.
A captura de tela mostra que você está usando a URL de Produção, mas o workflow pode ainda não estar ativo, esse é quase certamente o problema.
Oi @Harsh_Deswal Bem-vindo!
O WhatsApp permite apenas um webhook por app, então cada vez que você cola a URL de Teste e depois a URL de Produção, a mais nova sobrescreve o registro anterior. A verificação da Meta passa apenas contra a única URL que está registrada e acessível no momento, então alternar entre as duas é o que continua deixando sem validação. Registre apenas uma URL e não alterne enquanto você valida.
Mantive a mesma Production Get Url várias vezes, mas estou enfrentando o mesmo problema de validação repetidamente. Talvez essas capturas de tela ajudem você a me guiar melhor.
Você não cola a Callback URL no Meta e pressiona Verify você mesmo com o nó WhatsApp Trigger, o n8n registra o webhook e responde o handshake de verificação do Meta para você. Fazer isso manualmente é o que continua retornando como não validado. O motivo pelo qual o envio funciona mas o trigger não é o tipo de credencial: “Send Message” é executado na credencial de chave de API (Access Token + Business Account ID), enquanto o trigger precisa de uma credencial OAuth2 (Client ID é seu App ID, Client Secret é seu App Secret) para executar essa verificação. Abra o nó WhatsApp Trigger, defina-o como uma credencial OAuth2 construída a partir do seu App ID e App Secret, e deixe o n8n fazer o handshake com o Meta em vez da verificação manual.
Sou um iniciante com Meta Registers. Meu Hii message é registrado quando envio para o número de teste, mas não está sendo enviado para n8n para que n8n possa responder.
Acho que @Harsh_Deswal o número de teste é o problema aqui, muitas vezes ele não vai enviar mensagens recebidas para o trigger até você abrir a janela de mensagens do seu lado. Envie uma mensagem WhatsApp do seu próprio número pessoal para o número de teste primeiro, depois deixe o n8n responder, e a Meta começará a encaminhar as mensagens recebidas para seu workflow. Se ainda assim não chegar no número de teste do sandbox, adicione e verifique seu próprio número de telefone comercial, o número de teste temporário é pouco confiável para entrega de mensagens recebidas.
Veja isto:
O mesmo problema que enfrentei algumas semanas atrás, então entendo a frustração aqui.
O que está realmente acontecendo: quando você cola a URL de callback no Meta e clica em Verificar, está fazendo o handshake manualmente. Mas o nó WhatsApp Trigger no n8n deveria lidar com essa verificação por conta própria — ele registra o webhook e responde automaticamente ao desafio do Meta. Então a tentativa de verificação manual está basicamente entrando em conflito com o que o n8n já está tentando fazer nos bastidores.
A coisa mais importante a verificar é suas credenciais. “Send Message” funciona porque precisa apenas da credencial do tipo chave API, Access Token mais Business Account ID. Mas o nó Trigger precisa de uma credencial OAuth2 construída a partir do seu App ID (que é seu Client ID) e App Secret (Client Secret). Se o Trigger ainda está com o tipo de credencial errado, essa é quase certamente a razão pela qual o handshake continua falhando mesmo que enviar mensagens funcione perfeitamente.
Também vale a pena verificar novamente — apenas uma URL de webhook pode ser registrada por aplicativo por vez. Se você esteve alternando entre URLs de Teste e Produção enquanto tentava validar, a última URL colada substitui o registro anterior, então ficar alternando entre elas continua redefinindo o estado. Escolha uma URL, certifique-se de que o fluxo de trabalho está publicado e ativo se for a URL de Produção, e não a toque enquanto valida.
Uma vez que o tipo de credencial está corrigido e apenas uma URL está registrada, tente a etapa de verificação novamente. Essa combinação geralmente é o que resolve.