Documentation Index
Fetch the complete documentation index at: https://docs.envless.cloud/llms.txt
Use this file to discover all available pages before exploring further.
Webhooks let your services react to changes in an Envless workspace the moment they happen — a new project, a rotated key, a removed member, a failed delivery — without polling the API.
How it works
- You configure one or more webhook endpoints per workspace (URL + selected event types + signing secret).
- When a matching mutation succeeds, Envless writes a
WorkspaceEventrow in the same database transaction as the mutation, then creates oneWebhookDeliveryper endpoint that subscribes to that event type. - A background worker picks up pending deliveries, signs each request with the endpoint’s secret, and POSTs the payload to your URL.
- Failed deliveries retry on exponential backoff. After the final retry, the delivery is marked failed and (if subscribed) a
webhook.delivery_failedmeta-event is fanned out.
Delivery guarantees
- At-least-once. A receiver may see the same event more than once; verify the
webhook-idheader and dedupe. - Order is not guaranteed. Deliveries are processed in parallel and may arrive out of order.
- Per-endpoint isolation. Each endpoint signs with its own secret; a compromised receiver can’t impersonate another.
Retry policy
| Attempt | Delay before retry |
|---|---|
| 1st failure | 30 s |
| 2nd | 2 min |
| 3rd | 10 min |
| 4th | 30 min |
| 5th | 1 h |
consecutiveFailures counter is incremented on each failure and reset to 0 on the next successful delivery.
Request shape
actor is null for system-driven events (e.g. subscription.* driven by Polar webhooks).
Security
- Always verify the signature before processing — see Signature Verification.
- Treat the secret like a password: store in your secret manager, never commit to git, rotate if leaked.
- Endpoint URLs must be
http(s). We recommendhttpseverywhere except local development.