This guide walks you through setting up a dedicated integration user, security group, and API client in Workday to enable the integration to read worker and organizational data from your tenant.
Before you begin, ensure you have:
- A Workday tenant where you have administrator access
- In the Workday search bar, type Create Integration System User and select the task.
- Enter a User Name for the account (e.g.,
acmecorp_isu). - Enter a Password and Confirm Password. Store this password securely — you may need it for reference.
- Check Do Not Allow UI Sessions. This prevents the account from being used for interactive browser logins.
- Leave all other settings at their defaults and click OK.
- In the search bar, type Create Security Group and select the task.
- For Type of Tenanted Security Group, select Integration System Security Group (Unconstrained).
- Enter a Name for the group (e.g.,
acmecorp_issg). - Click OK.
- On the next screen (Edit Integration System Security Group (Unconstrained)), add the ISU you created in Step 1 to the Integration System Users field.
- Click OK to save.
- In the search bar, type Maintain Permissions for Security Group and select the task.
- Select the Maintain operation.
- Within the Source Security Group box, select the ISSG you created in Step 2.
- Click OK to open the permissions editor.
- On the Domain Security Policy Permissions tab, add permissions according to the table below.
- Click OK to save.
| View/Modify Access | Domain Security Policy | Functional Area |
|---|---|---|
| Get Only | Worker Data: Workers | Staffing |
| Get Only | Worker Data: Staffing | Staffing |
| Get Only | Worker Data: Public Worker Reports | Staffing |
| Get Only | Worker Data: Job Details | Staffing |
| Get Only | Worker Data: Directory | People Experience |
| Get Only | Worker Data: Current Staffing Information | Staffing |
| Get Only | Worker Data: All Positions | Staffing |
| Get Only | View: Supervisory Organization | Organizations and Roles |
| Get Only | System Auditing | System |
| Get Only | Reports: Organization | Organizations and Roles |
| Get Only | Reports: Matrix Manager | Staffing |
| Get Only | Reports: Manager | Staffing |
- In the search bar, type Activate Pending Security Policy Changes and select the task.
- Enter a Comment describing the change (e.g.,
Enable API integration access). - Click OK to confirm activation.
The permissions you assigned in step #3 will not take effect until you use the activate pending security policy changes task.
- In the search bar, type Register API Client for Integrations and select the task.
- Enter a Client Name (e.g.,
Identity Integration). - (optional) Check Non-Expiring Refresh Tokens if you wish to prevent the refresh token from expiring and requiring manual rotation.
- Leave Disabled unchecked.
- For Scope (Functional Areas), add all of the following:
- System
- Staffing
- Personal Data
- Organizations and Roles
- Contact Information
- Integration
- Leave Include Workday Owned Scope unchecked.
- Leave Restricted to IP Ranges box empty.
- Click OK.
After saving, note the Client ID and Client Secret on the Register API Client for Integrations screen. You will need these when configuring the integration.
To access Related Actions for an item in Workday, hover the mouse next to it and you should see a small oval with 3 horizontal dots appear next to it. Clicking on this oval will open the related actions menu.
- In the search bar, type View API Clients and select the report.
- Navigate to the API Clients for Integrations tab and locate the client you registered in Step 5.
- Note the Token Endpoint URL displayed on this screen — you will need it when configuring the integration. (e.g.
https://impl-services1.wd12.myworkday.com/ccx/oauth2/acmecorp_dpt1/token) - Click Related Actions on the client row, then select API Client > Manage Refresh Tokens for Integrations.
- For Workday Account, select the ISU you created in Step 1.
- Check Generate New Refresh Token.
- Leave Confirm Delete unchecked.
- Click OK.
After saving, note down the Refresh Token. You will need this when configuring the integration.
If you change the Scope (Functional Areas) associated with the API client, you should repeat this step to generate a new refresh token.
Once you have completed the steps above, you should have all the information you need to configure the integration. Provide the values as shown below:
| Integration Parameter | Description |
|---|---|
| Client ID | The Client ID from Step 5. |
| Client Secret | The Client Secret from Step 5. |
| Refresh Token | The Refresh Token generated in Step 6. |
| Token URL | The Token Endpoint you noted in step 6. |