Desenvolvedores
Receber e enviar webhooks
Receba dados de qualquer sistema (formulários, n8n, Make, Zapier, checkouts) com o gatilho Webhook HTTP e avise outros sistemas com o bloco Requisição HTTP.
Resposta rápida
Para receber dados, use o gatilho Webhook HTTP: copie a URL do Webhook, mande um POST de teste com Iniciar Teste ligado e mapeie pelo menos o Telefone. Para enviar dados a outro sistema, use o bloco Requisição HTTP (aba Ações do editor), com método, URL, cabeçalhos e corpo em JSON.
Receber: o gatilho Webhook HTTP
Qualquer sistema que consiga fazer um POST em JSON pode iniciar um fluxo: o formulário do site, uma automação no n8n, no Make ou no Zapier, uma planilha com script, um checkout. Cada chamada vira um contato (criado ou atualizado pelo telefone) entrando no fluxo.
- 1
Adicione o gatilho
No editor do fluxo (clique em Editar no topo), abra Gatilhos no rodapé e clique em Webhook HTTP.
- 2
Copie a URL
Clique no bloco e, em URL do Webhook, clique no botão de copiar. Configure o outro sistema para mandar um POST para essa URL, com o corpo em JSON.
12- 1Copiar a URL do webhook
- 2Iniciar Teste
- 3
Mande um envio de teste
Clique em Iniciar Teste e dispare um envio a partir do outro sistema em até 5 minutos. Quando chega, o painel mostra Payload recebido! Monte o mapeamento abaixo.
- 4
Mapeie os campos
O destino Telefone é obrigatório: clique em Adicionar campo e escolha de onde vem o telefone. Se o número chega em partes (DDI, DDD, número), adicione as partes no mesmo destino que o ZapFlow junta. Para nome, e-mail e campos personalizados, use Adicionar mapeamento. Clique em Salvar Mapeamento.
12- 1Payload recebido
- 2Adicionar mapeamento
- 5
Salve e ative o fluxo
Clique em Salvar e deixe o fluxo Ativo. Fluxo pausado recusa os envios.
Exemplo de envio
curl -X POST "https://app.metodox.com.br/api/webhook/flows/SEU_ID" \
-H "Content-Type: application/json" \
-d '{
"nome": "Carolina Duarte",
"whatsapp": "5511987650001",
"email": "carolina.duarte@email.com",
"origem": "formulario-aula"
}'A URL de verdade é a que aparece no bloco. Nesse exemplo, whatsapp vai para Telefone, nome para Nome e email para E-mail.
Usar os dados recebidos nas mensagens
Tudo o que chegou fica disponível durante o fluxo como {{webhook.caminho}}. No exemplo acima, {{webhook.origem}} vale formulario-aula. Campos dentro de outros campos usam ponto: {{webhook.buyer.name}}. Veja Variáveis.
Evitar entradas repetidas
Alguns sistemas reenviam o mesmo evento. No painel do gatilho:
- Bloquear reentrada se contato já tem agendamentos ativos (ligado por padrão): quem ainda está esperando um passo do fluxo não entra de novo.
- Cooldown de re-entrada: o mesmo telefone não entra de novo no fluxo durante os minutos definidos.
Qual linha manda as mensagens
O webhook não chega por uma linha de WhatsApp, então defina em Ajustes do fluxo, no topo do editor, em Enviar por: Linha ativa do contato (a última que falou com a pessoa) ou Linha fixa (sempre a mesma). Para quem nunca falou com você numa linha oficial, a primeira mensagem tem que ser um template aprovado.
Enviar: o bloco Requisição HTTP
Use para avisar um CRM externo, gravar numa planilha via n8n, consultar uma API e trazer a resposta para o fluxo.
- 1
Adicione o bloco
No rodapé do editor, abra Ações e clique em Requisição HTTP.
- 2
Configure a chamada
Escolha o Método HTTP, preencha a URL e, se precisar, Headers (JSON) e Corpo da Requisição (JSON). Nos dois, você pode usar variáveis como
{{name}}e{{phone}}.
1- 1URL de destino
- 3
Teste antes de ativar
Em Testar Requisição, escolha um Contato de teste e clique em Executar Teste. O painel mostra o status da resposta, a resposta completa e as variáveis já resolvidas.
- 4
Guarde a resposta (opcional)
Em Mapear Resposta → Campos, informe o Caminho JSON da resposta (por exemplo
data.id) e o Campo Destino do contato. A resposta também fica disponível no resto do fluxo como{{httpResponse.caminho}}. - 5
Trate o erro
O bloco tem as saídas Sucesso e Erro. Em Configurações Avançadas, defina o Timeout (segundos) e o que fazer Em caso de erro: continuar para o próximo bloco ou parar o fluxo.

Se algo der errado
| Sintoma | Causa provável | O que fazer |
|---|---|---|
| O sistema externo recebe 404 | O fluxo está pausado, ou o bloco foi apagado e a URL mudou | Ative o fluxo, ou atualize a URL no sistema externo |
| O sistema externo recebe 400 | O envio chegou sem telefone no campo mapeado | Confira o campo do telefone no envio e o mapeamento |
| Nenhum campo encontrado no payload. | O corpo não está em JSON | Envie com Content-Type: application/json |
| A Requisição HTTP sempre cai em Erro | URL, cabeçalho ou corpo inválidos, ou o sistema demora demais | Use Executar Teste para ver a resposta e ajuste o Timeout (segundos) |
Perguntas frequentes
Preciso de token para chamar a URL do webhook?
Não. A URL do bloco já identifica o fluxo. Para proteger, não publique a URL e prefira mandar os envios a partir de servidores, não do navegador do visitante.
Qual a diferença entre o webhook e a API?
O webhook só inicia um fluxo com os dados recebidos. A API REST faz de tudo um pouco (ler contatos, mandar mensagem, mover card) e exige token.
Existe webhook de saída nas configurações?
Não há uma tela de webhooks de saída. Para avisar outro sistema quando algo acontece, monte um fluxo com o gatilho do evento (tag, etapa do Kanban, campo alterado) e um bloco Requisição HTTP.
Artigos relacionados
Outros checkouts pelo webhookPrimeiros passos com a API RESTVariáveis e campos nas mensagensTodos os blocos do fluxoCriar um token de API