Webhooks
Receive real-time event notifications via webhooks.
Overview
Webhooks let you receive HTTP POST requests when events happen in Offly. Use them to integrate with your own systems.
Setting up webhooks
Navigate to Settings → Webhooks and click Add Webhook:
- URL — your endpoint that receives events
- Events — which events to send (or all)
- Secret — used to verify webhook signatures
Webhook configuration form
Events
| Event | Fires when |
|-------|-----------|
| leave.requested | A new leave request is submitted |
| leave.approved | A request is approved |
| leave.declined | A request is declined |
| leave.cancelled | A request is cancelled |
| user.invited | A new user is invited |
| user.joined | A user accepts their invitation |
Payload format
{
"event": "leave.approved",
"timestamp": "2026-05-26T10:30:00Z",
"data": {
"id": "lr_abc123",
"user_id": "usr_def456",
"leave_type": "holiday",
"start_date": "2026-06-01",
"end_date": "2026-06-05",
"status": "approved"
}
}
Verifying signatures
Each webhook includes an X-Offly-Signature header. Verify it using your webhook secret to ensure requests are genuine.
Failed webhook deliveries are retried up to 3 times with exponential backoff.