Docs
Começar grátis

Webhooks em tempo real para chamadas de WhatsApp

Toda chamada de WhatsApp que o seu número recebe pode disparar um webhook HTTP para a sua plataforma de automação. Use para follow-up de chamadas perdidas, criação de contato no CRM ou para acionar o time de plantão. Não é um agente de voz com IA, é um stream limpo de eventos.

Resumo

Os webhooks de chamadas de WhatsApp permitem que o Wazzap mande uma requisição HTTP em tempo real para uma URL da sua escolha sempre que um de quatro eventos de chamada acontece em um número conectado. O caso de uso mais valioso é chamadas perdidas: transforme cada uma em contato e workflow de follow-up para nenhum lead se perder.

!

Esse recurso é estritamente um handler de eventos por webhook. Não atende chamada, não transcreve áudio, não roda agente de voz. Para atendimento por voz, veja as ferramentas de mensageria por voz.

Eventos

  1. Chamada recebida: dispara quando a chamada é oferecida ao seu número.
  2. Chamada aceita: dispara quando atendem.
  3. Chamada recusada: dispara quando recusam.
  4. Chamada perdida: dispara quando ninguém atende.

Cada evento manda a própria requisição HTTP, então você pode apontar cada um para uma URL diferente.

Configuração

Os webhooks são configurados em nível de número dentro do painel da sub-conta:

  1. Abra Números de WhatsApp.
  2. Selecione o número específico.
  3. Abra Configurações.
  4. Vá em Calls Settings.
  5. Cole a URL do webhook para cada evento que quer rastrear.
  6. Salve.
  7. Teste com uma chamada real. O endpoint só ativa depois de um evento de verdade chegar.

Cada número conectado precisa ser configurado separadamente.

Payload

Todo evento envia o mesmo payload JSON compacto:

{
  "event": "call.missed",
  "phone": "+5215512345678",
  "country": "MX",
  "ts": "2026-05-14T14:32:11Z"
}

A string event é uma de call.incoming, call.accept, call.reject, call.missed. phone é o número de quem ligou no formato E.164, country é o código de país ISO 3166-1 alpha-2.

HighLevel passo a passo

No HighLevel, conecte o webhook a um Inbound Webhook Trigger. O trigger dispara quando o Wazzap posta o evento de chamada. A partir daí você pode:

  1. Encontrar contato por telefone no CRM.
  2. Se existe: atualizar o contato com o timestamp da última chamada.
  3. Se não: criar um novo contato com telefone e país.
  4. Ação opcional: mandar SMS ou disparar um WhatsApp com um gatilho de tag.

O Inbound Webhook Trigger é uma ação premium no HighLevel e pode ter custo extra. Confira a documentação oficial do HighLevel para preços atuais.

Exemplo: chamada perdida

  1. Um prospect liga para o seu número de WhatsApp, ninguém atende.
  2. O Wazzap posta no webhook de chamadas perdidas:
{
  "event": "call.missed",
  "phone": "+5215587654321",
  "country": "MX",
  "ts": "2026-05-14T14:32:11Z"
}
  1. O HighLevel não acha contato com esse telefone, cria um e aplica a tag callback-pendente.
  2. Um workflow que escuta essa tag dispara um WhatsApp pelo Wazzap: "Ei, desculpa não atendermos, aqui o link para agendar".

Notas importantes

  • Os webhooks são por número. Número novo, configuração nova.
  • O endpoint só ativa depois de um teste com chamada real. Não espere tráfego na URL até disparar cada evento que você configurou.
  • O payload traz só phone, country, event e ts. Não desenhe workflows em volta de campos que não existem.
  • Sempre mande webhooks para endpoints HTTPS com um token secreto na URL ou em header.
  • Plataformas comuns que consomem esses webhooks: Zapier, Pabbly, HighLevel e n8n via a integração nativa.

Solução de problemas

A URL do webhook nunca recebe requisição

Confirme que a URL é publicamente acessível e retorna status 2xx. O Wazzap não segue redirects e não retenta em erros 5xx. Teste primeiro com uma ferramenta como webhook.site.

As chamadas disparam mas só alguns eventos chegam

Cada evento precisa de URL própria no Calls Settings. Se você só preencheu missed, esse é o único evento que vai disparar.

Para roteamento complexo (encontrar contato, ramificar, retry, logar), use n8n como destino do webhook. Você mantém o payload do evento pequeno e deixa o n8n fazer o trabalho pesado.

Esta página foi útil?