Neste conteúdo (7 partes)
O formulário foi enviado, o cliente jura que preencheu, e o lead não apareceu no CRM. É o chamado mais comum depois de uma integração nova, e quase sempre o problema é pequeno: uma letra no endereço, um método trocado, uma vírgula sobrando no JSON. O truque é procurar na ordem certa, do mais simples para o mais raro, em vez de refazer a integração inteira.
Se a palavra webhook ainda é nova para você, comece por o que é webhook. Aqui o foco é diagnóstico. O exemplo usa a Clínica Ipê, uma empresa fictícia, cujo formulário de agendamento deveria criar leads no CRM e não criava.
O que preparar antes de testar?
Tenha em mãos três coisas: o evento que deveria ter disparado o webhook, o endereço de destino e algum lugar onde ver o que chegou. Sem isso, o teste vira adivinhação.
- Um evento de teste que você controle: envie o formulário você mesmo, com um nome claramente de teste, como 'Teste Silva'. Assim o lead de teste se distingue do real.
- O endereço exato de destino: copie e cole, não digite.
- Um lugar para ver a requisição: o histórico de execuções da ferramenta que recebe (no n8n, a aba Executions) ou o registro do sistema que envia.
- Dados de teste que não são de cliente real: em ferramentas públicas de teste, qualquer pessoa que tenha o endereço pode ver o que chegou. Não cole dado pessoal verdadeiro ali.
Quais são os 7 passos para achar por que o webhook não chega?
A ordem é: URL, método, formato, autenticação, resposta 200, reenvio e log. Cada passo elimina uma família de causas, e você só avança quando o anterior estiver conferido.
- 11. URL: o endereço está certo e é o de produção?
Compare o endereço configurado no sistema que envia com o do que recebe, caractere por caractere, sem espaço no começo ou no fim e com https. Se o receptor é o n8n, há dois endereços: o de teste e o de produção. Segundo a documentação do n8n, o de teste só fica ouvindo por um período curto, cerca de 120 segundos, depois que você manda escutar um evento de teste, e o de produção só recebe quando o fluxo está publicado e ativo. O erro mais frequente que vemos é o formulário apontando para o endereço de teste, que já não está ouvindo.
- 22. Método: o envio é POST?
Webhook com corpo de dados costuma ser POST. Se o receptor espera POST e recebe GET, ou o contrário, a resposta é um erro de método (405) ou nada acontece. Confira a configuração dos dois lados.
- 33. Formato: o corpo é um JSON válido e vem com o tipo certo?
Dois defeitos clássicos: uma vírgula sobrando ou aspas faltando, que deixam o JSON inválido, e o cabeçalho Content-Type ausente ou diferente de application/json, que faz o receptor não ler o corpo. Cole o corpo em um validador de JSON e confira o cabeçalho.
- 44. Autenticação: a chave está sendo enviada e é a mesma?
Se o receptor exige um token ou um segredo em cabeçalho, uma chave ausente, vencida ou com espaço extra resulta em 401 ou 403. Compare a chave dos dois lados e confirme o nome do cabeçalho.
- 55. Resposta: o receptor devolve 200 rápido?
Se o receptor demora para responder porque faz tudo antes, o emissor pode desistir por tempo esgotado e tentar de novo, o que gera duplicidade. O desenho certo é responder 200 ao receber e processar em seguida. Na documentação dos webhooks do WhatsApp, a Meta diz que uma resposta diferente de 200 faz ela tentar novamente com frequência decrescente por até 7 dias.
- 66. Reenvio: o mesmo evento funciona se enviado outra vez?
Depois de corrigir algo, reenvie o mesmo evento de teste. Se funcionar agora, o problema estava na parte corrigida. Se funcionar só de vez em quando, desconfie de tempo de resposta ou de limite de uso no receptor. Confira também se o reenvio criou dois leads, o que indica falta de uma chave para reconhecer repetição.
- 77. Log: o que o registro diz sobre essa execução?
Abra o registro de execuções e leia a primeira mensagem de erro, não a última. Ela costuma apontar o campo ou o nó que falhou. Se nada aparece no receptor, a requisição nem chegou, e o problema está nos passos 1 e 2 ou na rede. Se aparece e falhou, está nos passos 3 a 5.
O que cada código de resposta está dizendo?
O código de status que o receptor devolve é a pista mais barata que existe. Quando o emissor mostra o código na tela de entregas, ele resume o problema em três dígitos.
| Código | Em português | Causa provável | Correção |
|---|---|---|---|
| 200, 201 ou 204 | Recebido com sucesso | Nenhuma: o aviso chegou | Se o dado ainda não aparece no CRM, o problema está depois do recebimento: leia o log do fluxo |
| 301 ou 302 | O endereço foi redirecionado | URL com http em vez de https, ou endereço antigo | Use a URL final em https; em alguns clientes o redirecionamento transforma o POST em GET |
| 400 | Requisição malformada | JSON inválido ou campo obrigatório ausente | Valide o JSON e compare os campos com o esperado |
| 401 ou 403 | Sem permissão | Chave ausente, errada ou vencida | Confira o segredo e o nome do cabeçalho |
| 404 | Endereço não encontrado | URL digitada errado, fluxo desativado ou endereço de teste fora do ar | Copie a URL de produção e confirme que o fluxo está ativo |
| 405 | Método não permitido | GET onde se esperava POST, ou o contrário | Ajuste o método dos dois lados |
| 415 | Tipo de conteúdo não aceito | Falta Content-Type: application/json | Envie o cabeçalho certo |
| 422 | Dados entendidos, mas recusados | Valor em formato inesperado, como telefone sem DDD | Padronize o campo antes de enviar |
| 429 | Muitas requisições | Envio em rajada acima do limite do receptor | Espace os envios ou aumente o limite |
| 500, 502, 503 ou 504 | Erro no servidor ou tempo esgotado | Falha ou lentidão no receptor | Responda 200 antes de processar; veja o log do receptor |
O significado desses códigos está no padrão do protocolo HTTP (RFC 9110; o 429 vem de uma norma complementar, a RFC 6585). Se o seu emissor mostra apenas 'falhou', peça a tela de detalhes da entrega: sem o código, o diagnóstico fica muito mais longo.
Como mandar um webhook de teste na mão?
Um comando de teste isola o receptor do emissor. Se o dado chega quando você manda na mão, o problema está no emissor; se não chega, está no receptor ou na rede.
curl -i -X POST "https://SEU-ENDERECO/webhook/novo-lead" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SUA-CHAVE-DE-TESTE" \
-d '{"nome":"Teste Silva","telefone":"+5511999990000","origem":"teste-manual"}'
Como ler o resultado:
- A primeira linha mostra o código de status (200, 404, 401...).
- Se a primeira linha for 200 e o lead não aparecer no CRM, olhe o log do fluxo.
- Se for 404, revise a URL e se o fluxo está ativo.
- Se for 401 ou 403, revise a chave.
- Troque SEU-ENDERECO e SUA-CHAVE-DE-TESTE pelos valores reais. Nunca publique a chave verdadeira.Quem não usa o terminal pode fazer o mesmo em qualquer cliente gráfico de requisições: escolha POST, cole a URL, ponha o cabeçalho Content-Type e cole o corpo em JSON. A lógica de leitura do resultado é a mesma.
Um caso resolvido: o formulário da Clínica Ipê
Na Clínica Ipê (fictícia), o formulário de agendamento enviava os dados para um fluxo no n8n que criava o lead no CRM. Passou uma semana sem lead novo. Seguindo os 7 passos:
- URL: o formulário apontava para o endereço de teste do fluxo, que só ouve por poucos minutos. Causa encontrada no primeiro passo.
- Correção: trocar pelo endereço de produção e publicar o fluxo.
- Reenvio: o formulário de teste gerou o lead, mas apareceram dois cadastros iguais, porque o formulário também reenviava em caso de lentidão.
- Segunda correção: o fluxo passou a procurar o telefone antes de criar e a responder 200 antes de gravar, o que acabou com a duplicidade.
- Aviso: a clínica ganhou um alerta para o responsável sempre que o fluxo falhar, para o problema não ficar uma semana escondido.
E se os 7 passos não resolverem?
Se todos os passos estão corretos e o dado ainda não chega, junte as evidências e peça ajuda com elas. Um chamado com evidência é resolvido em uma conversa; um chamado de 'não funciona' vira dez perguntas.
Qual sistema envia e qual recebe: O que deveria acontecer (em uma frase): Quando começou a falhar e o que mudou antes (nova URL, nova chave, novo plano, novo campo): O evento de teste que você usou (data, hora e nome do lead de teste): O código de status que apareceu na entrega: A primeira mensagem de erro do log (copie o texto): O corpo enviado (apague dados pessoais reais antes de colar): Já reenviou o mesmo evento? O resultado foi igual ou diferente? Quem precisa ser avisado quando voltar a funcionar:
Para prevenir o próximo chamado, deixe um lead de teste rodando toda semana e um alerta de falha. Se a origem do problema era a planilha que alimenta o funil, veja também integrar Google Sheets com CRM.
Perguntas frequentes
Como testar um webhook sem programar?
Envie você mesmo o evento de verdade, como um formulário de teste, e olhe o histórico de execuções da ferramenta que recebe. Se quiser isolar o problema, use um cliente gráfico de requisições: POST, URL, cabeçalho Content-Type e corpo em JSON.
Por que meu webhook não está chegando?
As causas mais comuns são URL errada ou de teste usada em produção, método diferente de POST, JSON inválido, chave de acesso incorreta e fluxo desativado. Siga a ordem: URL, método, formato, autenticação, resposta 200, reenvio e log.
O que significa erro 404 ou 405 em webhook?
O 404 diz que o endereço não foi encontrado, em geral por URL errada ou fluxo inativo. O 405 diz que o método não é aceito naquele endereço, por exemplo GET onde se esperava POST. Os dois se corrigem conferindo a URL e o método.
Por que o mesmo lead entrou duas vezes?
O emissor reenviou o aviso porque a resposta demorou ou não foi 200, e o receptor não reconheceu o repetido. Responda 200 ao receber e use o telefone ou um código do evento para detectar contato que já existe.
Qual a diferença entre a URL de teste e a de produção no n8n?
Segundo a documentação do n8n, a URL de teste só ouve por um tempo curto depois que você manda escutar um evento, e mostra os dados no editor. A de produção só recebe com o fluxo publicado e ativo, e as execuções aparecem na aba Executions.
Posso colar dados de clientes reais em uma ferramenta de teste?
Não. Ferramentas públicas de teste mostram o conteúdo a quem tiver o endereço. Use dados inventados, e, se precisar mostrar um caso real para pedir ajuda, apague nome, telefone e e-mail antes de colar.
- DataCrazy, página inicial (consultado em 21/10/2026)
- Meta for Developers, webhooks do WhatsApp (resposta 200 e novas tentativas) (consultado em 21/10/2026)
- Documentação do n8n, nó Webhook (URL de teste e URL de produção) (consultado em 21/10/2026)
- IETF, RFC 9110 (semântica do HTTP: métodos e códigos de status) (consultado em 21/10/2026)
