HR & People package

Workday time-off request sync

Every 30 minutes, time off requests from a Workday report sync to a Team calendar table; long or critical absences get a manager cover check.

Connects to Workday

OfficialScheduledIntermediate~20 min setupv1.0.0

About this package

What it does

Workday time-off request sync keeps a team calendar in UserTasks in step with Workday Absence Management. Every 30 minutes it calls a Workday report-as-a-service (RaaS) report that returns the time off requests updated in the last two hours, as JSON Report_Entry rows: worker, team, manager, type, dates, units, status and a critical-role flag.

Each request is matched to the Team calendar table by its request id: new requests are added and known ones updated with the latest dates and status, so cancellations and changes flow through. The Cover check decision table then decides whether the absence needs a cover check: critical roles, five or more days away and long-term leave do; cancelled, denied and short absences do not.

For each request that needs one, an async Confirm time off cover sub-workflow gives the manager a task form with Confirm cover and Flag a gap buttons, and the answer is written back to the calendar row. The sync itself completes in seconds; the cover checks wait for the managers.

Scheduled

Every 30 minutes. You can also start it any time from the Run dialog, the API or the CLI.

Runs on a schedule (daily, weekly, monthly) in your time zone.

The flow

Step by step

  1. 1

    Every 30 minutes

    The schedule calls the Workday RaaS report for time off requests updated in the last two hours.

  2. 2

    Sync the calendar

    Each request is added to the Team calendar table or, if it is already there, updated with the latest dates and status.

  3. 3

    Cover rules

    The Cover check decision table decides from status, type, days and the critical-role flag whether cover must be confirmed.

  4. 4

    Manager confirms

    An async sub-workflow gives the manager a task form: Confirm cover (with the person) or Flag a gap.

  5. 5

    Summary

    The run logs how many requests were synced and how many cover checks started.

Workday time off sync — Every 30 minutes: time off requests updated in Workday are synced to the Team calendar; requests that need cover start a manager confirmation. The same canvas you get in the designer after installing.

Sub-workflow: Confirm time off cover

Sub-workflow: the manager names who covers a time off request, or flags a gap.

Forms

Inputs and task forms

The inputs a caller passes when it starts a run, and the forms people complete when the process needs a decision.

Start inputs

Workday time off sync

Passed by the calling system

Look back (hours) lookback_hours · number0Sync requests updated in the last N hours (default 2, so a missed run is caught up)
Supervisory organization supervisory_org · textOptional: only this organization (passed to the report prompt)
Manager (user id) manager_user_id · textOptional: who confirms cover; the install-time default otherwise

User Task · Confirm time off cover

Manager confirms cover

Confirm cover for {{worker}} ({{time_off_type}}, {{start_date}} to {{end_date}}) · 2-column grid · own header and theme

Covered by * cover_person · text
Handover booked handover_done · boolean
Cover plan cover_plan · textarea
Confirm coverFlag a gap

From your code

Start a run over the API

Every workflow can be started over REST, MCP or the CLI, whatever its trigger, with the sample input below. Runs start straight away on the published version; replace <workflow id> with the id the install created.

REST

shell
curl -X POST "$USERTASKS_URL/api/v1/workflows/start" \
  -H "Authorization: Bearer $USERTASKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"workflow_id":"<workflow id>","variables":{"lookback_hours":2}}'

CLI

shell
usertasks workflows inputs <workflow id>          # the start form: keys, types, required
usertasks workflows run <workflow id> --input lookback_hours=2 --wait

What's included

6 assets, ready to adapt

TypeNameDetails
Data tableTeam calendarTime off synced from Workday: one row per request, kept up to date by the sync (status changes, cancellations) with the cover check result.
IntegrationWorkday
API referenceGet time off requestsGET /service/customreport2/acme/ISU_UserTasks/Time_Off_Requests_Updated?format=json — Workday report-as-a-service (RaaS) JSON: time off requests updated since a date, with worker, manager, type, dates, units, status and whether the worker holds a critical role.
Decision tableCover check6 rules — Which synced time off requests need the manager to confirm cover. First matching rule wins.
WorkflowConfirm time off cover8 steps — Sub-workflow: the manager names who covers a time off request, or flags a gap.
WorkflowWorkday time off sync24 steps — Every 30 minutes: time off requests updated in Workday are synced to the Team calendar; requests that need cover start a manager confirmation.

Team calendar · 2 sample rows

Request idEmployee idWorkerTeamManagerTypeFromToDaysWorkday statusCoverCovered byLast synced

Requirements

What you connect it to

Credentials never travel in a package. The install wizard asks for what your environment must provide, or installs it incomplete until you finish setup.

Needs

  • REST API — A REST API integration: set its base URL and credentials on install.
  • Assignees — People in your workspace to receive the User Tasks (picked on install).

After installing

  1. Workday integration: base URL https://<services-host>/ccx and an OAuth 2.0 bearer token (or switch the integration to Basic with the integration system user). Replace "acme" in the reference path with your tenant.
  2. Create the RaaS report ISU_UserTasks/Time_Off_Requests_Updated (advanced, web service enabled) with prompts Updated_From and Supervisory_Organization and the fields listed in the README, and share it with the integration system user.
  3. Assignees: pick the default manager who confirms cover (runs can pass manager_user_id).
  4. Adjust the Cover check rules (days threshold, critical roles, leave types) to your policy.

Asked for on install

  • Integration “Workday”Required

    • Tokenconfig.auth_config.token
    • Base urlconfig.base_urldefault https://wd-impl.workday.example.com/ccx· optional
  • Workflow “Confirm time off cover” assigneesRequired

    • User for step “Manager confirms cover”nodes.2.config.assignee_id

Install

Install it in your workspace

Works on UserTasks cloud and on any self-hosted instance. Installing creates the assets above; nothing runs until you complete setup and start it.

In the app

  1. Download workday-time-off-sync-1.0.0.utpkg.
  2. Open Automations → Packages and drag the file onto the page (or choose Import package). Browse gallery there lists every gallery package without downloading by hand.
  3. Pick the file. The wizard verifies the checksum, every file hash and the signature, and shows the readme.
  4. Review the changes (what is created) and the data rows.
  5. Fill in the requirements, or tick Keep incomplete and finish later with Complete setup.
  6. Done: the workflow is published and active once setup is complete.

With the CLI

shell
curl -fLO https://usertasks.com/gallery/workday-time-off-sync-1.0.0.utpkg
usertasks packages inspect workday-time-off-sync-1.0.0.utpkg       # offline: checksum, hashes, signature
usertasks packages install workday-time-off-sync-1.0.0.utpkg --dry-run
usertasks packages install workday-time-off-sync-1.0.0.utpkg       # prompts for each requirement
usertasks packages install workday-time-off-sync-1.0.0.utpkg --keep-incomplete --yes   # in CI; finish with:
usertasks packages complete workday-time-off-sync -f values.yaml

Verify the download

File SHA-256
ac362555a0cfb7a9479c9ca5e987510c0aa9386f1d639eb15b59bdd937fe067d
Package checksum (what is signed)
sha256:63e08b036b3c526398142fb55f7f280ceb26f2307d720903cb49b38b702836ea
Signer
Unsigned preview build — compare the SHA-256 above

shasum -a 256 workday-time-off-sync-1.0.0.utpkg should print the file SHA-256. How gallery packages are signed.

Versions

Version 1.0.0

  1. v1.0.02026-10-28First release.

Installing a newer version upgrades in place: local credentials and requirement values are kept, and changes you made are flagged first. How packages work

More packages

Related

Browse the whole gallery