Vacation Tracker Docs
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.

EventSummaryDescription
leave.requestedA user requested a leave that needs approvalSent when a user requests a leave that needs approval; the leave in data is OPEN. The owner needs leaves:read.
leave.addedAn approved leave was added, or a leave was auto-approvedSent 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.updatedA leave was changedSent when an open or approved leave is changed, for example its dates, times, leave type or reason. The owner needs leaves:read.
leave.approvedA leave was approvedSent when an approver, location admin or admin approves a leave. The owner needs leaves:read.
leave.deniedA leave was deniedSent when an approver, location admin or admin denies a leave. The owner needs leaves:read.
leave.cancelledA leave was cancelledSent when a leave is cancelled by the user or by someone who manages them. The owner needs leaves:read.
leave.deletedA leave was deletedSent when a leave is deleted; data carries only the IDs of the deleted leave. The owner needs leaves:read.
leave.expiredA leave request expired without a decisionSent when an open leave request expires because nobody approved or denied it in time. The owner needs leaves:read.
toil.requestedA user requested TOIL that needs approvalSent when a user requests TOIL that needs approval; the TOIL request in data is OPEN. The owner needs toil:read.
toil.addedApproved TOIL was added, or a TOIL request was auto-approvedSent 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.updatedA TOIL request was changedSent when a TOIL request is changed, for example its dates, times, leave type or reason. The owner needs toil:read.
toil.approvedA TOIL request was approvedSent when an approver, location admin or admin approves a TOIL request. The owner needs toil:read.
toil.deniedA TOIL request was deniedSent when an approver, location admin or admin denies a TOIL request. The owner needs toil:read.
toil.cancelledA TOIL request was cancelledSent when a TOIL request is cancelled by the user or by someone who manages them. The owner needs toil:read.
toil.deletedA TOIL request was deletedSent when a TOIL request is deleted; data carries only the IDs of the deleted request. The owner needs toil:read.
toil.expiredA TOIL request expired without a decisionSent when an open TOIL request expires because nobody approved or denied it in time. The owner needs toil:read.
location.createdA location was createdSent when a location is created. The owner needs locations:read.
location.updatedA location or its work week was changedSent when a location's settings or its work week change. The owner needs locations:read.
location.deletedA location was deletedSent 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.createdA department was createdSent when a department is created. The owner needs departments:read.
department.updatedA department or its approvers were changedSent when a department's settings or approvers change, including when an approver is activated or deactivated. The owner needs departments:read.
department.deletedA department was deletedSent when a department is deleted; data carries only the ID of the deleted department. The owner needs departments:read.
leave-type.createdA leave type was createdSent 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.updatedA leave type was changedSent when a leave type's name, color, status or calendar settings change. The owner needs leave-types:read.
leave-type.deletedA leave type was deletedSent when a leave type is deleted; data carries only the ID of the deleted leave type. The owner needs leave-types:read.
leave-policy.enabledA leave policy was enabled or changed in a locationSent 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.disabledA leave policy was disabled in a locationSent when a leave type is disabled for a location. The owner needs leave-policies:read.
holiday.createdA holiday was createdSent when a holiday is created in a location. The owner needs holidays:read.
holiday.updatedA holiday was changedSent when a holiday of a location is changed. The owner needs holidays:read.
holiday.deletedA holiday was deletedSent when a holiday of a location is deleted; data carries only the IDs of the deleted holiday. The owner needs holidays:read.
holiday.bulk-updatedMany holidays of a location were imported or changed at onceSent 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.createdA label was createdSent when a label is created. The owner needs labels:read.
label.updatedA label was changedSent when a label's name or color changes. The owner needs labels:read.
label.deletedA label was deletedSent when a label is deleted; data carries only the ID of the deleted label. The owner needs labels:read.
label.assignedA label was assigned to a userSent when a label is assigned to a user; data carries only the labelId and the userId. The owner needs labels:read.
label.removedA label was removed from a userSent when a label is removed from a user; data carries only the labelId and the userId. The owner needs labels:read.
user.updatedA user's profile, location, department, role or work week was changedSent when a user's profile, location, department, role or work week changes. The owner needs users:read.
user.status-changedA user was activated or deactivatedSent when a user is activated or deactivated. The owner needs users:read.
user.quota-updatedA user's leave quotas or rollover were changedSent 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.createdAn automation was createdSent 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.updatedAn automation was changedSent when an automation of any type is changed, paused or re-enabled. The owner needs automations:read.
automation.deletedAn automation was deletedSent when an automation of any type is deleted; data carries only the ID of the deleted automation. The owner needs automations:read.
notification.createdA notification was createdSent when a daily, weekly or birthday notification is created. The owner needs notifications:read.
notification.updatedA notification was changedSent when a daily, weekly or birthday notification is changed, paused or resumed. The owner needs notifications:read.
notification.deletedA notification was deletedSent 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.createdA scheduled report was createdSent when a scheduled report is created. The owner needs notifications:read.
scheduled-report.updatedA scheduled report was changedSent when a scheduled report is changed. The owner needs notifications:read.
scheduled-report.deletedA scheduled report was deletedSent when a scheduled report is deleted; data carries only the ID of the deleted report. The owner needs notifications:read.
operation.completedAn asynchronous write operation started by the webhook owner's API key succeededSent 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.failedAn asynchronous write operation started by the webhook owner's API key failedSent 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.