x-api-key e respondem 202 assim que
os fluxos são enfileirados.
Base:
https://api.zatten.com. A chave sai de API Keys no painel
(Chaves de API do projeto). A referência completa dos
endpoints fica em Disparar fluxos e webhook de entrada.
A rota avisa, não faz.
/flows/trigger com lead.tag_added não aplica a tag:
ela só roda os fluxos daquele gatilho. Para aplicar a tag, chame a API de leads e,
depois, o disparo.Onde fica no painel
No editor do fluxo, ao escolher o gatilho Webhook recebido, o painel lateral mostra a URL pronta e umcurl de exemplo com os campos declarados. O disparo
genérico não tem tela: é só API.
Como configurar
Disparo genérico: POST /flows/trigger
Use para rodar os fluxos de um gatilho disponível para um lead, quando você
quer avisar o evento por conta própria (por exemplo, para reprocessar). Mover o
lead e pôr ou tirar tag pela API de leads já disparam os fluxos de Kanban e de
tag: não chame /flows/trigger de novo para o mesmo evento, ou o fluxo roda duas
vezes.
O que mandar em
trigger_event:
A resposta diz quantos fluxos casaram e o que aconteceu com cada um:
matched: fluxos ligados com esse gatilho.dispatched: quantos de fato rodaram. Menor quematchednão é erro: oreasondiz qual filtro do gatilho não bateu.deduped: true: aidempotency_keyjá foi usada nas últimas 24 horas. Nada rodou.
Webhook de entrada: POST /hooks/<path>
- No editor, crie um fluxo com o gatilho Webhook recebido.
- Preencha o Path (só minúsculas, números e hífen, ex.:
erp-pedido-fechado). Ele é único no projeto. - Em Campos que você vai receber, declare os campos do JSON que o fluxo vai
usar (
pedido_id,cliente.nome). Cada um vira{{trigger.body.<campo>}}. - Salve, ligue o fluxo e cole a URL no sistema de origem.
O corpo inteiro vira
{{trigger.body}}:
{ "message": "Flow triggered" }, com 202, mesmo se nenhum
fluxo casar com o caminho. Para saber se rodou, veja as
Execuções do fluxo.
Como funciona por trás
- O projeto vem da chave. Uma chave nunca dispara fluxo em outro projeto.
- Cada fluxo ligado com o gatilho é testado contra os filtros. Os que batem viram execuções; os outros ficam como Ignorado.
- A idempotência vale para a combinação gatilho + lead +
idempotency_key, por 24 horas. A mesma chave para outro lead ou outro gatilho roda normalmente. Semidempotency_key, cada chamada roda os fluxos de novo. - A execução segue na fila, em segundo plano. O 202 quer dizer “recebido e despachado”, não “terminou”.
- As regras de limite da API valem para estas rotas.
Pelo MCP
O MCP não dispara fluxos. Ele cria fluxos (inclusive com o gatilho Webhook recebido e opath) e liga ou desliga. O disparo é sempre pela API, com a chave
do projeto. Ver A API do dia a dia.
Armadilhas
- O corpo precisa ser JSON. Sem
Content-Type: application/json, o fluxo roda, mas{{trigger.body}}chega vazio. Remetentes que postam formulário (form-urlencoded) não funcionam direto. - 202 não quer dizer que rodou. No
/hooks, um path errado também responde 202. Confira nas Execuções. - O lead precisa existir. Webhook de um número que nunca falou com o projeto nem foi importado em Contatos dá 404. Nada roda.
- Um fluxo antigo sem Path responde a qualquer
/hooks/…do projeto. Hoje o editor exige o Path; revise fluxos antigos. - Gatilho em breve não roda pela API.
lead.created,lead.message_received,lead.property_changedelead.inactivesão aceitos, mas não há fluxo ligado com eles:matchedvem0. - A API aceita
lead.ai_toggled, mas o editor não tem esse gatilho, então não há fluxo para rodar. - Nunca ponha a chave de API num front-end público. Quem tem a chave lê e altera os leads do projeto.
Perguntas frequentes
Meu sistema muda a tag pela API. Os fluxos de 'Tag adicionada' rodam?
Meu sistema muda a tag pela API. Os fluxos de 'Tag adicionada' rodam?
Sim.
POST/DELETE /leads/{numero}/tag e PATCH /leads/{numero}/kanban disparam
os fluxos de tag e de Kanban sozinhos. Não chame /flows/trigger para o mesmo
evento. Já mudar uma propriedade (/properties) ou ligar/desligar a IA não
dispara fluxos, e os gatilhos dessas mudanças ainda não estão disponíveis (em
breve).Qual usar: /flows/trigger ou /hooks?
Qual usar: /flows/trigger ou /hooks?
/hooks quando você não controla o formato do corpo (o sistema de origem manda o
JSON dele). /flows/trigger quando você monta a chamada e quer a resposta com
matched, dispatched e o motivo de cada fluxo ignorado.Dá para disparar para vários leads de uma vez?
Dá para disparar para vários leads de uma vez?
Não. Cada chamada é para um lead.
Para saber mais
- Disparar fluxos e webhook de entrada (API)
- Autenticação, Limites, Erros
- Trigger Flow: catálogo de blocos
- Chaves de API do projeto
- Termos para buscar: “idempotency key”, “webhook de entrada”, “trigger_event”, “x-api-key”.