ServiceNow Desk Integration

Hi team,

I am working on the ServiceNow Service Desk integration, one of the confirmation attributes is requested_for_manager, which has to be passed to ServiceNow while creating the request. I have tried using the “$!plan.arguments.requested_for_manager” which is not working. Can anyone suggest to me the way to get the end user’s manager SNOW sys_id.

Thanks,
Karthi

  1. Create an Identity Profile Attribute which populates the user’s sys_id .
  2. Create a Transform to get the manager’s sys_id

Transform:

    {
        "name": "ServiceNow Manager Sys_ID",
        "type": "rule",
        "attributes": {
            "name": "Cloud Services Deployment Utility",
            "operation": "getReferenceIdentityAttribute",
            "uid": "manager",
            "attributeName": "servicenowSysId" //this would be Identity Profile Attribute name you created in step 1
        }
    }
  1. Create an Identity Profile Attribute that uses the Transform
2 Likes

Hi @Carlatto ,

Thanks, I am able to create couple of Identity Profile Attributes to hold the SNOW sys ids. Now I am referring those in the PlanInitializer Script, but it’s now getting password to SNOW ticket, so either I am missing something or the PlanInitializer Script itself not work.

PlanInitializer Script:
import sailpoint.object.Identity;
import sailpoint.object.Attributes;

if (null != plan) {
Map arguments = (Map)plan.getArguments();
Identity user = plan.getIdentity();

if(null != user) {
    if(null != user.getAttribute("managerServicenowSysId")) {
        String managerSNOWSysId = user.getAttribute("managerServicenowSysId").toString();
    
        arguments.put("requested_for_manager", managerSNOWSysId);
    }
}

}

This is outside my knowledge. You might want to close this thread, and open a new discussion to get more attention to it.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.