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.
Every webhook request is signed with HMAC-SHA256 using the Standard Webhooks specification. Verifying the signature on every request is mandatory in production.
Headers
| Header | Purpose |
|---|---|
webhook-id | UUID of the underlying WorkspaceEvent. Use this to dedupe at-least-once deliveries. |
webhook-timestamp | Unix epoch seconds when the request was signed. Reject if drift > 5 minutes. |
webhook-signature | v1,<base64 HMAC-SHA256> — the signature over ${id}.${timestamp}.${body}. |
Envless-Event | The event type (e.g. project.created) — convenience, also in the body. |
Envless-Delivery | UUID of this specific delivery attempt — useful for support requests. |
Verifying with the official library
Verifying manually
Idempotency
Deliveries are at-least-once. Track processedwebhook-id values in a key-value store with a TTL (24h is plenty given our retry policy maxes out at ~45 minutes) and skip duplicates.
Rotating the secret
When you rotate from the dashboard:- Envless generates a new secret.
- The new secret is shown once in the rotate modal — copy it before closing.
- The old secret stops working immediately. There’s no grace period.
- Update your receiver and restart it.
What to return
Respond with any2xx status to acknowledge receipt. Non-2xx (or no response within 10 seconds) is treated as a failure and triggers the retry policy. Don’t perform heavy work synchronously — accept the request, queue it, and return 200 fast.