O cliente preencheu o formulário no WhatsApp. E agora, como esse cadastro chega ao seu CRM, à planilha do comercial ou ao ERP sem ninguém digitar de novo? É para isso que serve o webhook WhatsApp Flows: no ClikChat, cada vez que um Flow é concluído, as respostas podem ser enviadas automaticamente para um endereço do seu sistema. Se o seu sistema estiver fora do ar, o ClikChat tenta de novo, até 10 vezes.
Neste guia, explicamos como o webhook funciona, o que vem nos dados enviados, como configurar e três casos práticos: CRM, planilha e ERP.
O que é um webhook, sem jargão
Pense no webhook como um aviso automático. Em vez de o seu sistema ficar perguntando ao ClikChat “chegou formulário novo?”, o ClikChat bate na porta do seu sistema e entrega as respostas assim que o cliente envia.
Para isso, você só precisa de uma coisa: um endereço (URL) do seu lado, preparado para receber essas entregas. Pode ser um endpoint do seu CRM, uma ferramenta de automação que você já usa, ou um serviço feito pela sua equipe de TI.
Lembrete: Flows só na API oficial
Os WhatsApp Flows são formulários nativos da Meta, vinculados à conta da API oficial (WABA). No ClikChat, eles valem para todos os números dessa conta e não funcionam em conexões por QR Code. A Meta descreve os WhatsApp Flows na documentação oficial como uma forma de criar interações estruturadas em mensagens de empresas.
Para onde vão as respostas de um Flow no ClikChat
Quando o cliente conclui o formulário, as respostas podem seguir três caminhos ao mesmo tempo:
| Destino | O que acontece | Para quem serve |
|---|---|---|
| Ticket | O ClikChat registra na conversa a mensagem Resposta recebida do WhatsApp Flow “[nome do Flow]”, com as respostas | Atendente, que continua o atendimento com contexto |
| Campos do contato | Com “Salvar resposta em”, cada resposta grava em um campo da ficha | Equipe que usa o ClikChat como base de contatos |
| Webhook | As respostas são enviadas para a URL do seu sistema, com até 10 tentativas | CRM, ERP, planilha ou automação externa |
O webhook não substitui os outros dois. Ele complementa: o atendente continua vendo tudo no ticket, e o seu sistema recebe uma cópia para processar.
O que vem no payload do webhook WhatsApp Flows
“Payload” é só o nome técnico do pacote de dados que o ClikChat envia. Ele chega em JSON, neste formato (os valores abaixo são de exemplo):
{
"event": "whatsapp_flow_nfm_reply",
"flow_id": 1,
"flow_name": "Coletar interesse de compra",
"company_id": 1,
"ticket_id": 1,
"whatsapp_id": 1,
"message_wid": "wamid.exemplo",
"contact": { "id": 10, "name": "Cliente Exemplo", "number": "5511999999999" },
"form_flow": { "flow_token": "waflow_1_1710000000000", "nome": "exemplo", "email": "exemplo" },
"form_flow_id": 1,
"received_at": "2026-01-15T12:00:00.000Z"
}
O que cada campo significa:
- event: o tipo de evento. É sempre
whatsapp_flow_nfm_reply, que indica a resposta de um Flow concluído. - flow_id e flow_name: o ID e o nome do Flow respondido no ClikChat. É por aqui que o seu sistema sabe se é um cadastro, um orçamento ou uma pesquisa.
- company_id, ticket_id e whatsapp_id: referências da empresa, do ticket da conversa e da conexão de WhatsApp por onde a resposta chegou.
- message_wid: o identificador da mensagem de resposta no WhatsApp (o “wamid”).
- contact: quem respondeu, com ID, nome e número do contato. O número serve para casar a resposta com o cliente certo no seu sistema.
- form_flow: as respostas. Traz o
flow_tokene um campo por pergunta, usando como chave o nome interno do componente. Caixas de seleção devolvem uma lista; múltipla escolha e lista suspensa devolvem o valor escolhido. - form_flow_id: outro identificador numérico enviado pelo ClikChat junto com as respostas. Vale guardar com os demais IDs para rastreio.
- received_at: data e hora do recebimento da resposta, em UTC (formato ISO 8601).
Na hora de mapear, o seu sistema lê os dados fixos (Flow, contato, ticket) e percorre o form_flow para pegar cada resposta pelo nome do componente.
Dica de quem integra todo dia: dê nomes claros aos componentes do Flow (“email”, “cidade”, “interesse”). Quem vai ler o payload do outro lado agradece.
Como configurar o webhook WhatsApp Flows no ClikChat
O módulo fica em Configuração → WhatsApp Flows, visível para o perfil Master.
- Prepare a URL de destino. Combine com quem cuida do seu sistema qual endereço vai receber os dados. Ele precisa estar acessível pela internet.
- Abra o Flow. Crie um novo ou use um que já existe: a URL do webhook pode ser salva mesmo com o Flow publicado. O que fica travado depois da publicação é o conteúdo das telas.
- Nomeie bem os componentes. Nomes curtos e sem ambiguidade facilitam o mapeamento.
- Informe a URL do webhook na configuração do Flow.
- Configure também “Salvar resposta em”, se quiser os dados na ficha do contato além do sistema externo.
- Teste com “Testar no WhatsApp”. Preencha o formulário no seu número e confirme que a entrega chegou do outro lado. O teste exige o ID Meta do Flow, pelo menos uma tela e uma conexão oficial; com o Flow ainda em rascunho, a mensagem de teste é um texto fixo da Meta, em inglês.
- Mapeie os campos no seu sistema a partir do exemplo recebido.
- Publique e acompanhe as primeiras respostas reais.
As 10 tentativas: como deixar seu lado preparado
Se a entrega falhar, o ClikChat tenta novamente, até 10 vezes. Isso protege você contra quedas rápidas do servidor, mas cria duas responsabilidades do seu lado.
1. Responda rápido e com sucesso
O seu endpoint deve confirmar o recebimento assim que guardar os dados, e deixar o processamento pesado (enviar e-mail, gerar proposta) para depois. Se ele demorar ou devolver erro, a entrega pode ser considerada falha e repetida.
2. Não crie registros duplicados
Com tentativas repetidas, o mesmo envio pode chegar mais de uma vez. Use uma chave para identificar a resposta (por exemplo, o message_wid, ou a combinação de flow_id, ticket_id e received_at) e ignore o que já foi gravado. Em integração, isso se chama idempotência.
3. Tenha um plano B
Se o seu sistema ficar fora do ar por muito tempo, as respostas continuam no ticket e nos campos do contato. A exportação de contatos do ClikChat ajuda a recuperar o que não chegou.
Três casos práticos de integração
CRM: lead nasce já qualificado
O cliente responde um Flow de interesse de compra (o ClikChat tem o modelo pronto “Coletar interesse de compra”). O webhook cria ou atualiza o lead no CRM com produto, orçamento e aceite. O vendedor recebe a oportunidade com os dados preenchidos. Se você ainda está decidindo como ligar o WhatsApp ao CRM, nosso guia de integração da API oficial com CRMs ajuda no desenho.
Planilha: para quem ainda não tem CRM
Uma ferramenta de automação recebe o webhook e adiciona uma linha na planilha do comercial a cada formulário. Funciona bem no começo, mas tem limite: sem dono por linha e sem histórico, ela vira bagunça rápido. Comparamos os dois cenários em CRM ou planilha.
ERP: pedido ou cadastro direto no sistema de gestão
Um Flow de pedido de orçamento ou de atualização cadastral envia os dados ao ERP, que gera o registro do cliente ou o rascunho do pedido. Aqui o cuidado com campos obrigatórios é maior: o que o ERP exige precisa ser obrigatório no Flow. Para o desenho completo, veja o passo a passo de integração do WhatsApp com ERP.
Webhook do Flow, API e integração HTTP do chatbot: qual usar
O ClikChat tem três formas de conversar com outros sistemas, e cada uma resolve uma coisa diferente:
- Webhook do Flow: o ClikChat avisa o seu sistema quando um formulário é concluído.
- Integração HTTP no chatbot: no meio de um fluxo, o chatbot consulta ou envia dados a um sistema e segue conforme o retorno.
- API do ClikChat: com tokens e documentação Swagger, o seu sistema é que chama o ClikChat, por exemplo para criar contatos ou consultar informações.
Em muitas operações, os três convivem: o chatbot tria, o Flow coleta e avisa via webhook, e o sistema usa a API para o que precisar depois.
Checklist antes de publicar
- URL de destino testada e acessível.
- Componentes do Flow com nomes claros.
- Campos obrigatórios do sistema também obrigatórios no Flow.
- Endpoint respondendo rápido e tratando duplicidade.
- “Salvar resposta em” configurado como cópia de segurança.
- Teste real feito com “Testar no WhatsApp”.
- Alguém responsável por monitorar falhas de integração.
Perguntas frequentes
Preciso de programador para usar o webhook WhatsApp Flows?
Você precisa de alguém que prepare o endereço de destino e faça o mapeamento dos campos. Pode ser a equipe de TI ou uma ferramenta de automação que receba webhooks. A configuração no ClikChat em si é feita pela tela do Flow.
O que acontece se meu sistema estiver fora do ar?
O ClikChat faz até 10 tentativas de entrega. Mesmo que todas falhem, as respostas continuam no ticket e, se configurado, nos campos do contato.
Posso receber o mesmo formulário duas vezes?
Pode acontecer quando há novas tentativas. Por isso, o seu sistema deve identificar respostas já gravadas e ignorar repetições.
O webhook funciona em números por QR Code?
Não, porque os Flows só existem na API oficial. Em QR Code, use a integração HTTP do chatbot para enviar dados coletados na conversa.
Consigo adicionar webhook em um Flow já publicado?
Sim. A URL do webhook pode ser salva mesmo com o Flow publicado. O que não muda depois da publicação é o conteúdo do formulário: para alterar telas ou campos, clone o Flow, publique a cópia e descontinue o antigo.
Qual a diferença entre o webhook e a API do ClikChat?
No webhook, o ClikChat envia os dados para você quando o formulário é concluído. Na API, é o seu sistema que faz as chamadas ao ClikChat, usando tokens e a documentação Swagger.
Conclusão
O webhook WhatsApp Flows fecha o ciclo do formulário: o cliente preenche no WhatsApp, o atendente vê no ticket, a ficha do contato é atualizada e o seu CRM, planilha ou ERP recebe os dados sem digitação. Prepare o endereço de destino, nomeie bem os campos, trate as repetições das até 10 tentativas e teste com um envio real antes de publicar. Quer ver isso funcionando na sua operação? Teste o ClikChat grátis por 3 dias.
