Skip to main content
All CollectionsPlatform setup
Workday HRIS integration (Standard)
Workday HRIS integration (Standard)

How to integrate your Workday?

David William avatar
Written by David William
Updated yesterday

Prerequisites

  • Ensure you are an admin of your Workday account before starting.

    1. After logging into Workday, search for "View API Clients"

    2. If you can not see this menu item, you are not an admin of the Workday account.

      Workday_find_Service_URL.png
    3. If you do not see this menu item, figure out who your Workday Admin is and ask them to give your account sufficient permissions or to take over the integration process.

Overview

Estimated, overall setup time: 30 minutes.

Fundamentally, there are 3 main steps you have to complete to set up the integration:

1. You have to create a new integration system user and security group for that user,

2. You have to assign the required permissions to the security group and activate the changes,

3. (Optional, rarely needed: You have to generate a new API client.)

That's it! The rest of this document is a step-by-step walkthrough of everything you need to know and do to set up the integration.

Find your Workday Service URL

  1. Click on the "Search" field at the top and enter "View API Clients"

  2. Click on the task "View API Clients" that just appeared

    Workday_find_Service_URL.png

  3. At the top of the page that just appeared find and copy the "Workday REST API Endpoint".
    The URL should follow the following schema: https://{domain}/ccx/api/v1/{tenant}.

    Workday_see_Service_URL.png

Add an integration system user (ISU)

  1. Click on the "Search" field at the top and enter "Create Integration System User"

  2. Click on the task "Create Integration System User" that just appeared

    Workday_create_ISU.png

  3. In the dialog that just opened, enter a username and generate a secure password.
    You can leave the other fields untouched.

  4. At the bottom of the dialog, click "OK"

    Workday_configure_ISU.png

Add the ISU to your list of system users

While the newly created ISU will work for linking your Workday account, its password will expire after some time unless you add it to your list of system users.

  1. Search for the task "Maintain Password Rules" in the top bar:

  2. Next, add your created ISU to the list of "System Users exempt from password expiration"

Create a security group and assign the ISU to it

  1. Click on the "Search" field at the top and enter "Create Security Group"

  2. Click the task "Create Security Group" that just appeared

    Workday_create_security_group.png

  3. On the page that just appeared locate the dropdown "Type of Tenanted Security Group" and select "Integration System Security Group (Unconstrained)"

  4. For the "Name" enter the value of the "User Name" when creating the ISU earlier (in this case it would be test_isu, but yours will be different)

  5. At the bottom of the page, click "OK"

    Workday_configure_security_group.png

  6. On the next page, the only thing you have to do is go to the field "Integration System Users" and add the user you created earlier. You can do this by clicking on the field and typing in the name of the ISU (in this case "test_isu")

  7. After that, go ahead and click "OK"

    Workday_edit_security_group.png

Add the required permissions to the security group

  1. Click on the "Search" field at the top and enter "Maintain Permission for Security Group"

  2. Click on the task "Maintain Permission for Security Group" that just appeared

    Workday_maintain_permissions_of_security_gruop.png

  3. In the window that just appeared, make sure you have the option "Maintain" selected

  4. Click the field "Source Security Group", enter the name of the group (in this case test_isu) and hit enter. Then click on the security group to select it.

  5. Click "OK"

    Workday_select_security_group_to_maintain.png

  6. In the window that just appeared, you can add the permissions you want for the ISU. You can find the list of permissions needed in the connection flow.

    Workday


    Note: The list of permissions here is only an example. Please check your own permissions in the connection flow.

    For each permission, repeat the following process:

    1. Make sure the tab "Domain Security Policy Permissions" is selected

    2. Click on the icon with the "+" on it

      Workday_add_new_domain_security_permission.png

    3. Click on the cell in the column "View/Modify Access"

      Workday


      If the permission says "Get:", select "Get Only". Otherwise select "Get and Put"

      Workday

    4. Click on the cell in the column "Domain Security Policy",

      Workday


      type in the name of the policy (i.e. "Integration: Build"), hit enter and click on the item that just appeared in a list

      Workday

Activate your changes

After making any changes to your Workday security policy settings, make sure to apply those changes by executing the "Activate Pending Security Policy Changes" task. Without that, none of your changes with take effect.

  1. Click on the "Search" field at the top and enter "Activate Pending Security Policy Changes"

  2. Click on the task "Activate Pending Security Policy Changes" that just appeared

    Workday_activate_pending_security_changes_task.png

  3. In the window that just appeared, add any comment for applying the changes (i.e. "Grant ISU test_isu necesssary permissions for integratons"

  4. Click "OK"

    Workday_activate_pending_security_task_comment.png

  5. In the new window, check the box "Confirm"

  6. Click "OK"

    Workday_activate_pending_security_policy_changes_confirm.png

Create an API client

Note: The following section is not always necessary! Please read the below carefully before proceeding. This step is only necessary if you want to do the following:

  • HRIS: If you want to read/write absence (time off) data, or read/write custom employee objects from your Workday instance.

  • ATS: If you want to read offers or screening question data from your Workday instance.

In all other cases you can skip the steps below.

  1. Click on the "Search" field at the top and enter "Register API Client for Integrations"

  2. Click on the task "Register API Client for Integrations" that just appeared

    Workday_create_API_client_task.png

  3. In the window that just appeared, enter a "Client Name", i.e. "test_isu API client"

  4. Make sure the option "Non-Expiring Refresh Tokens" is turned on

  5. For the field "Scope (Functional Areas)", enter the values that are displayed to you within the connection flow.

    For ATS integrations, some of the following scopes will be required:
    - "Recruiting", "Tenant Non-Configurable", "Adaptive Planning for the Workforce", etc...
    - Please do not use the above permissions. All the relevant permissions will be listed in your connection flow.


    For HRIS integrations, some of the following scopes will be required:
    - "Tenant Non-Configurable", "Staffing", "Time Off and Leave", etc...
    - Please do not use the above permissions. All the relevant permissions will be listed in your connection flow.

  6. Click "OK"


    Please note: The above scopes are an example. Please use the permissions that are requested inside of your connection flow.

  7. In the new window, copy the Client ID and Client Secret for later use, then do not click "Done"

    Workday_create_API_client_show_token.png

  8. Still on the same page, click the three dots at the top, then "API Client" > "Manage Refresh Tokens for Integrations"

    Workday_create_API_client_find_manage_refresh_token.png

  9. In the new window, enter the name of the ISU that you created earlier

  10. Click "OK"

    Workday_create_API_client_refresh_token_for_ISU.png

  11. In the new window, check the box for "Generate New Refresh Token"

  12. Click "OK"

    Workday_create_API_client_confirm_regenerate_refresh_token.png

  13. In the new window, copy the refresh token and store it for later use

    Workday_create_API_client_show_refresh_token.png

Troubleshooting "Invalid username or password!" issues

If you are experiencing trouble logging in due to an error "Invalid username or password!", try the following:

  1. Search for "Manage Authentication Policies" in the top bar.

  2. Click on "Edit" next to the policy

  3. Create a new "Authentication Rule" by clicking on the + in the top left

  4. Assign the Security Group that was made earlier to this new rule, and name the rule something relevant.

  5. Click the + next to "Authentication Condition Name", name it something relevant.

  6. Ensure that the "Allowed Authentication Types" is either set to "Specific: User Name Password", or "Any".

  7. Finally, search for "Activate All Pending Authentication Policy Changes" in the top bar, then confirm the changes made.

Documentation of possible permissions

View/Modify Access

Security

Explanation

Get Only

Worker Data: Public Worker Reports

Reading public information about a worker. Public means any worker within the organisation can view this information about another worker (for example first name, last name etc.)
Always needed when reading any worker data

Get Only

Worker Data: All Positions

Reading position related information of a worker. For example manager, location, job title etc. Also allows us to read status data about the worker.
Always needed when reading any worker data

Get Only

Worker Data: Workers

Retrieving any worker data from Workday's webservices
Always needed when reading any worker data

Get Only

Person Data: Mobile Phone

Needed if reading worker's mobile phone number

Get Only

Person Data: Home Address

Needed if reading worker's personal home address

Get Only

Person Data: Date of Birth

Needed if reading worker's date of birth

Get Only

Person Data: Ethnicity

Needed if reading worker's ethnicity

Get Only

Person Data: Marital Status

Needed if reading worker's marital Status

Get Only

Person Data: Home Email

Needed if reading worker's personal Email

Get Only

Person Data: Work Email

Needed if reading worker's work Email

Get Only

Person Data: Gender

Needed if reading worker's gender

Get Only

Person Data: ID Information

Needed if reading identifiers such as SSN and National ID. Used exclusively to read the SSN.

Get Only

Worker Data: Current Staffing Information

Needed if reading information about the status of a worker. Used for termination_date, employment_status

Get Only

Worker Data: Employment Data

Needed if reading employment related data. Used for termination_date, employment_status

Get Only

Worker Data: Compensation by Organization

Needed if reading compensation data for workers. Used for pay_currency, pay_period and pay_rate in employments.

Get Only

Worker Data: Current Staffing Information

Needed if reading information about the status of a worker. Used to determine termination_date

Get Only

Worker Data: Employment Data

Needed if reading employment related data.

Get Only

Manage: Organization Integration

Needed if reading group information (cost centers and companies)

Get Only

Worker Data: Organization Information

Needed if reading which worker is in which group (cost centers, departments, and companies)

Get Only

Manage: Location

Needed if reading job locations

Did this answer your question?