SOW Create Request UI Action – Contact Number Not Populating Catalog Item Variable

velvet
Mega Guru

Hi Community,

We're in the process of implementing Service Operations Workspace (SOW) and encountering an issue with the Create Request UI action on the Incident form.

🎯 Goal:

We want to pass the Contact Number from the Incident (u_caller_contact_number) into a variable (phone_number) on a catalog item when the request is created via SOW's Create Request.

This previously worked in the Platform UI, but stopped working after we:

  • Switched the requested_for variable to type Requested For (per SOW standards),

  • Began using the Create Request action in Workspace, rather than the platform.


What We’ve Tried:

  • Updated the Workspace UI Action to include sysparm_caller_contact_number in the params object sent to g_service_catalog.openCatalogItem().

  • Created a new catalog variable (contact_me) to rule out legacy issues with phone_number.

  • Wrote onLoad catalog client scripts to retrieve the contact number via URL params (sysparm_contact_me, sysparm_caller_contact_number).

  • Verified other variables (title, department, manager) populate fine based on requested_for.

  • Tested the RequestLinkSessionManager pattern using putClientData() + getClientData() to pass the data via session storage.

  • Even tried using localStorage as a fallback, which worked in Platform UI but not reliably in SOW.


🧩 Problem:

Despite all of the above, the Contact Number never populates, even though:

  • The Incident field is filled,

  • The param is set in the UI Action,

  • The variable is present and visible on the catalog item.


Looking for:

  • Anyone who’s successfully passed custom Incident fields (like contact number) into catalog item variables in SOW,

  • Tips on how to ensure sysparm_* values are retained in the SOW transition from form → catalog,

  • Or whether session-based solutions (like RequestLinkSessionManager) are still the best workaround for this.

Thanks in advance for any insights or examples!

2 REPLIES 2

AbinC
Tera Contributor

Hi @velvet ,

you can do this

UI Action Code:

gs.getSession().putClientData('requested_by', current.caller_id);

onload Catalog client script on that catalog item

var requestedByUser = g_user.getClientData(''requested_by');

if(requestedByUser != ''){

g_form.setValue('variableName', requestedByUser);

}

 IF you found it helful please do mark this helful 

 

Thanks,

Abin 

I am going to try this today