Service Catalog

Create a Variable Set for Reuse Across Catalog Items

When you have the same questions appearing on multiple catalog items, maintaining them separately creates duplicated work and inconsistent experiences. This guide shows you how to build variable sets that centralize those common questions and keep everything in sync.

The problem with duplicate catalog variables

Without variable sets, teams end up recreating the same variables on every catalog item that needs them — standard approval questions, cost center dropdowns, deployment environment choices. Each time someone updates the wording or adds an option, they have to hunt down every item using those variables and make the same change manually. Catalog admins waste time on repetitive maintenance, and users get inconsistent experiences when the same question appears differently across items.

How variable sets centralize common questions

A variable set is a reusable collection of variables that you attach to catalog items instead of building variables directly on each item. Global variable sets are available system-wide and changes propagate automatically to every item using them. Local variable sets belong to a specific catalog and only appear in that catalog's items. Start with global sets for truly universal questions like cost centers or approval requirements, then create local sets for catalog-specific questions that multiple items share.

Advanced variable set patterns

Production variable sets typically include conditional display logic using client scripts, proper ordering with sequence numbers, and careful use of the 'Include in requests' flag to control which variables appear in approval emails. You'll also want to establish naming conventions that distinguish between global business variables and catalog-specific technical variables, and document which items depend on each set before making changes.

Before you start

  • catalog_admin role or admin role
Sourdough
Chrome Extension

Sourdough: ServiceNow Monitoring and Analytics

A Chrome extension for ServiceNow Admins and Developers with essential tools, analytics, graphs and monitoring features.

Instance HealthGraphs & ChartsAPI HealthDeveloper ToolsQuick SearchInstance Switcher
Add to Chrome

Free to install. Pro $5/month after a 14-day no-card trial.
Pro requires the ServiceNow admin role. Upgrade inside the extension.

Overview
Tasks
CMDB
API
Metrics
Monitor
Internals
Instance:sourdoughdev·Version:Yokohama
Instance StateONLINE
System StatusFully Operational
Session Timeout90 minutes
Logged-In Sessions2 (20 active)
Build Nameyokohama-12-18-2024_p1
IP Address10.159.128.43
Instance HealthHealth Score: 90%
🔥 5dSourdough (Chrome Plugin)Dark Mode

Step by step

1

Navigate to Variable Sets

Go to Service Catalog > Catalog Definitions > Variable Sets. This module shows both global and catalog-specific variable sets in one list, which lets you see naming patterns and avoid duplicates.

2

Create the variable set record

Click New and fill in the Name field with something descriptive like 'Standard Approval Questions' or 'Server Deployment Options'. Set Type to Global if this applies across all catalogs, or Local if it's specific to one catalog. For local sets, choose the Catalog from the dropdown. Leave Internal checked unless end users need to request this variable set directly, which is rare.

TIP

Use a naming convention like 'Global - ' prefix for global sets to distinguish them in long lists.

3

Configure the variable set properties

Set Order to a round number like 100 to allow for insertion later. Check Include Variables in Request if you want these variables to appear in approval notifications and request emails — most business approval questions should be included, technical deployment details usually shouldn't. Fill in Description with enough detail that other admins understand when to use this set.

4

Add variables to the set

Click Submit to create the record, then scroll down to the Variables related list and click New. Create your variables exactly as you would on a catalog item — same field types, same validation, same default values. The Order field within each variable controls sequence within this set, not the overall form.

5

Test the variable set

Navigate to Service Catalog > Catalog Definitions > Catalog Items and open an existing item for testing. Scroll to the Variable Sets related list and click Edit. Move your new variable set from Available to Selected, then click Save. Preview the catalog item to verify the variables appear correctly and in the right order.

6

Attach to additional catalog items

For each catalog item that needs these variables, repeat the process of editing the Variable Sets related list. The same variables will appear identically on every item. Changes made to the source variable set will immediately affect all attached items without additional configuration.

Best practices

  • Always test variable set changes on a development item first — modifications propagate immediately to all attached items in production.

  • Use global variable sets sparingly for truly universal questions only — local sets give you more control and cleaner catalogs.

  • Document which catalog items use each variable set in the Description field before you have dozens of items to track down.

  • Don't mix business approval variables with technical configuration variables in the same set — they have different audiences and lifecycles.

  • Set meaningful Order values on both the variable set (controls where the group appears) and individual variables (controls sequence within the group).

Test Your Knowledge

Quick 3-question quiz — see how your ServiceNow skills stack up.

Question 1 of 3Performance

A list view on a table with millions of records is slow. Best fix?

Select an answer to continue