---
title: "Webhooks: avise outras ferramentas | Briks"
url: https://briks.dev/pt-br/docs/webhooks
description: "Mande mensagem assinada a outra ferramenta ao publicar o site, enviar um formulário ou mudar registro. Payloads, assinaturas, tentativas, entregas explicados."
last_updated: 2026-10-08
---

# Webhooks: avise outras ferramentas

Um webhook envia uma mensagem curta para outra ferramenta no instante em que algo acontece no seu projeto: uma publicação, uma entrada de formulário, um registro alterado. Esta página explica como adicionar um, como é a mensagem, como o outro lado pode verificar que ela é genuína e o que acontece quando esse lado está fora do ar.

7 min de leitura Conferido com o estúdio em 8 de outubro de 2026

## O que é um webhook

Pense nisso como o seu projeto ligando para outro serviço para contar o que acabou de acontecer. Você dá ao Briks um endereço (uma URL fornecida pela outra ferramenta), escolhe os eventos que ele deve avisar, e a cada vez que um acontece o Briks envia uma mensagem para lá. Muitas ferramentas de automação, de lista de clientes e complementos de planilha podem fornecer esse endereço.

Tecnicamente, cada mensagem é uma requisição POST: uma chamada que leva um corpo, aqui escrito em JSON, um formato de texto simples que programas leem. A ferramenta que recebe lê o corpo e faz o que você configurou.

| Evento, como o estúdio mostra | Código | Enviado quando |
| --- | --- | --- |
| **Published** | `site.published` | Uma nova versão do site foi ao ar. |
| **Form received** | `form.received` | Um visitante enviou uma mensagem por um dos formulários do site. |
| **Record changed** | `record.changed` | Um registro do banco de dados do projeto foi adicionado, alterado ou excluído. |

`record.changed` acompanha as alterações feitas no estúdio: um registro adicionado, editado ou excluído na aba Database, uma coleção esvaziada ou o banco de dados restaurado. Registros que o site no ar salva sozinho, como um pedido de reserva enviado por um visitante, não o disparam.

`form.received` é enviado tanto para envios feitos na prévia quanto na produção. Cada mensagem informa qual é o caso, para que a outra ferramenta possa ignorar os envios da prévia.

Onde

1. Projects
2. Your project
3. Settings
4. Webhooks

## Limites de cada plano

| Plano | Webhooks por projeto | Três escolhas que todo plano de dashboard faz |
| --- | --- | --- |
| Free | 1 | 2.000 |
| Starter | 5 | 5.000 |
| Pro | 10 | 10.000 |
| Studio | 25 | 50.000 |
| Agency | 50 | 100.000 |

As chamadas por dia são compartilhadas com as tarefas agendadas. Cada tentativa de entrega conta como uma, incluindo novas tentativas, e o dia começa à meia-noite UTC.

Quando as chamadas do dia acabam, a entrega não é enviada e fica marcada como **Failed** com: As chamadas de hoje para este projeto acabaram, então esta entrega não foi enviada. Envie-a de novo amanhã.

Quando um projeto tem tantos webhooks quanto o plano permite, **Add webhook** fica desativado e um link **Get more** ao lado da contagem abre a janela de upgrade, que indica o menor plano com espaço para mais um.

## Adicionar um webhook

1. Clique em Add webhook

   Onde: Settings, Webhooks

   A página mostra quantos você tem em relação ao seu plano, como 1 de 5 no seu plano. Editors, Admins e Owners podem adicionar webhooks.

2. Digite o endereço

   Onde: Add a webhook

   Cole em **Address** o endereço que a outra ferramenta lhe deu. Ele deve ser um endereço https público, com o nome por extenso e não um número.

3. Adicionar uma nota

   Onde: Add a webhook

   **Note** é opcional, com até 120 caracteres, e ajuda a distinguir os webhooks depois: `Enquiries sheet`, por exemplo.

4. Escolha os eventos

   Onde: Add a webhook

   Marque os eventos sobre os quais ele deve ser avisado. **Published** e **Form received** já vêm marcados; altere como preferir.

5. Salve e copie o segredo

   Onde: Your signing secret

   Clique em **Add webhook**. Uma janela mostra o segredo de assinatura, que começa com `whsec_`. Clique em **Copy** e guarde: ele aparece uma vez só. Depois clique em **Done**.

6. Enviar um teste

   Onde: Settings, Webhooks

   Abra os três pontos do webhook e escolha **Send a test event**. Você vê: Um evento de teste está a caminho. Veja como foi em Deliveries.

Cada webhook da lista mostra seu endereço, a nota e os eventos, com qual segredo ele é assinado (os primeiros caracteres) e como foi a última entrega. O interruptor o coloca em **On** ou **Off**, e os três pontos reúnem **Send a test event** (até dez por hora, só enquanto ele está ativo), **Change**, **New signing secret** e **Delete**.

## Como é uma entrega

Toda entrega tem as mesmas três partes: `type` (o código do evento), `timestamp` (quando aconteceu, em UTC) e `data` (os detalhes). Aqui está uma entrada de formulário:

Uma entrega form.received

> `{"type":"form.received","timestamp":"2026-10-08T09:41:07.000Z","data":{"form":{"id":"…","subject":"Consulta de casamento","page":"/contact","fields":[{"label":"Nome","value":"Ellie Marsh"},{"label":"Data do casamento","value":"14 de junho de 2027"}],"replyTo":"ellie@example.com"},"production":true}}`

| Evento | O que `data` contém |
| --- | --- |
| `form.received` | `form`: seu `id`, o `subject`, a `page` de onde foi enviado, os `fields` (cada um com um `label` e um `value`, na ordem do formulário) e `replyTo`, o e-mail do visitante quando o formulário pede um. Depois `production`: `true` para o site no ar, `false` para a prévia. |
| `site.published` | `url`: o endereço em que o site entrou no ar. `production`: se o site está em produção. `abTest`: se um teste A/B está em andamento. `served`: se o Briks viu a nova versão respondendo nesse endereço quando enviou a mensagem. |
| `record.changed` | `action`: `created`, `updated`, `deleted`, `cleared` ou `restored`. `collection`: qual coleção. `record`: o id do registro. Os valores do registro não estão incluídos. |
| `test` | Uma `message` e o `project`, com seu `id` e `name`. Enviado apenas quando você clica em **Send a test event**. |

Cada entrega também traz três cabeçalhos: `webhook-id` (o id da mensagem), `webhook-timestamp` (quando foi enviada, em segundos) e `webhook-signature`. Eles seguem o formato aberto Standard Webhooks, então ferramentas que o entendem podem verificar as entregas para você.

## Confira se uma entrega é genuína

Qualquer pessoa pode enviar uma mensagem para um endereço, então quem recebe deve verificar a assinatura antes de confiar nela. A assinatura é feita com o segredo de assinatura que só você e o Briks têm. Quando um projeto tem um webhook, a página Webhooks mostra um pequeno exemplo de código em **Checking a delivery is genuine**. Em palavras, a verificação funciona assim:

1. Pegue o corpo exatamente como chegou, como texto, antes de lê-lo como JSON.
2. Junte o `webhook-id`, o `webhook-timestamp` e o corpo com pontos finais entre eles.
3. Pegue seu segredo, tire o `whsec_` do início e decodifique o restante de base64. Essa é a chave.
4. Assine o texto unido com HMAC SHA-256 e essa chave, escreva o resultado em base64 e coloque `v1,` na frente.
5. A entrega é genuína se isso corresponder a um dos valores separados por espaço em `webhook-signature` e o carimbo de data e hora estiver a até cinco minutos do momento atual.

Uma entrega que é tentada de novo mantém o mesmo `webhook-id`, para que o destinatário guarde os ids que já tratou e ignore as repetições.

Guarde o segredo em segurança

O segredo de assinatura aparece uma única vez e não pode ser mostrado de novo. Se você o perder ou ele vazar, escolha **New signing secret** nos três pontos do webhook. O antigo deixa de assinar novas entregas na hora, então coloque o novo na ferramenta receptora imediatamente.

## Entregas e novas tentativas

Onde

1. Projects
2. Your project
3. Settings
4. Webhooks
5. Deliveries

**Deliveries** lista todas as entregas dos últimos trinta dias, da mais recente para a mais antiga. Filtre com **Status** e clique em **Show**. Clique em uma para ver a mensagem completa, qualquer erro e o que o endereço respondeu.

| Status | Significado |
| --- | --- |
| **Sending** | Aguardando a primeira tentativa. |
| **Retrying** | Uma tentativa falhou e outra vem a seguir. A linha mostra quando, após a próxima tentativa. |
| **Delivered** | O endereço respondeu com um status 2xx, o código da web para sucesso. |
| **Failed** | Todas as tentativas falharam, ou não foi possível enviar a entrega. |

Cada tentativa espera até 15 segundos por uma resposta. Se a resposta não for 2xx, Briks tenta de novo: cinco tentativas no total, a primeira na hora e depois após cerca de 30 segundos, 2 minutos, 8 minutos e 32 minutos, ou seja, cerca de 45 minutos da primeira à última. Uma resposta 410 (gone) interrompe as tentativas na hora. Redirecionamentos não são seguidos, então informe o endereço final.

Quando uma entrega fica **Failed** ou **Delivered**, **Send again** envia a mesma mensagem com o mesmo id, assinada de novo. O webhook precisa estar ativado.

## Insights e configurações

**Insights** resume os últimos trinta dias: **Deliveries**, a parcela **Delivered**, **Failed after every try** (com o número de novas tentativas feitas) e o tempo de **Average answer**. Abaixo, **By event** e **By address** mostram onde as falhas se concentram.

**Settings** tem **Download JSON** em **Download the webhooks**, com o endereço, os eventos e a nota de cada webhook. Os segredos de assinatura nunca são incluídos. A zona de perigo traz **Clear log**, que apaga o registro de entregas e interrompe novas tentativas, e **Delete all**, que remove todos os webhooks depois que você digita o nome do projeto. Ambos são para Owners e Admins.

## Exemplo prático: enviar entradas de formulário para outra ferramenta

As entradas de formulário não podem ser exportadas do estúdio, então um webhook é a forma de mantê-las em outra ferramenta assim que chegam. O estúdio também as guarda: as últimas 100 aparecem em **Settings**, **Forms**.

Uma fotógrafa de casamentos em York envia consultas para a sua lista de clientes

1. Pegue um endereço na outra ferramenta

   Onde: Her client list tool

   Ela cria um webhook de entrada lá e copia o endereço que recebe.

2. Adicione o webhook

   Onde: Settings, Webhooks

   Ela cola o endereço, escreve a nota `Client list`, desmarca **Published** e deixa marcado só **Form received**.

3. Dê o segredo à ferramenta

   Onde: Her client list tool

   A ferramenta dela verifica assinaturas, então ela cola o segredo de assinatura nas configurações da ferramenta antes de fechar a janela.

4. Teste

   Onde: Settings, Webhooks, Deliveries

   Ela envia um evento de teste e o vê como **Delivered** em **Deliveries**.

5. Combine os campos

   Onde: Her client list tool

   Ela associa os rótulos de `fields` Nome, Data do casamento e Local às colunas da ferramenta dela, e manda ignorar as mensagens em que `production` é `false`.

A próxima consulta

> Um casal preenche o formulário de contato no site dela.

A consulta chega à caixa de entrada dela, já que o site está em produção, e aparece na lista de clientes um instante depois.

## Leia a seguir

- [Os recursos do seu site **Formulários** Adicione um formulário ao seu site Briks, teste na prévia, veja cada entrada no estúdio, receba cada uma por e-mail em produção e repasse com um webhook.](https://briks.dev/pt-br/docs/forms)
- [Dados e automação **Tarefas agendadas** Execute tarefas agendadas no seu site: resumo matinal, limpeza semanal. Escreva o horário, leia cada execução, corrija falhas e veja os limites do plano.](https://briks.dev/pt-br/docs/crons)
- [Dados e automação **Banco de dados** Veja o que seu site guarda, edite e adicione registros à mão e baixe coleções em JSON ou CSV, com quem pode fazer o quê e os limites que se aplicam.](https://briks.dev/pt-br/docs/database)
- [Dados e automação **Logs** Leia o log de build e as requisições do último dia do seu site, filtre por nível ou status e ache formulário com falha, tarefa com falha ou página lenta.](https://briks.dev/pt-br/docs/logs)

Ainda travado?

Escreva para [hello@briks.dev](mailto:hello@briks.dev) com o nome do seu projeto e o que você esperava ver. Uma captura de tela ajuda.
