1

Catalog Items Introduction

Understand the Service Catalog hierarchy and build professional catalog items from scratch.

Lesson 1

Catalog, Category & Catalog Item Creation

✓ Done

What is the Service Catalog?

The Service Catalog is a centralised, self-service portal in ServiceNow that allows employees to browse, request, and track IT and business services — much like an online shopping experience for your organisation. It eliminates the need for phone calls or emails to IT by providing a structured, trackable request mechanism.

The Service Catalog is built on the sc_catalog, sc_category, and sc_cat_item tables in the ServiceNow database. Every request submitted creates a record in the sc_request (REQ) and sc_req_item (RITM) tables. Understanding this data model is key to building reports and automation.

The 3-Level Catalog Hierarchy

Everything in the Service Catalog is structured in three levels. You must understand this hierarchy before creating anything:

LevelTableWhat it isExample
Catalogsc_catalogThe top-level store containerIT Service Catalog, HR Portal
Categorysc_categoryA grouping of related itemsHardware, Software, Access
Catalog Itemsc_cat_itemThe actual requestable service"Request a Laptop", "New Email Account"

Step-by-Step: Create a Service Catalog

  1. Navigate to Service Catalog > Catalogs in the Application Navigator.
  2. Click New to open a blank Catalog form.
  3. Enter a Title (e.g., "IT Service Catalog") — this is what users see on the portal.
  4. Add a Description to explain the purpose of this catalog.
  5. Set the Manager field — this person owns and governs the catalog.
  6. Add Editors (users who can manage content within this catalog).
  7. Optionally upload a Background Color or Banner Image for branding.
  8. Click Submit to save.

Step-by-Step: Create a Category

  1. Navigate to Service Catalog > Categories.
  2. Click New.
  3. Enter the Title (e.g., "Hardware Requests").
  4. Select the Catalog this category belongs to.
  5. Set a Parent category if this is a sub-category (e.g., "Peripherals" under "Hardware").
  6. Upload an Icon — icons significantly improve user navigation on the portal.
  7. Set the Order number to control the display sequence.
  8. Click Submit.

Step-by-Step: Create a Catalog Item

  1. Navigate to Service Catalog > Catalog Definitions > Maintain Items.
  2. Click New.
  3. Enter a clear, user-friendly Name (e.g., "Request a New Laptop").
  4. Add a Short Description — this appears in the catalog browse view (keep it under 80 chars).
  5. Write a detailed Description using the HTML editor to explain what users will receive.
  6. Select the Category where this item appears.
  7. Upload a Picture (recommended size: 200x200px).
  8. Set Availability to control who can see and request the item.
  9. Fill in Delivery Time to set user expectations.
  10. Click Submit. The item is now in the catalog.

Important Catalog Item Settings Explained

SettingPurposeBest Practice
NameUser-visible titleStart with a verb: "Request a…", "Get access to…"
Short DescriptionBrowse view summaryKeep under 80 characters
CategoryWhere item is groupedAlways assign — uncategorised items are hard to find
Workflow / FlowAutomation on submissionAlways link a workflow or Flow for proper routing
AvailabilityWho can requestRestrict to relevant user groups to reduce noise
Delivery TimeExpected SLA shown to userSet realistic expectations; drives user trust
PriceOptional chargeback costUse for showback/chargeback reporting
No Cart / No QuantityControls ordering behaviorEnable for one-time requests like "Reset Password"
Always add a clear picture and a detailed description to your catalog items. Research shows this reduces "I don't know what to request" help desk calls by over 30%.
🧪 Knowledge Check
What is the correct order of the Service Catalog hierarchy?
  • Category → Catalog → Catalog Item
  • Catalog → Category → Catalog Item
  • Catalog Item → Category → Catalog
  • Category → Catalog Item → Catalog
Lesson 2

Catalog Variables & Variable Sets

✓ Done

What are Variables?

Variables are the form fields on a catalog item — they capture information from the person submitting the request. Without variables, every catalog item would be a blank form. Variables are stored in the sc_item_variable table and their submitted values in sc_item_option_mtom.

Each variable you create is given a unique Name (internal identifier) and a Question (what the user sees). The name follows a snake_case convention (e.g., manager_email) and is used when referencing the value in scripts and workflows via current.variables.manager_email.

Complete Variable Type Reference

TypeUI ElementUse When…Example
Single Line TextText inputShort free-text answer"Full Name", "Cost Center"
Multi Line TextTextareaLonger input like descriptions"Business Justification"
Yes / NoCheckboxSimple true/false toggle"Do you need a docking station?"
Select BoxDropdown (single)One choice from a short list"Operating System: Win / Mac"
Multiple ChoiceRadio buttonsChoose one from visible options"Urgency: Low / Medium / High"
Check Box ListMulti-select checkboxesChoose many from a list"Required accessories"
ReferenceLookup fieldPick a record from any table"Assigned Manager" (from sys_user)
Date / Date-TimeDate pickerScheduling or deadlines"Required by date"
LabelStatic text (no input)Instructions or section headers"Please fill in all required fields"
Container Start / EndCollapsible sectionGroup related variables"Shipping Details" section
Lookup Select BoxDropdown from tableDynamic dropdown from DB query"Select your department"
MaskedPassword fieldSensitive input"Temporary password"

Step-by-Step: Add Variables to a Catalog Item

  1. Open your Catalog Item record.
  2. Scroll down to the Variables related list tab.
  3. Click New to open the Variable form.
  4. Choose the Type from the dropdown (e.g., Single Line Text).
  5. Enter the Question — what the user reads on the form.
  6. Enter the Name — the internal identifier (no spaces, use underscores).
  7. Set Mandatory to true if the field must be filled before submission.
  8. Set the Order number to control position (lower = higher on form).
  9. For Select Box / Multiple Choice — add choices in the Question Choices related list.
  10. Click Submit and preview your catalog item.

What are Variable Sets?

A Variable Set is a reusable collection of variables that can be attached to multiple catalog items. Instead of recreating the same five "Requester Details" fields on every item, you create one Variable Set and reference it everywhere.

Variable Sets come in two types: Single-Row (standard form fields shown once) and Multi-Row (a repeating table where users can add multiple rows — useful for "list of items to order" scenarios). They are stored in the io_set_item table.

Step-by-Step: Create and Attach a Variable Set

  1. Navigate to Service Catalog > Catalog Definitions > Variable Sets.
  2. Click New.
  3. Enter a Name (e.g., "Common Requester Info") and set Type to Single-Row.
  4. Add variables to the set (same process as adding variables to a catalog item).
  5. Submit and save.
  6. Open a Catalog Item. Scroll to the Variable Sets related list.
  7. Click Edit, move your Variable Set to the right column, and click Save.
  8. Set the Order on the Variable Set attachment to control where it appears relative to other variables.
Use Variable Sets for fields you reuse across 3+ catalog items. Examples: "Common Requester Info", "Shipping Address", "Financial Approval Details".
🧪 Knowledge Check
Which variable type would you use to let a user select their manager from the ServiceNow user database?
  • Select Box
  • Reference
  • Multiple Choice
  • Lookup Select Box
Lesson 3

UI Policies & Client Scripts

✓ Done

What are Catalog UI Policies?

UI Policies dynamically control the visibility, mandatory state, and read-only state of variables based on conditions — all in real-time without a page reload. They run entirely in the browser (client-side).

UI Policies are evaluated every time a variable value changes. They use simple condition builders rather than code, making them accessible to admins without deep JavaScript knowledge. Internally, they translate into client-side JavaScript that fires on the onChange event of watched variables.

What can a UI Policy do?

ActionEffectExample
Visible = true/falseShow or hide a variableShow "Mac RAM" only if OS = Mac
Mandatory = true/falseMake field required or optionalRequire justification if cost > $500
Read Only = true/falsePrevent user from editingLock "Manager" field after it's auto-filled

Step-by-Step: Create a Catalog UI Policy

  1. Open your Catalog Item and scroll to the Catalog UI Policies related list.
  2. Click New.
  3. Set a descriptive Short Description (e.g., "Show justification for costly items").
  4. Under Conditions, build the rule (e.g., Price is greater than 500).
  5. Check Reverse if false — this automatically undoes the policy when the condition is no longer met.
  6. Submit, then open the Catalog UI Policy Actions related list on that policy.
  7. Click New → choose the Variable to affect and set Mandatory/Visible/Read Only.
  8. Test on the catalog item request form.

What are Catalog Client Scripts?

Catalog Client Scripts let you write JavaScript that runs in the user's browser to create custom behaviors beyond what UI Policies support — such as auto-calculating totals, calling GlideAjax for server lookups, or providing instant validation feedback.

Client Script Types

TypeWhen it RunsCommon Use Case
onLoadWhen the catalog form first loadsPre-populate fields, hide sections by default
onChangeWhen a specific variable value changesShow/hide fields, calculate values dynamically
onSubmitWhen the user clicks "Order Now"Final validation before the request is created

Key Client Script API Methods

// Set a field value
g_form.setValue('field_name', 'value');

// Show or hide a field
g_form.setVisible('field_name', true/false);

// Make a field mandatory
g_form.setMandatory('field_name', true/false);

// Get the current value of a field
var val = g_form.getValue('field_name');

// Show an info/error message under a field
g_form.showFieldMsg('field_name', 'Please enter a valid cost center', 'error');
Prefer UI Policies over Client Scripts whenever possible — they are easier to maintain and understand. Only use Client Scripts when you need logic that UI Policies cannot handle (calculations, GlideAjax, complex conditions).
Never use hard-coded user sys_ids or group names in Client Scripts. Use dynamic lookups so your catalog items work across all environments (dev, test, prod).
Lesson 4

Catalog Item Workflows & Approvals

✓ Done

How Automation Connects to Catalog Items

When a user submits a catalog request, ServiceNow needs to know what to do with it. That's the job of a Workflow or Flow — it automates the entire fulfillment lifecycle: routing approvals, sending emails, creating tasks for fulfillment teams, and closing the request.

You link automation to a catalog item via the Process Engine tab on the catalog item form. Here you choose between a legacy Workflow (runs on RITM) or a Flow Designer flow. ServiceNow recommends Flow Designer for all new development starting from the Rome release (2021).

Connecting a Workflow/Flow to a Catalog Item

  1. Open your Catalog Item record.
  2. Click the Process Engine tab (if not visible, scroll right in the related lists or look for it as a field).
  3. In the Workflow field, click the lookup icon and select your workflow.
  4. Alternatively, in the Flow field, select a Flow Designer flow.
  5. Only one should be populated at a time — Workflow or Flow, not both.
  6. Click Update to save.

The REQ → RITM → SCTASK Hierarchy (Theory)

Understanding this data structure is fundamental to ServiceNow administration:

RecordTableDescriptionAnalogy
REQ (Request)sc_requestThe parent "order" — one per cart checkoutThe shopping order
RITM (Requested Item)sc_req_itemOne per catalog item in the order — workflow runs hereEach item in the cart
SCTASK (Catalog Task)sc_taskWork items generated by the workflow for fulfillment teamsPicking and packing tasks in a warehouse
Workflows run on the RITM, not the REQ. This is a common source of confusion. When debugging a workflow, always navigate to the RITM record, not the REQ.

Approval Types

Approval TypeBehaviorWhen to Use
Approval – UserRoutes to one specific named userFixed approver (e.g., always the IT Manager)
Approval – GroupAny member of the group can approve; first approval winsTeam-based approval (any senior engineer)
Approval CoordinatorManages complex multi-approver scenarios (parallel or sequential)Multi-level approval chains
Lesson 5

Catalog Tasks & Request Fulfillment

✓ Done

What are Catalog Tasks (SCTASKs)?

Catalog Tasks are the hands-on work items assigned to fulfillment teams. While approvals decide whether to proceed, catalog tasks define what actually needs to happen to deliver the service. Each SCTASK is assigned to an individual or group and must be closed before the workflow can proceed.

SCTASKs live in the sc_task table and inherit from the task table (same as Incidents, Changes, etc.) which is why they share common fields like Assignment Group, Priority, State, and Work Notes. This inheritance is core to ServiceNow's architecture.

Step-by-Step: Add a Catalog Task in a Workflow

  1. Open the Workflow Editor and find the workflow attached to your catalog item.
  2. From the Activities panel on the left, drag a Catalog Task activity onto the canvas.
  3. Double-click the activity to configure it.
  4. Set the Name (task subject) and Instructions for the fulfillment team.
  5. Set the Assignment Group (e.g., "IT Hardware Team").
  6. Enable Wait for completion if subsequent workflow steps depend on this task finishing.
  7. Connect the activity in the workflow sequence and publish.

RITM Lifecycle States

StateValueMeaning
Open1Request received, workflow starting
Work in Progress2Being actively worked on
Pending Approval-5Waiting for approver action
Approved-6Approval granted
Rejected4Approval denied, workflow ends
Closed Complete3All tasks done, request fulfilled
Closed Incomplete4Cancelled or could not be fulfilled

📌 Section 1 Summary

You now understand the complete Catalog hierarchy (Catalog → Category → Item), how to collect data using Variables and Variable Sets, control form behavior with UI Policies and Client Scripts, connect automation for approval/fulfillment, and how the REQ → RITM → SCTASK data model works.

2

ServiceNow Workflows

Design automated approval and fulfillment processes using the Workflow Editor.

Lesson 1

What is a Workflow?

✓ Done

Definition & Purpose

A Workflow in ServiceNow is a visual, flowchart-based automation engine. It defines a sequence of activities — approvals, notifications, scripts, tasks — connected by transitions that execute automatically when triggered by a record event.

Workflows operate via the wf_workflow and wf_activity tables. Each running instance of a workflow is a Workflow Context (wf_context), which stores the current state, variables, and execution history. This separation of definition vs. execution is key to understanding why changes to a published workflow don't affect already-running instances.

Core Workflow Concepts

ConceptDescriptionAnalogy
Workflow DefinitionThe blueprint/template — the design you createA recipe
Workflow ContextA running instance of a workflow on a specific recordA meal being cooked
ActivityA single step or action in the flowA cooking step
TransitionThe arrow between activities that controls flow directionMoving to the next step
VersionWorkflows are versioned; only one is "Published" at a timeRecipe version 2.0
StageA high-level phase label shown to users (e.g., "Approval", "Fulfillment")Section in a recipe

Accessing the Workflow Editor

  1. Navigate to Workflow > Workflow Editor in the Application Navigator.
  2. The editor opens in a new browser tab with a visual canvas.
  3. The Activities panel on the left lists all available activity types.
  4. The canvas (center) is where you design the workflow by dragging and connecting activities.
  5. The Properties panel on the right shows settings for the selected activity.
The Workflow Editor uses Adobe Flash in older instances. Modern ServiceNow versions use the HTML5-based editor. Always use a supported browser (Chrome or Firefox recommended).
Lesson 2

Workflow Design – Core Activities

✓ Done

Complete Activity Reference

ActivityCategoryPurpose
BeginCoreEntry point — every workflow starts here (auto-added)
EndCoreExit point — every path must terminate here
Approval – UserApprovalsRequest approval from a specific user
Approval – GroupApprovalsRequest approval from any member of a group
Approval CoordinatorApprovalsManage multi-level approval chains
NotificationCommunicationSend email or in-app notification
Create TaskTasksGenerate a catalog task (SCTASK)
Set ValuesDataUpdate field values on the current or related record
IfLogicConditional branch — Yes / No paths
SwitchLogicMulti-path branch based on a field value
Wait for ConditionTimingPause until a field condition becomes true
TimerTimingPause for a defined duration
Run ScriptAdvancedExecute server-side JavaScript (GlideScript)
Sub-WorkflowAdvancedCall another workflow as a reusable step

Step-by-Step: Build Your First Workflow

  1. Go to Workflow > Workflow Editor and click New Workflow.
  2. Enter a Name (e.g., "Laptop Request Approval") and select the Table: sc_req_item.
  3. Click Submit — the canvas opens with Begin and End activities pre-placed.
  4. Drag an Approval – User activity between Begin and End.
  5. Double-click the Approval activity to open its settings.
  6. Set Approver to: javascript: current.requested_for.manager; (routes to requester's manager).
  7. Connect: Begin → Approval (Approved) → End.
  8. Add a second End activity and connect: Approval (Rejected) → End (Rejected).
  9. Click Publish in the top right to activate the workflow.
  10. Attach it to your catalog item via the Process Engine tab.
Always have separate End activities for each outcome (approved, rejected, cancelled). This enables accurate reporting and prevents confused state management.
Lesson 3

Approval & Notification Activities Deep Dive

✓ Done

Configuring Approval Activities (Theory)

The Approval activity creates a record in the sysapproval_approver table. The approver receives an email and can also approve/reject directly from the Service Portal or mobile app. Once the required approvals are received, the workflow context automatically transitions to the next activity.

Dynamic Approver Scripts

// Route to the requester's direct manager
current.requested_for.manager

// Route to a specific user by username
gs.getUserByName('john.smith')

// Route to the manager of a specific group
var gr = new GlideRecord('sys_user_group');
gr.get('name', 'IT Security');
gr.manager;

Approval Outcomes & Transitions

OutcomeTransition LabelWhen it Fires
ApprovedApprovedAll required approvers accepted
RejectedRejectedAny approver rejected the request
CancelledCancelledThe workflow was manually cancelled
ErrorErrorNo valid approver could be resolved

Configuring Notification Activities

  1. Drag a Notification activity onto the canvas.
  2. Double-click it to open settings.
  3. Choose an existing Notification record or create one inline.
  4. Set the To field dynamically, e.g., javascript: current.opened_by.email;
  5. Use notification variables in the email body: ${opened_by.name}, ${number}.
  6. Configure the Event if you want to use the ServiceNow event system instead of direct email.
Send confirmation notifications at three key milestones: (1) request submitted, (2) approval decision, (3) request fulfilled. This reduces "Where is my request?" help desk tickets significantly.
Lesson 4

Conditions, Branching & Transitions

✓ Done

The "If" Activity — Conditional Branching

The If activity splits the workflow into two paths (Yes / No) based on a condition evaluated at runtime. This is how you create intelligent routing — for example, routing high-value requests to a senior approver.

Behind the scenes, the If activity evaluates a GlideRecord condition or a JavaScript expression against the current record at the moment of execution. The result (true/false) determines which transition fires. Conditions are evaluated server-side, not client-side.

Step-by-Step: Add Conditional Branching

  1. Drag an If activity onto the canvas, positioned after Begin.
  2. Double-click it and write the Condition script (e.g., current.price > 1000).
  3. The activity shows two exit connectors: Yes and No.
  4. Connect Yes to a Senior Approval path.
  5. Connect No to a Standard Approval path.
  6. Both paths should eventually converge or lead to appropriate End activities.

Accessing Catalog Item Variables in Conditions

// Access a catalog variable named "urgency"
current.variables.urgency == 'high'

// Check if a checkbox variable is ticked
current.variables.expedite == true

// Check the dollar value of the request
parseInt(current.variables.estimated_cost) > 5000

Transition Conditions

Beyond If activities, you can add conditions directly to transition arrows between activities. Right-click any arrow → Edit to add JavaScript logic that controls whether that transition fires.

Keep workflows readable. If a workflow exceeds 15–20 activities with deeply nested If trees, refactor into Sub-Workflows. Maintainability is critical — someone will need to debug this at 2 AM someday.
Lesson 5

End-to-End Workflow Build & Debugging

✓ Done

Pre-Publish Checklist

  • ✅ Every path from Begin reaches an End activity.
  • ✅ Approval activities have Approved, Rejected, and Error transitions wired.
  • ✅ Notifications use dynamic variables — no hardcoded emails.
  • ✅ Workflow table is set correctly (e.g., sc_req_item).
  • ✅ Workflow is Published, not saved as a draft.
  • ✅ Catalog Item is linked to this workflow.
  • ✅ Tested in sub-production before production deployment.

Debugging Running Workflows

  1. Submit a test request through the Service Catalog.
  2. Navigate to the RITM record that was created.
  3. Click the Workflow context icon (flow icon in the header) to see the live execution.
  4. The highlighted activity shows where the workflow is currently paused.
  5. To see all running contexts: Workflow > Active Contexts.
  6. To see errors: System Logs > All — filter by Source = "Workflow".
  7. To manually advance a stuck workflow: right-click the next activity and choose Execute Now (use carefully).

📌 Section 2 Summary

You can now build complete workflows with approvals, email notifications, conditional routing, catalog tasks, and sub-workflows. You know how to publish, link, and debug live workflow instances.

3

Flow Designer

The modern, low-code automation platform — ServiceNow's recommended approach for all new automation.

Lesson 1

Flow Designer – Introduction & Triggers

✓ Done

What is Flow Designer?

Flow Designer is ServiceNow's modern, low-code/no-code process automation platform introduced in the Kingston release (2017) and significantly enhanced since. It replaces the legacy Workflow Editor with a cleaner interface, pre-built integrations (Spokes), and a more collaborative development experience.

Flow Designer uses a different data model from Workflows. Flows are stored in the sys_hub_flow table and actions in sys_hub_action_type. Unlike Workflows which run on a single record, Flows can operate on multiple records, call external APIs, and trigger from events beyond just record updates. This makes Flow Designer significantly more powerful for modern integration scenarios.

Workflow vs. Flow Designer — Detailed Comparison

FeatureWorkflow (Legacy)Flow Designer (Modern)
InterfaceNode/canvas-based (complex)Sequential step list (clean)
IntegrationsScripting requiredPre-built Spoke Actions (Slack, Teams, JIRA, etc.)
Trigger TypesRecord events onlyRecord events, scheduled, inbound email, API call
ReusabilitySub-workflowsSubflows + reusable Actions
Data PassingWorkflow scratchpad (complex)Data Pills (visual, intuitive)
Error HandlingManual error transitionsBuilt-in error handling blocks
Recommended ForLegacy or very complex cases✅ All new development

Trigger Types Reference

TriggerWhen it FiresExample Use Case
Record CreatedNew record insertedNew Incident opened → notify team
Record UpdatedField value changesIncident resolved → send survey
Service CatalogSpecific catalog item submittedLaptop request submitted → start approval
ScheduledCron-based scheduleEvery Monday: send open ticket report
Inbound EmailEmail received matching criteriaEmail to it@co.com → create incident
Application (API)Called by another flow or REST callExternal system triggers onboarding flow

Creating a Flow — Step by Step

  1. Navigate to Process Automation > Flow Designer.
  2. Click NewFlow.
  3. Enter a Name and select an Application Scope (use Global for org-wide flows).
  4. Click Submit — the Flow Designer editor opens.
  5. Click Add a Trigger and select the trigger type (e.g., Service Catalog).
  6. Configure trigger settings (e.g., select the specific Catalog Item).
  7. Click Done to confirm the trigger setup.
Lesson 2

Actions, Subflows & Data Pills

✓ Done

Flow Designer Building Blocks

ComponentPurposeStored In
Action (Step)A single automated operation (send email, create record, etc.)sys_hub_step_ext
SubflowA reusable flow called from within a parent flow — like a functionsys_hub_flow
Custom ActionA reusable single step you build with scripts or REST callssys_hub_action_type
SpokeA packaged collection of actions for an external systemsn_hub_spoke
Data PillA dynamic reference to a value from a previous step — drag to useN/A (UI concept)

Understanding Data Pills (Theory)

Data Pills are Flow Designer's most powerful concept. Every action produces output — that output becomes a "pill" you can drag into subsequent action inputs. This eliminates the need for variables and complex scripts in most cases.

Data Pills are displayed as small colored badges in the Flow Designer UI. Blue pills come from the Trigger (the original record). Orange pills come from previous action outputs. When you click any input field in an action, a Data Picker opens showing all available pills organised by their source step. This visual data flow makes flows much easier to understand and maintain than workflow scratchpad variables.

Common Built-in Actions

ActionPurpose
Ask for ApprovalCreate approval request — equivalent to Workflow approval activity
Create RecordInsert a new record into any table
Update RecordModify fields on an existing record
Look Up Record(s)Query a table to find records matching conditions
Delete RecordRemove a record from a table
Send EmailSend a notification email using a template
LogWrite a debug message to the execution log
Wait for ConditionPause flow until a record field condition becomes true
Run ScriptExecute a custom server-side JavaScript block
Call SubflowExecute a reusable subflow and receive its outputs

Using Data Pills — Practical Example

  1. Add a Look Up Record action. Query the sys_user table to find the requester's manager.
  2. The result becomes a Data Pill: [Look Up Record > User Record > Manager].
  3. Add an Ask for Approval action. Click the Approvers input field.
  4. The Data Picker opens — drag the manager pill from Step 1 into the Approvers field.
  5. The approval is now dynamically routed to whoever is the manager — no hardcoding.
Data Pills are the Flow Designer equivalent of workflow scratchpad variables — but visual, type-safe, and far easier to maintain.
Lesson 3

Building a Complete Flow – End to End

✓ Done

Complete Catalog Approval Flow — Step by Step

  1. Create a new Flow. Add a Service Catalog trigger, select your Catalog Item.
  2. Add Step 1: Ask for Approval. Set Approvers using the data pill: Trigger → Requested Item → Requested For → Manager.
  3. Add an If condition block: Approval State | is | Approved.
  4. Then branch: Add Create Record → Table: sc_task. Set Short Description, Assignment Group using data pills.
  5. Then branch: Add Update Record → Set RITM State to "Work in Progress".
  6. Then branch: Add Send Email to notify the requester of approval.
  7. Else branch: Add Update Record → Set RITM State to "Closed Incomplete".
  8. Else branch: Add Send Email to notify the requester of rejection.
  9. Click Activate (top right) to publish the flow.
  10. Link the flow to your Catalog Item and submit a test request.

Viewing Execution Logs

  1. Navigate to Process Automation > Flow Designer.
  2. Open your flow and click the Executions tab.
  3. Click any execution entry to see the complete step-by-step log.
  4. Each step shows: input values, output values, duration, and any errors.
  5. Use the Log action in your flow to write custom debug messages here.

📌 Section 3 Summary

Flow Designer is ServiceNow's future. You now understand Triggers, Actions, Data Pills, Subflows, and how to build, activate, and debug complete flows. For all new ServiceNow automation, prefer Flow Designer over legacy Workflows.

4

Record Producer & Order Guides

Advanced catalog tools for creating any type of record and bundling multiple services into one request.

Lesson 1

Record Producer

✓ Done

What is a Record Producer?

A Record Producer is a special catalog item that, when submitted, creates a record in any ServiceNow table — not just the standard REQ/RITM tables. It allows users to interact with complex back-end tables through a simple, friendly catalog interface.

Record Producers are stored in the sc_cat_item_producer table (which extends sc_cat_item). When submitted, a Script field on the Record Producer maps the variable values to fields on the target record. The target table is defined in the Table field. This is fundamentally different from a standard catalog item where variables are stored separately in the sc_item_option table.

Record Producer vs. Standard Catalog Item

FeatureStandard Catalog ItemRecord Producer
CreatesRITM record + optional SCTASKsAny table record (Incident, Change, Custom)
Variables stored insc_item_option (separate)Mapped directly to target table fields
Fulfillment viaWorkflow / Flow on RITMBusiness Rules / Workflows on target table
Best forService requests with catalog tasks"Report a problem", Create a Change, Custom records
Appears in portalYes — Service CatalogYes — exactly the same as a regular item

Step-by-Step: Create a Record Producer

  1. Navigate to Service Catalog > Catalog Definitions > Record Producers.
  2. Click New.
  3. Enter a Name (e.g., "Report a Network Issue").
  4. Set the Table — this is where the new record will be created (e.g., incident).
  5. Add a Category so users can find it in the catalog.
  6. Add Variables — the form fields users fill in (same as a regular catalog item).
  7. Write the Script to map variables to target table fields (see below).
  8. Optionally add a Redirect URL to send users to the created record after submission.
  9. Submit and test.

The Mapping Script — Theory & Examples

The Script field runs server-side after form submission. The producer object holds variable values; the current object is the new record being created.

// Map variable answers to Incident fields
current.short_description = producer.issue_description;
current.urgency            = producer.urgency_level;
current.description       = producer.detailed_description;

// Set static values
current.category = 'network';
current.assignment_group.setDisplayValue('Network Team');

// Map the caller to the currently logged-in user
current.caller_id = gs.getUserID();
Add producer.redirect = current.getLink(); at the end of your script to redirect users to the newly created record after submission — this dramatically improves the user experience.
🧪 Knowledge Check
In a Record Producer script, which object holds the values the user entered in the form?
  • current
  • g_form
  • producer
  • request
Lesson 2

Order Guides

✓ Done

What is an Order Guide?

An Order Guide is a bundled catalog experience that presents multiple catalog items in a single, wizard-like request flow. When submitted, it creates one REQ containing multiple RITMs — each with its own workflow running independently. This is ideal for complex, multi-team onboarding or provisioning scenarios.

Order Guides are stored in the sc_cat_item_guide table. The included items are linked via sc_cat_item_guide_items. Crucially, each included item's workflow runs independently in parallel — so the IT task, HR task, and Facilities task can all be fulfilled simultaneously without waiting for each other, dramatically reducing overall fulfillment time.

Order Guide vs. Standard Catalog Item

FeatureStandard ItemOrder Guide
Creates1 RITM1 REQ with multiple RITMs
FulfillmentSingle workflowMultiple parallel workflows
User experienceSingle formMulti-step wizard
Best forSingle service requestOnboarding, office moves, project setups
Conditional itemsVia UI PoliciesVia Rule Bases

Step-by-Step: Create an Order Guide

  1. Navigate to Service Catalog > Catalog Definitions > Order Guides.
  2. Click New.
  3. Enter a Name (e.g., "New Employee Onboarding Package").
  4. Add a Short Description and assign a Category.
  5. Submit to create the guide record.
  6. Scroll to the Included Items related list and click New.
  7. Search for and select each catalog item to include (e.g., "Request Laptop", "Create Email Account", "Issue Badge").
  8. For each item, set whether it is Mandatory (user cannot deselect) or optional.
  9. Click Try It (top right) to preview the wizard as an end user would see it.

Rule Bases — Conditional Item Inclusion

Rule Bases allow items in an Order Guide to appear or be hidden conditionally based on earlier answers — creating a dynamic, personalised wizard experience.

  1. On the Order Guide record, scroll to the Rule Bases related list.
  2. Click New.
  3. Write a Script condition (e.g., producer.computer_type == "mac").
  4. Link this rule to a specific Included Item — the item will only appear when the rule evaluates to true.
  5. Test by submitting different variable combinations in the preview.
Order Guides shine for New Employee Onboarding. A single submission can simultaneously trigger: IT (laptop + software), HR (badge + system access), Facilities (desk + parking), and Finance (cost center assignment).

📌 Section 4 Summary

Record Producers let you create any ServiceNow record through the Service Catalog using a friendly form and a mapping script. Order Guides bundle multiple items into one wizard experience with conditional logic via Rule Bases. Together, they complete your Service Catalog toolkit.

🎓 Course Complete — What You've Mastered

Catalog ItemsHierarchy, Variables, Variable Sets, UI Policies, Client Scripts, RITM lifecycle
WorkflowsActivities, Approval routing, Notifications, Conditional branching, Debugging
Flow DesignerTriggers, Actions, Data Pills, Subflows, Spoke Actions, Execution logs
Record Producer & Order GuidesMapping scripts, target tables, Rule Bases, multi-RITM requests