Workday + Enboarder integration

Setting up an integration between Enboarder and Workday.

Chris Jones avatar
Written by Chris Jones
Updated over a week ago

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.

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:

  • 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

Email

email



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

email

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

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:

  • 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

Email

email

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

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:

  • 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

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.

  1. Login as an admin user. Go to 'Settings' > 'Apps & Integrations' > 'App centre'

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

Did this answer your question?