Available events
Every event ships with the full entity snapshot (
object) and, for updates, a diff (previous_attributes). The complete payload schemas are in the Webhooks section of the playground.
Subscribing
Create a subscription via the API or in the admin UI under Settings → Developers → Webhooks.secret is yours to choose — a 32-byte random string is standard. Orgo uses it to sign each delivery so you can verify the payload came from Orgo.
Payload envelope
Every delivery, regardless of event type, has the same outer shape (Stripe-inspired). Only theobject and previous_attributes differ per event.
The OpenAPI spec declares a
Webhook.<EventName> schema for each event type (e.g. Webhook.UserCreated) — use these in your typed client for autocomplete and validation.
Delivery headers
Idempotency
Orgo may deliver the same event twice — retries on transient failures, network races on at-least-once delivery. Your handler must be safe to call repeatedly with the same payload. The simplest pattern: track processed deliveries bypayload["id"].
Retry behavior
The subscription itself is not automatically deactivated on repeated failures — your own monitoring should watch for high failure rates.
Delivery logs and replay
Every delivery attempt — success or failure — is logged for ~90 days. To list:Testing
Before going live, send a synthetic event to your endpoint:Webhook events
Each event type is declared as a “webhook” in the OpenAPI spec — Mintlify renders them in the playground under a Webhooks section. Click into any event to see its full payload schema, headers, and example. The 18 events are listed at the top of this page.Related
- Handle webhooks — full receiver walkthrough with idempotency and replay
- Sync your CRM with Orgo — webhooks in a real-world sync scenario
- Rate limits — why webhooks beat polling

