Create Account returns id(nativeIdentity in the schema), it is not getting mapped

Hello,
I hope you guys are doing great!
We are trying to onboard an application using Webservices Connector with VA. I am currently working on Create Account function. So, the API call (POST) to create in the target application returns the id of the newly created account(nativeIdentity). The problem is that it is not in regular “key”:“value” format. It is just value (the id itself). I tried to configure the response mapping, used just $ or $., nothing worked, I end up with NullPointerException, eventhough the account is created in the target system. Even in Sailpoint I get the account to be created by nativeIdentity is ???. The only way to populate it is to run manual aggregation task, to pull the id from the target application. I will attach screenshots

@pulatoi please configure single account aggregation make sure it is working.

This will be resolved.

Regards,
Shekhar Das

image
image

By the way, forgot to mention. I tried to use afterRule to log the processedResponseObject and rawresponseObject, and I only had values in rawresponseObject, while processedResponseObject was an empty list

it is working, I configured it too. To give you more info, sequentially (i dont know if it matters in this case), I have Get Object and then Create Account.
image

2 Likes

Basically Connector internally runs a Get Object operation after create account operation to correlate the newly created account. So it is related to it.

Be sure the order of your operations create → add entitlement → Get Object

I believe application generated userId is being returned in create account operation response. In create account operation response mapping, populate userId in account schema or whatever attribute that you define for Account ID.

Make sure your root path and response mapping are correct in Create operation.

Is it okay to share the create account response from postman and mapping screenshot (root path and response mapping) from IDN?

Hope this will help!

Regards,
Shekhar Das

Hey Shekhar,
Thanks for your help.
I already attached the response above. I will attach again.


this is response in postman, just a number which represents users id. I am mapping it into my internal_id attribute in schema(my nativeIdentity)

but this mapping does not work, and it is not being saved. My native identity is ???
image

PS. I also checked if reordering will help, but unfortunately it doesnt.
I also want to mention again that I used after operation rule to log processedResponseObject is an empty list, and I only have rawresponseObject(rawresponseObject is a string), I wonder if it has something to do with internal_id is not being mapped correctly

Basically it is not a valid JSON so your mapping is not working.

There is a similar post of resolving the issue, you have to write a afterOperation connector rule:

Webservice Connector - Create Account Operation - Empty Response - Identity Security Cloud (ISC) / ISC Discussion and Questions - SailPoint Developer Community

that is the issue, my processedresponseObject is empty list, so that rule won’t work, I tried already :sweat_smile:

unfortunately, it did not work

update:
Able to come up with a rule to make it work, thanks anyways

1 Like

@pulatoi Can you please share that here for a reference, will be helpful for others.

Just curious to know what have you changed in your code as you mentioned you were getting processedresponseObject is empty.

Regards,
Shekhar Das

image-20240731-204603
so, essentially I took the id from rawresponseObject and composed a structured JSON string, which I then transformed into a map, and used that mapping to return the internal_id