Built something you're proud of? Tell the story. A quick G2 review of App Engine or Build Agent helps other developers see what's possible on ServiceNow. Share your experience.

Universal Request number populated instead of Request number

Pavan S
Tera Contributor

Hi, 

 

We have implemented Universal request by installing the plugin (Plugin id: com.snc.universal_request) in our instance. We have attached that to a particular item which means if any request is raised for that item, then the universal request will be simultaneously created.

So, once the request raises, instead of RITM number it is showing UR number details. 

PavanS_0-1777287240644.png

For normal Requests it shows RITM number only. 

 

So, we checked the widget which shows these details 'Standard Ticket Header' which is from OOB. So, is there any way to change those UR details to show RITM details for this particular request Aswell?

Can anyone help me on this

1 REPLY 1

DanielJ43996773
Mega Contributor

Hi @Pavan S how are you?

 

This behavior is expected when using Universal Request (UR).

When the plugin com.snc.universal_request is enabled and tied to a catalog item, the platform elevates the Universal Request (UR) as the primary record, and the portal (including the Standard Ticket Header widget) will display the UR number instead of the RITM.


Why this happens

The Standard Ticket Header (OOB):

  • Is designed to work with multiple record types
  • When UR is present, it prioritizes:

    Universal Request (sn_uni_req) as the “parent” / primary experience layer

So even though the RITM exists, the UI intentionally shows the UR number.


Can you show RITM instead of UR?

Yes — but not without customization.

There is no OOB configuration to switch this behavior per catalog item.


Recommended Options

Option 1 — Keep UR as primary (Best Practice)

From a CSM/HRSD/SPM perspective, UR is meant to:

  • Provide a single front-facing ticket
  • Abstract backend complexity (RITM, HR case, etc.)

So the recommended approach is:

  • Keep UR visible to users
  • Use RITM only for backend fulfillment

Option 2 — Customize the Widget (Controlled Approach)

If your business requirement is strict, you can:

  1. Clone the widget:
    • Standard Ticket Header
  2. Modify server script logic to:
    • Detect if a related RITM exists
    • Replace UR display with RITM number for specific catalog item(s)

Example logic (simplified):

 

 
if (data.table == 'sn_uni_req') {
var ritm = new GlideRecord('sc_req_item');
ritm.addQuery('universal_request', data.sys_id);
ritm.query();

if (ritm.next()) {
data.number = ritm.number.toString();
data.table = 'sc_req_item';
data.sys_id = ritm.sys_id.toString();
}
}
 
 

Then:

  • Apply condition only for your specific catalog item if needed

Option 3 — Hybrid (Better UX)

Instead of replacing UR, you can:

  • Keep UR number
  • Add RITM number as secondary info

Example:

UR0010131 (RITM0012345)

This avoids breaking the UR model while still giving visibility.


Important Considerations

  • UR is becoming a strategic model in ServiceNow
  • Overriding it may:
    • Break future upgrades
    • Create inconsistencies across portals
  • Ensure alignment with platform direction before customizing

Final Recommendation

  • If possible → embrace UR as the user-facing layer
  • If not → clone and adjust the widget carefully
  • Avoid modifying OOB directly


    If this answer helps, please mark it as helpful.

    Regards,
    Dan