Webhook payloads

Sample payloads and headers sent by Distro Workflows webhooks.

Sample webhook payloads for different sources in Distro Workflows.

Distro sends JSON to your configured webhook URL.

Payload shape depends on the source type and trigger.

Payloads are examples. Distro may add fields over time.

Basics

All webhooks use the same envelope:

{
  "event": "meeting_booked",
  "timestamp": "2024-01-15T10:30:00Z",
  "data": {}
}
  • event: the trigger that fired the webhook (see Triggers).

  • timestamp: ISO 8601 time when Distro sent the webhook.

  • data: the event payload. Shape depends on source type.

Conventions:

  • Keys use snake_case.

  • data.source_type is one of: router, click_router, booking_link, group_meeting_link.

  • data.booking can be null for submission-only triggers.

Payload examples

Triggered by Form Routers.

Submission-only events

For form_submitted, prospect_disqualified, and prospect_no_booking, booking is null.

Operational notes

HTTP headers and signatures

Every webhook request includes:

  • Content-Type: application/json

  • User-Agent: Distro-Webhooks/1.0

  • X-Distro-Delivery-ID: unique delivery ID for tracking

  • X-Distro-Timestamp: Unix timestamp of request (seconds)

  • X-Distro-Signature: t={timestamp},v1={signature} (only if a signing secret is configured)

  • X-Distro-Test: true (only for test webhooks)

Use X-Distro-Delivery-ID as an idempotency key if you store deliveries.

Verifying signatures

  • Signature header: X-Distro-Signature: t={timestamp},v1={signature}

  • Signed content: {timestamp}.{raw_request_body}

  • Algorithm: HMAC-SHA256 using your signing secret

  • Compare the computed hex digest with v1

Event-specific notes

Cancelled meetings

When event is meeting_cancelled, booking.status is cancelled.

No-show meetings

When event is meeting_no_show, booking.status is no_show.

Payload limits
  • Maximum payload size: 1 MB

  • Maximum form_data size: 100 KB

If limits are exceeded, Distro truncates data and includes a truncation marker:

Last updated