Service catalog request processing, fulfillment workflows, and task management
This skill covers the end-to-end service catalog request fulfillment process:
When to use: When fulfilling service catalog requests, managing request queues, or troubleshooting fulfillment issues.
catalog_admin, itil, or fulfillment group membershipServiceNow uses a three-level hierarchy:
sc_request (Request)
├── sc_req_item (Requested Item) - One per catalog item ordered
│ ├── sc_task (Catalog Task) - Fulfillment tasks
│ └── sc_task (Catalog Task) - Additional tasks
└── sc_req_item (Requested Item) - If multiple items ordered
└── sc_task (Catalog Task)
Key Fields:
| Table | Key Fields |
|---|---|
| sc_request | number, requested_for, stage, approval |
| sc_req_item | request, cat_item, stage, variables |
| sc_task | request_item, assignment_group, state |
Find requests awaiting fulfillment:
Tool: SN-Query-Table
Parameters:
table_name: sc_req_item
query: stage=requested^assignment_group=[your_group_sys_id]
fields: number,short_description,cat_item,requested_for,sys_created_on
limit: 50
Find tasks assigned to your group:
Tool: SN-Query-Table
Parameters:
table_name: sc_task
query: state=1^assignment_group=[your_group_sys_id]
fields: number,short_description,request_item,assigned_to,priority
limit: 50
Get full request item with variables:
Tool: SN-Query-Table
Parameters:
table_name: sc_req_item
query: number=RITM0012345
fields: sys_id,number,short_description,description,cat_item,requested_for,opened_by,variables
Variable Values are stored in sc_item_option_mtom table:
Tool: SN-Query-Table
Parameters:
table_name: sc_item_option_mtom
query: request_item=[ritm_sys_id]
fields: sc_item_option,item_option_new.value,item_option_new.item_option_new.question_text
Accept/Start a Task:
Tool: SN-Update-Record
Parameters:
table_name: sc_task
sys_id: [task_sys_id]
data:
state: 2 # Work in Progress
assigned_to: [your_user_sys_id]
work_notes: "Starting fulfillment work"
Document Progress:
Tool: SN-Add-Work-Notes
Parameters:
sys_id: [task_sys_id]
table_name: sc_task
work_notes: |
Fulfillment Progress:
1. ✅ Verified request details
2. ✅ Checked inventory availability
3. 🔄 Provisioning in progress
4. ⏳ Pending: Delivery scheduling
Check Approval Status:
Tool: SN-Query-Table
Parameters:
table_name: sysapproval_approver
query: sysapproval=[ritm_sys_id]
fields: approver,state,sys_updated_on,comments
Approval States:
not yet requested - Approval not startedrequested - Waiting for approverapproved - Approvedrejected - Rejectedcancelled - CancelledIf Rejected, Notify Requester:
Tool: SN-Update-Record
Parameters:
table_name: sc_req_item
sys_id: [ritm_sys_id]
data:
stage: Request Cancelled
comments: "Your request was not approved. Reason: [rejection reason]. Please contact your manager for more information."
Close Fulfillment Task:
Tool: SN-Update-Record
Parameters:
table_name: sc_task
sys_id: [task_sys_id]
data:
state: 3 # Closed Complete
close_notes: |
Fulfillment Complete:
- Software installed on LAPTOP-12345
- User notified via email
- Verified user can access application
work_notes: "Task completed successfully"
Close Requested Item: When all tasks are complete, close the RITM:
Tool: SN-Update-Record
Parameters:
table_name: sc_req_item
sys_id: [ritm_sys_id]
data:
stage: Closed Complete
close_notes: "All fulfillment tasks completed. User has been notified."
Close Parent Request: When all RITMs are complete:
Tool: SN-Update-Record
Parameters:
table_name: sc_request
sys_id: [req_sys_id]
data:
stage: Closed Complete
request_state: closed_complete
Request Cancellation:
Tool: SN-Update-Record
Parameters:
table_name: sc_req_item
sys_id: [ritm_sys_id]
data:
stage: Request Cancelled
close_notes: "Cancelled per user request via email dated 2026-02-06"
Partial Fulfillment:
Tool: SN-Update-Record
Parameters:
table_name: sc_req_item
sys_id: [ritm_sys_id]
data:
stage: Closed Incomplete
close_notes: "Partial fulfillment: Software installed but license limit reached. Remaining 5 licenses on backorder."
Request Stages:
Requested → Approved → Delivery → Closed Complete
↘ Rejected → Request Cancelled
RITM Stages:
Waiting for Approval → Fulfillment → Delivery → Closed Complete
↘ Request Cancelled
| Operation | MCP Tool | Table |
|---|---|---|
| Find requests | SN-Query-Table | sc_request |
| Find items | SN-Query-Table | sc_req_item |
| Find tasks | SN-Query-Table | sc_task |
| Update status | SN-Update-Record | sc_task/sc_req_item |
| Add notes | SN-Add-Work-Notes | sc_task |
| Check approvals | SN-Query-Table | sysapproval_approver |
Cause: Approver hasn't responded or approval rule issue Solution:
Cause: Workflow not published or execution issue Solution:
Cause: Open child tasks Solution: Close all sc_task records first, then close RITM
catalog/item-creation - Creating catalog itemsitsm/incident-lifecycle - If request becomes incidentadmin/workflow-management - Fulfillment workflows