Vai al contenuto principale
I webhook inviano dati ai tuoi sistemi in tempo reale quando si verificano eventi in Twenty — senza necessità di polling. Usali per mantenere sincronizzati i sistemi esterni, attivare automazioni o inviare avvisi.

Crea un Webhook

  1. Vai a Impostazioni → API e Webhook → Webhook
  2. Clicca su + Crea webhook
  3. Inserisci l’URL del tuo webhook (deve essere pubblicamente accessibile)
  4. Clicca su Salva
Il webhook si attiva immediatamente e inizia a inviare notifiche.

Gestisci Webhook

Modifica: Fai clic sul webhook → Aggiorna URL → Salva Elimina: Fai clic sul webhook → Elimina → Conferma

Eventi

Twenty invia webhook per questi tipi di eventi:
EventoEsempio
Record creatoperson.created, company.created, note.created
Record aggiornatoperson.updated, company.updated, opportunity.updated
Record eliminatoperson.deleted, company.deleted
Tutti i tipi di eventi vengono inviati all’URL del tuo webhook. Il filtraggio degli eventi potrebbe essere aggiunto nelle versioni future.

Formato del payload

Ogni webhook invia una richiesta HTTP POST con un 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"
}
CampoDescrizione
eventoCosa è successo (ad es., person.created)
datiIl record completo che è stato creato/aggiornato/eliminato
timestampQuando si è verificato l’evento (UTC)
Rispondi con uno status HTTP 2xx (200-299) per confermare la ricezione. Le risposte non 2xx vengono registrate come errori di consegna.

Convalida del Webhook

Twenty firma ogni richiesta webhook per motivi di sicurezza. Convalida le firme per assicurarti che le richieste siano autentiche.

Intestazioni

IntestazioneDescrizione
X-Twenty-Webhook-SignatureFirma HMAC SHA256
X-Twenty-Webhook-TimestampTimestamp della richiesta

Passaggi di convalida

  1. Ottieni il timestamp da X-Twenty-Webhook-Timestamp
  2. Crea la stringa: {timestamp}:{JSON payload}
  3. Calcola HMAC SHA256 usando il segreto del tuo webhook
  4. Confronta con X-Twenty-Webhook-Signature

Esempio (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 Workflows

MetodoDirezioneCaso d’uso
WebhooksOUTNotifica automaticamente ai sistemi esterni qualsiasi modifica ai record
Workflow + HTTP RequestOUTInvia dati in uscita con logica personalizzata (filtri, trasformazioni)
Trigger webhook del WorkflowINRicevi dati in Twenty da sistemi esterni
Per la ricezione di dati esterni, vedi Configura un trigger webhook.