How to create a request on behalf of another user - Service Catalog

Faiz Firaz
Kilo Contributor

Hi,

I am using the Service Catalog API (namespace : "sn_sc") to create a service request (REQ#) with a request item (RITM#) attached to it using REST API explorer. Below is the request body used ( only mandatory variables for this item is used) ;

{ "sysparm_quantity" : 1,

"variables" : {
"requestor" : "test user",
"project_details" : "test project",
"week_to_unfreeze_time" : "08-03-2021",
"reason_for_unfreeze" : "reason comes here"
}
}

From the above, the request gets created for the user who is sending the request. However, I want to raise this request on behalf of another user. How can this be done?

What I tried :

  • Passing the "requested_for" variable both inside and outside of the "variables" field in the request. 
  • Tried passing the user name and also, the user id in requested_for field.

How can this be done please.

Thanks,

Faiz.

 

1 ACCEPTED SOLUTION

@Faiz Firaz 

Please remember this point

1) for reference variable you should always send the sys_id

2) for choice variable always send the choice value

3) for checkbox send true/false

To set the OOB requested_for field on REQ with your user add sysparm_requested_for

{ "sysparm_quantity" : 1,

"sysparm_requested_for" : "4ae3ab0753101200ed11da86a11c0881"

"variables" : {
"requestor" : "UserSysIdHere",
"project_details" : "test project",
"week_to_unfreeze_time" : "08-03-2021",
"reason_for_unfreeze" : "reason comes here"
}
}

Regards
Ankur

 

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

View solution in original post

26 REPLIES 26

Anil Lande
Kilo Patron

Hi Faiz,

Have you tried passing users sys_id. Also you need to pass sys_id to main JSON object not into the variables ? Please try below syntax:

{
"variables" : {
"requestor" : "test user",
"project_details" : "test project",
"week_to_unfreeze_time" : "08-03-2021",
"reason_for_unfreeze" : "reason comes here"
},
"sysparm_quantity" : 1,
"requested_for" : "sys_id of user"
};

 

Please mark correct and helpful answer if this help to resolve your issue.

 

Thanks,

Anil Lande

 

Please appreciate the efforts of community contributors by marking appropriate response as correct answer and helpful, this may help other community users to follow correct solution in future.
Thanks
Anil Lande

Ankur Bawiskar
Tera Patron
Tera Patron

Hi,

this works fine

give the sysId of the user in bold

{ "sysparm_quantity" : 1,

"sysparm_requested_for" : "4ae3ab0753101200ed11da86a11c0881"

"variables" : {
"requestor" : "test user",
"project_details" : "test project",
"week_to_unfreeze_time" : "08-03-2021",
"reason_for_unfreeze" : "reason comes here"
}
}

Regards
Ankur

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

Faiz Firaz
Kilo Contributor

Hi Anil,

Thanks for the reply.

I tried the above. But the Requested By field doesn't have the user's name and is empty.

 

find_real_file.png

Thanks,

Faiz.

@Faiz Firaz 

Out of the box Requested By field is not on sc_request table

Is that a custom field?

you can set requested_for on REQ as it is OOB field as per my steps above

Regards
Ankur

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader