csm-sidebar-summarization
Generate sidebar summaries for customer service agents with case context, customer history, and recommended actions to accelerate case handling
Install
mkdir -p .claude/skills/csm-sidebar-summarization && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/16357" && unzip -o skill.zip -d .claude/skills/csm-sidebar-summarization && rm skill.zipInstalls to .claude/skills/csm-sidebar-summarization
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Generate sidebar summaries for customer service agents with case context, customer history, and recommended actions to accelerate case handlingAbout this skill
Sidebar Summarization
Overview
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:
- Generating a compact case overview with priority, status, and age
- Pulling customer history including past cases, interactions, and satisfaction scores
- Summarizing the consumer profile and account tier for entitlement context
- Identifying related or similar cases that may indicate a broader issue
- Recommending next-best actions based on case category and resolution patterns
- Highlighting SLA status and any escalation risks
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.
Prerequisites
- Plugins: Customer Service Management (
com.sn_customerservice) must be active - Roles:
sn_customerservice_agent,sn_customerservice_manager, orcsm_admin - Access: Read access to
sn_customerservice_case,interaction,csm_consumer,customer_account,customer_contact,sys_journal_field, andkb_knowledgetables - Knowledge: Familiarity with Agent Workspace sidebar components and CSM case lifecycle
Procedure
Step 1: Retrieve the Active Case Details
Fetch 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
Step 2: Retrieve Consumer Profile
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
Step 3: Pull Customer Account Context
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
Step 4: Retrieve Customer Case History
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
Step 5: Retrieve Recent Interactions
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
Step 6: Check for Related Knowledge Articles
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
Step 7: Retrieve Latest Work Notes
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
Step 8: Assemble the Sidebar Summary
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 Usage
MCP Tools Reference
| 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 |
REST API Reference
| 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 |
Best Practices
- Keep summaries concise: Sidebar space is limited; aim for scannable bullet points rather than paragraphs
- Prioritize actionable information: Lead with status, SLA risk, and recommended next steps
- Show customer sentiment: If sentiment analysis data is available, include the latest sentiment score
- Highlight repeat contacts: Flag if the customer has contacted support multiple times for the same issue
- Include entitlement context: Account tier affects SLA targets and available support channels
- Refresh on case update: Sidebar summaries should be regenerated when significant case changes occur
- Respect privacy: Only display customer PII appropriate for the agent's role and jurisdiction
- Calculate case age dynamically: Display age in human-readable format (hours, days) relative to current time
Troubleshooting
"Consumer record not found"
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.
"No case history available"
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.
"Knowledge articles not relevant"
Cause: The category-based search may return gener
Content truncated.