skills/itsm/case-auto-resolve/SKILL.md
Auto-resolve common cases and incidents using pattern matching, knowledge base lookups, and historical resolution data to enable zero-touch service desk operations
npx skillsauth add happy-technologies-llc/happy-servicenow-skills case-auto-resolveInstall 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 automates the resolution of common, repetitive incidents and cases by leveraging pattern matching against known issues, knowledge base article lookups, and historical resolution data. It enables a zero-touch service desk workflow where routine tickets are resolved without human intervention.
When to use: When you want to reduce manual ticket handling for repetitive, well-understood issues that have documented solutions or consistent historical resolutions.
itil, knowledge_manager, or incident_managercom.snc.incident (Incident Management), com.glide.knowledge (Knowledge Management)incident, read on kb_knowledge, sn_agent_workspace, sys_cs_channelQuery for new or open incidents that match auto-resolvable categories.
Using MCP (Claude Code/Desktop):
Tool: SN-NL-Search
Parameters:
table_name: incident
query: "active incidents in new state with category software or hardware or network where short description contains password reset or access request or VPN or printer"
fields: sys_id,number,short_description,description,category,subcategory,priority,state,contact_type
limit: 50
Using REST API:
GET /api/now/table/incident?sysparm_query=active=true^state=1^categoryINsoftware,hardware,network^short_descriptionLIKEpassword reset^ORshort_descriptionLIKEaccess request^ORshort_descriptionLIKEVPN^ORshort_descriptionLIKEprinter&sysparm_fields=sys_id,number,short_description,description,category,subcategory,priority,state,contact_type&sysparm_limit=50
Define resolution patterns for common incident types:
| Pattern ID | Category | Keywords | Resolution Template | Confidence Threshold | |-----------|----------|----------|---------------------|---------------------| | PWD-001 | Software | password, reset, locked, expired | Password Reset Procedure | 0.90 | | ACC-001 | Software | access, permission, role, group | Access Request Fulfillment | 0.85 | | VPN-001 | Network | VPN, connect, tunnel, remote | VPN Troubleshooting Steps | 0.85 | | PRN-001 | Hardware | printer, print, queue, jam | Printer Reset Guide | 0.80 | | EML-001 | Software | email, outlook, calendar, mailbox | Email Configuration Fix | 0.85 | | DRV-001 | Hardware | disk, storage, space, full | Disk Cleanup Procedure | 0.80 |
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: incident
query: state=6^resolved_atONLast 90 days@javascript:gs.daysAgoStart(90)@javascript:gs.daysAgoEnd(0)^short_descriptionLIKEpassword reset
fields: sys_id,number,short_description,close_code,close_notes,resolution_code
limit: 20
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: kb_knowledge
query: workflow_state=published^active=true^short_descriptionLIKEpassword reset
fields: sys_id,number,short_description,text,kb_category,rating,sys_view_count
limit: 5
Using REST API:
GET /api/now/table/kb_knowledge?sysparm_query=workflow_state=published^active=true^short_descriptionLIKEpassword reset&sysparm_fields=sys_id,number,short_description,text,kb_category,rating,sys_view_count&sysparm_limit=5
For each candidate incident, compute a confidence score based on:
confidence = (keyword_score * 0.4) + (kb_relevance * 0.3) + (historical_rate * 0.3)
Only auto-resolve when confidence >= threshold defined in the pattern rule.
For incidents meeting the confidence threshold, apply the resolution:
Using MCP:
Tool: SN-Update-Record
Parameters:
table_name: incident
sys_id: [incident_sys_id]
data:
state: 6
close_code: Solved (Permanently)
close_notes: "Auto-resolved: Password reset completed via self-service portal. KB article KB0012345 applied. Confidence score: 0.93."
resolved_by: [auto_resolve_user_sys_id]
resolution_code: Solved Remotely
Using REST API:
PATCH /api/now/table/incident/{sys_id}
Content-Type: application/json
{
"state": "6",
"close_code": "Solved (Permanently)",
"close_notes": "Auto-resolved: Password reset completed via self-service portal. KB article KB0012345 applied. Confidence score: 0.93.",
"resolved_by": "[auto_resolve_user_sys_id]",
"resolution_code": "Solved Remotely"
}
Using MCP:
Tool: SN-Add-Work-Notes
Parameters:
sys_id: [incident_sys_id]
work_notes: |
=== AUTO-RESOLUTION ANALYSIS ===
Pattern: PWD-001 (Password Reset)
Confidence Score: 0.93 / 1.00
Matching Factors:
- Keywords matched: "password", "reset", "locked" (score: 0.38/0.40)
- KB article: KB0012345 - Password Reset Procedure (score: 0.28/0.30)
- Historical success: 94% of 127 similar incidents resolved successfully (score: 0.27/0.30)
Resolution Applied:
- Self-service password reset link sent to user email
- KB article KB0012345 attached to incident
- User notified via email with resolution steps
Escalation: Not required (confidence above threshold 0.90)
When confidence falls below the threshold, route to a human agent with context:
Using MCP:
Tool: SN-Update-Record
Parameters:
table_name: incident
sys_id: [incident_sys_id]
data:
assignment_group: [service_desk_l2_sys_id]
work_notes: "Auto-resolve attempted but confidence too low (0.62). Partial pattern match on VPN-001. Requires human review. KB articles KB0034567, KB0034568 may be relevant."
Query resolved incidents to track success rates:
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: incident
query: close_notesLIKEAuto-resolved^resolved_atONLast 30 days@javascript:gs.daysAgoStart(30)@javascript:gs.daysAgoEnd(0)
fields: sys_id,number,category,close_code,state,reopened
limit: 200
Track these KPIs:
| Tool | Purpose | When to Use |
|------|---------|-------------|
| SN-NL-Search | Find candidate incidents using natural language | Initial ticket discovery |
| SN-Query-Table | Structured queries for KB articles and history | Pattern matching and validation |
| SN-Update-Record | Apply resolution to incidents | Auto-resolve or escalate |
| SN-Add-Work-Notes | Document auto-resolution reasoning | Audit trail and transparency |
| SN-Get-Table-Schema | Discover available fields on tables | Setup and configuration |
sys_cs_channel for conversation history before resolvingCause: Resolution did not address the actual issue; pattern match was a false positive Solution: Review the incident description for nuances missed by keyword matching. Refine pattern rules and consider adding negative keywords (e.g., "not" + keyword).
Cause: Knowledge base lacks coverage for this incident type
Solution: Create a new KB article from the historical resolution data. Use knowledge/article-generation skill.
Cause: Insufficient historical data or patterns too broad Solution: Narrow pattern keywords, increase historical data window, or lower threshold temporarily while monitoring quality.
Cause: sn_agent_workspace views may cache stale data
Solution: Verify the incident state change propagated. Check business rules on the incident table that may block state transitions.
Input: INC0045678 - "My password is expired and I cannot log in to my workstation"
Analysis:
Action: Auto-resolve with password reset link and KB article reference.
Input: INC0045679 - "VPN keeps disconnecting after 10 minutes when using video calls"
Analysis:
Action: Escalate to Network Operations with context notes and relevant KB articles.
Input: INC0045680 - "Cannot print to the 3rd floor printer, jobs stuck in queue"
Analysis:
Action: Auto-resolve with printer queue clear instructions and restart steps.
itsm/incident-triage - Manual incident triage for complex casesitsm/suggested-steps - Generate resolution steps for non-auto-resolvable incidentsitsm/predict-assignment - Predict assignment group for escalated ticketsknowledge/content-recommendation - Find relevant KB articlesknowledge/article-generation - Create new KB articles from resolution datatesting
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