Workday
INFO
The Workday connector is a Scripted API connector. Please refer to the Scripted API documentation for more details.
The Workday connector allows data synchronization between Workday and RAC/M Identity. To do this, the connector uses the Workday SOAP API. It has been developed and tested with version 40 of the API. The API documentation is available at https://community.workday.com/sites/default/files/file-hosting/productionapi/Human_Resources/v40.0/Human_Resources.html.
Currently, the script only supports read operations on the "Worker" object. In particular, the call made to retrieve users is Get_Workers, documented at https://community.workday.com/sites/default/files/file-hosting/productionapi/Human_Resources/v40.0/Get_Workers.html.
Like all scripts used by the Scripted API connector, this script can be modified to meet specific requirements. You can refer to other reference scripts to see how scripts can be modified.
| Configuration | Description |
|---|---|
| Script Path | Path to the Groovy script. Ex: /usr/local/racm-identity/ICF/reference-scripts/scripted-api-1.9.0.0/workday.groovySee section Script Creation |
| API URL | URL of the API to connect to. |
| Preferred Authentication Method | Authentication method to use (oauth2) only. |
| Authentication URL | URL used for authentication. (https://wd3-impl-services1.workday.com/ccx/service/{client}/Human_Resources/v43.2) |
| Custom Secret 1 to 5 | Custom secrets that can be used by the script, encrypted and securely handled. |
| Custom Config 1 to 5 | Custom configurations that can be used by the script. |
| Custom Secret 2 | Optional(oauth2): The configuration may require a refresh_token with Workday version 44.1 . Define in workday.groovy script |
Advanced Configuration
| Configuration | Description |
|---|---|
| Timeout | Timeout in milliseconds. |
| Authentication URL | Not Used |
| Username | Not Used |
| Password | Not Used |
| User Token | The user token to use for authentication. |
| Thread Pool Size | The number of threads to be used for concurrent operations. Leave empty to use all available threads. |
| Time between retries | The waiting time before an HTTP request is retried. Leave empty to use 500ms. |
| Bearer Token | The bearer token to use for authentication. |
Authentication
The Workday connector uses the OAuth2 Protocol to authenticate to the API. This entails that configuration requires a few custom properties in order to allow the authentication flow to happen properly:
Threads
The Workday connector supports concurrent operations. To do this, it uses a thread pool. This allows multiple API calls to be made in parallel to increase performance. This is especially useful when importing a large number of users. The number of threads to use can be configured through the "Thread Pool Size" parameter. Leave this parameter empty to use all available threads.
Test with curl using Basic Auth
- Replace
{client}with the name of your Workday client instance. - Replace
{user}with your account name. - Replace
{password}with your password.
curl -v -k -H "Content-Type: text/xml;charset=UTF-8" -H "SOAPAction: ''" -X POST --data '
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<env:Header>
<wsse:Security env:mustUnderstand="1">
<wsse:UsernameToken>
<wsse:Username>{user}@{client}</wsse:Username>
<wsse:Password
Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">{password}</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</env:Header>
<env:Body>
<wd:Get_Workers_Request xmlns:wd="urn:com.workday/bsvc" wd:version="v43.2">
<wd:Request_Criteria>
<wd:Transaction_Log_Criteria_Data>
<wd:Transaction_Type_References>
</wd:Transaction_Type_References>
</wd:Transaction_Log_Criteria_Data>
<wd:Include_Subordinate_Organizations>true</wd:Include_Subordinate_Organizations>
<wd:Exclude_Inactive_Workers>true</wd:Exclude_Inactive_Workers>
<wd:Exclude_Employees>false</wd:Exclude_Employees>
<wd:Exclude_Contingent_Workers>true</wd:Exclude_Contingent_Workers>
</wd:Request_Criteria>
<wd:Response_Filter>
<wd:Page>1</wd:Page>
<wd:Count>1</wd:Count>
</wd:Response_Filter>
<wd:Response_Group>
<wd:Include_Reference>true</wd:Include_Reference>
<wd:Include_Personal_Information>true</wd:Include_Personal_Information>
<wd:Show_All_Personal_Information>true</wd:Show_All_Personal_Information>
<wd:Include_Additional_Jobs>true</wd:Include_Additional_Jobs>
<wd:Include_Employment_Information>true</wd:Include_Employment_Information>
<wd:Include_Compensation>true</wd:Include_Compensation>
<wd:Include_Organizations>true</wd:Include_Organizations>
<wd:Exclude_Organization_Support_Role_Data>true</wd:Exclude_Organization_Support_Role_Data>
<wd:Exclude_Location_Hierarchies>true</wd:Exclude_Location_Hierarchies>
<wd:Exclude_Cost_Centers>true</wd:Exclude_Cost_Centers>
<wd:Exclude_Cost_Center_Hierarchies>true</wd:Exclude_Cost_Center_Hierarchies>
<wd:Exclude_Companies>true</wd:Exclude_Companies>
<wd:Exclude_Company_Hierarchies>true</wd:Exclude_Company_Hierarchies>
<wd:Exclude_Matrix_Organizations>true</wd:Exclude_Matrix_Organizations>
<wd:Exclude_Pay_Groups>true</wd:Exclude_Pay_Groups>
<wd:Exclude_Regions>true</wd:Exclude_Regions>
<wd:Exclude_Region_Hierarchies>true</wd:Exclude_Region_Hierarchies>
<wd:Exclude_Supervisory_Organizations>true</wd:Exclude_Supervisory_Organizations>
<wd:Exclude_Teams>true</wd:Exclude_Teams>
<wd:Exclude_Custom_Organizations>true</wd:Exclude_Custom_Organizations>
<wd:Include_Roles>true</wd:Include_Roles>
<wd:Include_Management_Chain_Data>true</wd:Include_Management_Chain_Data>
<wd:Include_Multiple_Managers_in_Management_Chain_Data>true</wd:Include_Multiple_Managers_in_Management_Chain_Data>
<wd:Include_Benefit_Enrollments>true</wd:Include_Benefit_Enrollments>
<wd:Include_Benefit_Eligibility>true</wd:Include_Benefit_Eligibility>
<wd:Include_Related_Persons>true</wd:Include_Related_Persons>
<wd:Include_Qualifications>true</wd:Include_Qualifications>
<wd:Include_Employee_Review>true</wd:Include_Employee_Review>
<wd:Include_Goals>true</wd:Include_Goals>
<wd:Include_Development_Items>true</wd:Include_Development_Items>
<wd:Include_Skills>true</wd:Include_Skills>
<wd:Include_Photo>true</wd:Include_Photo>
<wd:Include_Worker_Documents>true</wd:Include_Worker_Documents>
<wd:Include_Transaction_Log_Data>true</wd:Include_Transaction_Log_Data>
<wd:Include_Subevents_for_Corrected_Transaction>true</wd:Include_Subevents_for_Corrected_Transaction>
<wd:Include_Subevents_for_Rescinded_Transaction>true</wd:Include_Subevents_for_Rescinded_Transaction>
<wd:Include_Succession_Profile>true</wd:Include_Succession_Profile>
<wd:Include_Talent_Assessment>true</wd:Include_Talent_Assessment>
<wd:Include_Employee_Contract_Data>true</wd:Include_Employee_Contract_Data>
<wd:Include_Contracts_for_Terminated_Workers>true</wd:Include_Contracts_for_Terminated_Workers>
<wd:Include_Collective_Agreement_Data>true</wd:Include_Collective_Agreement_Data>
<wd:Include_Probation_Period_Data>true</wd:Include_Probation_Period_Data>
<wd:Include_Extended_Employee_Contract_Details>true</wd:Include_Extended_Employee_Contract_Details>
<wd:Include_Feedback_Received>true</wd:Include_Feedback_Received>
<wd:Include_User_Account>true</wd:Include_User_Account>
<wd:Include_Career>true</wd:Include_Career>
<wd:Include_Account_Provisioning>true</wd:Include_Account_Provisioning>
<wd:Include_Background_Check_Data>true</wd:Include_Background_Check_Data>
<wd:Include_Contingent_Worker_Tax_Authority_Form_Information>true</wd:Include_Contingent_Worker_Tax_Authority_Form_Information>
<wd:Exclude_Funds>true</wd:Exclude_Funds>
<wd:Exclude_Fund_Hierarchies>true</wd:Exclude_Fund_Hierarchies>
<wd:Exclude_Grants>true</wd:Exclude_Grants>
<wd:Exclude_Grant_Hierarchies>true</wd:Exclude_Grant_Hierarchies>
<wd:Exclude_Business_Units>true</wd:Exclude_Business_Units>
<wd:Exclude_Business_Unit_Hierarchies>true</wd:Exclude_Business_Unit_Hierarchies>
<wd:Exclude_Programs>true</wd:Exclude_Programs>
<wd:Exclude_Program_Hierarchies>true</wd:Exclude_Program_Hierarchies>
<wd:Exclude_Gifts>true</wd:Exclude_Gifts>
<wd:Exclude_Gift_Hierarchies>true</wd:Exclude_Gift_Hierarchies>
<wd:Exclude_Retiree_Organizations>true</wd:Exclude_Retiree_Organizations>
</wd:Response_Group>
</wd:Get_Workers_Request>
</env:Body>
</env:Envelope>' "https://wd3-impl-services1.workday.com/ccx/service/{client}/Human_Resources/v43.2"