Skip to content
English
  • There are no suggestions because the search field is empty.

How to integrate with Workday

A step by step guide detailing how to set up an integration between Ravio and Workday.

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

Integration Prerequisites

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

  • Log into Workday and search for "View API Clients". If you can not see this menu item, you are not an admin of the Workday account.

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.

Permission Requirements

See below the full list of permissions that Ravio could require.

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 webservicesAlways needed when reading any worker data
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: Work Email** Needed if reading worker's work Email
Get Only Person Data: Gender Needed if reading worker's gender
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. This is generally also used for variable pay.
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

**For the anonymous workflow, any employee PII data is not required to maintain anonymity in the Ravio app.

Step by Step Integration Setup

This is a step by step guide on how to use Workday’s standard APIs to integrate with Ravio.

If you've opted for the Anonymous Flow with Ravio, follow the standard instructions up to Step 4. At that point, switch to the Anonymous instructions (there will be a reminder!).

If you have any fields (usually level or grade information) that we need access to and that you store in Custom Objects, permissions for these need to be provided separately, as Workday stores them differently. Please follow the steps in the Custom Objects section and send your Ravio contact the "System ID" at the end.

This integration process should take around 30 minutes for a Workday admin to complete.

Step 1 - Workday Service URL

In the search bar at the top, search for and navigate to the ‘View API Clients’ report.

At the top of the page find and copy your Workday REST API Endpoint.

Save this in a document as it will be required later!

Step 2 - Create a new integration service user (ISU)

In the top search field, enter "Create Integration System User". Then, click on the task with the same name that appears.

In the dialog that just opened, enter a username and generate a secure password that meets your organisation’s password requirements. Ensure Require New Password at Next Sign In is not checked then click OK.

Make sure to save these login details somewhere secure!

Step 3 - Add newly created 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. This will break the integration between Ravio and Workday and will require manual work to get this working again.

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

  2. Once on that task add your created ISU to the list of "System Users exempt from password expiration". This will stop the integration from breaking when the password expires.

Step 4 - Create a new Security Group and assign the new ISU

Search for "Create Security Group" in the search bar then click on the associated task that appears.

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

For the "Name" enter the same username you entered when creating the ISU earlier (in this case it would be test_isu, but yours will be different), then click OK.

On the next page, the only thing you have to do is go to the field "Integration System Users" and add the ISU 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).

Step 5 - Assigning the required permissions

If you have signed up for the Anonymous Flow, please make sure you do not give permissions for any Name data (First Name / Last Name / Full Name etc).

Ravio now supports the automatic ingestion of Variable Pay data from Workday!

If you want to gain access to this, simply grant us access to the category where the variable pay data is stored in your Workday instance. This is typically the ‘Worker Data: Compensation by Organization’ category, but if you have a custom category for this please ensure it’s included to benefit from this!

Step 5 - Assigning the permissions directly to the Security Group

Search for "Maintain Permission for Security Group" and click on the task that appears.

In the form that appears, make sure to select Operation = Maintain and make sure the security group you created is in the Source Security Group.

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. The permissions we need at listed at the bottom of this page, they are different for full onboarding and for anonymous onboarding. The image below is an example.

For each permission, repeat the following process:

  1. Make sure the tab "Domain Security Policy Permissions" is selected and click on the icon with the "+" on it:

  1. Click on the cell in the column "View/Modify Access", select "Get Only".

  2. Click on the cell in the column "Domain Security Policy", type in the name of the policy (i.e. "Integration: Build"), hit enter and click on the item that just appeared in a list

Repeat for all required permissions. You can see full details of what permissions Ravio may require and why we need them in the Permission Requirements section below.


Permission Requirements

See below the full list of permissions that Ravio could require.

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 web services. Always needed when reading any worker data
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: Work Email Needed if reading worker's work Email
Get Only Person Data: Gender Needed if reading worker's gender
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

Step 6 - 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.

To do this, search for the "Activate Pending Security Policy Changes" task.

In the window that just appeared, add any comment for applying the changes (i.e. "Grant ISU test_isu necessary permissions for integrations"). We recommend that this is as decsriptive as possible to allow others to see the tasks provided.

In the new window, check the box "Confirm". These changes are now active.

Step 7 - Create an API client

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

Workday_create_API_client_task.png

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

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

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

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

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

In the new window, enter the name of the ISU that you created earlier. Click "OK".

Workday_create_API_client_refresh_token_for_ISU.png

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

Workday_create_API_client_confirm_regenerate_refresh_token.png

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

Workday_create_API_client_show_refresh_token.png

Step 8 - Enter the credentials into Ravio

Enter the below information when prompted in the app

Enter the REST API endpoint you found above into the Ravio onboarding screen. This is the Workday Service URL from Step 1.

Enter the Client ID, Client Secret and Refresh Token for the API Client we created above.