Announcing the Saviynt Knowledge Exchange unifying the Saviynt forums, documentation, training,
and more in a single search tool across platforms. Read the announcement here.

ImportUserJSON multicall

Murmur
Regular Contributor II
Regular Contributor II

Hi everyone, 

I'm trying to use a multicall to import users. My initial call is working just fine. My second call fails with Missing username for the record.

The issue seems to be, that i have not set a username in call2. Unfortunately, the username is not returned in the second call. Is there any way to use the id from call1 (e.g. from the response)? 

Or do you have any othe ridea, how I could approach that? 

JSON

{ "type":"multiCall",

  "call":[
      { "name":"call1",
    "connection":"acctAuth",
    "url":"https://<URL>/v1/people/search",
    "httpMethod":"POST",
    "httpParams":"{<Application Specific Params>}",
    "httpHeaders":{
       "Authorization":"${access_token}",
       "contentType":"application/json"
    },
    "httpContentType":"application/json",
    "userResponsePath":"employees",
    "colsToPropsMap":{
        "id":"id~#~char",
       "username":"id~#~char",
       "systemUserName":"email~#~char"
    }
 },
 { "name":"call2",
 "connection":"acctAuth",
 "url":"https://<URL>/v1/people/${userIdentifier}",
 "httpMethod":"POST",
 "httpParams":"{\"fields\": [\"internal.lifecycleStatus\"], <Application Specific Params>}",
 "httpHeaders":{
    "Authorization":"${access_token}",
    "contentType":"application/json"
 },
 "httpContentType":"application/json",
 "userResponsePath":"internal",
 "colsToPropsMap":{
   "username": "????",
   "customproperty4":"lifecycleStatus~#~char"
 }

}]}

Background

I can get all basic info from the initial call (call1), but I need to fetch custom fields after that. This is done, by appending the username (Human Resources ID) the username to the search URL. 

The call2 only returns something like and it seems not possible to add the id in the response: 

{
    "internal": {
        "lifecycleStatus": "Employed"
    }
}

I already tried to 

  • set  "inputParams": {
    "dependentCall": true
    }
  • use  "username":"${userIdentifier}~#~char"
  • set username as some otther values, tthat turned out to be null (e.g. response.call1.message.employees.id)

[This post has been edited by a Moderator to merge two posts.]

2 REPLIES 2

rushikeshvartak
All-Star
All-Star

${call1.message.id}


Regards,
Rushikesh Vartak
If you find the response useful, kindly consider selecting Accept As Solution and clicking on the kudos button.

Murmur
Regular Contributor II
Regular Contributor II

Unfortunately, that didn't work out, as the variable was not resolved in the call.

Gladly, I was able to get the username attribute via API in the call. 

Thanks for your help @rushikeshvartak