Service Catalog Request Fulfillment
SkillProductivityService catalog request processing, fulfillment workflows, and task management
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Service Catalog Request Fulfillment skill
What this skill tells your AI
The instructions your AI receives, as published by happy-technologies-llc/happy-platform-skills in skills/catalog/request-fulfillment/SKILL.md and read by ahel’s review.
Overview
This skill covers the end-to-end service catalog request fulfillment process:
- Understanding request structure (Request → Item → Task)
- Processing incoming requests
- Managing fulfillment tasks
- Approval workflows
- Closing requests properly
When to use: When fulfilling service catalog requests, managing request queues, or troubleshooting fulfillment issues.
Prerequisites
- Roles:
catalog_admin,itil, or fulfillment group membership - Access: sc_request, sc_req_item, sc_task tables
- Knowledge: Service catalog structure, fulfillment workflows
Procedure
Step 1: Understand Request Hierarchy
ServiceNow 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 |
Step 2: Query Pending Requests
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
Step 3: Review Request Details
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
Step 4: Process Fulfillment Tasks
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
Step 5: Handle Approvals
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- Cancelled
If 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."
Step 6: Complete Fulfillment
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
Step 7: Handle Special Cases
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/Item Stages
Request Stages:
Requested → Approved → Delivery → Closed Complete
↘ Rejected → Request Cancelled
RITM Stages:
Waiting for Approval → Fulfillment → Delivery → Closed Complete
↘ Request Cancelled
Tool Usage Summary
| 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 |
Best Practices
- Check Approvals First: Don't start fulfillment until approved
- Document Variables: Record what was specifically requested
- Update Regularly: Keep work notes current for visibility
- Verify Completion: Confirm with requester before closing
- Close Parent Records: Ensure REQ closes when all RITMs complete
- SLA Awareness: Monitor fulfillment time against SLA targets
Troubleshooting
Request Stuck in "Waiting for Approval"
Cause: Approver hasn't responded or approval rule issue Solution:
- Check sysapproval_approver for the approver
- Send reminder or escalate
- Check workflow for errors
Tasks Not Auto-Generated
Cause: Workflow not published or execution issue Solution:
- Check workflow context for errors
- Verify workflow is published
- Manually create tasks if needed
Cannot Close RITM
Cause: Open child tasks Solution: Close all sc_task records first, then close RITM
Related Skills
catalog/item-creation- Creating catalog itemsitsm/incident-lifecycle- If request becomes incidentadmin/workflow-creation- Fulfillment workflows
References
Signals
- GitHub stars
- 37
- Forks
- 13
- Last commit
- Jul 2026
Advanced
- Catalog kind
- skill
- Gateway key
request-fulfillment- Source
- github.com/happy-technologies-llc/happy-platform-skills