UI Policies

Create a UI Policy for a Catalog Item

Catalog UI policies let you show or hide variables based on what users select, making complex forms feel simpler and preventing confusing combinations. You'll create a policy that responds to catalog variable changes and controls other variables accordingly.

Why static catalog forms create problems

Without UI policies, catalog items show every variable regardless of what users select. Someone requesting a laptop gets desktop monitor options, mobile users see desktop software choices, and forms become overwhelming. Service catalog managers try to solve this with separate catalog items for every scenario, which creates maintenance nightmares. End users get confused by irrelevant options and submit incomplete or incorrect requests.

How catalog UI policies work

A catalog UI policy watches for changes to one or more catalog variables and then modifies other variables — hiding them, making them mandatory, or changing their read-only status. The policy has conditions that define when it triggers and actions that define what changes to make. Unlike form UI policies that affect database fields, catalog UI policies work with catalog variables and have separate channel targeting for web portal, mobile, and service portal. The policy evaluates client-side as users interact with the form.

Building sophisticated catalog experiences

Start with simple show/hide logic based on single variable values, then add mandatory field control based on selections. Advanced policies use multiple conditions with AND/OR logic, apply to specific channels only, and use script-based conditions for complex business rules. Well-designed policies reduce catalog item sprawl, improve request quality, and create guided experiences where users only see relevant options for their specific scenario.

Before you start

  • catalog_admin role or admin role
  • Existing catalog item with multiple variables
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 your catalog item

Go to Service Catalog > Catalog Definitions > Maintain Items and open the catalog item that needs the UI policy. You'll see the item's configuration tabs across the top — this is where catalog UI policies live, separate from standard form policies.

2

Create the catalog UI policy

Click the UI Policies tab, then New. Set Short description to something specific like 'Hide software options when hardware type is mobile'. Leave Catalog UI Policy checked and Active checked. The UI policies here only affect this catalog item — they don't inherit from or affect other items.

TIP

Use descriptive names that include the trigger condition — you'll thank yourself when debugging multiple policies later.

3

Configure the applies on setting

Set Applies on to control which channels use this policy. Choose 'All' for web portal, mobile, and service portal, or pick specific channels if the behavior should differ. Leave Run scripts checked unless you're only doing simple show/hide actions. Most policies should run everywhere unless you have channel-specific requirements.

4

Set the policy conditions

In the Conditions section, click the condition builder. Select the catalog variable that triggers this policy from the Variable dropdown, choose your operator (usually 'is' or 'is one of'), and enter the value that activates the policy. For example: Variable 'Device Type' is 'Mobile Device'. The condition determines when ServiceNow applies the actions.

5

Add catalog variable actions

In the Catalog UI Policy Actions related list, click New. Choose the target variable from the Variable dropdown — this is what gets modified. Set Type to 'Visible' to show/hide, 'Mandatory' to make required, or 'Read Only' to prevent editing. Check or uncheck the box to enable/disable that behavior. For hiding variables, uncheck Visible.

TIP

Add multiple actions to the same policy rather than creating separate policies for each variable — it's more maintainable.

6

Set the execution order

Back on the main policy record, set Order to control when this policy runs relative to others. Use increments of 100 (like 100, 200, 300) so you can insert policies between existing ones later. Lower numbers run first. Policies that set mandatory fields should run after policies that show/hide those same fields.

7

Test the policy behavior

Save the policy and test it by opening the catalog item in the service portal or catalog preview. Change the trigger variable value and verify the target variables show, hide, or become mandatory as expected. Test both positive and negative cases — when the condition matches and when it doesn't. Check all three channels if you chose 'All' for Applies on.

Best practices

  • Use specific order numbers with gaps (100, 200, 300) rather than sequential numbers — you'll need to insert policies between existing ones.

  • Create separate policies for show/hide versus mandatory actions on the same variables — mixing them in one policy creates confusing interactions.

  • Test policies in all applicable channels since Service Portal and mobile can behave differently than the standard web interface.

  • Keep conditions simple and avoid complex scripted conditions unless absolutely necessary — they're harder to debug and maintain.

  • Group related variable actions in the same policy rather than creating one policy per variable — fewer policies means easier troubleshooting.

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