When IT services change or get discontinued, you need to pull catalog items from the user interface without breaking existing requests. This guide shows you how to properly retire catalog items while maintaining your request history and giving you options for temporary hiding.
Why catalog items need proper retirement
Deleting catalog items breaks reporting and makes existing requests look incomplete — the item name disappears from request records, and any flows or workflows referencing the item can fail. Platform admins end up fielding questions about missing request details, and business stakeholders lose visibility into what was requested historically. Simply removing items from categories isn't enough either — users can still find them through search or direct links, and they'll reappear if someone adds them back to a category accidentally.
How catalog item visibility works
ServiceNow uses multiple layers to control catalog item visibility: the Active field determines whether an item can be requested at all, category membership controls where it appears in the catalog structure, and availability dates let you set time-based restrictions. When you set an item to inactive, it disappears immediately from all catalog interfaces but existing sc_request records keep their connection to the item intact. This preserves your audit trail and request history while stopping new requests. The item stays in the database with all its configuration — variables, workflows, approvals — so you can reactivate it later if needed.
Advanced retirement strategies
For temporary hiding, use Start Date and End Date fields instead of setting items inactive — this lets you schedule items to disappear and reappear automatically. For permanent retirement with a grace period, set an End Date first to give users warning, then set the item inactive after the date passes. Some teams create a 'Retired Services' category to park old items where admins can find them but users can't, though setting them inactive is cleaner. Track retirement reasons in the item's description or use a custom field — you'll want this context when someone asks why an item was removed six months later.
Before you start
- •catalog_admin role or admin role
Sourdough: ServiceNow Monitoring and Analytics
A Chrome extension for ServiceNow Admins and Developers with essential tools, analytics, graphs and monitoring features.
Free to install. Pro $5/month after a 14-day no-card trial.
Pro requires the ServiceNow admin role. Upgrade inside the extension.
Step by step
Open the catalog item record
Navigate to Service Catalog > Catalog Definitions > Maintain Items. Find your catalog item using the search or filters. Click the item name to open the record. You'll see the item's full configuration — this is where you'll make the retirement changes.
Document the retirement reason
In the Description field, add a note about why and when this item was retired. Include the retirement date and reason — service discontinued, replaced by another item, or moved to a different system. This context helps future admins understand the item's history and whether it should stay retired.
Set the item to inactive
Uncheck the Active checkbox in the item's main form. This immediately removes the item from all catalog views, search results, and service portals. The item becomes non-requestable but stays in the database with all its configuration intact.
For temporary hiding, use the End Date field instead of unchecking Active — you can set a future reactivation date.
Remove category assignments
Click the Category tab and delete any category relationships listed there. While the inactive status already hides the item, removing category assignments ensures it won't accidentally reappear if someone reactivates it without thinking through proper placement. Click Update to save the changes.
Verify the item is hidden
Open a Service Portal or the Service Catalog module from an end-user perspective. Search for the item by name and browse the categories where it used to appear. The item should be completely absent from user-facing interfaces while still appearing in the Maintain Items list for administrators.
Check existing request records
Navigate to Self-Service > Requests and search for recent requests of this item type. Open one or two request records and verify the catalog item name still displays correctly in the Requested Item field. This confirms that retirement didn't break your historical data.
Best practices
Set items inactive rather than deleting them — deletion breaks historical request records and removes audit trails permanently.
Always document retirement reasons in the item description with dates — future admins need context for why items were retired and whether they should stay retired.
Use End Date for scheduled retirement instead of immediately setting items inactive — this gives users advance notice and prevents surprise service interruptions.
Remove category assignments after setting items inactive to prevent accidental reactivation in wrong locations.
Test retirement from the user perspective in Service Portal, not just the platform UI — items can behave differently across interfaces.
Test Your Knowledge
Quick 3-question quiz — see how your ServiceNow skills stack up.
A list view on a table with millions of records is slow. Best fix?
Select an answer to continue