Pular para o conteúdo

Webhooks de saída

Um webhook de saída é o contrário do de entrada: em vez de o CRM receber um recado, ele manda um. Você marca os acontecimentos que importam (um lead novo, uma venda aprovada, uma mudança de etapa) e informa o endereço de outra ferramenta; a cada acontecimento, o CRM avisa esse endereço na hora. É assim que você, por exemplo, adiciona uma linha numa planilha cada vez que ganha um negócio.

Em Integrações › Webhooks › Saída você cria destinos: os endereços que recebem esses avisos. Quem programa ou usa o n8n também pode criar esses webhooks pela API do CRM, com a opção ignoreOwnChanges, que evita que um fluxo que escreve no CRM seja avisado das próprias mudanças e entre em laço. Os destinos criados pela tela não têm essa opção. Quando usar: sempre que outra ferramenta precisar reagir ao que acontece no CRM. Usos comuns: um fluxo do n8n com gatilho “Webhook”, um cenário do Make com “Custom webhook”, ou uma planilha alimentada por um desses dois.

  • Os webhooks de saída são dos planos Pro, Max e Agência (veja Planos e limites). Nos planos Free e Plus, o CRM avisa que o plano não inclui webhooks de saída.
  • A ferramenta de destino precisa ter um endereço (URL) para receber os avisos. No n8n, use a URL de produção do gatilho “Webhook”; no Make, o endereço do módulo “Custom webhook”.
  • A URL precisa começar com https://.

Clique em Novo destino. O assistente tem três passos.

  1. Destino: dê um nome e informe a URL de destino. Ela precisa começar com https://, sem porta, sem ? e sem usuário e senha. O CRM sempre envia com o método POST.
  2. Eventos: marque o que o destino deve receber. Em cada evento, Filtrar limita o envio (por exemplo, só uma lista ou uma tag).
  3. Conteúdo: escolha o formato do JSON enviado (JSON é o formato de dados que as ferramentas entendem).

Nada é enviado antes de você concluir.

Lista de webhooks de saída com dois destinos

GrupoEventos
LeadsLead criado, atualizado, excluído, mesclado em outro (leva o código do lead absorvido e o do que ficou)
FunilEntrou numa lista com funil, mudou de etapa, ganho, perdido (com motivo), responsável alterado
TagsTag adicionada, tag removida
Captação e formuláriosLead recebido, formulário enviado (inclui o formulário conversacional)
VendasVenda criada, aprovada, pendente, reembolsada, com chargeback, cancelada, abandonada
MensagensMensagem recebida
MídiaMídia sincronizada: o CRM terminou de coletar uma conta de anúncios conectada (veja Contas de anúncios)

Os filtros disponíveis dependem do evento: lista, etapa, etapa de origem e de destino, tags, origem (Site, WhatsApp ou Instagram), formulário, webhook de entrada, produto e canal (WhatsApp ou Instagram) e plataforma (só para Mídia sincronizada). Sem nada escolhido, o evento vai sempre; com mais de uma opção, basta uma delas.

O evento Mídia sincronizada (media.synced) chega quando uma coleta de mídia termina bem. Ele não traz as métricas, só avisa que há dado novo. O conteúdo (data) traz:

  • platform: meta, google ou ga4;
  • accountId e accountName: a conta de anúncios (ou a propriedade do GA4);
  • kind: history (carga dos 90 dias ao conectar), daily (releitura diária) ou hourly (atualização de hora em hora);
  • since e until: o período lido, em AAAA-MM-DD;
  • records: quantos registros a coleta gravou.

Só as contas coletadas pelo CRM geram o evento, não as lidas pela automação da Datta. O filtro Plataforma limita o envio a uma delas. Para buscar os números depois do aviso, use a leitura de mídia pela API.

  • Padrão completo (recomendado): traz tudo o que o CRM sabe do evento: lead, lista, etapa, tags, venda e mais. Novos campos podem aparecer com o tempo.
  • Personalizado: só os campos que você escolher, com os nomes que o destino espera (até 50 campos). Uma pré-visualização com dados reais da sua conta mostra o resultado.

Os eventos de funil continuam com os nomes deal.entered_pipeline (entrou numa lista com funil), deal.stage_changed, deal.won e deal.lost. O conteúdo traz deal (com id no formato <lead>:<lista>, title, value e stageId), list (id, name, folderId e folderName), stage (id, name e kind) e, no deal.lost, lossReason (id e name). Não existem mais pipeline nem probability. O filtro de Funil foi trocado pelo de Lista; assinaturas antigas que filtravam por funil passam a valer para qualquer lista.

No conteúdo padrão, o lead traz a origem: origin (a chave: site, whatsapp ou instagram), source (o rótulo, como “Site”) e lists (os negócios do lead, um por lista, com listId, listName, folderId, folderName, origin, a etapa, o value e o lossReasonId, como descrito acima).

Em Eventos, Enviar teste manda agora um exemplo daquele evento ao destino e mostra a resposta. O teste usa os eventos e o conteúdo já salvos, chega marcado como teste e aparece em Entregas.

Cada linha mostra o nome, a situação (Ativo, Com falhas, Pausado ou Desativado) e o endereço de destino, com os números Eventos e Sucesso (24 h) à direita e o botão Abrir. Se algum destino estiver pausado, aparece um aviso no topo.

A aba Entregas do destino lista cada envio. O CRM tenta entregar cada evento até 7 vezes e considera que o destino não respondeu se ele demorar mais de 10 segundos.

Se as entregas falharem por mais de 24 horas seguidas, o destino é pausado. Enquanto está pausado, os novos eventos ficam guardados como não enviados. Corrija o problema no destino e use:

  • Reativar: volta a enviar os próximos eventos.
  • Reenviar pendentes: reativa e recoloca na fila as entregas não enviadas e as que falharam nos últimos 7 dias.

Para uma entrega isolada, abra-a e use Reenviar. Para ver o que aconteceu em cada tentativa, consulte o Histórico: lá aparecem a resposta e o código de erro do destino.

  • Ativo / Desativado: nada é enviado enquanto estiver desativado.
  • Avançado:
    • Segredo da assinatura (HMAC): cada envio leva o cabeçalho x-crm-signature no formato sha256=…, que serve para o destino conferir que o aviso veio mesmo do CRM. Para conferir, calcule o HMAC-SHA256 do corpo recebido (o texto exato, antes de interpretar o JSON) com o segredo, em hexadecimal, e compare com o valor depois de sha256=. É possível Gerar segredo, Gerar outro (o anterior deixa de valer na hora) ou Remover segredo (os envios saem sem assinatura). Isso é tarefa para quem cuida da ferramenta de destino; se não for o seu caso, pode deixar sem.
    • Cabeçalhos extras: para destinos que pedem chave ou token (por exemplo Authorization). Os valores ficam guardados de forma protegida e não podem ser lidos de volta; para alterar um, informe de novo o valor de todos.
  • Excluir destino: o CRM deixa de enviar eventos. As entregas já feitas continuam no Histórico.

As entregas falharam por mais de 24 horas seguidas. Confira se a ferramenta de destino está no ar e se a URL não mudou; depois use Reenviar pendentes.

Confira a URL e se a ferramenta de destino está ligada (no n8n, o fluxo precisa estar ativo para a URL de produção funcionar).

Ele foi criado por uma chave de API que não vale mais e não pode ser reativado. Crie um destino novo (pela tela ou com uma chave válida) ou exclua este.

Ela precisa começar com https://, sem porta, sem ? e sem usuário e senha.