Skip to content

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.

ConfigurationDescription
Script PathPath to the Groovy script. Ex: /usr/local/racm-identity/ICF/reference-scripts/scripted-api-1.9.0.0/workday.groovy
See section Script Creation
API URLURL of the API to connect to.
Preferred Authentication MethodAuthentication method to use (oauth2) only.
Authentication URLURL used for authentication. (https://wd3-impl-services1.workday.com/ccx/service/{client}/Human_Resources/v43.2)
Custom Secret 1 to 5Custom secrets that can be used by the script, encrypted and securely handled.
Custom Config 1 to 5Custom configurations that can be used by the script.
Custom Secret 2Optional(oauth2): The configuration may require a refresh_token with Workday version 44.1 . Define in workday.groovy script

Advanced Configuration

ConfigurationDescription
TimeoutTimeout in milliseconds.
Authentication URLNot Used
UsernameNot Used
PasswordNot Used
User TokenThe user token to use for authentication.
Thread Pool SizeThe number of threads to be used for concurrent operations. Leave empty to use all available threads.
Time between retriesThe waiting time before an HTTP request is retried. Leave empty to use 500ms.
Bearer TokenThe 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:

Scripted API

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