What does the Workday + Enboarder Integration do? | The Workday integration allows you to launch employees into Enboarder Journeys in real-time. The integration will also update records as well as cancel records from Enboarder Journeys. For example, if a new hire's manager or start date changes, the integration can update this information. |
How long does it take to set up the Workday + Enboarder Integration? | Please allow up to 4 weeks for this integration to be completed, this includes time for scoping, development and testing. |
What resources will be required? | You’ll need to have a Workday expert and/or system administrator to assist in the completion of this integration. |
Some things to consider | This integration occurs by using Workday custom reports and has been tested on Workday Enterprise edition version 32. This integration can be managed across Parent/Child setups and also across regions. Speak to your Customer Success Manager for more details. |
To launch an employee into Enboarder, the required fields are:
Employee full name
Employee contact (email or mobile)
Direct Manager full name
Direct Manager contact (email or mobile)
Employee key date (start date for onboarding, last date of employment for offboarding etc)
Any extra fields that you wish to include as part of your workflow can be configured using Categories, Custom Fields and Locations.
Workday Custom Reports
Workday allows you to leverage business objects and data sources to access report data. Your Workday administrator can create reports to fetch data to use with other systems (such as Enboarder!). In this approach to integration between Workday and Enboarder, your Workday administrator will expose a report as a web service, and then share the endpoint with Enboarder.
Workday Business Objects
To get candidate data in a report, data from the below business objects and modules will be required (it can come from just one of the below three areas). These should be enabled in Workday for this integration:
Recruiting
Staffing
Human resourcing
The below business objects are required to pull candidate data:
Primary object:
Job Application
Related objects:
Staffing
Job Application event
Candidate
Recruiter
Candidate Recruiting Status
Job Application Process Statuses
Job Requisition
Manager
High level Design
Following this activation, below are the high level steps on how this integration approach works:
A report is created to fetch candidate data
The report API is exposed as a web service and configured in Enboarder
Enboarder's API will call this report API (based on a frequency that you set) to fetch report data
Enboarder's API will map the data as per specification and launch the workflow
Creating a Custom Report in Workday
Launch Candidate Report
Please follow the steps to creating a custom report:
Login to Workday with this URL: https://impl.workday.com/wday/authgwy/{{_instanceName_}}/login.htmld
Click on Reporting & Analytics in the 'Applications' section
Click on the 'Create Custom Report' tab under 'Actions'
Provide a name to this custom report and set the properties as per below:
Report Type - Advanced
Data Source - Job Applications
Fully Indexed Report - Yes
Enabled as Web service
Click 'OK'.
In the 'Additional Info' section, you can add columns and filters based on your requirements:
In addition to your specific requirements that you choose above, below are the mandatory columns that you need to select:
Business Object | Column | Column Heading Override XML Alias | Comments |
Job Application | Reference ID | reference_id | The unique Id to for each candidates |
Job Application | Hire Date | hire_date |
|
Job Application |
| ||
Job Application | Phone Number | phone_number |
|
Job Application | Candidate First Name | candidate_firstname | First Name of candidate |
Job Application | Candidate Last Name | candidate_lastname | Last Name of candidate |
Job Application | Candidate Name/ Display Name | candidate_name | Display Name of the candidate. This is optional. If not provided, the system will combine first name and last name |
Manager | Email (Email_-_Primary_Work_or_Primary_Home) | manager_email |
|
Manager | Phone | manager_phone |
|
Manager | First Name | manager_firstname | First Name of Manager |
Manager | Last Name | manager_lastname | Last Name of Manager |
Manager | Full Name/Display Name | manager_name | Display Name of the manager. This is optional. If not provided, the system will combine first name and last name |
custom field | mode | mode | This is optional field. Mode to launch workflow, possible values are: 0 (Default): Do not launch if any workflow exists with referenceID. 1 : Cancel the existing workflow and launch new workflow with this referenceID. 2 : Allow launching multiple workflows with same referenceID but different criteria. If workflow exists with same criteria, cancel the existing one and launch the new one. |
Mapping Managers & Stakeholders via Custom Fields
To map managers and stakeholders with their mobile numbers or emails, Custom fields should be used. The convention to be used for “Immutable Field Key” value of the custom field should be a lowercase stakeholder label defined in Enboarder, with any spaces converted to an underscore: “_”.
For example, if there is a stakeholder in Enboarder called Report To Manager, the value in "Column Heading Override XML Alias" should be report_to_manager.
To define Mobile or Email for this manager user, the key naming convention is the same as the stakeholder label, but suffixed with _mobile or _email e.g.
Business Object | Column | Column Heading Override XML Alias |
any | report_to_manager_email | |
any | mobile | report_to_manager_mobile |
any | name | report_to_manager_name |
Note: The default "direct manager" is mapped with "manager key".
This means that the stakeholder name must remain as Direct Manager as this has been hardcoded into the Enboarder/Workday integration.
Other examples of stakeholders you may want to include in your journeys and map with the custom fields could also include, Recruiter, Onboarding Specialist, L&D Manager, or anyone else you want to be part of the experience.
Workday Report Filters
You need to add a filter to the Workday report to get only hired candidates in the last 24 hours or 12 hours (matching the frequency set in the Enboarder Workday tile)
Based on your business requirements, more filter criteria can be added, For example, candidates should be launched for a particular cost centre or business unit, or, another example could be to only launch certain Candidate Types (external, internal or external)
Once the report is finalized, you will need to expose it as a web service. Click on 'Actions' > 'Web Service' > 'View URLs' > 'Rest Simple XML'.
Workday may prompt for your administrator credentials here again. Enter the credentials and note down the URL in the browser. This URL is required to integrate with Enboarder.
Note - In end of URL, the query parameter format value is simplexml, please change it to json
The final url will be https://impl.workday.com/ccx/service/customreort/{{_instanceName_}}/{{usrname}}/GeHiredCandidates?format=json
In case you want to more query parameter, you can pass it. Ex- location=Sydney
The final url will be https://impl.workday.com/ccx/service/customreort/{{_instanceName_}}/{{usrname}}/GeHiredCandidates?format=json&location=Sydney
Update Candidate Report
Please follow the steps to creating a custom report:
Login to Workday with this URL: https://impl.workday.com/wday/authgwy/{{_instanceName_}}/login.htmld
Click on Reporting & Analytics in the 'Applications' section
Click on the 'Create Custom Report' tab under 'Actions'
Provide a name to this custom report and set the properties as per below:
Report Type - Advanced
Data Source - Job Applications
Fully Indexed Report - Yes
Enabled as Web service
Click OK
In the 'Additional Info' section, you can add columns and filters based on your requirements:
In addition to your specific requirements that you choose above, below are the mandatory columns that you need to select:
Business Object | Column | Column Heading Override XML Alias | Mandatory | Comments |
Job Application | Reference ID | reference_id | Yes | It's the pre-hire ID of candidates. Its value could be same as candidate reference id in launch candidate report |
Job Application | Hire Date | hire_date | No | in case hire date is changed |
Job Application | No | in case email is changed | ||
Job Application | Phone Number | phone_number | No | in case phone number is changed |
Other fields |
|
| No | in case they are changed |
and add filter to get only hired candidates in last 24 hours or 12 hours based on frequency set in Enboarder tile
Based on Business requirement , more filter criteria can be added.
Ex- candidates should be launched for particular cost centre
or business unitCandidate stage change to hire from yesterday to Today to get candidates who are hired with in 24 hours
Candidate Type is external, internal and external
Once the report is finalized, you will need to expose it as a web service. Click on 'Actions' > 'Web Service' > 'View URLs' > 'Rest Simple XML'.
Workday may prompt for your administrator credentials here again. Enter the credentials and note down the URL in the browser. This URL is required to integrate with Enboarder.
Note - In end of URL, the query parameter format value is simplexml, please change it to json
The final url will be https://impl.workday.com/ccx/service/customreort/{{_instanceName_}}/{{usrname}}/UpdateCandidates?format=json
In case you want to more query parameter, you can pass it. Ex- location=Sydney
The final url will be https://impl.workday.com/ccx/service/customreort/{{_instanceName_}}/{{usrname}}/UpdateCandidates?format=json&location=Sydney
Cancel Candidate Report
Please follow the steps to creating a custom report:
Login to Workday with this URL: https://impl.workday.com/wday/authgwy/{{_instanceName_}}/login.htmld
Click on Reporting & Analytics in the 'Applications' section
Click on the 'Create Custom Report' tab under 'Actions'
Provide a name to this custom report and set the properties as per below:
Report Type - Advanced
Data Source - Job Applications
Fully Indexed Report - Yes
Enabled as Web service
Click OK
In the 'Additional Info' section, you can add columns and filters based on your requirements:
In addition to your specific requirements that you choose above, below are the mandatory columns that you need to select:
Business Object | Column | Column Heading Override XML Alias | Comments |
Job Application | Reference ID | reference_id | It's the pre-hire ID of candidates. Its value could be same as candidate reference id in launch candidate report |
custom field | Comments | comments | This is not mandatory field. You can use it to mention the reason for canceling the workflow. |
custom field | mode | mode | Determines workflow to cancel. Multiple workflows can be launched with same externalid but with different criteria, so while cancelling specific workflow can be cancelled by providing specific criteria and mode as SELECTED. Possible values are:
0 (Default): All workflows for the externalid will be cancelled. All Workflows must be either in Pending, InProcess, Cancel or Deleted state.
1: Specific workflow with matching criteria will be cancelled.
2: All workflows for the external which are in PENDING or INPROCESS state will be canceled, rest will be ignored. |
and add filter to get only hired candidates in last 24 hours or 12 hours based on frequency set in Enboarder tile
Based on Business requirement , more filter criteria can be added.
Ex- candidates should be launched for particular cost centre
or business unitCandidate stage change to hire from yesterday to Today to get candidates who are hired with in 24 hours
Candidate Type is external, internal and external
Once the report is finalised, you will need to expose it as a web service. Click on 'Actions' > 'Web Service' > 'View URLs' > 'Rest Simple XML'.
Workday may prompt for your administrator credentials here again. Enter the credentials and note down the URL in the browser. This URL is required to integrate with Enboarder.
Note - In end of URL, the query parameter format value is simplexml, please change it to json
The final url will be https://impl.workday.com/ccx/service/customreort/{{_instanceName_}}/{{usrname}}/CancelCandidates?format=json
In case you want to more query parameter, you can pass it. Ex- location=Sydney
The final url will be https://impl.workday.com/ccx/service/customreort/{{_instanceName_}}/{{usrname}}/CancelCandidates?format=json&location=Sydney
Enboarder configuration
Following the above report creation, you will now need to configure this within Enboarder.
Login as an admin user. Go to 'Settings' > 'Apps & Integrations' > 'App centre'
Click on the tile 'Workday' (or search if you can't see it) for which you want the integration setup
3. Click on 'Add Integration'
4. Enter the workday report url to pull records. You can add multiple workday reports and define their type on this page. Click on Add Report button. Enter the URL and select the type of report:
Launch - The report to get new candidates and launch workflows in Enboarder
Update - The report to get candidates and update existing workflows in Enboarder
Cancel - The report to get candidates that decline the offer or leave the organization in workday so that we cancel these workflows in Enboarder
Note - To add multiple reports, please click on Add Report button . All reports with type launch will be executed first and then update and last cancel reports by the system.
5. Next add the workday id and password and select the data pull frequency (the interval at which the Enboarder server will report to get new candidates in Workday) and also select Job pull time to specify the time when job should run. Then click on Add Integration button.
6. Enboarder will validate the details and If there is no error, the system will mark the tile Workday as Integrated.
Once this tile is integrated, Enboarder will fetch the data based on your chosen frequency.
Mapping fields from Workday to Enboarder
To ensure that the data from Workday populates the new hire profiles in Enboarder, you will need to ensure that you have setup Categories and/or Custom Fields in Enboarder that have the exact same name as fields from Workday. Once you do this, the fields will automatically be populated in Enboarder with the values fetched from Workday.
Parent Child Mapping
For customers who have more than one Enboarder account, it is possible to have the data flow from the source system (Workday) to the parent account in Enboarder, and then be pushed to the child accounts based on criteria sent in the payload.
Parent-child flow in Workday integration
A custom field with name subsidiarycompanyid can be added in the Workday report. You will define the values for this field.
The same values should also provided to Enboarder support so that we can configure them for your child accounts.
Enboarder will pull the report and check the value of subsidiarycompanyid, if ID matches with any of the child account:
The workflow will be launched into that account
If no match is found, it will launch on the parent account
Set up in Enboarder
We will need a mapping of your child account names and the unique ID of each child account. This ID will be used to find the child's account in Enboarder. The ID can be alphanumeric or string. It should be passed to our system as a string.
Example: A customer has 3 child accounts in Enboarder and they are using the office location city as the child ID (assuming they have only one office per city). They will send us the below data in a CSV file:
| Child Account Name | External id |
1 | Account 1 | Sydney |
2 | Account 2 | Brisbane |
3 | Account 3 | London |
Set up in Workday
Add a new field in your Workday report with label subsidiarycompanyid in Column Heading Override XML Alias. The type of this field should be String. The value of this field should be the same as that provided in previous steps to us (E.g Sydney, Brisbane, London)
Any questions on this? Reach out to your Support who will be able to assist you in getting this up and running.