Service Catalog

Add Variables to a Catalog Item

Variables turn a static catalog item into a dynamic form that collects exactly the information you need from requesters. This guide shows you how to add the most common variable types and organize them for a clean user experience.

Why catalog items need variables

Without variables, catalog items are just glorified work order generators — someone clicks a button, a request gets created with no context, and the fulfillment team has to email back asking for details. Variables let you capture that information upfront: which software version they need, who their manager is, what security access level they're requesting. The people who build catalog items — service owners and catalog admins — use variables to turn generic requests into actionable work orders with all the details already collected.

How variables work on catalog items

Variables are input fields that appear on the catalog item form when users request it. You can add them directly to the catalog item (inline variables) or group them in Variable Sets that get reused across multiple items. Each variable has a type — Single Line Text for short answers, Reference to link to other ServiceNow records, Checkbox for yes/no choices. The order you set determines how they appear on the form, and ServiceNow stores the answers as question/answer pairs on the resulting request record.

Building production-quality variable forms

Start with the core variables you absolutely need, then add refinements like conditional visibility (show/hide variables based on other answers), validation rules, and default values that make sense for your users. Group related variables into Variable Sets once you find yourself building similar forms repeatedly. The best catalog forms collect everything needed for fulfillment without overwhelming the requester — that balance comes from iterating based on actual usage patterns.

Before you start

  • catalog_admin or admin role
  • An existing catalog item to modify
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

Open the catalog item

Navigate to Service Catalog > Catalog Definitions > Catalog Items and open your item. Click the Variables tab — this is where you'll add input fields that appear on the request form. If you see existing variables, new ones will appear below them in the order you create them.

TIP

The Variables tab won't appear until you save the catalog item at least once.

2

Add a Single Line Text variable

Click New on the Variables tab. Set Type to Single Line Text, Name to something like 'business_justification' (no spaces, lowercase), and Question to what users will see like 'Business justification for this request'. Set Order to 100. Leave Max length at 4000 unless you need shorter responses. Click Submit.

3

Create a Reference variable

Click New again and set Type to Reference. Name it 'manager' and Question to 'Your manager'. Set Reference to User [sys_user] — this creates a dropdown of all users in the system. Set Order to 200. Check Mandatory if manager approval is required for fulfillment. Click Submit.

4

Add a Checkbox variable

Click New and set Type to Checkbox. Name it 'urgent_request' and Question to 'This request is urgent and needed within 24 hours'. Set Order to 300. Leave Checked unchecked so it defaults to false. This gives users a simple yes/no choice. Click Submit.

5

Test the variable order

Click Preview on the catalog item to see how your variables appear to requesters. They'll show up in Order sequence — 100, 200, 300. If the layout looks wrong, go back to the Variables tab and adjust the Order values. Use increments of 100 so you can insert variables later without renumbering everything.

6

Consider using Variable Sets

If you're building multiple catalog items that need similar variables (like manager approval or business justification), navigate to Service Catalog > Catalog Definitions > Variable Sets instead. Create the variables there, then add the Variable Set to multiple catalog items via the Variable Sets tab. This keeps common variables consistent across your catalog.

Best practices

  • Never set Default Values on Reference variables — they store sys_ids that break when you clone instances or move between environments.

  • Use Order values in increments of 100 (100, 200, 300) so you can insert variables later without renumbering your entire form.

  • Keep variable Names lowercase with underscores — they become column names in the database and JavaScript doesn't like spaces or special characters.

  • Test your variables in Preview mode before publishing — variable changes are immediate and users will see broken forms if you misconfigure required fields.

  • Group related variables into Variable Sets once you're reusing the same 3+ variables across multiple catalog items — it's easier to maintain one set than dozens of duplicate inline variables.

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