REST API v2
Webhook events
Event types that webhooks can subscribe to.
Every event type a webhook can subscribe to. See Webhooks for the payload, headers and signature verification.
| Event | Summary | Description |
|---|---|---|
leave.requested | A user requested a leave that needs approval | Sent when a user requests a leave that needs approval; the leave in data is OPEN. The owner needs leaves:read. |
leave.added | An approved leave was added, or a leave was auto-approved | Sent when an approver or admin adds an already approved leave for a user, or when a requested leave is approved automatically because its leave policy needs no approval. The owner needs leaves:read. |
leave.updated | A leave was changed | Sent when an open or approved leave is changed, for example its dates, times, leave type or reason. The owner needs leaves:read. |
leave.approved | A leave was approved | Sent when an approver, location admin or admin approves a leave. The owner needs leaves:read. |
leave.denied | A leave was denied | Sent when an approver, location admin or admin denies a leave. The owner needs leaves:read. |
leave.cancelled | A leave was cancelled | Sent when a leave is cancelled by the user or by someone who manages them. The owner needs leaves:read. |
leave.deleted | A leave was deleted | Sent when a leave is deleted; data carries only the IDs of the deleted leave. The owner needs leaves:read. |
leave.expired | A leave request expired without a decision | Sent when an open leave request expires because nobody approved or denied it in time. The owner needs leaves:read. |
toil.requested | A user requested TOIL that needs approval | Sent when a user requests TOIL that needs approval; the TOIL request in data is OPEN. The owner needs toil:read. |
toil.added | Approved TOIL was added, or a TOIL request was auto-approved | Sent when an approver or admin adds already approved TOIL for a user, or when a TOIL request is approved automatically. The owner needs toil:read. |
toil.updated | A TOIL request was changed | Sent when a TOIL request is changed, for example its dates, times, leave type or reason. The owner needs toil:read. |
toil.approved | A TOIL request was approved | Sent when an approver, location admin or admin approves a TOIL request. The owner needs toil:read. |
toil.denied | A TOIL request was denied | Sent when an approver, location admin or admin denies a TOIL request. The owner needs toil:read. |
toil.cancelled | A TOIL request was cancelled | Sent when a TOIL request is cancelled by the user or by someone who manages them. The owner needs toil:read. |
toil.deleted | A TOIL request was deleted | Sent when a TOIL request is deleted; data carries only the IDs of the deleted request. The owner needs toil:read. |
toil.expired | A TOIL request expired without a decision | Sent when an open TOIL request expires because nobody approved or denied it in time. The owner needs toil:read. |
location.created | A location was created | Sent when a location is created. The owner needs locations:read. |
location.updated | A location or its work week was changed | Sent when a location's settings or its work week change. The owner needs locations:read. |
location.deleted | A location was deleted | Sent when a location is deleted; data carries only the ID of the deleted location. Its users are moved to the default location, which sends user.updated. The owner needs locations:read. |
department.created | A department was created | Sent when a department is created. The owner needs departments:read. |
department.updated | A department or its approvers were changed | Sent when a department's settings or approvers change, including when an approver is activated or deactivated. The owner needs departments:read. |
department.deleted | A department was deleted | Sent when a department is deleted; data carries only the ID of the deleted department. The owner needs departments:read. |
leave-type.created | A leave type was created | Sent when a leave type is created. Enabling it for locations sends a separate leave-policy.enabled per location. The owner needs leave-types:read. |
leave-type.updated | A leave type was changed | Sent when a leave type's name, color, status or calendar settings change. The owner needs leave-types:read. |
leave-type.deleted | A leave type was deleted | Sent when a leave type is deleted; data carries only the ID of the deleted leave type. The owner needs leave-types:read. |
leave-policy.enabled | A leave policy was enabled or changed in a location | Sent when a leave type is enabled for a location, or when its active policy in that location changes. The owner needs leave-policies:read. |
leave-policy.disabled | A leave policy was disabled in a location | Sent when a leave type is disabled for a location. The owner needs leave-policies:read. |
holiday.created | A holiday was created | Sent when a holiday is created in a location. The owner needs holidays:read. |
holiday.updated | A holiday was changed | Sent when a holiday of a location is changed. The owner needs holidays:read. |
holiday.deleted | A holiday was deleted | Sent when a holiday of a location is deleted; data carries only the IDs of the deleted holiday. The owner needs holidays:read. |
holiday.bulk-updated | Many holidays of a location were imported or changed at once | Sent when holidays are imported into a location from the holiday library, or when a whole year of a location's holidays is changed at once. data carries only the locationId; it does not list the holidays, so read GET /v2/locations/{id}/holidays for the result. The owner needs holidays:read. |
label.created | A label was created | Sent when a label is created. The owner needs labels:read. |
label.updated | A label was changed | Sent when a label's name or color changes. The owner needs labels:read. |
label.deleted | A label was deleted | Sent when a label is deleted; data carries only the ID of the deleted label. The owner needs labels:read. |
label.assigned | A label was assigned to a user | Sent when a label is assigned to a user; data carries only the labelId and the userId. The owner needs labels:read. |
label.removed | A label was removed from a user | Sent when a label is removed from a user; data carries only the labelId and the userId. The owner needs labels:read. |
user.updated | A user's profile, location, department, role or work week was changed | Sent when a user's profile, location, department, role or work week changes. The owner needs users:read. |
user.status-changed | A user was activated or deactivated | Sent when a user is activated or deactivated. The owner needs users:read. |
user.quota-updated | A user's leave quotas or rollover were changed | Sent when a user's leave quotas or rollover settings are set or removed. data is the user, not the quotas; read GET /v2/users/{id}/quotas for the new values. The owner needs users:read. |
automation.created | An automation was created | Sent when an automation of any type is created (blackout period, maximum users away, seniority entitlement, entitlement by role, probation period, leave duration limit or leave request notice period). The owner needs automations:read. |
automation.updated | An automation was changed | Sent when an automation of any type is changed, paused or re-enabled. The owner needs automations:read. |
automation.deleted | An automation was deleted | Sent when an automation of any type is deleted; data carries only the ID of the deleted automation. The owner needs automations:read. |
notification.created | A notification was created | Sent when a daily, weekly or birthday notification is created. The owner needs notifications:read. |
notification.updated | A notification was changed | Sent when a daily, weekly or birthday notification is changed, paused or resumed. The owner needs notifications:read. |
notification.deleted | A notification was deleted | Sent when a daily, weekly or birthday notification is deleted; data carries only the ID of the deleted notification. The owner needs notifications:read. |
scheduled-report.created | A scheduled report was created | Sent when a scheduled report is created. The owner needs notifications:read. |
scheduled-report.updated | A scheduled report was changed | Sent when a scheduled report is changed. The owner needs notifications:read. |
scheduled-report.deleted | A scheduled report was deleted | Sent when a scheduled report is deleted; data carries only the ID of the deleted report. The owner needs notifications:read. |
operation.completed | An asynchronous write operation started by the webhook owner's API key succeeded | Sent when a write operation started with an API key owned by the webhook owner succeeds; data is the operation, the same shape GET /v2/operations/{id} returns. Sent only to webhooks of the key's owner. The owner needs webhooks:read. |
operation.failed | An asynchronous write operation started by the webhook owner's API key failed | Sent when a write operation started with an API key owned by the webhook owner fails; data is the operation with status FAILED and the error in error. Sent only to webhooks of the key's owner. The owner needs webhooks:read. |