Skip to main content

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):

  1. Run the Register API Client task.
  2. Set Client Grant Type to Authorization Code Grant and Access Token Type to Bearer.
  3. Set the Redirection URI to https://app.taskjuice.ai/oauth/callback exactly.
  4. Turn on refresh tokens (Workday's Non-Expiring Refresh Tokens option keeps the connection alive).
  5. 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).
  6. Open the View API Clients report and copy the client's Client ID, Client Secret, Workday REST API Endpoint and Authorization Endpoint.

In TaskJuice:

  1. Open your workspace and go to Connections, or add the connection from a Workday node.
  2. 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.com from https://wd2-impl-services1.workday.com/ccx/api/v1/acme.
    • Workday Authorization Host: the host of the Authorization Endpoint, for example wd2-impl.workday.com from https://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, acme in the example.
    • API Client ID and API Client Secret.
  3. 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-task fires for tasks assigned to the connected user after the workflow is published.
  • workday/business-process-event-completed fires when a business process of the type you pick (Hire, Termination, Change Job, Request Time Off and so on) completes.
  • workday/new-anytime-feedback fires when a worker you name receives new anytime feedback.
  • workday/new-wql-row runs 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 example SELECT 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-workers and workday/search-workers read worker records.
  • workday/find-worker-by-email finds a worker by work or home email.
  • workday/list-direct-reports, workday/list-worker-payslips, workday/list-worker-time-off-entries and workday/get-worker-history read a worker's team, pay, time off and history.
  • workday/list-supervisory-organizations, workday/list-supervisory-organization-workers, workday/list-organization-types and workday/list-job-change-reasons read the tenant's structure.
  • workday/change-business-title and workday/create-job-change start the matching business processes.

Approvals and business processes:

  • workday/list-inbox-tasks lists a worker's inbox. workday/approve-inbox-task and workday/deny-inbox-task act on a task.
  • workday/list-business-process-events lists events by type, worker or date.

Time off and time tracking:

  • workday/request-time-off submits 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-absence and workday/list-time-off-details read a worker's absence data.
  • workday/list-time-clock-events lists check-ins and check-outs.

Recruiting, performance, compensation and payroll:

  • workday/list-job-postings, workday/get-job-posting, workday/create-prospect, workday/get-prospect and workday/list-prospects work with Workday Recruiting.
  • workday/give-anytime-feedback and workday/list-anytime-feedback work with feedback.
  • workday/create-one-time-payment requests a bonus or other one-time payment.
  • workday/get-pay-groups, workday/get-tax-rates and workday/get-pay-components read payroll setup.
  • workday/list-expense-reports lists expense reports.

Queries, reports and custom calls:

  • workday/execute-wql runs a read-only WQL query.
  • workday/get-raas-report runs a custom report that is enabled as a web service.
  • workday/api-get, workday/api-post, workday/api-put, workday/api-patch and workday/api-delete call any Workday REST service by name and version, such as staffing/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.
Was this helpful?