> ## Documentation Index
> Fetch the complete documentation index at: https://help.vistum.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Webhook genérico (qualquer plataforma)

> Receba dados de qualquer sistema que envie webhook usando o gatilho Webhook recebido do Vistum.

## Para que serve

Mesmo que a sua plataforma não esteja na lista de integrações prontas, dá para receber os dados dela no Vistum — desde que ela consiga **enviar um webhook** (uma chamada HTTP com os dados do lead/venda). Serve para checkouts próprios, sistemas internos, formulários de terceiros, ferramentas no-code (Make, n8n, Zapier) e qualquer plataforma de venda que ainda não tenha um guia dedicado.

## Como funciona

A ligação é sempre a mesma: você cria uma **automação com o gatilho "Webhook recebido"**, o Vistum gera uma **URL única com um token**, e você manda os dados do seu sistema para essa URL.

<Note>
  Não existe botão de "conectar com 1 clique". Tudo passa por essa URL + token gerados pela sua automação.
</Note>

## Passo 1 — Pegar a URL no Vistum

<Steps>
  <Step title="Crie ou abra a automação">
    No CRM, vá em **Automações** e crie uma nova automação (ou abra uma existente).
  </Step>

  <Step title="Escolha o gatilho Webhook recebido">
    No primeiro nó da automação, selecione o gatilho **Webhook recebido**.
  </Step>

  <Step title="Selecione a plataforma">
    No campo **Plataforma**, escolha **Webhook genérico**. Além dele, há presets prontos para Hotmart, Kiwify, Eduzz, Perfect Pay, Kirvano, Monetizze, Braip, Lastlink e Cartpanda — mas, para um sistema próprio ou ferramenta no-code, use o **Webhook genérico**.
  </Step>

  <Step title="Preencha os campos mapeados">
    No painel **Campos mapeados**, indique onde estão os dados no seu JSON. Como o formato é seu, você preenche manualmente cada campo: Nome, E-mail, Telefone, Produto, Valor, ID externo (para evitar duplicar a mesma transação), Evento e CPF/CNPJ.
  </Step>

  <Step title="Copie a URL gerada">
    O Vistum mostra uma URL única, parecida com:

    ```
    https://crm.vistum.com.br/api/automations/webhook-in/SEU_TOKEN
    ```

    Clique em **Copiar**.
  </Step>
</Steps>

<Note>
  Essa URL é exclusiva da sua automação e do seu workspace. Trate como senha — qualquer um com ela pode disparar a automação.
</Note>

<Frame>
  <img src="https://mintcdn.com/vistumcrm/oDKWqyzWRlFuIrzQ/images/integracoes/webhook-generico.png?fit=max&auto=format&n=oDKWqyzWRlFuIrzQ&q=85&s=90a580b9a55567d8fc26cc7f44ac21a8" alt="Gatilho Webhook recebido no Vistum mostrando a URL e o token da automação" width="1440" height="900" data-path="images/integracoes/webhook-generico.png" />
</Frame>

## Passo 2 — Apontar o seu sistema para a URL

No seu sistema (ou na ferramenta no-code), configure um webhook que envie os dados para a URL que você copiou.

* **Método:** `POST`
* **Formato do corpo:** JSON
* **Quando disparar:** no evento que faz sentido pra você (ex.: novo lead, compra aprovada)

<Warning>
  **No Webhook genérico, todo evento que chegar dispara a automação.** Diferente das plataformas reconhecidas (Hotmart, Eduzz, Kiwify...), que já filtram sozinhas e só deixam passar a compra aprovada, aqui não existe filtro padrão — reembolso, cancelamento e boleto gerado entram no mesmo fluxo da venda.

  Se o seu sistema envia mais de um tipo de evento na mesma URL, configure o **filtro de evento** no gatilho: informe o campo do payload (ex.: `status`) e o valor que deve disparar (ex.: `aprovado`). Veja [Filtro por evento](/automacoes/gatilhos#webhook-recebido).
</Warning>

## Formato esperado

O Vistum tenta reconhecer os campos mais comuns automaticamente. Para aproveitar melhor, envie um JSON com chaves claras, por exemplo:

```json theme={null}
{
  "name": "Maria Silva",
  "email": "maria@exemplo.com",
  "phone": "5511999999999",
  "produto": "Curso X",
  "valor": "197.00",
  "status": "aprovado"
}
```

<Tip>
  Mande o **telefone com DDI + DDD** (ex.: `55` + `11` + número). É o que o Vistum usa para casar o contato com o WhatsApp.
</Tip>

## Mapear os campos

Depois que o primeiro evento chegar, o Vistum mostra o JSON recebido. Você clica em cada valor para indicar qual campo do contato ele representa (nome, e-mail, telefone, produto, valor, status).

| Campo          | Variável nas mensagens   |
| -------------- | ------------------------ |
| Nome           | `{{name}}`               |
| E-mail         | `{{email}}`              |
| Telefone       | `{{phone}}`              |
| Produto        | `{{webhook.product}}`    |
| Valor          | `{{webhook.amount}}`     |
| Status         | `{{webhook.status}}`     |
| Tipo do evento | `{{webhook.eventType}}`  |
| ID externo     | `{{webhook.externalId}}` |
| CPF/CNPJ       | `{{webhook.document}}`   |

<Note>
  Repare que a variável **não** tem o mesmo nome da chave do seu JSON: mesmo que você envie `produto` e `valor` no payload, nas mensagens use sempre o prefixo **`webhook.`** — `{{webhook.product}}` e `{{webhook.amount}}`. Todas aparecem na lista de sugestões, no grupo **Webhook**. Veja [Usar variáveis nas mensagens](/automacoes/variaveis).
</Note>

## Testar

Dispare um evento real do seu sistema (ou use a função de teste da ferramenta que envia o webhook). No Vistum, o status muda para **● Conectado** e aparece o **último evento recebido** com o JSON na tela.

## Ver a execução

Depois do evento, confira em **Execuções** (`/automacoes/execucoes` ou em **Histórico**) para ver se o contato foi criado e o que a automação fez.

## Detalhes técnicos do payload

Para entender todos os campos aceitos, formatos e exemplos avançados, veja a **Documentação Técnica** em [https://docs.vistum.com.br](https://docs.vistum.com.br).

## Deu erro? Webhook não chegou?

Se você disparou mas nada apareceu, veja [O webhook não chegou](/problemas/webhook-nao-chegou). Verifique:

* A URL está completa (com o token inteiro)?
* O método é `POST` e o corpo é JSON?
* O limite de eventos do mês não estourou?
