‹ All interview questions

Core Concepts

Your background includes building Service Catalog or self-service portals with forms that kick off backend…

The question

Your background includes building Service Catalog or self-service portals with forms that kick off backend workflows. ServiceNow has a 'Service Catalog' with 'Catalog Items', 'Record Producers', and 'Order Guides.' Explain each to a developer who's built shopping-cart-style request systems before, and describe the full lifecycle of a catalog request.

Why Interviewers Ask This

ServiceNow's Service Catalog is its self-service storefront — employees browse, request, and track services. If you've built e-commerce checkout flows or internal request portals in .NET, the mental model maps directly.

The E-Commerce Parallel

// E-Commerce Site (what you've built)
// Product Page       → Catalog Item
// Product Variants   → Variable Sets (form fields)
// Add to Cart        → Add to Cart (yes, same concept)
// Checkout           → Request (sc_request)
// Order Line Item    → Requested Item (sc_req_item)
// Order Processing   → Fulfillment Workflow / Flow
// Order Status Page  → My Requests portal

// Record Producer = A form that creates a record directly
// (like a 'Report a Bug' form that creates an Incident record)
// No cart, no approval — straight to the target table.

// Order Guide = A wizard that bundles multiple catalog items
// (like a 'New Employee Onboarding' that orders laptop +
//  badge + parking + email account in one guided flow)

The Full Request Lifecycle

  • Step 1 — Browse & Request: User finds 'Request a Laptop' in the Service Catalog. Fills out variables (specs, justification). Submits.
  • Step 2 — Request Created: A sc_request record is created (the 'order'). One or more sc_req_item records are created (the 'line items'). Each RITM can have its own workflow/flow.
  • Step 3 — Approval: Flow Designer or Workflow checks: does this need manager approval? If cost > $1000, route to finance. Like conditional middleware in your checkout pipeline.
  • Step 4 — Fulfillment: After approval, sc_task records are created and assigned to fulfillment groups (IT procurement orders the laptop, Facilities sets up the desk). Each task can be tracked independently.
  • Step 5 — Delivery & Closure: All tasks complete → RITM auto-closes → Request auto-closes. User gets notification. SLA metrics captured.
// Catalog Client Script — Dynamic form behavior
// Like JavaScript on a checkout form
function onChange(control, oldValue, newValue, isLoading) {
  if (isLoading) return;
  
  // If 'Laptop Type' is 'MacBook Pro', show 'Apple ID' field
  if (newValue == 'macbook_pro') {
    g_form.setVisible('apple_id', true);
    g_form.setMandatory('apple_id', true);
  } else {
    g_form.setVisible('apple_id', false);
    g_form.setMandatory('apple_id', false);
  }
}

// Catalog Item variables are stored in sc_item_option_mtom
// — like order metadata in an OrderDetails table

Key Terminology Cheat Sheet

  • Variable: A form field on a catalog item (text, select, checkbox). Like an input in your checkout form.
  • Variable Set: A reusable group of variables shared across catalog items. Like a partial view / form component in .NET.
  • Execution Plan: Defines what tasks get created when the request is fulfilled. Like a pipeline definition.
  • Multi-row Variable Set (MRVS): A repeatable table inside a catalog form — like a dynamic 'add another row' section in a form for ordering multiple items.
💡 .NET Developer Pro Tip

The Service Catalog is one of the most business-visible parts of ServiceNow. Your full-stack instincts about form UX, validation, conditional logic, and workflow orchestration apply directly. The biggest difference: you configure most of this through the UI, not code. Code is only needed for complex variable logic or custom fulfillment integrations.