Install
$ agentstack add skill-happy-technologies-llc-happy-platform-skills-update-set-management ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Update Set Management
Overview
Update sets are the foundation of ServiceNow configuration management. This skill covers:
- Creating properly named update sets
- Setting the current update set for development
- Tracking what's captured in an update set
- Moving records between update sets
- Preparing update sets for deployment
- Validating update sets before migration
When to use: Whenever making configuration changes in ServiceNow development or test instances.
Prerequisites
- Roles:
adminorupdate_set_admin - Access: sysupdateset and sysupdatexml tables
- Environment: Development or test instance (never create update sets in production)
Procedure
Step 1: Create a New Update Set
Create a descriptive update set following naming conventions.
Naming Convention:
[PROJECT]-[TYPE]-[DESCRIPTION]-[VERSION]
Examples:
- PROJ123-FEAT-NewTicketForm-v1
- HR-FIX-OnboardingWorkflow-v2
- ITSM-ENH-IncidentAutoAssign-v1
Using MCP:
Tool: SN-Create-Record
Parameters:
table_name: sys_update_set
data:
name: "PROJ123-FEAT-CustomerPortal-v1"
description: "New customer portal feature including:
- Custom catalog items
- Portal widgets
- Service catalog categories"
application: [app_sys_id] # For scoped apps
state: in progress
Using REST API:
POST /api/now/table/sys_update_set
Content-Type: application/json
{
"name": "PROJ123-FEAT-CustomerPortal-v1",
"description": "New customer portal feature...",
"state": "in progress"
}
Step 2: Set as Current Update Set
Make your new update set active so changes are captured.
Using MCP (Automated!):
Tool: SN-Set-Update-Set
Parameters:
update_set_sys_id: [sys_id from step 1]
Verification:
Tool: SN-Get-Current-Update-Set
Expected response:
{
"name": "PROJ123-FEAT-CustomerPortal-v1",
"sys_id": "abc123...",
"state": "in progress"
}
Step 3: Make Configuration Changes
Now make your configuration changes. All customizations will be captured:
Automatically Captured:
- UI Policies
- Business Rules
- Client Scripts
- Script Includes
- Forms and Lists
- ACLs
- Properties
- Scheduled Jobs
NOT Automatically Captured:
- Data records (use Data Preservers)
- User records
- Group memberships
- Some system properties
Step 4: Monitor Update Set Contents
Periodically check what's being captured.
Using MCP:
Tool: SN-Inspect-Update-Set
Parameters:
update_set_sys_id: [your_update_set_sys_id]
Or query directly:
Tool: SN-Query-Table
Parameters:
table_name: sys_update_xml
query: update_set=[your_update_set_sys_id]
fields: name,type,action,sys_created_on
limit: 100
Expected Output: | Name | Type | Action | Created | |------|------|--------|---------| | My Business Rule | sysscript | INSERT | 2026-02-06 | | Incident Form | sysui_policy | INSERT | 2026-02-06 |
Step 5: Handle Records in Wrong Update Set
If records accidentally went to Default or wrong update set:
Using MCP:
Tool: SN-Move-Records-To-Update-Set
Parameters:
source_update_set: Default # or sys_id
target_update_set: [your_update_set_sys_id]
query: sys_created_onONToday@javascript:gs.beginningOfToday()@javascript:gs.endOfToday()
Manual Method:
Tool: SN-Query-Table
Parameters:
table_name: sys_update_xml
query: update_set=[wrong_set_sys_id]^sys_created_onONToday
fields: sys_id,name,type
# Then for each record:
Tool: SN-Update-Record
Parameters:
table_name: sys_update_xml
sys_id: [record_sys_id]
data:
update_set: [correct_update_set_sys_id]
Step 6: Complete the Update Set
When development is complete, mark as complete:
Using MCP:
Tool: SN-Update-Record
Parameters:
table_name: sys_update_set
sys_id: [your_update_set_sys_id]
data:
state: complete
description: "COMPLETED: [original description]
Contains:
- 3 Business Rules
- 2 UI Policies
- 1 Script Include
- 5 Form modifications
Tested by: [tester name]
Test date: 2026-02-06"
Step 7: Pre-Deployment Validation
Before exporting to higher environments:
Check for Issues:
Tool: SN-Query-Table
Parameters:
table_name: sys_update_xml
query: update_set=[sys_id]^type=sys_script^actionINinsert,update
fields: name,payload
Validation Checklist:
- [ ] No hardcoded sys_ids
- [ ] No hardcoded instance URLs
- [ ] No test data included
- [ ] All scripts have error handling
- [ ] No credentials in scripts
- [ ] Dependencies documented
Step 8: Export and Migrate
Export to XML: Navigate to the update set → Related Links → Export to XML
For Remote Instances:
- On target instance: System Update Sets → Retrieved Update Sets → Import from XML
- Preview the update set
- Review conflicts
- Commit the update set
Update Set States
┌─────────────┐ ┌──────────┐ ┌───────────┐
│ In Progress │────►│ Complete │────►│ Exported │
│ (build) │ │ (ready) │ │ (shipped) │
└─────────────┘ └──────────┘ └───────────┘
│
▼
┌──────────┐
│ Ignore │
│ (voided) │
└──────────┘
Tool Usage Summary
| Operation | MCP Tool | REST Endpoint | |-----------|----------|---------------| | Create | SN-Create-Record | POST /sysupdateset | | Set Current | SN-Set-Update-Set | Custom API | | Get Current | SN-Get-Current-Update-Set | GET /sysuserpreference | | List | SN-List-Update-Sets | GET /sysupdateset | | Inspect | SN-Inspect-Update-Set | GET /sysupdatexml | | Move Records | SN-Move-Records-To-Update-Set | PATCH /sysupdatexml | | Clone | SN-Clone-Update-Set | POST /sysupdateset |
Best Practices
- One Feature Per Update Set: Don't mix unrelated changes
- Descriptive Names: Follow naming conventions consistently
- Regular Commits: Complete update sets incrementally, not all at once
- Test Before Promoting: Always test in a lower environment first
- Document Dependencies: Note if other update sets must be applied first
- Never Edit in Production: Always develop in dev/test instances
Troubleshooting
Records Going to Default Update Set
Cause: Current update set not set or got reset Solution: Always verify current update set before making changes:
Tool: SN-Get-Current-Update-Set
Missing Records in Update Set
Cause: Record type not tracked or created before setting update set Solution:
- Check if record type is tracked (sysupdateset_source)
- Manually add using "Add to Update Set" related link
Conflicts During Commit
Cause: Same record modified in multiple update sets Solution:
- Preview update set first
- Review conflicts carefully
- Choose to keep local or skip
- Document conflict resolution
Update Set Too Large
Cause: Too many changes in single update set Solution:
- Clone to new update set
- Split logically by feature
- Remove unnecessary records
Related Skills
admin/deployment-workflow- Full deployment processadmin/scoped-app-development- Scoped application best practicesitsm/change-management- Change process for deployments
References
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Happy-Technologies-LLC
- Source: Happy-Technologies-LLC/happy-platform-skills
- License: Apache-2.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.