ServiceNow Governance Connector - Attribute Sync for Manager

We have a ServiceNow Governance Connector set up which is working fine with Create Account. However, for the manager field in ServiceNow we are sending manager’s employee number (is an identity attribute) from SailPoint that is used for finding the record corresponding to manager in SNow sys_user table and referenced for the user record.

What we like to do is to add this to attribute sync so that whenever a manager is changed for any employee (either Mover case or old Manager is no longer part of the company), but because the manager field read back from SNow is the display name of the manager which will not match the manager’s employee number identity attribute, we are worried that this will go into an infinite loop of updating the field.

Has anyone ever have faced a similar situation, and how have your resolved it?

Any input will be greatly appreciated

Haven’t used this connector personally, but here’s what I’m thinking:
The connector should handle your described scenario gracefully, without infinite loop.

Justification:
AD expiresOn has had a similar issue (e.g. what’s written out is not what’s comes back from aggregation).

The connector needs to handle this situation. If it doesn’t, I see it as a bug.

Thanks @David_Norris

This is not happening in ServiceNow connector and I was not expecting it to happen. Case of AD expiresOn might be different as the conversion would be a predefined one and SailPoint added a fix for this specific source and attribute. However, in our case SailPoint would not know which identity attribute is used (each tenant may use their own) and what is the format of value returned from SNow. I don’t think there is a way add an OOTB feature to handle this.

Agree that the logic isn’t static. But it ought to / could(?) be ‘configurable’/told to the connector. (i.e. Developed to be flexible)

e.g. Outbound attribute name (uid), Inbound value attribute match to (displayName)

Are you saying that you’re sending ServiceNow the manager’s employee number from SailPoint to the sys_user.manager field? I would assume since this is a reference field on the ServiceNow side it correctly resolves since that employee number exists on the manager’s record. Just want to make sure I understand this correctly.

(we don’t create ServiceNow users from SailPoint in our environment so I’m more curious than anything)

This is a possibility although I’m not 100% sure I understand how this feature works

It would probably require that you store ServiceNow user sys_ids as an identity attribute, but this way, the manager account attribute will always be the sys_id instead of the display name. IDK, worth a shot maybe?

Ok, this does work how I think it does.

So in theory if you store the ServiceNow sys_id as an identity attribute, you could put that into attribute sync

Only downside is looking at the account you may not know who the manager is, but it will be on the identity anyway

We are sending the manager’s employee number to SNow and as a part of what happens on SNow side while data is transferred from ISC Governance app staging table to sys_user table, the employee number is used for finding the manager’s record in sys_user table and correct value is added under manager column for the new user. This is working fine.

This may not work as this will make the sys_id to be displayed for manager under the account in SailPoint which will not be a match to identity attribute “managerEN”

We will still have to convert this sys_id to employee number.

When a manager changes, same is captured by updating the identity attribute named “managersEN” which is a unique number coming from HR

Oh wait, I think I’m seeing where I’m going wrong here, because you’d need to store the manager’s sys_id on the employee’s identity… yeah, that would probably be more complicated

Ok, different idea, probably just as hare-brained

Create a custom field on the sys_user table (which I’m sure your ServiceNow team will love) for managerEN, then create a ServiceNow business rule on the sys_user table that fires on insert/update (specifically when the managerEN field changes) then perform a GlideRecord lookup on sys_user for that employee number, then populate it in the manager field.

Alternatively, you could have a rule that retrieves the manager sys_id from the manager identity and populates it on the user identity record.

We do this with the managers DN in AD so we can attribute sync the manager to the users AD account

Thanks Mark,
This is our last resort :slight_smile:

We still prefer to have Manager’s name displayed under SNow account in ISC. So using sys_id as display value might not be an option for us

Don’t forget the custom SaaS connector route :grinning_face:

1 Like

In our SNOW implementation we synch the manager name to what is referred to as the manager account field in SailPoint ISC. We have a custom identity attribute that has the name of the manager and we synch that attribute versus the employee number. works great.