Saviynt unveils its cutting-edge Intelligence Suite products to revolutionize Identity Security!
Click HERE to see how Saviynt Intelligence is transforming the industry.
Saviynt Copilot Icon

Workday SOAP - Parsing User Manager data and Custom fields

Jyostna111
New Contributor III
New Contributor III

We are trying to import users from workday through Workday connector using the Get_Workers_Request SOAP API.

During the user import using the USER_IMPORT_MAPPING JSON, when tried retrieving user's manager data, the SOAP response XML has multiple 'Management_Chain_Data' elements under 'Worker_Supervisory_Management_Chain_Data' element and when used below mapping, it gets the first element in the list. But we need to get the last child element in the list as it contains user's immediate manager information. Please suggest a way for this.

"Worker_Data.Management_Chain_Data.Worker_Supervisory_Management_Chain_Data.Management_Chain_Data.Manager_Reference.ID(@type=='Employee_ID')"

During the same user import, some custom workday fields data also need to be retrieved like for the ones below. When tried with the mapping - "Worker_Data.Integration_Field_Override_Data(Field_Reference->ID=='User Type').value", it is not able to get the data and showing null in the logs.

<wd:Integration_Field_Override_Data>
<wd:Field_Reference>
<wd:ID wd:type="WID">xxxxxxxxxxxxxxx</wd:ID>
<wd:ID wd:type="Integration_Document_Field_Name" wd:parent_type="Integration_Document_Name" wd:parent_id="xxx_Field_Override_Service">User Type</wd:ID>
</wd:Field_Reference>
<wd:Value>Employee</wd:Value>
</wd:Integration_Field_Override_Data>

Please suggest a mapping that works for this scenario as well.

6 REPLIES 6

timchengappa
Saviynt Employee
Saviynt Employee

Hi @Jyostna111 

Thank you for your query. We are reviewing this and will get back to you soon.
Apologies for the delay...

prashantChauhan
Saviynt Employee
Saviynt Employee

Hi @Jyostna111 

Regarding the query no.2, can you please try the below mapping-
"Worker_Data.Integration_Field_Override_Data(Field_Reference->ID=='User Type').Value",
The 'Value' element starts with an upper case in the sample response you gave but in the mapping, you put the lower case first. It needs to match the Response element.

I will get back to you on the first query.

prashantChauhan
Saviynt Employee
Saviynt Employee

Hi @Jyostna111 

You have mentioned that when we use the given mapping, it gets the first element in the list and stores it.
Can you please share the sample response that has multiple 'Management_Chain_Data' elements under 'Worker_Supervisory_Management_Chain_Data' and share what exactly is getting saved in Saviynt with the given mapping? 

 
You can retract any sensitive data from the sample response.

Hi Prashant,

Below is the sample response with multiple <wd:Management_Chain_Data> elements. When we try to access this data with the recommended Saviynt mapping being mentioned initially in this thread, it gives us the value as the employee id: '1111111' but our requirement is to get the employee id: '3333333'.

<wd:Management_Chain_Data>
<wd:Worker_Supervisory_Management_Chain_Data>
<wd:Management_Chain_Data>
<wd:Organization_Reference>
<wd:ID wd:type="WID">111wwwww</wd:ID>
<wd:ID wd:type="Organization_Reference_ID">SUP1.0</wd:ID>
</wd:Organization_Reference>
<wd:Manager_Reference>
<wd:ID wd:type="WID">2222aaaa</wd:ID>
<wd:ID wd:type="Employee_ID">1111111</wd:ID>
</wd:Manager_Reference>
<wd:Manager>
<wd:Worker_Reference>
<wd:ID wd:type="WID">2222aaaa</wd:ID>
<wd:ID wd:type="Employee_ID">1111111</wd:ID>
</wd:Worker_Reference>
<wd:Worker_Descriptor>TestManager1</wd:Worker_Descriptor>
</wd:Manager>
</wd:Management_Chain_Data>
<wd:Management_Chain_Data>
<wd:Organization_Reference>
<wd:ID wd:type="WID">222wwwww</wd:ID>
<wd:ID wd:type="Organization_Reference_ID">SUP2.1</wd:ID>
</wd:Organization_Reference>
<wd:Manager_Reference>
<wd:ID wd:type="WID">2222aaaa</wd:ID>
<wd:ID wd:type="Employee_ID">1111111</wd:ID>
</wd:Manager_Reference>
<wd:Manager>
<wd:Worker_Reference>
<wd:ID wd:type="WID">2222aaaa</wd:ID>
<wd:ID wd:type="Employee_ID">1111111</wd:ID>
</wd:Worker_Reference>
<wd:Worker_Descriptor>TestManager1</wd:Worker_Descriptor>
</wd:Manager>
</wd:Management_Chain_Data>
<wd:Management_Chain_Data>
<wd:Organization_Reference>
<wd:ID wd:type="WID">222yyyyy</wd:ID>
<wd:ID wd:type="Organization_Reference_ID">SUP3.11</wd:ID>
</wd:Organization_Reference>
<wd:Manager_Reference>
<wd:ID wd:type="WID">2222bbbb</wd:ID>
<wd:ID wd:type="Employee_ID">2222222</wd:ID>
</wd:Manager_Reference>
<wd:Manager>
<wd:Worker_Reference>
<wd:ID wd:type="WID">2222bbbb</wd:ID>
<wd:ID wd:type="Employee_ID">2222222</wd:ID>
</wd:Worker_Reference>
<wd:Worker_Descriptor>TestManager2</wd:Worker_Descriptor>
</wd:Manager>
</wd:Management_Chain_Data>
<wd:Management_Chain_Data>
<wd:Organization_Reference>
<wd:ID wd:type="WID">222xxxxx</wd:ID>
<wd:ID wd:type="Organization_Reference_ID">SUP-ORG-504</wd:ID>
</wd:Organization_Reference>
<wd:Manager_Reference>
<wd:ID wd:type="WID">2222ccccc</wd:ID>
<wd:ID wd:type="Employee_ID">3333333</wd:ID>
</wd:Manager_Reference>
<wd:Manager>
<wd:Worker_Reference>
<wd:ID wd:type="WID">2222ccccc</wd:ID>
<wd:ID wd:type="Employee_ID">3333333</wd:ID>
</wd:Worker_Reference>
<wd:Worker_Descriptor>TestManager3</wd:Worker_Descriptor>
</wd:Manager>
</wd:Management_Chain_Data>
</wd:Worker_Supervisory_Management_Chain_Data>
</wd:Management_Chain_Data>

Please let us know if you need any further information on this.

Regards

Jyostna

Hi Prashant,

Please keep this post open as we are still waiting on your reply for getting the Manager data.

Regards

Jyostna

 

prashantChauhan
Saviynt Employee
Saviynt Employee

Hi @Jyostna111 

I checked this and it is a limitation in the Workday connector. Please open an Idea in the Ideas Portal to get this addressed.