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

ActiveDirectory Connection-replace & contain methods to replace chars during provisioning

New Contributor III
New Contributor III


We have the following situation:

From the authoritative source, the users we receive in Saviynt have the displayname attribute in one of the following scenarios:

-displayname attribute is not null, and the value of the attribute has this format: 'Firstname LASTNAME' - In this case, we want to pass the value to AD account during provisioning.

-displayname attribute is null - in this case we want to calculate the displayname like this: {user.firstname+' '+user.lastname.toString().toUpperCase()}

-displayname attribute contains a value, but it has wrong format: 'Firstname=LASTNAME'. The '=' is used as a separator of the firstname and lastname fields in the HR source, and this is how it was designed, nothing can be done about it. In this case, we want to replace the '=' with a space.

We tried adding this logic in the createaccountjson and updateaccountjson, however, nothing seems to work.

Any suggestions on how to solve this? Can we use the 'replace' and 'contain' in the create/update acc JSONS?

"displayName":"${if(user.customproperty30.equals('A') && user.displayname!=null){if(user.displayname.contains('=')){replace((user.displayname),'=',' ')} else {user.displayname}} else if(user.customproperty30.equals('A') && user.displayname==null){user.firstname+' '+user.lastname.toString().toUpperCase()} else{''}}"


Any help would be greatly appreciated.



Saviynt Employee
Saviynt Employee

I would suggest that you manipulate the data and store the same in desired format while doing user itself. This can be done using pre-processor queries in modifyuserdata json of the respective user import connector. Below is link for the process:

With this you will proper at user level itself and it can be used as it is for provisioning.

New Contributor III
New Contributor III

Thanks for your answer.

Unfortunately,  replacing that char during user upload is not a solution, because we are facing a lot of performance issues (we are using schema upload, and the logic defined in the sav file is already heavy and causing performance issues).

It has to be handled in another way, preferably in the Active Directory connection -create/update account JSON.