top of page

Experiencing challenges with ServiceNow support?

IKC provides professional, reliable assistance that covers gaps not supported by ServiceNow

and without the high costs of traditional services.

 

Starting from just $1,000

How to Automatically Populate Request Form Descriptions from a ServiceNow Catalog Item

Updated: Mar 26


When users submit a ServiceNow catalog item, they often provide specific inputs, such as a detailed description or a brief summary. While these values are captured in the Requested Item (sc_req_item), they do not automatically appear in the Request (sc_request) record by default. This leads many developers and administrators to ask: how can we auto-populate the Description and Short Description fields on the Request form with values entered in the catalog item?


In this article, we explain how to achieve this functionality using scripting techniques within workflows or business rules, ensuring a seamless data transfer from catalog item inputs to the parent Request record.


Understanding the Data Flow in a Catalog Request


In the ServiceNow request fulfillment model:


  • Catalog Items are submitted by users via the Service Catalog.

  • A Request (sc_request) is generated to group one or more Requested Items.

  • Each Requested Item (sc_req_item) is associated with the catalog item and holds user-provided input as variables.


However, the sc_request record does not directly inherit fields like short_description or description from the catalog item or its variables unless explicitly scripted to do so.


Common Use Case


Consider a catalog item where users provide:


  • A Short Description field (e.g., “Access to Adobe License”)

  • A Description field (e.g., “Please provide a license for Adobe Creative Cloud.”)


Once submitted, these values exist in the variables of the Requested Item. To reflect this information on the Request record itself, a script must be used to copy the values over.


Solution 1: Using a Workflow ‘Run Script’ Activity


One of the most straightforward methods is adding a Run Script activity to the catalog item's workflow. This script accesses the current sc_req_item record and updates the associated sc_request record.

// Update the parent Request with values from the catalog item variables
var req = new GlideRecord('sc_request');
if (req.get(current.request)) {
    req.description = current.variables.description;
    req.short_description = current.variables.short_description;
    req.update();
}

How it works:

  • The script retrieves the parent Request record using current.request.

  • It copies the description and short_description from the catalog item variables.

  • It updates the Request record accordingly.


Important Considerations:

  • Ensure that the variable names (not labels) in your catalog item are exactly description and short_description, or update the script to match the actual variable names.

  • This should be placed after the item is created in the workflow to ensure that all fields are populated when the script executes.


Solution 2: Business Rule on Requested Item


Alternatively, an asynchronous Business Rule can be created on the sc_req_item table to perform this update after insert or update.


Sample Script:

// Async Business Rule on sc_req_item
(function executeRule(current, previous /*null when async*/) {
    var req = new GlideRecord('sc_request');
    if (req.get(current.request)) {
        req.description = current.variables.description;
        req.short_description = current.variables.short_description;
        req.update();
    }
})(current, previous);

Why async? Running the rule asynchronously avoids delays in the user interface and ensures the Request record is already available.


Caveat: Handling Multiple Requested Items


If a request contains multiple items, each sc_req_item might overwrite the Request's description fields. In such cases:


  • Consider aggregating the item descriptions into a custom multiline field on the Request (e.g., items_summary).

  • Append values rather than overwrite them.

  • Use conditions to only populate values if they are not already set.


Conclusion


Automatically populating the Description and Short Description fields on the Request (sc_request) record from a catalog item's variables enhances visibility and clarity across fulfillment processes in ServiceNow. This can be achieved effectively through a workflow Run Script or an asynchronous Business Rule on the Requested Item (sc_req_item) table.


Key Takeaways:


  • Use a workflow activity or Business Rule to transfer data from variables to the parent Request.

  • Ensure variable names match exactly what your script references.

  • Handle multi-item requests with care to prevent overwriting or data loss.


Next Steps:


  • Review your catalog item variables to confirm naming consistency.

  • Test the script in a sub-production environment.

  • Consider user experience: ensure that what users input is visible throughout the request lifecycle.


By applying these scripting strategies, ServiceNow developers can improve data transparency and streamline fulfillment operations across the platform.

Experiencing challenges with ServiceNow support?

IKC provides professional, reliable assistance that covers gaps not supported by ServiceNow

and without the high costs of traditional services.

 

Starting from just $1,000

CONTACT

New Zealand HQ

Integrated Knowledge Consulting Office

Level 3, 93 Grafton Road

Auckland

South Korea

Integrated Knowledge Consulting Office

BMY역삼타워 6층

서울특별시 강남구 역삼동 678-10번지

 

info@ikconsulting.com

Thanks for submitting!

  • LinkedIn Social Icon

© Copyright 2025 Integrated Knowledge Consulting. All rights reserved.

bottom of page