Import Workday calculated field into ServiceNow using HR Scoped Integrations
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-11-2017 07:15 AM
HI All
My workday consultant created a calculated field on the Workday worker profile table and I want to be able to pull it into ServiceNow. Does anyone know how to configure in ServiceNow the HR Schema Mapping entry needed and if anything else is needed? The documentation on HR Schema Mapping isn't clear.
I am using the HR Scoped Integrations in Kingston which is using the 28.2 Workday API but I have been told we are on 29.1 Workday. All of the other fields in worker profile gets pulled in without issue.
Thanks

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-12-2017 08:07 PM
Hi Jack
You'll want to follow the steps below to pull in your custom Workday field.
- Add a new column to the staging table [sn_hr_integrations_worker_profile] to map the custom Workday field to.
- Configure a new record on the HR Integrations > HR Schema Mapping menu to pull the custom field from Workday. You will want to enter the xpath for the custom Workday field in the External Entity Column Key field in ServiceNow.
- Add a new field mapping to the HR Integrations > HR Transform Maps > HR Profile Transform Map to map the column on the staging table created in step 1, to the appropriate field on the HR Profile table [sn_hr_core_profile].
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-13-2017 07:02 AM
Using SOAP UI, I ran the get_all_workers SOAP function and I don't see the calculated field being pulled. Not sure if the calculated field in workday was setup correctly but these are the instructions we followed.
https://community.boomi.com/thread/1162
Seems like something else is needed in the get_all_workers function.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-08-2018 09:40 AM
Figured it out with some help from Workday. Assuming your workday consultant has created the calculated field correctly and given the correct permissions, you can test using SOAPUI and create a TestCase from the Get_workers Response
This basic function test should retrieve the worker profile using their employee ID and is for v28.2
endpoint:
example: https://wd2-impl-services1.workday.com/ccx/service/blah/Human_Resources/v28.2/?wsdl
notice the version in the endpoint and also the company name in the endpoint needs to match in the function:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:bsvc="urn:com.workday/bsvc">
<soapenv:Header>
<wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken-7">
<wsse:Username>34323_inbound@blah</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">mypassword</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<bsvc:Get_Workers_Request bsvc:version="v28.2">
<bsvc:Request_References bsvc:Skip_Non_Existing_Instances="false">
<bsvc:Worker_Reference bsvc:Descriptor="string">
<bsvc:ID bsvc:type="Employee_ID">83443</bsvc:ID>
</bsvc:Worker_Reference>
</bsvc:Request_References>
<bsvc:Request_Criteria>
<bsvc:Exclude_Inactive_Workers>true</bsvc:Exclude_Inactive_Workers>
</bsvc:Request_Criteria>
</bsvc:Get_Workers_Request>
</soapenv:Body>
</soapenv:Envelope>
you then add your calculated field in the Request_Criteria using
<bsvc:Field_And_Parameter_Criteria_Data>
<bsvc:Provider_Reference bsvc:Descriptor="CustomIntegrationTemplate">
<bsvc:ID bsvc:type="Integration_System_ID">CustomIntegrationTemplate</bsvc:ID>
</bsvc:Provider_Reference>
</bsvc:Field_And_Parameter_Criteria_Data>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:bsvc="urn:com.workday/bsvc">
<soapenv:Header>
<wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken-7">
<wsse:Username>34323_inbound@blah</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">mypassword</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<bsvc:Get_Workers_Request bsvc:version="v28.2">
<bsvc:Request_References bsvc:Skip_Non_Existing_Instances="false">
<bsvc:Worker_Reference bsvc:Descriptor="string">
<bsvc:ID bsvc:type="Employee_ID">865137</bsvc:ID>
</bsvc:Worker_Reference>
</bsvc:Request_References>
<bsvc:Request_Criteria>
<bsvc:Exclude_Inactive_Workers>true</bsvc:Exclude_Inactive_Workers>
<bsvc:Field_And_Parameter_Criteria_Data>
<bsvc:Provider_Reference bsvc:Descriptor="CustomIntegrationTemplate">
<bsvc:ID bsvc:type="Integration_System_ID">CustomIntegrationTemplate</bsvc:ID>
</bsvc:Provider_Reference>
</bsvc:Field_And_Parameter_Criteria_Data>
</bsvc:Request_Criteria>
</bsvc:Get_Workers_Request>
</soapenv:Body>
</soapenv:Envelope>
if everything is working correctly, in the bottom of your response you should get something like:
<wd:Integration_Field_Override_Data>
<wd:Field_Reference>
<wd:ID wd:type="WID">447e8578da59012ae7f248fced54c823</wd:ID>
<wd:ID wd:type="Integration_Document_Field_Name" wd:parent_type="Integration_Document_Name" wd:parent_id="INT_Applicant ID">Applicant ID</wd:ID>
</wd:Field_Reference>
<wd:Value>4643ac0e4b0g23451fb3434c7e8f64f73</wd:Value>
</wd:Integration_Field_Override_Data>
The information is in the value field.
I'm still working with Workday to see if it's possible to change the tag from value to something else or else the HR Schema will not be able to identify the different calculated fields.