csm-case-summarization について
csm-case-summarization は、ServiceNow Customer Service Management のケースを要約するスキルです。顧客情報、対応履歴、未完了のアクションをまとめ、引き継ぎやエスカレーションの確認、管理報告に役立ちます。
主な機能
- 01ケース・連絡先・アカウント情報の統合
- 02対応やコミュニケーションの時系列化
- 03解決状況と未完了アクションの特定
- 04関連タスク・子ケース・エスカレーション履歴の集約
- 05簡潔な管理向け要約の作成
活用シーン
- 01シフト交代用のケース概要を作成
- 02エスカレーション案件と対応履歴を確認
- 03時間を置いた後にケースの状況を把握
- 04重要アカウントの案件を管理者へ報告
MCP 対応
MCP で ServiceNow のケース、インタラクション、タスク、ジャーナル、メールの各レコードを検索し、ケース要約にまとめます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ happy-technologies-llc/ happy-platform-skills --skill csm-case-summarizationインストール後、Claude Code で/csm-case-summarizationを入力して読み込まれたか確認します。
詳細
ケースの要約
概要
このスキルでは、ServiceNow の Customer Service Management(CSM)ケースを包括的に要約するための体系的な方法を提供します。次のことに役立ちます。
- 連絡先、アカウント、製品の情報を含む、すべてのケース詳細を取得して集約する
- やり取り、アクティビティ、コミュニケーションの時系列を作成する
- 現在の解決状況と保留中の対応を特定する
- 関連タスク、子ケース、エスカレーション履歴を要約する
- 引き継ぎや管理者レビューに適した簡潔なエグゼクティブサマリーを作成する
使用する場面: CSM エージェントが、シフトの引き継ぎ、エスカレーションレビュー、管理者向けレポート、またはしばらく離れていたケースへの復帰に際して、ケースの概要をすばやく把握する必要がある場合。
前提条件
- ロール:
sn_customerservice_agent、sn_customerservice_manager、またはcsm_admin - アクセス権:
sn_customerservice_case、interaction、sn_customerservice_task、sys_journal_field、sys_emailテーブルへの読み取りアクセス - 知識: CSM ケースのライフサイクル状態と、組織のケースカテゴリに関する知識
手順
ステップ 1:ケースの基本情報を取得する
関連するすべてのフィールドを含む、主要なケースレコードを取得します。
MCP を使用する場合(Claude Code/Desktop):
Tool: SN-Get-Record
Parameters:
table_name: sn_customerservice_case
sys_id: [case_sys_id]
fields: number,short_description,description,state,priority,urgency,impact,category,subcategory,contact,account,consumer,product,asset,assigned_to,assignment_group,opened_at,opened_by,resolved_at,resolved_by,closed_at,closed_by,resolution_code,resolution_notes,escalation,severity,sla_due,business_duration,calendar_duration,reassignment_count,reopen_count,contact_type
ケース番号しかわからない場合は、最初に検索します。
Tool: SN-Query-Table
Parameters:
table_name: sn_customerservice_case
query: number=CS0012345
fields: sys_id,number,short_description,description,state,priority,urgency,impact,category,subcategory,contact,account,consumer,product,asset,assigned_to,assignment_group,opened_at,resolved_at,closed_at,resolution_code,resolution_notes,escalation,severity,contact_type
limit: 1
REST API を使用する場合:
GET /api/now/table/sn_customerservice_case?sysparm_query=number=CS0012345&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,resolved_at,closed_at,resolution_code,resolution_notes,escalation,severity,contact_type&sysparm_limit=1&sysparm_display_value=true
ステップ 2:顧客とアカウントのコンテキストを取得する
コンテキストを把握するため、顧客アカウントと連絡先の情報を取得します。
MCP を使用する場合:
Tool: SN-Query-Table
Parameters:
table_name: customer_account
query: sys_id=[account_sys_id]
fields: sys_id,name,number,account_code,industry,customer,notes,street,city,state,country,phone,customer_tier
limit: 1
Tool: SN-Query-Table
Parameters:
table_name: customer_contact
query: sys_id=[contact_sys_id]
fields: sys_id,name,email,phone,title,account,timezone,preferred_contact_method
limit: 1
REST API を使用する場合:
GET /api/now/table/customer_account/{account_sys_id}?sysparm_fields=sys_id,name,number,account_code,industry,customer_tier,phone&sysparm_display_value=true
GET /api/now/table/customer_contact/{contact_sys_id}?sysparm_fields=sys_id,name,email,phone,title,preferred_contact_method&sysparm_display_value=true
ステップ 3:やり取りの履歴を収集する
ケースに関連付けられたすべてのやり取り(電話、チャット、ポータルからの送信)を取得します。
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,duration
limit: 50
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,duration&sysparm_limit=50&sysparm_display_value=true
ステップ 4:ケースのアクティビティと作業メモを取得する
アクティビティの時系列を作成するため、ジャーナルエントリ(作業メモ、追加コメント)を取得します。
MCP を使用する場合:
Tool: SN-Query-Table
Parameters:
table_name: sys_journal_field
query: element_id=<case_sys_id>^element=work_notes^ORelement=comments^ORDERBYDESCsys_created_on
fields: sys_id,element,value,sys_created_on,sys_created_by
limit: 100
REST API を使用する場合:
GET /api/now/table/sys_journal_field?sysparm_query=element_id=<case_sys_id>^element=work_notes^ORelement=comments^ORDERBYDESCsys_created_on&sysparm_fields=sys_id,element,value,sys_created_on,sys_created_by&sysparm_limit=100
ステップ 5:関連タスクと子ケースを確認する
子タスクや関連ケースがあるかどうかを特定します。
MCP を使用する場合:
Tool: SN-Query-Table
Parameters:
table_name: sn_customerservice_task
query: parent=<case_sys_id>^ORDERBYDESCsys_created_on
fields: sys_id,number,short_description,state,assigned_to,assignment_group,priority,opened_at,closed_at
limit: 20
Tool: SN-Query-Table
Parameters:
table_name: sn_customerservice_case
query: parent=<case_sys_id>^ORDERBYDESCsys_created_on
fields: sys_id,number,short_description,state,priority,opened_at,closed_at
limit: 10
REST API を使用する場合:
GET /api/now/table/sn_customerservice_task?sysparm_query=parent=<case_sys_id>^ORDERBYDESCsys_created_on&sysparm_fields=sys_id,number,short_description,state,assigned_to,assignment_group,priority,opened_at,closed_at&sysparm_limit=20&sysparm_display_value=true
GET /api/now/table/sn_customerservice_case?sysparm_query=parent=<case_sys_id>^ORDERBYDESCsys_created_on&sysparm_fields=sys_id,number,short_description,state,priority,opened_at,closed_at&sysparm_limit=10&sysparm_display_value=true
ステップ 6:メールでのコミュニケーションを取得する
ケースに関連付けられたメールレコードを取得します。
MCP を使用する場合:
Tool: SN-Query-Table
Parameters:
table_name: sys_email
query: instance=<case_sys_id>^ORDERBYDESCsys_created_on
fields: sys_id,subject,type,recipients,sys_created_on,sys_created_by,direct,content_type
limit: 30
REST API を使用する場合:
GET /api/now/table/sys_email?sysparm_query=instance=<case_sys_id>^ORDERBYDESCsys_created_on&sysparm_fields=sys_id,subject,type,recipients,sys_created_on,sys_created_by,direct&sysparm_limit=30&sysparm_display_value=true
ステップ 7:ケースの要約を作成する
収集したすべてのデータを、次の構成でまとめます。
=== CASE SUMMARY ===
Case Number: CS0012345
Status: [state] | Priority: [priority] | Severity: [severity]
Opened: [opened_at] | Duration: [business_duration]
CUSTOMER CONTEXT:
Account: [account_name] (Tier: [customer_tier])
Contact: [contact_name] | [email] | [phone]
Product: [product] | Asset: [asset]
Contact Method: [contact_type]
ISSUE DESCRIPTION:
[short_description]
[description - first 500 chars]
TIMELINE: (most recent first)
[date] - [activity_type]: [summary_of_entry]
[date] - [activity_type]: [summary_of_entry]
...
INTERACTIONS: [count] total
- [date] [channel] ([direction]): [short_description] - [state]
...
RELATED TASKS: [count] total ([open_count] open, [closed_count] closed)
- [task_number]: [short_description] - [state]
...
EMAILS: [count] total ([inbound_count] inbound, [outbound_count] outbound)
- [date] [type]: [subject]
...
RESOLUTION STATUS:
State: [state]
Resolution Code: [resolution_code]
Resolution Notes: [resolution_notes]
Reassignment Count: [reassignment_count]
Reopen Count: [reopen_count]
KEY OBSERVATIONS:
- [escalation status]
- [SLA status]
- [pending items]
- [risk factors]
ツールの使用方法
MCP ツールのリファレンス
| ツール | 使用する場面 |
|---|---|
SN-Natural-Language-Search | 自然言語でケースを検索する(例:「Acme Corp のオープン中の P1 ケースを検索」) |
SN-Query-Table | ケース、やり取り、タスク、メールの各テーブルを構造化クエリで検索する |
SN-Get-Record | sys_id を指定して、すべてのフィールドを含む単一のレコードを取得する |
REST API のリファレンス
| エンドポイント | メソッド | 目的 |
|---|---|---|
/api/now/table/sn_customerservice_case | GET | ケースレコードを検索する |
/api/now/table/interaction | GET | ケースのやり取りを取得する |
/api/now/table/sn_customerservice_task | GET | 関連タスクを取得する |
/api/now/table/sys_journal_field | GET | 作業メモとコメントを取得する |
/api/now/table/sys_email | GET | メールでのコミュニケーションを取得する |
/api/now/table/customer_account | GET | 顧客アカウントの詳細を取得する |
/api/now/table/customer_contact | GET | 連絡先の詳細を取得する |
ベストプラクティス
- 表示値を使用する: sys_id ではなく読みやすい名前を取得するため、REST 呼び出しでは常に
sysparm_display_value=trueを指定します。 - ジャーナルエントリを制限する: 作業メモは非常に長くなる場合があるため、全文を含めるのではなく要約します。
- SLA の状態を確認する: ケースが SLA の目標に近づいている、または超過している場合は、必ずその旨を記載します。
- パターンを特定する: 複雑さを示す兆候として、担当の再割り当てやケースの再オープンが繰り返されていないか確認します。
- プライバシーに配慮する: 権限のない担当者と共有する要約には、機密性の高い個人情報を含めないでください。
- エスカレーション履歴を記載する: エスカレーションの変更と、その理由を明確に示します。
トラブルシューティング
「ケースが見つかりません」
原因: ケース番号の形式が正しくないか、別のスコープにケースがあります。
解決方法: プレフィックス(CS、CSM、その他)を確認し、別のアプリケーションスコープにケースが存在するか確認してください。numberLIKECS001234 で検索してみてください。
「インタラクションが見つかりません」
原因: インタラクションが別の関連フィールドを介してリンクされている可能性があります。
解決方法: インタラクションの parent フィールドと document_id フィールドを確認してください。また、document=sn_customerservice_case^document_id=<case_sys_id> でもクエリしてください。
「ジャーナルエントリーが空です」
原因: ジャーナルフィールドは別々に保存されており、明示的なアクセスが必要な場合があります。
解決方法: ロールに sys_journal_field へのアクセス権があることを確認してください。ジャーナルを直接返す sysparm_fields=work_notes,comments を指定して、ケース REST API を試してください。
「顧客アカウントを読み取れません」
原因: アカウントレコードが制限されたスコープにあるか、ACL による制限があります。
解決方法: customer_account_read または sn_customerservice_agent ロールがあることを確認してください。
例
例 1:引き継ぎ用のケース概要を開く
シナリオ: エージェントが同僚から引き継ぐ前に、ケース CS0056789 の簡単な概要を必要としています。
ステップ 1 - ケースを取得:
Tool: SN-Query-Table
Parameters:
table_name: sn_customerservice_case
query: number=CS0056789
fields: sys_id,number,short_description,state,priority,category,contact,account,assigned_to,assignment_group,opened_at,escalation
limit: 1
ステップ 2 - 最近の作業メモを取得:
Tool: SN-Query-Table
Parameters:
table_name: sys_journal_field
query: element_id=<sys_id>^element=work_notes^ORDERBYDESCsys_created_on
fields: value,sys_created_on,sys_created_by
limit: 10
出力概要:
CASE CS0056789 - SHIFT HANDOVER SUMMARY
Status: In Progress | Priority: P2 | Escalation: Normal
Customer: Acme Corp (Tier: Gold) | Contact: Jane Smith
Issue: Unable to process returns through online portal
Opened: 2026-03-15 09:30 | Age: 4 days
RECENT ACTIVITY:
- Mar 18: Agent reviewed portal logs, identified session timeout issue
- Mar 17: Customer provided browser details and screenshots
- Mar 16: Initial triage, assigned to Portal Support team
- Mar 15: Case created via phone interaction
PENDING: Awaiting fix deployment for session timeout bug (DEF0034521)
例 2:エスカレーションされたケースのエグゼクティブサマリー
シナリオ: マネージャーが主要顧客の P1 エスカレーション済みケースすべての概要を求めています。
Tool: SN-Query-Table
Parameters:
table_name: sn_customerservice_case
query: account=<account_sys_id>^priority=1^escalation!=0^stateNOT IN6,7
fields: number,short_description,state,priority,escalation,assigned_to,opened_at,sla_due
limit: 10
出力:
ESCALATED P1 CASES - GLOBEX CORPORATION
Total: 3 active P1 cases
1. CS0045001 - Production API gateway returning 503 errors
State: In Progress | Escalated: Level 2 | SLA Due: Mar 19 14:00
Owner: David Chen (Platform Support)
2. CS0045123 - Batch processing failure affecting invoicing
State: Awaiting Info | Escalated: Level 1 | SLA Due: Mar 20 09:00
Owner: Sarah Kim (Data Services)
3. CS0045200 - SSO authentication failing intermittently
State: In Progress | Escalated: Level 3 | SLA Due: Mar 19 10:00
Owner: Mike Johnson (Identity Team)
RISK: CS0045200 is at Level 3 escalation with SLA due in 2 hours.
関連スキル
csm/resolution-notes- ケースのクローズに向けた解決ドキュメントを生成csm/sentiment-analysis- ケースのやり取り全体にわたる顧客の感情を分析csm/activity-response- ケースのアクティビティに応じた文脈に沿った回答を生成itsm/incident-lifecycle- 関連するインシデント管理プロセスreporting/sla-analysis- SLA の追跡とレポート作成