Skip to main content
Configure webhooks para receber eventos em tempo real. Cada webhook cadastrado em Developers → Webhooks → Endpoints responde por um único tipo de evento (ou variantes agregadas).

Configuração

1

Acesse Webhooks

No menu lateral, vá em Developers → Webhooks → Endpoints e clique em Add Webhook. Webhooks criados em ações de agentes e em formulários aparecem nas abas Agentes IA e Formulários (edite-os no editor de cada um). Em Configurações, defina a URL Global (Fallback), Forçar Disparo e Pular Automações (evita loops com mensagens de automação).
2

Escolha o tipo de evento

Selecione qual evento deve ser enviado — ver tabela abaixo.
3

Informe a URL de destino

URL HTTPS pública que receberá os eventos via POST.
Tela de Webhooks com as abas Endpoints, Agentes IA e Formulários e o botão Add Webhook

Developers → Webhooks → Endpoints

Segurança

Implemente estas proteções no seu servidor:
  • Validação HMAC: valide o header X-Signature com o client_token do canal.
  • Validação de timestamp: rejeite requisições com X-Timestamp antigo (> 5 minutos).
  • Idempotência: use X-Idempotency-Key para deduplicar entregas.
  • HTTPS: URLs http:// e IPs privados são bloqueados.

Eventos Disponíveis

Quando contact_updated dispara

Apenas quando um dos seguintes campos muda: name, email, company, job_title, notes, custom_labels, utm_source, utm_medium, utm_campaign, is_favorite, is_archived, is_blocked. Mudanças em last_message_at, photo_url, unread_count e outros campos operacionais não disparam webhook.

Payload de mensagem

Payload de contato

Mesma estrutura da API /contacts-api/create, acrescida de metadados do evento:
Em contact_updated, changedKeys traz um array com os campos que mudaram, ex.: ["email", "custom_labels"].
customLabels é sempre um objeto JSON ({"chave": "valor"}), igual ao aceito no endpoint /contacts-api/create. Consuma direto em Zapier/Make/n8n via payload.customLabels.contratante.

Headers enviados

Retry Policy

Se seu servidor retornar erro (status ≥ 500) ou timeout (> 30s), o sistema faz até 3 tentativas no total, com espera de 1 s e depois 2 s entre elas. Respostas 4xx não são reenviadas.
Retorne 200 o mais rápido possível. Processe a lógica de negócio de forma assíncrona para evitar timeouts.