Deel Time Off TimeOffTrigger

Deel Time Off TimeOffTrigger

Certified

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.

yaml
type: io.kestra.plugin.deel.timeoff.TimeOffTrigger

Trigger on requested and approved time off

yaml
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

Deel API token

API token for authentication. Can be an organization token, personal token, or worker token.

HRIS profile ID

Worker HRIS profile id identifying the profile whose time-off requests are polled.

Defaultfalse

Specifies whether a trigger is allowed to start a new execution even if a previous run is still in progress.

Default2026-01-01

API version

API version header value. Defaults to 2026-01-01.

Defaulthttps://api.letsdeel.com/rest

Deel API base URL

Base URL for the Deel API. Use https://api-sandbox.demo.deel.com/rest for sandbox environment.

SubTypestring
Default["requested","approved"]
Possible Values
requestedapproved

Events to trigger on

Which time-off states create executions: requested and/or approved.

DefaultPT5M
Formatduration

Polling interval

How often the Deel API is polled for new events.

SubTypestring
Possible Values
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTED

List of execution states after which a trigger should be stopped (a.k.a. disabled).

Defaulttrue

A 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.

Event type

The detected event: requested or approved.

SubTypeobject

Events

All detected events in this poll.

Time off record

The time-off record that caused the first event.