Service Catalog Request Fulfillment

SkillProductivity

Service catalog request processing, fulfillment workflows, and task management

Available today. Use it from your connected AI after setup.

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:

TableKey Fields
sc_requestnumber, requested_for, stage, approval
sc_req_itemrequest, cat_item, stage, variables
sc_taskrequest_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 started
  • requested - Waiting for approver
  • approved - Approved
  • rejected - Rejected
  • cancelled - 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

OperationMCP ToolTable
Find requestsSN-Query-Tablesc_request
Find itemsSN-Query-Tablesc_req_item
Find tasksSN-Query-Tablesc_task
Update statusSN-Update-Recordsc_task/sc_req_item
Add notesSN-Add-Work-Notessc_task
Check approvalsSN-Query-Tablesysapproval_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:

  1. Check sysapproval_approver for the approver
  2. Send reminder or escalate
  3. Check workflow for errors

Tasks Not Auto-Generated

Cause: Workflow not published or execution issue Solution:

  1. Check workflow context for errors
  2. Verify workflow is published
  3. 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 items
  • itsm/incident-lifecycle - If request becomes incident
  • admin/workflow-creation - Fulfillment workflows

References

Signals

GitHub stars
38
Forks
13
Last commit
Jul 2026
Advanced
Catalog kind
skill
Gateway key
request-fulfillment
Source
github.com/happy-technologies-llc/happy-platform-skills