Webhooks

Seja notificado no momento em que um registro é criado, atualizado ou excluído.

Webhooks enviam uma requisição HTTP para o seu sistema sempre que os dados mudam no Solid, então você nunca precisa ficar consultando a API.

Criar um webhook

  1. Acesse Configurações → APIs e Webhooks → Webhooks.
  2. Clique em + Criar webhook e informe uma URL HTTPS pública.
  3. Clique em Salvar. Os eventos começam a chegar imediatamente.

Eventos

EventoExemplos
Registro criadoperson.created, company.created
Registro atualizadoopportunity.updated
Registro excluídocompany.deleted

Payload

Cada evento é um POST com corpo JSON:

{
  "event": "person.created",
  "data": {
    "id": "abc12345",
    "name": { "firstName": "Ana", "lastName": "Souza" },
    "createdAt": "2026-09-30T15:30:45Z"
  },
  "timestamp": "2026-09-30T15:30:50Z"
}

Responda com qualquer status 2xx para confirmar a entrega. Outras respostas são registradas como falhas.

Verificar a assinatura

Toda requisição é assinada para que você possa confirmar que ela veio do Solid. Os headers mantêm os nomes do motor open source sobre o qual o Solid é construído:

HeaderConteúdo
X-Twenty-Webhook-SignatureAssinatura HMAC SHA-256
X-Twenty-Webhook-TimestampQuando a requisição foi assinada
import crypto from 'node:crypto';

export function isFromSolid(req, secret) {
  const timestamp = req.headers['x-twenty-webhook-timestamp'];
  const expected = crypto
    .createHmac('sha256', secret)
    .update(`${timestamp}:${JSON.stringify(req.body)}`)
    .digest('hex');
  return expected === req.headers['x-twenty-webhook-signature'];
}

Rejeite requisições cuja assinatura não corresponda e ignore timestamps com mais de alguns minutos para evitar ataques de repetição.

Nesta página