Subscribe
Subscriptions can be managed via the dashboard UI or programmatically
via the Webhook Management API.
Both paths use Supabase JWT authentication (not API keys) and require
the
webhooks:manage permission.- Dashboard → Developer → Webhooks
- Click New subscription
- Enter your HTTPS URL (HTTP is rejected at the DB layer)
- Pick event types from the catalog
- On save, copy the
signing_secret— shown once
call.ended to
your warehouse, another for campaign.paused to your on-call Slack.
Event envelope
Every delivery is a POST with:Expectations for your endpoint
Retries
Failed deliveries retry on this schedule (±10% jitter):
Total retry window: ~7.5 hours. If your endpoint is down longer
than that for a specific event, it’s gone from the queue — you’ll
need to reconcile state from your side using the relevant REST
endpoints.
After 20 consecutive failures AND no successful delivery in 24h
your subscription is auto-disabled. You’ll need to manually re-enable
from the dashboard.
Troubleshooting
Your dashboard’s Webhooks → Delivery log shows every delivery attempt with HTTP status, response snippet, and duration. If signatures don’t verify on your side, 95% of the time it’s clock skew — see signature verification.Next
- Event catalog — every event + payload shape
- Signature verification — reference verifier implementations
- Troubleshooting — common failures

