Saltar para o conteúdo principal
Os webhooks enviam dados para seus sistemas em tempo real quando eventos ocorrem no Twenty — sem necessidade de polling. Use-os para manter sistemas externos em sincronia, acionar automações ou enviar alertas.

Criar Webhook

  1. Vá para Configurações → APIs & Webhooks → Webhooks
  2. Clique em + Criar webhook
  3. Insira a URL do seu webhook (deve ser publicamente acessível)
  4. Clique em Salvar
O webhook é ativado imediatamente e começa a enviar notificações.

Gerenciar Webhooks

Editar: Clique no webhook → Atualizar URL → Salvar Excluir: Clique no webhook → Excluir → Confirmar

Eventos

O Twenty envia webhooks para estes tipos de eventos:
EventoExemplo
Registro criadoperson.created, company.created, note.created
Registro atualizadoperson.updated, company.updated, opportunity.updated
Registro excluídoperson.deleted, company.deleted
Todos os tipos de evento são enviados para a URL do seu webhook. A filtragem de eventos pode ser adicionada em versões futuras.

Formato do payload

Cada webhook envia um HTTP POST com um corpo JSON:
{
  "event": "person.created",
  "data": {
    "id": "abc12345",
    "firstName": "Alice",
    "lastName": "Doe",
    "email": "alice@example.com",
    "createdAt": "2025-02-10T15:30:45Z",
    "createdBy": "user_123"
  },
  "timestamp": "2025-02-10T15:30:50Z"
}
CampoDescrição
eventoO que aconteceu (por exemplo, person.created)
dataO registro completo que foi criado/atualizado/excluído
registro de TempoQuando o evento ocorreu (UTC)
Responda com um status HTTP 2xx (200-299) para confirmar o recebimento. Respostas não 2xx são registradas como falhas de entrega.

Validação de Webhook

O Twenty assina cada solicitação de webhook por segurança. Valide as assinaturas para garantir que as solicitações sejam autênticas.

Headers

CabeçalhoDescrição
X-Twenty-Webhook-SignatureAssinatura HMAC SHA256
X-Twenty-Webhook-TimestampTimestamp da solicitação

Etapas de validação

  1. Obtenha o timestamp de X-Twenty-Webhook-Timestamp
  2. Crie a string: {timestamp}:{JSON payload}
  3. Calcule o HMAC SHA256 usando o segredo do seu webhook
  4. Compare com X-Twenty-Webhook-Signature

Exemplo (Node.js)

const crypto = require("crypto");

const timestamp = req.headers["x-twenty-webhook-timestamp"];
const payload = JSON.stringify(req.body);
const secret = "your-webhook-secret";

const stringToSign = `${timestamp}:${payload}`;
const expectedSignature = crypto
  .createHmac("sha256", secret)
  .update(stringToSign)
  .digest("hex");

const isValid = expectedSignature === req.headers["x-twenty-webhook-signature"];

Webhooks vs Fluxos de trabalho

MétodoDireçãoCaso de uso
WebhooksSAÍDANotificar automaticamente sistemas externos sobre qualquer alteração de registro
Fluxo de trabalho + Solicitação HTTPSAÍDAEnviar dados para fora com lógica personalizada (filtros, transformações)
Gatilho de webhook de fluxo de trabalhoENTRADAReceber dados no Twenty a partir de sistemas externos
Para receber dados externos, consulte Configurar um gatilho de Webhook.