关于 resolution-notes
此技能为 ServiceNow 客户服务管理(CSM)案例生成结构化解决记录,供客服 Agent 在关闭案例时使用。它整合调查记录、根因、解决方案验证、客户确认和 SLA 情况,也可支持知识库文档与审计。
主要功能
- 01汇总客户报告的问题
- 02整理调查步骤和发现
- 03记录根因及解决验证
- 04补充预防措施和建议
- 05检查客户确认与 SLA 情况
适用场景
- 01关闭 CSM 客户案例并记录解决过程
- 02为类似案例整理可复用的解决信息
- 03准备知识库内容或审计记录
MCP 相关
使用 SN-Get-Record 获取案例详情,并通过 SN-Query-Table 检索工作记录、相关任务、客户沟通、SLA 数据及相似案例和知识库文章。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ happy-technologies-llc/ happy-platform-skills --skill resolution-notes安装后在 Claude Code 中输入/resolution-notes确认已加载。
详细介绍
解决说明
概述
此技能可为已结案的客户服务管理(CSM)案件生成全面、结构清晰的解决说明。它可以帮助你:
- 总结客户报告的原始问题及相关背景
- 记录采取的所有诊断步骤和调查结果
- 查明并记录问题的根本原因
- 描述已采取的解决措施及其验证方式
- 概述预防措施和建议,以避免问题再次发生
- 生成清晰、专业的文档,适用于与客户沟通、编写知识库文章和保留审计记录
适用场景: CSM Agent 准备解决或关闭案件,并需要撰写详尽的解决文档时。也适用于事后审查、创建知识库文章和合规审计。
前提条件
- 角色:
sn_customerservice_agent、sn_customerservice_manager或csm_admin - 访问权限: 对
sn_customerservice_case、sys_journal_field、sn_customerservice_task、interaction、sys_email、kb_knowledge、sn_customerservice_sla和customer_account表具有读取权限;对案件的resolution_notes和close_notes字段具有写入权限 - 知识: 了解 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,close_notes,escalation,severity,sla_due,contact_type,reassignment_count,reopen_count,cause,business_duration,calendar_duration,made_sla
使用 REST API:
GET /api/now/table/sn_customerservice_case/{case_sys_id}?sysparm_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,resolution_code,resolution_notes,close_notes,escalation,severity,reassignment_count,reopen_count,cause,business_duration,calendar_duration,made_sla&sysparm_display_value=true
步骤 2:收集所有工作备注(调查记录)
获取完整的工作备注历史,以还原调查和解决问题的时间线。
使用 MCP:
Tool: SN-Query-Table
Parameters:
table_name: sys_journal_field
query: element_id=<case_sys_id>^element=work_notes^ORDERBYsys_created_on
fields: sys_id,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^ORDERBYsys_created_on&sysparm_fields=value,sys_created_on,sys_created_by&sysparm_limit=100
步骤 3:查看相关任务及其结果
检查子任务,获取更多解决详情和已完成的操作。
使用 MCP:
Tool: SN-Query-Table
Parameters:
table_name: sn_customerservice_task
query: parent=<case_sys_id>^ORDERBYsys_created_on
fields: sys_id,number,short_description,state,assigned_to,assignment_group,opened_at,closed_at,close_notes,work_notes
limit: 20
使用 REST API:
GET /api/now/table/sn_customerservice_task?sysparm_query=parent=<case_sys_id>^ORDERBYsys_created_on&sysparm_fields=number,short_description,state,assigned_to,assignment_group,opened_at,closed_at,close_notes&sysparm_limit=20&sysparm_display_value=true
步骤 4:查看客户沟通记录
获取面向客户的沟通记录,确认客户已知悉问题解决情况。
使用 MCP:
Tool: SN-Query-Table
Parameters:
table_name: sys_journal_field
query: element_id=<case_sys_id>^element=comments^ORDERBYDESCsys_created_on
fields: value,sys_created_on,sys_created_by
limit: 20
Tool: SN-Query-Table
Parameters:
table_name: sys_email
query: instance=<case_sys_id>^ORDERBYDESCsys_created_on
fields: sys_id,subject,type,body_text,sys_created_on,sys_created_by
limit: 10
使用 REST API:
GET /api/now/table/sys_journal_field?sysparm_query=element_id=<case_sys_id>^element=comments^ORDERBYDESCsys_created_on&sysparm_fields=value,sys_created_on,sys_created_by&sysparm_limit=20
GET /api/now/table/sys_email?sysparm_query=instance=<case_sys_id>^ORDERBYDESCsys_created_on&sysparm_fields=subject,type,body_text,sys_created_on&sysparm_limit=10&sysparm_display_value=true
步骤 5:检查 SLA 表现
获取 SLA 数据,记录解决问题是否达到服务级别目标。
使用 MCP:
Tool: SN-Query-Table
Parameters:
table_name: sn_customerservice_sla
query: task=<case_sys_id>
fields: sla,stage,has_breached,planned_end_time,end_time,business_duration,percentage,business_percentage
limit: 10
使用 REST API:
GET /api/now/table/sn_customerservice_sla?sysparm_query=task=<case_sys_id>&sysparm_fields=sla,stage,has_breached,planned_end_time,end_time,business_duration,percentage&sysparm_limit=10&sysparm_display_value=true
步骤 6:搜索相关知识库文章
检查是否已有关于此问题的知识库文章,或是否需要新建文章。
使用 MCP:
Tool: SN-Query-Table
Parameters:
query: workflow_state=published^short_descriptionLIKE[key_terms]
table_name: kb_knowledge
limit: 5
Tool: SN-Query-Table
Parameters:
table_name: kb_knowledge
query: workflow_state=published^short_descriptionLIKE[key_terms]
fields: number,short_description,text,kb_category,sys_updated_on
limit: 5
使用 REST API:
GET /api/now/table/kb_knowledge?sysparm_query=workflow_state=published^short_descriptionLIKE<key_terms>&sysparm_fields=number,short_description,kb_category&sysparm_limit=5&sysparm_display_value=true
步骤 7:检查类似的未结案件
确认是否有其他未结案件可从此解决方案中受益。
使用 MCP:
Tool: SN-Query-Table
Parameters:
table_name: sn_customerservice_case
query: category=[category]^subcategory=[subcategory]^stateNOT IN6,7,8^sys_id!=<case_sys_id>^short_descriptionLIKE[key_terms]
fields: number,short_description,state,assigned_to,account
limit: 10
使用 REST API:
GET /api/now/table/sn_customerservice_case?sysparm_query=category=<category>^subcategory=<subcategory>^stateNOT IN6,7,8^sys_id!=<case_sys_id>^short_descriptionLIKE<key_terms>&sysparm_fields=number,short_description,state,assigned_to,account&sysparm_limit=10&sysparm_display_value=true
步骤 8:生成解决说明
汇总收集到的所有信息,编写全面的解决文档。
解决说明结构:
=== RESOLUTION NOTES ===
Case: [number]
Resolved By: [agent_name] | Resolution Date: [resolved_at]
Resolution Code: [resolution_code]
1. ISSUE SUMMARY
Customer [contact_name] from [account_name] reported [short_description]
on [opened_at]. The issue affected [product/service] and was categorized
as [category]/[subcategory] with [priority] priority.
Detailed Description:
[description - summarized]
Impact:
- Business Impact: [impact description]
- Users Affected: [scope]
- Duration of Impact: [from opened_at to resolved_at]
2. INVESTIGATION TIMELINE
[date_1] - Case created via [contact_type]. Initial triage performed.
[date_2] - [investigation action and finding]
[date_3] - [investigation action and finding]
[date_4] - [escalation if applicable]
[date_5] - Root cause identified.
[date_6] - Fix applied and verified.
3. ROOT CAUSE
[Detailed root cause description]
Contributing Factors:
- [factor_1]
- [factor_2]
4. RESOLUTION
Resolution Code: [Solved Permanently / Workaround / Not Reproducible /
Duplicate / etc.]
Resolution Details:
[Step-by-step description of the fix applied]
Verification:
- [How the fix was verified]
- [Customer confirmation of resolution - date and method]
5. STEPS TAKEN
1. [step_1 with date]
2. [step_2 with date]
3. [step_3 with date]
...
Steps Attempted But Unsuccessful:
1. [failed_step_1 - reason it did not work]
2. [failed_step_2 - reason it did not work]
6. RELATED TASKS
- [task_number]: [description] - [outcome]
- [task_number]: [description] - [outcome]
7. SLA PERFORMANCE
- Response SLA: [Met/Breached] ([actual] vs [target])
- Resolution SLA: [Met/Breached] ([actual] vs [target])
- Business Duration: [duration]
- Calendar Duration: [duration]
- Reassignment Count: [count]
8. PREVENTIVE MEASURES
- [recommendation_1 - e.g., "Apply patch X to all production servers"]
- [recommendation_2 - e.g., "Update monitoring to detect this condition"]
- [recommendation_3 - e.g., "Add this scenario to runbook Y"]
9. KNOWLEDGE BASE
- Existing KB Referenced: [KB number and title, if applicable]
- KB Article Recommended: [Yes/No]
If Yes: [suggested article title and key content points]
10. RELATED CASES
- Similar Open Cases: [list of case numbers that may benefit]
- Previously Resolved: [case numbers with same root cause]
结案说明(close_notes 字段的简短摘要):
Issue: [one-line description]
Root Cause: [one-line root cause]
Resolution: [one-line resolution description]
Preventive Action: [one-line preventive measure]
KB Reference: [KB number or "N/A"]
Customer Confirmed: [Yes/No - date]
工具用法
MCP 工具参考
| 工具 | 使用场景 |
|---|---|
SN-Natural-Language-Search | 查找相关知识库文章和类似的已解决案件 |
SN-Query-Table | 获取工作备注、任务、电子邮件、SLA 数据和类似案件 |
SN-Get-Record | 获取包含所有解决相关字段的完整案件记录 |
REST API 参考
| 端点 | 方法 | 用途 |
|---|---|---|
/api/now/table/sn_customerservice_case | GET | 获取案件详情并搜索类似案件 |
/api/now/table/sys_journal_field | GET | 获取工作备注和评论历史 |
/api/now/table/sn_customerservice_task | GET | 获取相关任务结果 |
/api/now/table/sys_email | GET | 获取电子邮件沟通记录和确认信息 |
/api/now/table/interaction | GET | 获取互动记录 |
/api/now/table/kb_knowledge | GET | 获取知识库文章参考 |
/api/now/table/sn_customerservice_sla | GET | 获取 SLA 表现数据 |
/api/now/table/customer_account | GET | 获取客户账户背景信息 |
最佳实践
- 全面但简洁: 包含所有相关细节,但避免冗余;解决说明应完整清晰,不要过于冗长
- 准确记录根本原因: 区分症状、促成因素和实际根本原因;这对趋势分析至关重要
- 记录失败的尝试: 记录哪些方法无效,与记录哪些方法有效同样有价值;这能避免未来的 Agent 重复无效步骤
- 获取客户确认: 始终注明客户是否确认问题已解决,以及确认方式(邮件回复、电话或聊天消息)
- 推荐知识库文章: 如果没有适用于此解决方案的知识库文章,请建议创建一篇;如果已有文章,请注明是否需要更新
- 关联相关案例: 找出并引用类似案例,帮助发现规律并主动跟进
- 使用标准解决代码: 始终使用组织定义的解决代码,以确保报告准确
- 注明 SLA 执行情况: 记录 SLA 是否合规,因为这些信息会用于客户健康度指标和合同义务
- 为未来的读者撰写: 解决说明应便于不熟悉此案例的人在数月或数年后理解
- 区分内部备注和面向客户的备注: 将详细的技术分析保留在工作备注中;在
resolution_notes和close_notes中填写清晰易懂的摘要
故障排查
“不清楚有哪些解决代码选项”
原因: 解决代码因组织和 CSM 配置而异
解决方案: 查询可用代码的选项列表:GET /api/now/table/sys_choice?sysparm_query=name=sn_customerservice_case^element=resolution_code&sysparm_fields=label,value。常见代码包括:已解决(永久)、已解决(临时方案)、无法复现、重复、已知错误、用户错误、配置更改。
“无法在工作备注中找到根本原因”
原因: 调查过程中可能未明确记录根本原因
解决方案: 检查完整的工作备注时间线,找出问题得到理解的关键节点。查看升级备注和任务关闭备注中的技术细节。如果确实无法确定根本原因,请记录为“根本原因:未确定”,并注明最接近的推测。
“客户未确认问题已解决”
原因: 客户可能没有回复解决通知
解决方案: 检查 sys_email 中是否有解决通知邮件退回。查看评论中是否有间接确认。如果超过标准等待期限仍未收到确认,请记录“客户确认:在 [X] 天等待期内未收到。根据政策自动解决。”
“SLA 数据显示了错误的违约记录”
原因: SLA 可能被错误暂停,或解决时未停止计时
解决方案: 检查 SLA 记录上的 pause_duration 和 pause_time 字段。查看审计日志(sys_audit 表)中的案例状态转换,确认 SLA 阶段转换是否正确。
示例
示例 1:软件缺陷解决
场景: 解决有关应用程序反复报错的案例。
步骤 1 - 获取案例和工作备注:
Tool: SN-Get-Record
Parameters:
table_name: sn_customerservice_case
sys_id: [case_sys_id]
fields: number,short_description,description,state,priority,category,subcategory,product,contact,account,opened_at,resolved_at,resolution_code,cause,reassignment_count,made_sla,business_duration
Tool: SN-Query-Table
Parameters:
table_name: sys_journal_field
query: element_id=<sys_id>^element=work_notes^ORDERBYsys_created_on
fields: value,sys_created_on,sys_created_by
limit: 50
生成的解决备注:
RESOLUTION NOTES - CS0075432
1. ISSUE SUMMARY
Customer Amy Chen from DataFlow Inc. reported that the reporting
module throws a "NullPointerException" when generating monthly
summary reports with more than 10,000 records. Issue began after
platform upgrade to version 3.4.1. Priority: P2.
2. INVESTIGATION TIMELINE
Mar 10 - Case created via email. Initial triage by L1 Support.
Mar 11 - Reproduced in test with 15K record dataset.
Mar 12 - Identified exception in ReportGenerator.java line 847.
Mar 13 - Escalated to Engineering (Level 2).
Mar 14 - Engineering confirmed pagination bug in v3.4.1.
Mar 17 - Hotfix 3.4.1-HF02 deployed to customer instance.
Mar 18 - Customer confirmed reports generating successfully.
3. ROOT CAUSE
A pagination logic error introduced in version 3.4.1 caused a
null reference when the result set exceeded the default page size
of 10,000 records. The cursor object was not being re-initialized
between page iterations.
Contributing Factors:
- Insufficient test coverage for large datasets in v3.4.1 release
- Customer's dataset grew past 10K threshold in February
4. RESOLUTION
Resolution Code: Solved (Permanently)
Applied hotfix 3.4.1-HF02 which corrects the pagination cursor
handling in ReportGenerator.java. Fix verified with 50K record
dataset in staging before production deployment.
Verification:
- Agent verified fix in test environment with 25K records
- Customer confirmed successful report generation on Mar 18
via email reply
5. SLA PERFORMANCE
- Response SLA: Met (2 hours vs 4 hour target)
- Resolution SLA: Met (6 business days vs 10 day target)
- Reassignment Count: 1 (L1 to Engineering)
6. PREVENTIVE MEASURES
- Engineering to add large dataset tests (10K, 50K, 100K) to
regression suite for reporting module
- Proactive notification to all customers on v3.4.1 to apply HF02
- Monitoring alert added for NullPointerException in reporting
7. KNOWLEDGE BASE
- KB0045678 created: "Reporting Module NullPointerException
Fix for v3.4.1 - Apply Hotfix HF02"
示例 2:配置问题关闭备注
场景: 快速解决配置错误的集成问题。
步骤 1 - 获取案例:
Tool: SN-Query-Table
Parameters:
table_name: sn_customerservice_case
query: number=CS0076100
fields: sys_id,number,short_description,state,priority,category,product,contact,account,opened_at,resolution_code
limit: 1
生成的关闭备注:
Issue: SSO integration failing with "invalid_redirect_uri" error
Root Cause: OAuth redirect URI in customer's identity provider
configuration contained a trailing slash that did not match the
registered callback URL
Resolution: Removed trailing slash from IdP redirect URI
configuration; SSO authentication now working correctly
Preventive Action: Added redirect URI format validation to
integration setup checklist (KB0045700)
KB Reference: KB0045700 - SSO Integration Redirect URI Configuration
Customer Confirmed: Yes - Mar 19 via email
相关技能
csm/case-summarization- 在撰写解决备注之前总结案例csm/activity-response- 在案例整个生命周期中记录调查活动csm/sentiment-analysis- 检查客户情绪,确认问题得到积极解决csm/email-recommendation- 生成发给客户的解决通知邮件knowledge/article-generation- 根据解决问题的发现创建知识库文章