Skip to main content
A Webhook step sends a JSON request to an external service. It works in per-person and broadcast tracks.

Set it up

  1. In Settings โ€บ Workspace โ€บ Developer, create a webhook with a name, HTTPS URL and any required headers.
  2. Mark credential headers as Secret. Saved secret values are encrypted and hidden; re-enter a value to replace it.
  3. Add a Webhook step to the track and select the webhook by name.
  4. Set the day and send time.
Workspace admins manage webhook definitions. Admins and managers can select an existing webhook in a track. The same definition can be reused across tracks.

Request body

Doozy sends a POST request:
instance.id identifies the enrollment or broadcast run. user identifies the enrolled person on per-person tracks and is null on broadcasts. The request includes: These headers canโ€™t be overridden. The delivery ID stays the same across retries; use it to avoid processing the same request twice.

Delivery and retries

A 2xx response completes the step. Each attempt has a 10-second timeout, with up to 3 attempts for network errors, timeouts or 5xx responses. 4xx responses arenโ€™t retried. Return a 2xx promptly and process longer work separately. Review attempts in the webhookโ€™s delivery log under Developer. Doozy requires HTTPS and blocks private, loopback, link-local and cloud-metadata addresses. Use a secret header to authenticate requests to your endpoint.