CSA Guide

Service Catalog Fundamentals Explained

Introduction

The Service Catalog is one of ServiceNow's most visible and user-impacting features. It's the storefront through which employees request services—from new laptops to software access to onboarding workflows. A well-built catalog drives self-service adoption and reduces service desk call volume. A poorly built one frustrates users and increases ticket volume.

This guide covers every layer of the catalog, from the structural hierarchy down to individual variable types and workflow integration.


Catalog Structure Hierarchy

Service Catalog
    └─ Category (e.g., "Hardware")
         └─ Sub-Category (e.g., "Computers")
              └─ Catalog Item (e.g., "Request a Laptop")
                   └─ Variables (form fields for the request)

Catalogs

You can have multiple catalogs for different audiences:

  • IT Catalog: For IT service requests
  • HR Catalog: For HR services (onboarding, benefits changes)
  • Facilities Catalog: For office/building requests

Categories and Sub-Categories

Organize items logically from the user's perspective, not your internal team structure. Users look for "Get a new laptop," not "IT Hardware Provisioning Team."


Catalog Item Types

Type Use Case
Item Single service request (most common)
Order Guide Bundles multiple items with conditional logic
Record Producer Creates records in any table (not just sc_request)
Content Item Links to external content or knowledge articles

Record Producer vs. Catalog Item

A Catalog Item always creates an sc_requestsc_req_item chain.

A Record Producer can create any record type directly (incident, change, HR case). Use Record Producers when you want self-service intake that goes directly into your process tables without a separate RITM record.


Variables: Building the Request Form

Variables are the form fields users fill in when submitting a catalog item.

Variable Types

Type Description Example
Single Line Text Short text input Laptop serial number
Multi Line Text Large text area Business justification
Select Box Dropdown list Operating system
Radio Buttons Single choice from options Priority level
Check Box Boolean yes/no Extra monitor needed?
Date Date picker Required by date
Reference Lookup to another table Assigned user
Lookup Select Box Reference with filtered list Manager approval by
UI Page Embed a custom UI page Complex widgets
Masked Hidden input (for passwords) API key entry
Attachment File upload Supporting documentation
Container Groups related variables Section dividers

Variable Ordering and Sections

Organize variables using Container type to create collapsible sections:

[Container: Basic Information]
  - Name
  - Department
  - Manager

[Container: Equipment Details]  
  - Device type
  - Operating system
  - Memory requirement

[Container: Justification]
  - Business reason (Multi Line Text)
  - Required by date

Variable Sets: Reusable Field Groups

Variable Sets let you define a group of variables once and reuse them across multiple catalog items.

Example: "Standard Employee Information" variable set:

  • Employee Name (reference to sys_user)
  • Employee Department (reference to cmn_department)
  • Employee Manager (reference to sys_user)
  • Start Date (date)
  • Cost Center (string)

Add this set to every catalog item that needs employee details—update once, applies everywhere.


Catalog Client Scripts and UI Policies

Just like form Client Scripts and UI Policies, catalogs have equivalent controls:

Catalog Client Script (onChange):

// Show monitor quantity field only if extra monitor is checked
function onChange(control, oldValue, newValue, isLoading) {
    if (isLoading) return;
    if (newValue == 'true') {
        g_form.setVisible('monitor_count', true);
        g_form.setMandatory('monitor_count', true);
    } else {
        g_form.setVisible('monitor_count', false);
        g_form.setMandatory('monitor_count', false);
        g_form.setValue('monitor_count', '');
    }
}

Catalog UI Policy: Same structure as regular UI Policy but scoped to catalog items.


Fulfillment Workflows

Every catalog item needs a fulfillment process. Options:

1. Flow Designer (Recommended)

Attach a Flow to your catalog item's Process Engine tab. The flow receives the RITM record and its variable values.

// In a Flow Designer Action:
// Access RITM variable values
var laptopModel = fd_data.trigger.current.variables.laptop_model;
var employeeName = fd_data.trigger.current.variables.employee_name;

2. Workflow (Legacy)

Legacy Workflow is still supported but not recommended for new development.

3. Approval-Only Items

For simple approvals, use the built-in approval engine without a custom workflow:

  • Set approval settings on the catalog item
  • Define approvers (manager, group, specific users)
  • The RITM automatically routes to approvers

Delivery Time and SLAs

Set expectations with catalog item delivery times:

  • Delivery Time: Displayed to users (e.g., "3-5 business days")
  • SLA Definition: Attach an SLA to the catalog item for system tracking

Order Guides: Bundled Requests

An Order Guide bundles multiple catalog items with conditional display:

Scenario: New Employee Onboarding

Order Guide: New Employee Setup
  ├─ Always included: Badge Request, Email Account, VPN Access
  ├─ If Role = Developer: Add GitHub Access, Dev Laptop
  ├─ If Role = Sales: Add Salesforce License, Sales Phone
  └─ User can customize quantities and options per item

Order Guides significantly reduce the number of separate requests for complex provisioning scenarios.


Pricing and Cost Tracking

ServiceNow supports catalog item pricing for cost transparency:

  • Set a Price on catalog items (informational or charge-back)
  • Connect to a recurring price for subscription services
  • Reports can show total spending by department or cost center

Best Practices

  • Write item names from the user's perspective, not IT jargon
  • Keep forms short—use progressive disclosure to hide advanced options
  • Always set a meaningful short description and full description
  • Use icons and images to make the catalog visually engaging
  • Test the full ordering experience as a non-admin user
  • Set realistic delivery times and communicate them clearly
  • Use Variable Sets for common field groups
  • Configure User Criteria to show items only to appropriate audiences
  • Monitor abandoned requests to identify confusing forms
  • Retire items that are no longer offered rather than leaving them active

Conclusion

The Service Catalog is the face of your IT service delivery. Every design decision—from category naming to variable organization to fulfillment workflows—affects whether users trust and adopt it. Invest in a clean information architecture, test from the user's perspective, and iterate based on feedback. A great catalog reduces call volume, improves satisfaction scores, and makes IT visible as a service partner rather than a support queue.

Keep reading this guide

Log in to access the full study guide and supercharge your preparation.