Time Off Request Events
Gusto emits webhook events throughout the time off request lifecycle — when a request is created, modified, or removed. Subscribe to these events to keep your platform in sync without polling.
For general webhook setup and subscription management, see Webhooks.
Events
| Event type | Trigger |
|---|---|
time_off_request.created | A new time off request is submitted by an employee, or created by an admin via the admin_approved_requests endpoint |
time_off_request.updated | A request's fields are modified (e.g., days, notes, or status changed) |
time_off_request.deleted | A request is deleted (hard delete) or soft-deleted (status changed to deleted) |
When a request is soft-deleted, only
time_off_request.deletedis emitted—noupdatedevent fires for the status change todeleted.
Payload
The entity_type is always TimeOffRequest and the resource_type is always Company.
{
"uuid": "844fd02f-e489-4839-ba93-6a2ced81005a",
"event_type": "time_off_request.updated",
"resource_type": "Company",
"resource_uuid": "a4d13b1e-2f89-4c3b-a5d8-7e6c94f21a3d",
"entity_type": "TimeOffRequest",
"entity_uuid": "ad158cfb-99e4-4741-9db3-0bd3a267f222",
"timestamp": 1671058841
}| Field | Type | Description |
|---|---|---|
uuid | string | Unique identifier for this webhook delivery |
event_type | string | One of the event types listed above |
resource_type | string | Always "Company" |
resource_uuid | string | UUID of the company the request belongs to |
entity_type | string | Always "TimeOffRequest" |
entity_uuid | string | UUID of the time off request |
timestamp | integer | Unix timestamp of when the event occurred |
To retrieve the full request object after receiving an event, call GET /v1/time_off/requests/{time_off_request_uuid} using the entity_uuid.
Related guides
Updated about 9 hours ago