- Documentation
- Integrations
- Apps
- Workday integration
Workday integration
Automate Workday HR work for your clients, from worker lookups and time off to approvals, job changes, recruiting and reports.
What it does
The Workday integration lets your agency run HR workflows inside a client's Workday tenant. Look up workers, read their time off, payslips and history, submit time off requests, approve or deny inbox tasks, start job and title changes, give feedback, work with recruiting prospects and job postings, and run WQL queries or custom reports. Triggers react to new inbox tasks, completed business processes, new feedback and any WQL query whose results change.
Connect a Workday account
Workday is hosted per customer, so every connection points at one tenant. A Workday administrator at your client registers an API client once, then anyone with the details can connect.
In Workday (administrator, once per tenant):
- Run the Register API Client task.
- Set Client Grant Type to Authorization Code Grant and Access Token Type to Bearer.
- Set the Redirection URI to
https://app.taskjuice.ai/oauth/callbackexactly. - Turn on refresh tokens (Workday's Non-Expiring Refresh Tokens option keeps the connection alive).
- Under Scope (Functional Areas), tick the areas your workflows touch: Staffing, Time Off and Leave, Recruiting, Performance Enablement, Core Compensation, Payroll, Expenses, Business Process Administration, Organizations and Roles, and System (needed for WQL and custom reports).
- Open the View API Clients report and copy the client's Client ID, Client Secret, Workday REST API Endpoint and Authorization Endpoint.
In TaskJuice:
- Open your workspace and go to Connections, or add the connection from a Workday node.
- Fill in the fields from the View API Clients report:
- Workday REST API Host: the host of the REST API Endpoint, for example
wd2-impl-services1.workday.comfromhttps://wd2-impl-services1.workday.com/ccx/api/v1/acme. - Workday Authorization Host: the host of the Authorization Endpoint, for example
wd2-impl.workday.comfromhttps://wd2-impl.workday.com/acme/authorize. It is usually different from the REST API host. - Tenant Name: the last part of the REST API Endpoint,
acmein the example. - API Client ID and API Client Secret.
- Workday REST API Host: the host of the REST API Endpoint, for example
- Click Connect and sign in to Workday to approve access.
Every action runs as the Workday user who approved the connection, with that user's Workday security. An action the user cannot perform in Workday fails with a permission error here too.
Triggers
Workday offers no webhook API, so every trigger is a poll. Each one emits one activation per cycle wrapping the new records in an items array. Add a Loop node downstream to handle them one at a time. The first poll after you publish sets a baseline and emits nothing.
Polling triggers ask for the Workday REST API Host again, because a scheduled poll resolves its address before it loads the connection. Use the same host as the connection.
workday/new-inbox-taskfires for tasks assigned to the connected user after the workflow is published.workday/business-process-event-completedfires when a business process of the type you pick (Hire, Termination, Change Job, Request Time Off and so on) completes.workday/new-anytime-feedbackfires when a worker you name receives new anytime feedback.workday/new-wql-rowruns your WQL query each cycle and fires for every row that is new or whose selected fields changed. Use it for new hires, terminations, candidates, suppliers, expense reports or anything else Workday exposes as a data source, for exampleSELECT workdayID, fullName, hireDate FROM allWorkers WHERE hireDate >= '2026-01-01'. Keep the result small, since only the first 1,000 rows are read.
Actions
Workers and organizations:
workday/get-worker,workday/list-workersandworkday/search-workersread worker records.workday/find-worker-by-emailfinds a worker by work or home email.workday/list-direct-reports,workday/list-worker-payslips,workday/list-worker-time-off-entriesandworkday/get-worker-historyread a worker's team, pay, time off and history.workday/list-supervisory-organizations,workday/list-supervisory-organization-workers,workday/list-organization-typesandworkday/list-job-change-reasonsread the tenant's structure.workday/change-business-titleandworkday/create-job-changestart the matching business processes.
Approvals and business processes:
workday/list-inbox-taskslists a worker's inbox.workday/approve-inbox-taskandworkday/deny-inbox-taskact on a task.workday/list-business-process-eventslists events by type, worker or date.
Time off and time tracking:
workday/request-time-offsubmits a one-day request. Loop over dates for longer requests.workday/get-time-off-balances,workday/get-eligible-time-off-types,workday/get-leaves-of-absenceandworkday/list-time-off-detailsread a worker's absence data.workday/list-time-clock-eventslists check-ins and check-outs.
Recruiting, performance, compensation and payroll:
workday/list-job-postings,workday/get-job-posting,workday/create-prospect,workday/get-prospectandworkday/list-prospectswork with Workday Recruiting.workday/give-anytime-feedbackandworkday/list-anytime-feedbackwork with feedback.workday/create-one-time-paymentrequests a bonus or other one-time payment.workday/get-pay-groups,workday/get-tax-ratesandworkday/get-pay-componentsread payroll setup.workday/list-expense-reportslists expense reports.
Queries, reports and custom calls:
workday/execute-wqlruns a read-only WQL query.workday/get-raas-reportruns a custom report that is enabled as a web service.workday/api-get,workday/api-post,workday/api-put,workday/api-patchandworkday/api-deletecall any Workday REST service by name and version, such asstaffing/v7.
Known limitations
- Hiring, terminations, positions, job requisitions, compensation changes, supplier records and time blocks are only writable through Workday's SOAP web services, which this integration does not use. Read them with WQL or a custom report.
- Workday returns at most 100 records per request. The inbox, business process and feedback triggers read one page per poll, so more than 100 open tasks, more than 100 events of one type completed in a day, or more than 100 pieces of feedback on one worker can hide new records. Use New or Updated WQL Row with a narrower query in those cases.
- Find Worker by Email does not accept addresses containing an apostrophe.
- List results are paged at up to 100 records. Use Limit and Offset, or a WQL query, for larger sets.
- Pickers for workers are not offered because a tenant's workforce is too large to browse. Map worker IDs from an earlier step, such as Search Workers or Find Worker by Email.
- Workday applies its own API rate limits per tenant. Heavy polling across many workflows can hit them.