skills/csm/sidebar-summarization/SKILL.md
Generate sidebar summaries for customer service agents with case context, customer history, and recommended actions to accelerate case handling
npx skillsauth add happy-technologies-llc/happy-servicenow-skills csm-sidebar-summarizationInstall 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 generates concise sidebar summaries for customer service agents working in Agent Workspace. When an agent opens or is assigned a case, the sidebar summary provides instant context without requiring the agent to read through the entire case history. It covers:
When to use: When agents need rapid context upon accepting a case, during live chat or phone interactions, or when reviewing a queue of assigned cases.
Value proposition: Reduces average handle time by providing agents with pre-assembled case context, customer history, and actionable recommendations in a scannable sidebar format. Eliminates the need to manually navigate between multiple records to build context.
com.sn_customerservice) must be activesn_customerservice_agent, sn_customerservice_manager, or csm_adminsn_customerservice_case, interaction, csm_consumer, customer_account, customer_contact, sys_journal_field, and kb_knowledge tablesFetch the case currently open in the agent's workspace.
Using MCP (Claude Code/Desktop):
Tool: SN-Read-Record
Parameters:
table_name: sn_customerservice_case
sys_id: [case_sys_id]
fields: sys_id,number,short_description,description,state,priority,urgency,impact,category,subcategory,contact,account,consumer,product,asset,assigned_to,assignment_group,opened_at,sla_due,escalation,contact_type,resolution_code
Using REST API:
GET /api/now/table/sn_customerservice_case/{case_sys_id}?sysparm_fields=sys_id,number,short_description,description,state,priority,urgency,impact,category,subcategory,contact,account,consumer,product,asset,assigned_to,assignment_group,opened_at,sla_due,escalation,contact_type,resolution_code&sysparm_display_value=true
Fetch the consumer record to understand the customer's profile and history summary.
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: csm_consumer
query: sys_id=[consumer_sys_id]
fields: sys_id,name,email,phone,location,account,customer_tier,notes,preferred_language,time_zone
limit: 1
Using REST API:
GET /api/now/table/csm_consumer/{consumer_sys_id}?sysparm_fields=sys_id,name,email,phone,location,account,customer_tier,notes,preferred_language,time_zone&sysparm_display_value=true
Retrieve account-level details for entitlement and priority context.
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: customer_account
query: sys_id=[account_sys_id]
fields: sys_id,name,number,customer_tier,industry,notes,phone,street,city,state,country,account_code
limit: 1
Using REST API:
GET /api/now/table/customer_account/{account_sys_id}?sysparm_fields=sys_id,name,number,customer_tier,industry,notes,phone,account_code&sysparm_display_value=true
Query recent cases for the same consumer or account to identify patterns.
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: sn_customerservice_case
query: consumer=[consumer_sys_id]^sys_id!=[current_case_sys_id]^ORDERBYDESCopened_at
fields: sys_id,number,short_description,state,priority,category,opened_at,closed_at,resolution_code
limit: 10
Using REST API:
GET /api/now/table/sn_customerservice_case?sysparm_query=consumer=[consumer_sys_id]^sys_id!=[current_case_sys_id]^ORDERBYDESCopened_at&sysparm_fields=sys_id,number,short_description,state,priority,category,opened_at,closed_at,resolution_code&sysparm_limit=10&sysparm_display_value=true
Pull the latest interactions for the case and the consumer.
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: interaction
query: parent=[case_sys_id]^ORDERBYDESCopened_at
fields: sys_id,number,type,channel,state,opened_at,closed_at,short_description,assigned_to,direction
limit: 5
For consumer-level interaction history:
Tool: SN-Query-Table
Parameters:
table_name: interaction
query: opened_for=[consumer_sys_id]^ORDERBYDESCopened_at
fields: sys_id,number,channel,state,opened_at,short_description
limit: 10
Using REST API:
GET /api/now/table/interaction?sysparm_query=parent=[case_sys_id]^ORDERBYDESCopened_at&sysparm_fields=sys_id,number,type,channel,state,opened_at,closed_at,short_description,assigned_to,direction&sysparm_limit=5&sysparm_display_value=true
GET /api/now/table/interaction?sysparm_query=opened_for=[consumer_sys_id]^ORDERBYDESCopened_at&sysparm_fields=sys_id,number,channel,state,opened_at,short_description&sysparm_limit=10&sysparm_display_value=true
Search for knowledge articles matching the case category and product.
Using MCP:
Tool: SN-NL-Search
Parameters:
query: [case_short_description]
table: kb_knowledge
limit: 5
Using REST API:
GET /api/now/table/kb_knowledge?sysparm_query=topic=[case_category]^workflow_state=published^ORDERBYDESCsys_view_count&sysparm_fields=sys_id,number,short_description,kb_knowledge_base,sys_view_count,rating&sysparm_limit=5&sysparm_display_value=true
Pull the most recent work notes for quick context on current progress.
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: sys_journal_field
query: element_id=[case_sys_id]^element=work_notes^ORDERBYDESCsys_created_on
fields: sys_id,value,sys_created_on,sys_created_by
limit: 5
Using REST API:
GET /api/now/table/sys_journal_field?sysparm_query=element_id=[case_sys_id]^element=work_notes^ORDERBYDESCsys_created_on&sysparm_fields=sys_id,value,sys_created_on,sys_created_by&sysparm_limit=5
Compile all gathered data into a compact sidebar format:
=== SIDEBAR SUMMARY ===
CASE: CS0012345 | P2 | In Progress
Issue: Unable to process returns through online portal
Age: 4 days | SLA Due: Mar 21 14:00 (On Track)
Channel: Phone | Escalation: Normal
CUSTOMER SNAPSHOT:
Name: Jane Smith | Account: Acme Corp (Gold Tier)
Preferred Language: English | Timezone: US/Eastern
Contact: [email protected] | +1-555-0123
CASE HISTORY (Last 90 days):
- 3 total cases | 2 resolved | 1 open (this case)
- Common categories: Portal Issues (2), Billing (1)
- Avg resolution time: 3.2 days
RECENT ACTIVITY:
- Mar 18: Agent reviewed portal logs, found session timeout
- Mar 17: Customer provided browser details
RECOMMENDED ACTIONS:
1. Review KB0045123: "Portal Session Timeout Troubleshooting"
2. Check related defect DEF0034521 for fix status
3. Consider escalation if not resolved by Mar 20
RELATED KB ARTICLES:
- KB0045123: Portal session management (42 views)
- KB0045089: Browser compatibility guide (28 views)
| Tool | When to Use |
|------|-------------|
| SN-NL-Search | Natural language lookup for cases, consumers, or knowledge articles |
| SN-Query-Table | Structured queries across case, interaction, consumer, and KB tables |
| SN-Read-Record | Retrieve a single case or consumer record by sys_id |
| Endpoint | Method | Purpose |
|----------|--------|---------|
| /api/now/table/sn_customerservice_case | GET | Query case records |
| /api/now/table/interaction | GET | Retrieve case and consumer interactions |
| /api/now/table/csm_consumer | GET | Consumer profile details |
| /api/now/table/customer_account | GET | Account tier and entitlement info |
| /api/now/table/customer_contact | GET | Contact preferences and details |
| /api/now/table/sys_journal_field | GET | Work notes and comments |
| /api/now/table/kb_knowledge | GET | Knowledge article recommendations |
Cause: The case may not have a consumer linked, or the consumer was created as an anonymous contact.
Solution: Fall back to the contact field on the case. Query customer_contact instead of csm_consumer using the contact sys_id.
Cause: This may be the customer's first case, or historical cases are archived.
Solution: Expand the search to account-level cases using account=[account_sys_id] instead of filtering by consumer.
Cause: The category-based search may return generic articles.
Solution: Use SN-NL-Search with the case short_description for semantic matching. Combine category and product filters for more targeted results.
Cause: SLA definitions may not be configured for the case type or priority.
Solution: Query task_sla with task=[case_sys_id] to check if SLAs are attached. Consult CSM admin if SLAs are tracked externally.
Cause: Interactions may be stored with a different parent reference or the channel integration may not create interaction records.
Solution: Check if interactions use document instead of parent as the reference field. Also query sys_journal_field for comments that may capture interaction history.
Scenario: Agent accepts an incoming chat and needs instant context.
Step 1 - Get case from interaction:
Tool: SN-Query-Table
Parameters:
table_name: interaction
query: sys_id=[interaction_sys_id]
fields: parent,opened_for,channel
limit: 1
Step 2 - Build sidebar from parent case:
Tool: SN-Read-Record
Parameters:
table_name: sn_customerservice_case
sys_id: [parent_sys_id]
fields: number,short_description,state,priority,consumer,account,category,opened_at,sla_due
Output:
LIVE CHAT CONTEXT
Case: CS0078901 | P3 | New
Issue: Billing discrepancy on March invoice
Customer: Robert Chen | TechStart Inc (Silver)
Previous cases: 1 (resolved - similar billing issue in Jan)
Suggested KB: KB0067890 - Invoice reconciliation guide
Scenario: Agent reviewing their assigned case queue needs summaries for each case.
Tool: SN-Query-Table
Parameters:
table_name: sn_customerservice_case
query: assigned_to=[agent_sys_id]^stateIN1,2,10^ORDERBYpriority
fields: sys_id,number,short_description,state,priority,consumer,account,category,opened_at,sla_due,escalation
limit: 20
Output:
QUEUE SUMMARY (5 cases assigned)
1. CS0078901 | P1 | SLA: 2hrs remaining | Acme Corp (Gold)
Production outage - API gateway errors
ACTION: Immediate attention required
2. CS0078905 | P2 | SLA: On Track | Globex (Silver)
Password reset failing for SSO users
ACTION: Check KB0045200, likely config issue
3. CS0078910 | P3 | SLA: On Track | Initech (Bronze)
Feature request - export to CSV
ACTION: Route to product team for evaluation
Scenario: A P1 escalated case requires executive-level summary with full customer context.
Tool: SN-Read-Record
Parameters:
table_name: sn_customerservice_case
sys_id: [case_sys_id]
fields: number,short_description,state,priority,escalation,consumer,account,category,opened_at,sla_due,assigned_to,assignment_group
Output:
ESCALATED CASE SUMMARY
Case: CS0099001 | P1 CRITICAL | Escalated
Issue: Complete service outage affecting all users
Account: MegaCorp Industries (Platinum Tier)
Age: 6 hours | SLA: BREACHED (4hr target)
Escalation Level: 2 | Assigned: Sr. Engineer Team
Customer Impact: 500+ users affected
Previous escalations: 0 in last 12 months
EXEC ALERT: Platinum account - VP notification required
csm/case-summarization - Full case summarization with complete timelinecsm/sentiment-analysis - Customer sentiment analysis across communicationscsm/chat-recommendation - Generate chat response recommendationscsm/suggested-steps - AI-generated resolution step recommendationscsm/trending-topics - Trending topic analysis across case portfolioknowledge/content-recommendation - Knowledge article recommendationstesting
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