Skip to main content
Twenty sends an HTTP POST to your URL whenever a record is created, updated, or deleted. All object types are covered, including custom objects.

Create a Webhook

  1. Go to Settings → APIs & Webhooks → Webhooks
  2. Click + Create webhook
  3. Enter your webhook URL (must be publicly accessible)
  4. Click Save
The webhook activates immediately and starts sending notifications.

Manage Webhooks

Edit: Click the webhook → Update URL → Save Delete: Click the webhook → Delete → Confirm

Events

Twenty sends webhooks for these event types: All event types are sent to your webhook URL. Event filtering may be added in future releases.

Payload Format

Each webhook sends an HTTP POST with a JSON body:
Respond with a 2xx HTTP status (200-299) to acknowledge receipt. Non-2xx responses are logged as delivery failures.

Webhook Validation

Twenty signs each webhook request for security. Validate signatures to ensure requests are authentic.

Headers

Validation Steps

  1. Get the timestamp from X-Twenty-Webhook-Timestamp
  2. Create the string: {timestamp}:{JSON payload}
  3. Compute HMAC SHA256 using your webhook secret
  4. Compare with X-Twenty-Webhook-Signature

Example (Node.js)

Webhooks vs Workflows

For receiving external data, see Set Up a Webhook Trigger.