v2026.1 Open Portal ↗
On this page

Catalog Overview

Catalog Architecture

The StackFlow Service Catalog is the self-service interface through which users request IT services. The catalog architecture separates the service definition layer (catalog items with variables and workflows) from the fulfillment layer (assignment groups, approval chains, and tasks). This separation allows catalog items to be updated without impacting in-flight requests.

⚙️ Minimum Requirements
  • DynamoDB: StackFlow_CatalogCategory and StackFlow_CatalogItem tables provisioned
  • S3: stackflow-catalog-assets-373544523367 bucket for catalog item icons and attachments
  • IAM: StackFlowAPIRole with s3:GetObject, s3:PutObject on the catalog assets bucket

Catalog items are stored in Aurora PostgreSQL with versioning support — changes to a catalog item create a new version while existing open RITMs continue to use the original version definition. The catalog is rendered as a searchable, filterable grid in the self-service portal.

Search: Catalog search uses semantic matching via the Bedrock Knowledge Base. A user searching for "get a new mouse" will find the "Hardware Request" catalog item even if that exact phrase isn't in the item description.

Catalog Categories

CategoryExamplesTypical Fulfillment Time
HardwareLaptop, Monitor, Keyboard, Headset5-10 business days
SoftwareLicense, IDE, VPN client1-2 business days
AccessSystem access, VPN, Badge access1 business day
Cloud ResourcesEC2 instance, S3 bucket, RDS database1 hour (automated)
Account ManagementNew employee setup, password reset4 hours
FacilitiesDesk booking, parking, facilities request2 business days

Catalog Item Types

StackFlow supports three catalog item types. Standard Items follow a simple form-submit-fulfill pattern. Multi-stage Items require sequential approvals and tasks from multiple teams. Automated Items trigger a Lambda function or workflow directly, with no human fulfillment required — these are used for cloud resource provisioning, access grants, and similar automated tasks.

Catalog Variables

Catalog item variables are the form fields presented to the user when submitting a request. StackFlow supports text, multi-line text, dropdown, multi-select, date picker, user picker, CI reference, and file upload variable types. Variables can be made mandatory, conditionally visible (based on other variable values), and validated with regex patterns.

{
  "catalog_item": {
    "name": "New Laptop Request",
    "category": "hardware",
    "variables": [
      {"name": "preferred_model", "type": "dropdown", "required": true,
       "options": ["MacBook Pro 14 M4", "Dell XPS 15", "ThinkPad X1 Carbon"]},
      {"name": "business_justification", "type": "textarea", "required": true, "min_length": 50},
      {"name": "current_laptop_age", "type": "number", "required": false, "unit": "years"},
      {"name": "manager_approval", "type": "user_picker", "required": true, "role_filter": "manager"}
    ]
  }
}

Integration with ITSM

When a catalog item is fulfilled, it can optionally create linked records in ITSM. For example, a "New Laptop" fulfillment automatically creates a Change record for the asset tag assignment and a CMDB CI entry. Bidirectional linking ensures the full audit trail is maintained across catalog and ITSM modules.