Webhooks
Receba dados de CRMs, formulários e e-commerce para disparar fluxos automaticamente.
Webhook é um link único do Sagazchat que outros sistemas (CRM, formulário, e-commerce, planilha) chamam para enviar dados. Quando a chamada chega, o Sagazchat dispara um fluxo de conversa com aquele lead já carregado.
Webhook recebe dados de fora. Para enviar dados do Sagazchat para outro sistema use o bloco Integração HTTP dentro do Fluxo de Conversa.
Onde fica
Sidebar > Automação > Webhooks (/webhooks).

A tela lista todos os webhooks da sua conta. No topo, o contador 0/30000 (ou 0/15000 no Basic) mostra quantas chamadas você já consumiu no mês corrente — esse é o limite do seu plano.
| Coluna | O que significa |
|---|---|
| Nome | Nome que voce deu pro webhook |
| Status | Ativo / Desativado (controla se as chamadas externas viram fluxo) |
| Requisicoes do mes | Contador zera todo dia 1 |
| Requisicoes totais | Histórico desde a criação |
| Acoes | Menu de 3 pontinhos: Editar nome, Duplicar, Configurações, Excluir |
Criar um webhook
- Clique em + Adicionar no canto superior direito.
- Digite um Nome para identificar (ex:
Cadastro do site,Pedido Shopify). - Clique em Adicionar.

O modal pede só o nome — a URL única é gerada automaticamente depois e fica disponível dentro do webhook que você acabou de criar.
Configurar um webhook
Depois de criado, clique no nome do webhook na lista pra abrir a tela Configuração de Webhook.

A tela tem as seções abaixo, na ordem.
1. Este é o link do seu webhook
Caixa cinza com a URL única gerada. Copie e cole no sistema externo que vai enviar os dados (campo “URL do webhook” / “Endpoint” / “Notification URL” lá dele).
Formato: https://backend.sagazchat.com/webhook/<seu_id>/<token>. O token é único por webhook — se vazar, qualquer pessoa pode disparar fluxos na sua conta. Trate como senha.
2. Última requisição que este webhook recebeu
Mostra o último JSON real que chegou. Use isso pra entender quais campos o sistema externo manda e fazer o mapeamento correto.
Botão Atualizar dados força recarregar (útil depois de mandar uma chamada de teste do sistema externo).
Se o sistema externo permite “disparo de teste”, faça um envio de teste antes de mapear. Sem ter o JSON aqui na tela, voce não consegue mapear os campos.
3. Mapear os campos do contato
Três Autocompletes obrigatórios:
- Selecione os campos do {celular} do seu cliente — qual chave do JSON tem o número de WhatsApp (ex:
numero,telefone,phone). - Selecione os campos do {nome} do seu cliente — qual chave tem o nome (ex:
nome,primeiro_nome,name). - Selecione os campos do {email} do seu cliente — qual chave tem o e-mail.
Os Autocompletes sugerem chaves baseadas no JSON da última requisição recebida (seção 2). Se o JSON tiver objeto aninhado ({ "lead": { "name": "X" } }), selecione o caminho completo.
4. Selecione o FLUXO que será disparado
Combobox com todos os fluxos da sua conta. Escolha qual fluxo o Sagazchat vai iniciar quando uma chamada nova chegar.
O contato é criado/atualizado antes do fluxo rodar. Dentro do fluxo,
{nome}e{celular}já estão preenchidos.
5. Canal de envio + WhatsApp/distribuicao
Define qual conexão envia a mensagem do fluxo:
- Canal de envio: WhatsApp (default), WhatsApp Oficial, ou outro disponível.
- Selecione o WHATSAPP: combobox com seus números conectados — OU
- Ativar distribuição: checkbox que faz o Sagazchat sortear entre vários números.
6. Etiquetas (opcional)
Duas listas separadas:
- Etiqueta que deseja adicionar — aplicada ao contato quando o webhook dispara.
- Etiqueta que deseja remover — tirada do contato (útil pra mover de “lead novo” pra “cliente”).
7. Campos adicionais (opcional)
Botão + Adicionar campo cria pares extras de mapeamento — pra salvar campos personalizados além de nome/celular/email (ex: produto_interessado, origem_campanha).
Salvar webhook
Botão verde no rodapé. A validação é client-side: se faltar um campo obrigatório, o botão não dispara nada (sem mensagem de erro nem toast).

Ativar / Desativar
Botão Desativar (ou Ativar) no topo direito da tela de configuração. Webhook desativado deixa de processar chamadas externas mesmo que o link continue ativo.
Casos de uso reais
| Origem | O que mandar | Fluxo que dispara |
|---|---|---|
| HubSpot / Pipedrive | lead mudou de etapa | mensagem de follow-up |
| Typeform / Google Forms | formulário submetido | boas-vindas + qualificação |
| Shopify / WooCommerce | pedido confirmado | pós-venda + nota fiscal |
| Google Sheets (via Zapier/Make) | linha nova | confirmação de cadastro |
| Plataforma de pagamento | cobrança paga | release de acesso |
Limites do plano
| Plano | Webhooks/mes por conexao |
|---|---|
| Basic | 15.000 |
| Pro | 30.000 |
Cada chamada externa recebida conta 1, independentemente de o fluxo disparar ou não. Mapping vazio = chamada conta mas fluxo nada faz.
O que não dá pra fazer aqui
- Webhook só recebe. Pra enviar pra fora, use bloco Integração no Flow Builder (disponível no Pro).
- Sem autenticação configurável: o token na URL é o único secret. Não dá pra exigir API key, HMAC, IP whitelist.
- Sem retry: se o fluxo falhar internamente, a chamada externa já teve resposta 200 e o sistema externo não vai retransmitir.
- Sem transformação de payload: o que chega é o que é mapeado direto. Pra transformar campos use Zapier/Make no meio.