Zum Hauptinhalt springen
Webhooks übermitteln Daten in Echtzeit an Ihre Systeme, wenn Ereignisse in Twenty auftreten — kein Polling erforderlich. Verwenden Sie sie, um externe Systeme synchron zu halten, Automatisierungen auszulösen oder Benachrichtigungen zu senden.

Webhook erstellen

  1. Gehen Sie zu Einstellungen → APIs & Webhooks → Webhooks
  2. Klicken Sie auf + Webhook erstellen
  3. Geben Sie Ihre Webhook-URL ein (muss öffentlich zugänglich sein)
  4. Klicken Sie auf Speichern
Der Webhook wird sofort aktiviert und beginnt, Benachrichtigungen zu senden.

Webhooks verwalten

Bearbeiten: Klicken Sie auf den Webhook → URL aktualisieren → Speichern Löschen: Klicken Sie auf den Webhook → Löschen → Bestätigen

Ereignisse

Twenty sendet Webhooks für diese Ereignistypen:
EreignisBeispiel
Datensatz erstelltperson.created, company.created, note.created
Datensatz aktualisiertperson.updated, company.updated, opportunity.updated
Datensatz gelöschtperson.deleted, company.deleted
Alle Ereignistypen werden an Ihre Webhook-URL gesendet. Eine Ereignisfilterung kann in zukünftigen Versionen hinzugefügt werden.

Payload-Format

Jeder Webhook sendet eine HTTP-POST-Anfrage mit einem JSON-Body:
{
  "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"
}
FeldBeschreibung
ereignisWas passiert ist (z. B. person.created)
datenDer vollständige Datensatz, der erstellt/aktualisiert/gelöscht wurde
zeitstempelWann das Ereignis auftrat (UTC)
Antworten Sie mit einem 2xx-HTTP-Status (200-299), um den Empfang zu bestätigen. Nicht-2xx-Antworten werden als Zustellfehler protokolliert.

Webhook-Validierung

Twenty signiert jede Webhook-Anfrage zu Sicherheitszwecken. Validieren Sie die Signaturen, um sicherzustellen, dass die Anfragen authentisch sind.
KopfzeileBeschreibung
X-Twenty-Webhook-SignatureHMAC-SHA256-Signatur
X-Twenty-Webhook-TimestampZeitstempel der Anfrage

Validierungsschritte

  1. Den Zeitstempel aus X-Twenty-Webhook-Timestamp abrufen
  2. Zeichenfolge erstellen: {timestamp}:{JSON payload}
  3. Den HMAC-SHA256-Hash mit Ihrem Webhook-Geheimnis berechnen
  4. Mit X-Twenty-Webhook-Signature vergleichen

Beispiel (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

MethodeRichtungAnwendungsfall
WebhooksOUTExterne Systeme automatisch über jede Datensatzänderung benachrichtigen
Workflow + HTTP-AnfrageOUTDaten mit benutzerdefinierter Logik (Filter, Transformationen) nach außen senden
Workflow-Webhook-TriggerINDaten aus externen Systemen in Twenty empfangen
Für den Empfang externer Daten siehe Webhook-Trigger einrichten.