> ## Documentation Index
> Fetch the complete documentation index at: https://ajuda.attende.online/llms.txt
> Use this file to discover all available pages before exploring further.

# Webhooks

> Receba notificações em tempo real quando algo acontece no Attende. Com Webhooks, você conecta o Attende a qualquer sistema externo via chamadas HTTP automáticas.

Um webhook é uma notificação que o Attende envia automaticamente para um endereço de sua escolha sempre que um evento acontece — uma conversa criada, uma mensagem enviada, um contato atualizado. Você registra a URL do seu sistema, define quais eventos quer receber, e o Attende cuida do envio. Simples e poderoso.

É a base para conectar o Attende a automações, sistemas de terceiros, integrações customizadas e ferramentas como Make, n8n, Zapier ou qualquer backend próprio.

***

## Eventos disponíveis

Você escolhe quais eventos disparam notificações para cada webhook cadastrado. Os eventos disponíveis são:

| Evento                        | Quando é disparado                                 |
| ----------------------------- | -------------------------------------------------- |
| `conversation_created`        | Uma nova conversa é aberta no Attende              |
| `conversation_status_changed` | Status da conversa muda (aberto → resolvido, etc.) |
| `conversation_updated`        | Dados da conversa são atualizados                  |
| `message_created`             | Uma nova mensagem é recebida ou enviada            |
| `message_updated`             | Uma mensagem existente é alterada                  |
| `contact_created`             | Um novo contato é criado                           |
| `contact_updated`             | Dados de um contato são atualizados                |
| `webwidget_triggered`         | Um visitante interage com o widget do site         |
| `conversation_typing_on`      | O cliente começa a digitar                         |
| `conversation_typing_off`     | O cliente para de digitar                          |

<Tip>
  Selecione apenas os eventos que o seu sistema realmente precisa processar. Receber eventos desnecessários gera carga na sua URL sem benefício.
</Tip>

***

## Criando um webhook

<Steps>
  <Step title="Acesse os Webhooks">
    Vá para **Configurações → Integrações → Webhooks**.
  </Step>

  <Step title="Adicione um novo webhook">
    Clique em **Adicionar Webhook**.
  </Step>

  <Step title="Informe a URL">
    Cole o endereço que deve receber as notificações. Precisa ser uma URL válida e acessível publicamente — o Attende vai fazer chamadas HTTP POST para esse endereço.
  </Step>

  <Step title="Dê um nome (opcional)">
    Adicione um nome para identificar o webhook na lista — por exemplo: `Make - Pipeline de Vendas` ou `n8n - Notificação Slack`. Facilita a gestão quando você tem vários webhooks.
  </Step>

  <Step title="Selecione os eventos">
    Marque pelo menos um evento. Você pode marcar quantos precisar — cada evento marcado gera uma chamada separada para a URL quando ocorrer.
  </Step>

  <Step title="Salve e guarde o secret">
    Clique em **Criar**. O Attende gera automaticamente um **secret** (chave secreta). Esse secret aparece uma única vez — copie e guarde agora. Você vai usá-lo para validar a autenticidade das chamadas no seu sistema.
  </Step>
</Steps>

<Warning>
  O secret só é exibido uma vez, no momento da criação. Se você não copiou, não é possível recuperá-lo — será necessário deletar e recriar o webhook.
</Warning>

***

## Validando o secret

O secret serve para garantir que as chamadas recebidas na sua URL vieram de fato do Attende. Em cada requisição POST, o Attende envia o header `X-Hub-Signature` com uma assinatura HMAC-SHA1 do payload usando o seu secret como chave.

No seu sistema, valide assim:

```text theme={null}
HMAC-SHA1(secret, payload) === X-Hub-Signature
```

Se a assinatura não bater, descarte a requisição — ela não veio do Attende.

***

## Gerenciando webhooks

Na lista de webhooks você vê todos os registrados, com nome, URL e os eventos subscritos.

| Ação        | Como fazer                                                      |
| ----------- | --------------------------------------------------------------- |
| **Editar**  | Clique no ícone de lápis para alterar URL, nome ou eventos      |
| **Excluir** | Clique no ícone de lixeira — a exclusão é imediata e permanente |

<Note>
  Ao editar um webhook, o secret não é alterado nem exibido novamente. Se precisar de um novo secret, delete e recrie o webhook.
</Note>

***

## Estrutura do payload

Cada evento envia um payload JSON com dados sobre o que aconteceu. A estrutura varia por tipo de evento, mas todos incluem:

* `event` — nome do evento (ex: `conversation_created`)
* `account` — dados da conta Attende
* `id` — identificador único do objeto
* Dados específicos do evento (conversa, mensagem, contato, etc.)

***

## Dúvidas comuns

<AccordionGroup>
  <Accordion title="Posso cadastrar mais de um webhook?">
    Sim. Você pode ter vários webhooks cadastrados, cada um apontando para URLs e eventos diferentes. Útil quando você conecta o Attende a mais de um sistema ou automação.
  </Accordion>

  <Accordion title="O que acontece se a URL estiver fora do ar?">
    O Attende tenta entregar a notificação, mas não garante reenvio automático em caso de falha. Mantenha sua URL disponível e monitore eventuais perdas.
  </Accordion>

  <Accordion title="Webhooks têm limite de chamadas?">
    Não há limite documentado por conta. O volume de chamadas depende da quantidade de eventos que acontecem no Attende.
  </Accordion>

  <Accordion title="Posso testar o webhook antes de colocar em produção?">
    Sim. Use ferramentas como webhook.site ou smee.io para receber e inspecionar as chamadas durante o desenvolvimento, sem precisar de um servidor próprio.
  </Accordion>

  <Accordion title="Qual método HTTP o Attende usa?">
    O Attende envia as notificações via HTTP POST com o payload em JSON no corpo da requisição.
  </Accordion>
</AccordionGroup>

***

Com um webhook configurado, o Attende passa a ser o ponto de origem de qualquer automação que você quiser construir. Cada conversa, mensagem ou contato atualizado pode disparar um fluxo no seu sistema. Ponto.

<Note>
  **Outros artigos desta seção:** ▸ [Dashboard de apps](/integracoes/dashboard-apps) ▸ [Slack](/integracoes/slack)
</Note>
