Unlocking the Power of ServiceNow's Catalog Builder

- A Comprehensive Guide

The Catalog Builder is a powerful tool within the ServiceNow platform that allows users to create and manage service catalogs. A service catalog is a central repository of items that users can request or access. It provides a self-service portal for users to browse, search, and request items according to their needs.

Since it provides a user-friendly interface that doesn't require coding or technical expertise, it is accessible to a wide range of users, including non-developers. However, Catalog Builder has fewer setting options. For example, it does not support scripting, fewer variable types are available, and so on. Therefore, if more advanced settings are needed, they should be done outside of this tool.


In Catalog Builder, using a template is a must. Users have to select a template first before they start to work on a new Catalog Item or Record Producer. If there is no available template, then admins have to create one.

When creating a new template, admins have to specify the type of template. It can be Standard, which is used for Catalog Items, or it can be Record Producer, which is used for Record Producers.

With templates, users can pre-specify certain values and make restrictions. Users are freed from frequently repeating settings. For example, catalog, category, fulfillment method, and questions/variables can be preselected, certain portal settings can be disabled, and so on.

How to create a catalog item

The following steps summarize how to create a new Catalog Item

  1. Select a template
  2. In the Details section, fill out the basic information such as Item name, Short description, and Description
  3. In Location, select a Catalog and Category
  4. In the Questions section, define the variables
  5. In the Portal settings un/check the necessary properties and select the submit button label (Submit, Order, Request)
  6. In the Access tab, set the user criteria
  7. In the Fulfillment section, select a Process Engine (Flow Designer flow / Workflow) and the related (work)flow. It is recommended to use 'Step-based request fulfillment.' Then, add fulfillment steps if needed, such as approval or task creation.
  8. In Review and Submit verify that everything has been entered correctly and submit the new Catalog Item

Note: Very basic modifications can be done here, if there is a need to have more advanced customizations (for instance, adding a reference qualifier), then it has to be done outside of Catalog Builder once the Item has already been submitted

Note: There are only a few OOTB options, but if there is an advanced user criteria created already outside of Catalog Builder, then it can be used here as well

Note: In Catalog Builder there are only a few ootb fulfillment steps:

  • Custom Approval (Not dynamic User or Group)
  • Manager Approval
  • Task

These options might not fulfill the customer requirements, but fortunately, there is a way to create our own fulfillment steps. I will provide more details on this later.

How to create a custom fulfillment step - Custom Approval

As I mentioned earlier, there are only a few custom fulfillment step types that can be used for Catalog Item creation. However, there is a way to expand the options.

The RITM approval logic can be quite complex in many cases. However, this custom approval step can be universally used with an additional client script. The following example demonstrates how to create a custom (person) approval step. With a small modification, it can even be used for groups.


  1. Copy and existing service fulfillment subflow (for example: ‘Service Fulfillment Steps – Manager Approval’), rename as ‘TCP - Service Fulfillment Steps – Variable based user approval’ and publish it
  2. Create a new Service Fulfillment Step Configuration record (sc_service_fulfillment_step_configuration) called ‘Variable based user approval’
    1. For the Producer, select ‘Service Fulfillment Steps - Base step’
    2. For Service fulfillment subflow select the subflow created in step 1 (TCP - Service Fulfillment Steps – Variable-based user approval)
    3. Provide an arbitrary Order. The new custom step will appear in Catalog Builder in the order specified here
    4. Save the record
  3. Create a new Single-Row Variable set called ‘VS: Custom variable based approver’
    1. Add a new Variable, whose type is a reference to the User table
  4. Update the subflow created in step 1
    1. At first, create a new ‘Get Catalog Variables’ action that gets the Approver variable value from the variable set
    2. Change the ‘Ask for Approval’ action, the request has to go to Get catalog Variables > approver instead of Input > Requested Item > Requested for > Manager
    3. Save the subflow
  5. Create a new Catalog Item that has the new custom variable set (VS: Custom variable based approver)
  6. Add the new custom approval step to it and submit the Item
  7. Create a new Client Script (with an additional Script Include) that populates the Approver variable
  8. Make the variable set hidden
  9. Test the new Catitem

In conclusion, Catalog Builder in ServiceNow is a powerful tool for creating and managing service catalogs. It offers a user-friendly interface and customizable options. While more advanced customizations may require external tools, Catalog Builder streamlines processes and enhances self-service capabilities. With this tool, organizations can more efficiently manage their service catalogs. Explore Catalog Builder in ServiceNow to realize its full potential.

Latest from our blog