Deliver the change

Trigger workflows the moment a line moves, without polling from every service.

  1. 1Register an HTTPS endpoint
  2. 2Verify the signature
  3. 3Acknowledge with a 2xx
POST to your endpoint · Production
Verify a delivery in Node.js
import { createHmac, timingSafeEqual } from 'node:crypto';

// rawBody is the exact request body, before JSON parsing.
const expected = 'v1=' + createHmac('sha256', signingSecret)
  .update(timestamp + '.' + rawBody).digest('hex');
const received = Buffer.from(signature);
const wanted = Buffer.from(expected);
const valid = received.length === wanted.length &&
  timingSafeEqual(received, wanted);
// Reject timestamps older than five minutes; dedupe on X-Webhook-Id.

Key facts

Signed payloads

Each delivery carries X-Webhook-Id, X-Webhook-Timestamp and X-Webhook-Signature. Verify the raw body with the signing secret shown when you create the endpoint.

Automatic retries

Failed deliveries are retried up to five attempts. The workspace shows every attempt and its response code.

Production plan

Webhooks are included with Production. Register and manage endpoints in your workspace.

Implementation guide