
Deel Time Off TimeOffTrigger
CertifiedTime Off Trigger
Deel Time Off TimeOffTrigger
Time Off Trigger
Poll the profile time-off endpoint and trigger on requested and approved time-off records. State (watermark and last-seen statuses) is persisted in the KV store so polls do not repeat events. Uses cursor pagination (page_size/next) as documented for the endpoint.
type: io.kestra.plugin.deel.timeoff.TimeOffTriggerExamples
Trigger on requested and approved time off
id: time_off_events
namespace: company.team
tasks:
- id: log
type: io.kestra.plugin.core.log.Log
message: "{{ trigger.event }}: time off {{ trigger.timeOff.id }} ({{ trigger.timeOff.status }})"
triggers:
- id: watch_time_off
type: io.kestra.plugin.deel.timeoff.TimeOffTrigger
apiToken: "{{ secret('DEEL_API_TOKEN') }}"
hrisProfileId: "d290f1ee-6c54-4b01-90e6-d701748f0851"
interval: PT5M
events:
- requested
- approved
Installation
Our standard Docker images already include this plugin. If you use a -slim image or another setup, install it with the following command:
kestractl plugins get io.kestra.plugin:plugin-deel --compatible-for $KESTRA_VERSION For kestractl, use your Kestra version with --compatible-for, or specify an exact plugin version.
For Kestra CLI, replace LATEST with a specific version or version range to pin the plugin version.
Properties
apiToken *string
Deel API token
API token for authentication. Can be an organization token, personal token, or worker token.
hrisProfileId *string
HRIS profile ID
Worker HRIS profile id identifying the profile whose time-off requests are polled.
allowConcurrent boolean
falseSpecifies whether a trigger is allowed to start a new execution even if a previous run is still in progress.
apiVersion string
2026-01-01API version
API version header value. Defaults to 2026-01-01.
baseUrl string
https://api.letsdeel.com/restDeel API base URL
Base URL for the Deel API. Use https://api-sandbox.demo.deel.com/rest for sandbox environment.
events array
["requested","approved"]requestedapprovedEvents to trigger on
Which time-off states create executions: requested and/or approved.
interval string
PT5MdurationPolling interval
How often the Deel API is polled for new events.
stopAfter array
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTEDList of execution states after which a trigger should be stopped (a.k.a. disabled).
when string
trueA condition that determines whether the trigger should run.
A Pebble expression evaluated at trigger time. The trigger fires only when the expression evaluates to a truthy value (true, a non-empty string, a non-zero number). Use this to gate trigger execution on dynamic runtime values such as execution labels, flow variables, or environment conditions.
Outputs
event string
Event type
The detected event: requested or approved.
events array
Events
All detected events in this poll.
timeOff object
Time off record
The time-off record that caused the first event.