skills/catalog/request-fulfillment/SKILL.md
Service catalog request processing, fulfillment workflows, and task management
npx skillsauth add happy-technologies-llc/happy-servicenow-skills request-fulfillmentInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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 workflowstesting
Manage supplier onboarding, qualification, performance monitoring, and offboarding with auditable lifecycle controls
tools
Identify emerging risks, prioritize intake signals, and route candidates into formal GRC risk assessment workflows
documentation
Screen inbound documents for completeness, policy risk, and routing readiness before extraction or case workflows
testing
Generate concise task summaries with status, timeline, blockers, SLA risk, and recommended next actions