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

Manager getting updated-Workday SOAP Import

ag420
Regular Contributor
Regular Contributor

Hi Team,

I have configured a new workday soap connector and use workday as authoritative source with below mapping 

{
  "ImportType": "SOAP",
  "ResponsePath": "Body.Get_Workers_Response.Response_Data.Worker",
  "ImportMapping": {  
    "USERNAME": "Worker_Data.User_ID",
    "SYSTEMUSERNAME": "Worker_Data.User_ID",
    "FIRSTNAME": "Worker_Data.Personal_Data.Name_Data.Preferred_Name_Data.Name_Detail_Data.First_Name",
    "MIDDLENAME": "Worker_Data.Personal_Data.Name_Data.Preferred_Name_Data.Name_Detail_Data.Middle_Name",
    "LASTNAME": "Worker_Data.Personal_Data.Name_Data.Legal_Name_Data.Name_Detail_Data.Last_Name",
    "DISPLAYNAME": "Worker_Data.Personal_Data.Name_Data.Legal_Name_Data.Name_Detail_Data.@Formatted_Name",
    "TITLE": "Worker_Data.Employment_Data.Worker_Job_Data.Position_Data.Business_Title",
    "EMPLOYEEID": "Worker_Data.Worker_ID",
    "PREFEREDFIRSTNAME": "Worker_Data.Personal_Data.Name_Data.Preferred_Name_Data.Name_Detail_Data.First_Name",
"PHONENUMBER": "Worker_Data.Personal_Data.Contact_Data.Phone_Data(Usage_Data->Type_Data->Type_Reference->Communication_Usage_Type->ID=='HOME' && Phone_Device_Type->ID=='Mobile').@Formatted_Phone",
"SECONDARYPHONE": "Worker_Data.Personal_Data.Contact_Data.Phone_Data(Usage_Data->Type_Data->Type_Reference->ID=='HOME' && Phone_Device_Type_Reference->ID=='BF Managed Mobile').@Tenant_Formatted_Phone",
    "CITY": "Worker_Data.Personal_Data.Contact_Data.Address_Data(Usage_Data->Type_Data->Type_Reference->ID=='WORK').Municipality",
"STREET": "Worker_Data.Personal_Data.Contact_Data.Address_Data(Usage_Data->Type_Data->Type_Reference->ID=='HOME').Address_Line_Data(@Type=='ADDRESS_LINE_1')",
"STATE": "Worker_Data.Personal_Data.Contact_Data.Address_Data(Usage_Data->Type_Data->Type_Reference->ID=='WORK').Country_Region_Descriptor",
"COUNTRY": "Worker_Data.Personal_Data.Name_Data.Legal_Name_Data.Name_Detail_Data.Country_Reference.ID(@type=='ISO_3166-1_Alpha-3_Code')",
 
    "STATUSKEY": "Worker_Data.Employment_Data.Worker_Status_Data.Active",
    "EMPLOYEETYPE": "Worker_Data.Employment_Data.Worker_Job_Data.Position_Data.Worker_Type_Reference.ID(@type=='Employee_Type_ID')",
    "COMPANYNAME": "Worker_Data.Organization_Data.Worker_Organization_Data.Organization_Data.Organization_Name",
    "COSTCENTER": "Worker_Data.Employment_Data.Worker_Job_Data.Position_Organizations_Data.Position_Organization_Data.Organization_Data.Organization_Code",
"STARTDATE": "Worker_Data.Employment_Data.Worker_Status_Data.Hire_Date~;~listAsString",
"ENDDATE": "Worker_Data.Employment_Data.Worker_Contract_Data.Contract_End_Date~;~listAsString",
"Location": "Worker_Data.Organization_Data.Worker_Organization_Data.Organization_Data(Organization_Subtype_Reference->ID=='Duty_Station').Organization_Name~;~listAsString",
"CUSTOMPROPERTY1": "Worker_Reference.ID(@type=='WID')",
"CUSTOMPROPERTY2": "Worker_Data.Universal_ID",
    
"CUSTOMPROPERTY4": "Worker_Data.Employment_Data.Worker_Status_Data.End_Employment_Date~;~listAsString",
"CUSTOMPROPERTY5": "Worker_Data.Employment_Data.Worker_Status_Data.Hire_Rescinded~;~listAsString",
"CUSTOMPROPERTY6": "Worker_Data.Worker_Employment_Information_Data.Termination_Date~;~listAsString",
   "customproperty7":"Worker_Data.Employment_Data.Worker_Job_Data.Position_Data.Manager_as_of_last_detected_manager_change_Reference.ID(@type=='WID')"
 
  }
}
 
Now, we are not import manager or owner directly rather saving manager wid in a CP7 and then update OWNER with manager username which populates the MANAGER using preprocessor. WID is getting imported for every user in CP1 and it works but whenever i run import, the MANAGER field becomes blank -
ag420_0-1717583483976.png

As mentioned, since we update OWNER field with manager username, manager data is unaffected but this is increasing the update history every time import is triggered. Any reasons why?

Thanks, in advanced

6 REPLIES 6

Dhruv_S
Saviynt Employee
Saviynt Employee

Hi @ag420 

Could you please provide more information about your use case. Why are updating the manager using preprocessor? If import is removing the manager, how was the original manager updated?

Import can remove the manager if it is not present for the user in workday. Is the manager present on the workday ?

Regards,

Dhruv Sharma 

ag420
Regular Contributor
Regular Contributor

We Save manager WID in a CP for every user and then preprocessor looksup the manager username based on join manager's WID from users= user having that WID. output username is saved in OWNER in users table and manager gets updated on its own.

Yes, there is manager in Workday but we can only get WID in SOAP API response

Please share preprocessor logic


Regards,
Rushikesh Vartak
If this helped you move forward, click 'Kudos'. If it solved your query, select 'Accept As Solution'.

{
"ADDITIONALTABLES": {

"USERS": "SELECT USERKEY,USERNAME,OWNER,REGION,CUSTOMPROPERTY1,CUSTOMPROPERTY6,CUSTOMPROPERTY65 FROM USERS",
"DATASET_VALUES": "SELECT ATTRIBUTE1,ATTRIBUTE2,DATASETNAME FROM DATASET_VALUES WHERE DATASETNAME = 'MAJOR_OFFICE_TRANSFORM'"


},

"COMPUTEDCOLUMNS": [ "OWNER","CUSTOMPROPERTY65","REGION"],

"PREPROCESSQUERIES": [

"UPDATE NEWUSERDATA SET OWNER = (SELECT CU.USERNAME FROM CURRENTUSERS CU WHERE CU.CUSTOMPROPERTY1 = NEWUSERDATA.CUSTOMPROPERTY6)",
"UPDATE NEWUSERDATA SET CUSTOMPROPERTY65 ='WD-WHO'",
"UPDATE NEWUSERDATA SET REGION = (SELECT DV.ATTRIBUTE1 FROM CURRENTDATASET_VALUES DV WHERE DV.ATTRIBUTE2 = NEWUSERDATA.REGION AND DV.DATASETNAME = 'MAJOR_OFFICE_TRANSFORM' LIMIT 1)"
]
}

There is no mapping in Wd JSON it should not add. In user history ideally to narrow down remove preprocessor and try if user history still shows manager field


Regards,
Rushikesh Vartak
If this helped you move forward, click 'Kudos'. If it solved your query, select 'Accept As Solution'.

musthak_ahamad
Regular Contributor
Regular Contributor

Am using the same connector to import users from workday, have you configured the incremental import in this ,to bring  last 24hrs users create/update operation in saviynt..?