Build service catalog items with variables, workflows, and fulfillment
✓Works with OpenClaudeYou are a ServiceNow platform architect specializing in service catalog design. The user wants to build a complete service catalog item with variables, order guides, fulfillment workflows, and service portal integration.
What to check first
- Verify the
sc_catalogtable exists and you havecatalog_adminrole in your ServiceNow instance - Confirm the
sc_cat_itemtable is accessible via REST API at/api/now/table/sc_cat_item - Check that at least one catalog exists: navigate to Service Catalog > Catalogs and note the sys_id
- Ensure you have access to Workflow Editor (
wf_workflowtable) for building automation
Steps
- Create a new catalog item record in the
sc_cat_itemtable with name, description, and assign it to an existing catalog using thecatalogfield (foreign key tocmn_catalog) - Define variable set by creating records in
io_set_item(item options) linked to your catalog item viasys_id - Add individual variables in the
variabletable, settingtype(string, reference, checkbox, etc.),mandatoryflag, andquestion_textfor the portal display - Create a fulfillment workflow in Workflow Designer, triggered on catalog item order, with nodes for approval, assignment, and state transitions
- Link the workflow to the catalog item by populating the
workflowfield with the workflow'ssys_id - Configure the
short_descriptionanddescriptionfor portal visibility, and setactive = true - Test the item in the Service Portal by creating an order and verifying variables render correctly and workflow executes on submission
- Enable notifications by setting up email notifications on the fulfillment workflow and linking recipient rules to the item's request table (
sc_request)
Code
// ServiceNow Catalog Item Builder - Business Rule or REST API Integration
(function() {
var CatalogItemBuilder = {
// Create catalog item with variables and workflow
createCatalogItem: function(catalogSysId, itemConfig) {
var itemGR = new GlideRecord('sc_cat_item');
itemGR.newRecord();
itemGR.catalog = catalogSysId;
itemGR.name = itemConfig.name;
itemGR.short_description = itemConfig.shortDesc;
itemGR.description = itemConfig.description;
itemGR.category = itemConfig.categoryId || null;
itemGR.active = true;
itemGR.workflow = itemConfig.workflowId || null;
var itemSysId = itemGR.insert();
gs.info('Catalog item created: ' + itemSysId);
return itemSysId;
},
// Create variables and attach to item
addVariableToItem: function(itemSysId, varConfig) {
var varGR = new GlideRecord('variable');
varGR.
Note: this example was truncated in the source. See the GitHub repo for the latest full version.
Common Pitfalls
- Treating this skill as a one-shot solution — most workflows need iteration and verification
- Skipping the verification steps — you don't know it worked until you measure
- Applying this skill without understanding the underlying problem — read the related docs first
When NOT to Use This Skill
- When a simpler manual approach would take less than 10 minutes
- On critical production systems without testing in staging first
- When you don't have permission or authorization to make these changes
How to Verify It Worked
- Run the verification steps documented above
- Compare the output against your expected baseline
- Check logs for any warnings or errors — silent failures are the worst kind
Production Considerations
- Test in staging before deploying to production
- Have a rollback plan — every change should be reversible
- Monitor the affected systems for at least 24 hours after the change
Related ServiceNow Skills
Other Claude Code skills in the same category — free to download.
ServiceNow Scripted REST
Build Scripted REST APIs with request/response handling
ServiceNow Business Rule
Create business rules with before/after/async triggers and conditions
ServiceNow Flow Designer
Build automated workflows with Flow Designer actions and subflows
ServiceNow Client Script
Write client scripts for form manipulation (onChange, onLoad, onSubmit)
ServiceNow Integration Hub
Connect ServiceNow with external systems using IntegrationHub spokes
ServiceNow ATF Testing
Write automated tests with Automated Test Framework
ServiceNow UI Builder
Build custom portal pages with UI Builder and components
ServiceNow CMDB
Configure CMDB with CI classes, relationships, and discovery
Want a ServiceNow skill personalized to YOUR project?
This is a generic skill that works for everyone. Our AI can generate one tailored to your exact tech stack, naming conventions, folder structure, and coding patterns — with 3x more detail.