Pular para o conteúdo
Dados do cliente11 de setembro de 2026 · 9 min de leitura

Trazer leads e etapas do seu CRM para o centro pelo webhook genérico

Nem todo sistema tem conector pronto — o CRM próprio, a planilha automatizada, o sistema da agência. O webhook genérico é a porta para eles: um contrato pequeno (evento, e-mail, telefone, quando, dados livres), e o lead entra na mesma linha do tempo que o pixel e a Hotmart. Este é o contrato e os erros que ele evita.


Hotmart, Meta Ads, Google Ads, formulários: têm conector. O sistema onde o seu time comercial trabalha muitas vezes não tem — é um CRM menor, uma automação de WhatsApp, um sistema feito em casa. E é exatamente nele que acontece a parte da história que falta na base: quem respondeu, quem conversou, quem comprou por fora.

O webhook genérico é a porta para isso. Ele não sabe nada sobre o seu sistema; sabe receber um acontecimento com identidade e colocá-lo na pessoa certa — que é o trabalho de leads centralizados. Numa conta que acompanhamos, o CRM manda 56 mil eventos por mês por esse caminho — mais do que qualquer fonte fora do pixel — e cada um deles casa com o lead que o anúncio trouxe.

O contrato

Um evento de CRM, como o webhook espera
{
  "event": "crm.opportunity.client_replied",
  "email": "pessoa@exemplo.com",
  "phone": "+5511999990000",
  "occurred_at": "2026-09-11T14:32:10-03:00",
  "data": {
    "produto": "Mentoria Fluxo",
    "pipeline": "Perpétuo",
    "etapa_de": "Base",
    "etapa_para": "Respondeu",
    "vendedor": "ana-paula",
    "oportunidade_id": "op_18271"
  }
}
  • event: o nome do acontecimento, em três partes (sistema.objeto.ação). É o que a audiência, a jornada e o Envio para o Meta vão filtrar.
  • email e phone: a identidade. Pelo menos um. É o que casa com o lead que o pixel criou — e o telefone precisa do DDI.
  • occurred_at: quando aconteceu, não quando foi enviado. Sem isso o evento ganha a hora da chegada, e o reenvio de ontem cai em hoje.
  • data: o que só o seu sistema sabe. Vai inteiro para a linha do tempo, e é por ele que o filtro "só o produto X" funciona.

O bloco data é a parte livre do contrato, e é a que decide o valor. CRM que manda só o evento sem o produto entrega um lead que não dá para filtrar.

Autenticação e reentrega

Cada fonte de webhook tem uma chave na URL e uma assinatura HMAC do corpo. Requisição sem assinatura válida é recusada — um endpoint aberto seria uma porta para inventar leads. E o mesmo evento reenviado (o CRM tentou duas vezes, a rede falhou no meio) precisa de uma chave de deduplicação: o id da oportunidade mais a etapa costuma bastar. Sem isso o "respondeu" entra duas vezes e a conversão que vai ao Meta é contada em dobro.

O que vira depois

  • Linha do tempo: o evento aparece na ficha da pessoa, ao lado do clique no anúncio e da compra na Hotmart — é o que faz a história ficar inteira.
  • Conversão para o Meta: um Envio filtra "crm.opportunity.two_way_interaction" do produto X e manda como evento personalizado pelo CAPI, com a identidade do CRM (100% de telefone).
  • Audiência: "respondeu e não recebeu proposta em 3 dias" é uma regra sobre dois eventos do mesmo CRM.
  • Pergunta à IA: "quantos leads da campanha Y responderam esta semana" cruza o evento do CRM com a origem que o pixel gravou.

Erros que vimos em produção

  1. 01Mandar a hora do envio como occurred_at. Reprocesso em lote põe mil eventos no mesmo minuto.
  2. 02Telefone sem DDI. "11 99999-0000" não casa com "+5511999990000" — e o lead vira duplicado.
  3. 03Nome do evento diferente do que foi configurado no filtro. O painel do sistema diz "compra_aprovada", o payload diz "order_approved"; o filtro por um nunca vê o outro. Sempre olhar o payload REAL antes de configurar.
  4. 04Bloco data vazio. O evento entra, mas não há como separar produto — e o Envio para o Meta manda a conversão do produto errado.

No CrazyLeads a fonte de webhook recebe esse contrato com chave por fonte e assinatura HMAC, extrai a identidade, deduplica por chave, guarda o bloco data inteiro na linha do tempo, e oferece o catálogo de eventos e campos MEDIDO do que chegou — para o Envio, a audiência e a IA filtrarem pelo que existe, não pelo que se supõe.

Perguntas frequentes

Meu CRM só consegue mandar um formato fixo. Serve?

Serve se tiver ao menos e-mail ou telefone e um nome de evento. Um código de transformação, executado isolado, pode remodelar o formato do CRM para o contrato — sem mexer no CRM.

Posso mandar eventos antigos para preencher o histórico?

Pode, desde que cada um leve o occurred_at real. O evento cai na data certa da linha do tempo, e a chave de deduplicação impede que o histórico entre duas vezes.

O webhook cria o lead se ele não existir?

Cria, identificado pelo e-mail ou telefone que veio. Quando o pixel vir essa pessoa depois, ou a Hotmart mandar a compra dela, a regra de identidade junta tudo no mesmo registro.

Quantos eventos posso mandar?

O caminho é feito para dezenas de milhares por dia por fonte. Cada evento conta como linha ingerida na medição de uso, então mandar mudança de etapa (poucos por lead) é melhor do que mandar toda leitura de tela.

Comece a medir o que realmente vira venda

Crie sua conta grátis, conecte a primeira fonte e veja a primeira timeline de lead ainda hoje. Sem cartão.