mcpField
W
work-order-summarization

work-order-summarization

github.com/happy-technologies-llc生产力4141 次安装2 天前更新
代码仓库

关于 work-order-summarization

面向调度协调员、现场技术人员和服务经理的 ServiceNow Field Service Management 技能,可汇总工单、任务、SLA、资产、出行、零件及工作备注,形成简明简报。

主要功能

  1. 01汇总工单详情
  2. 02整理任务及执行顺序
  3. 03检查 SLA 状态与风险
  4. 04纳入资产和配置详情
  5. 05查看出行与零件安排
  6. 06汇集工作备注和历史记录

适用场景

  1. 01现场服务前向技术人员简报
  2. 02审查工单积压
  3. 03准备现场运营交班文档

MCP 相关

使用 SN-Get-Record、SN-Query-Table 和 SN-Natural-Language-Search 等 ServiceNow MCP 工具,检索工单及相关记录。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/happy-technologies-llc/happy-platform-skills --skill work-order-summarization

安装后在 Claude Code 中输入/work-order-summarization确认已加载。

详细介绍

工作订单摘要

概述

此技能提供了一种结构化方法,用于生成 ServiceNow 中现场服务管理(FSM)工作订单的全面摘要。它将所有相关工作订单数据整合成简明简报,供调度协调员、现场技术人员和服务经理使用。

主要功能:

  • 检索并整合核心工作订单详情,包括客户、地点和排期
  • 汇总所有关联的工作订单任务,包括状态、分配情况和顺序
  • 评估 SLA 合规状态并识别存在时间风险的安排
  • 汇总服务地点的资产和配置项详情
  • 汇总出行安排,包括预计出行时间和路线注意事项
  • 清点所需零件、库存情况和采购状态

适用场景: 调度协调员需要向现场技术人员进行工作简报、服务经理审查工作订单积压,或为现场运营准备换班交接文档时。

先决条件

  • 角色: wm_initiator、wm_dispatcher、wm_agent 或 wm_admin
  • 访问权限: 对 wm_order、wm_task、alm_asset、cmdb_ci、sla_condition_check、sys_journal_field 和 wm_parts_request 表具有读取权限
  • 插件: Field Service Management (com.snc.work_management) 必须处于启用状态
  • 数据: 已存在且包含任务和资产引用的工作订单

操作步骤

步骤 1:检索核心工作订单详情

获取主要工作订单记录,包括所有排期、地点和分类字段。

使用 MCP:

Tool: SN-Get-Record
Parameters:
  table_name: wm_order
  sys_id: [WORK_ORDER_SYS_ID]
  fields: sys_id,number,short_description,description,state,priority,urgency,impact,category,subcategory,caller_id,company,location,assigned_to,assignment_group,opened_at,scheduled_start,scheduled_end,actual_start,actual_end,follow_up,sla_due,cmdb_ci,asset,contact_type,work_notes_list

如果只有工作订单编号,请先搜索:

Tool: SN-Query-Table
Parameters:
  table_name: wm_order
  query: number=WO0012345
  fields: sys_id,number,short_description,description,state,priority,urgency,impact,category,subcategory,caller_id,company,location,assigned_to,assignment_group,opened_at,scheduled_start,scheduled_end,actual_start,actual_end,sla_due,cmdb_ci,asset
  limit: 1

使用 REST API:

GET /api/now/table/wm_order?sysparm_query=number=WO0012345&sysparm_fields=sys_id,number,short_description,description,state,priority,urgency,impact,category,subcategory,caller_id,company,location,assigned_to,assignment_group,opened_at,scheduled_start,scheduled_end,actual_start,actual_end,sla_due,cmdb_ci,asset&sysparm_limit=1&sysparm_display_value=true
步骤 2:检索关联的工作订单任务

提取与工作订单关联的所有任务,以了解工作范围。

使用 MCP:

Tool: SN-Query-Table
Parameters:
  table_name: wm_task
  query: work_order=[WORK_ORDER_SYS_ID]^ORDERBYorder
  fields: sys_id,number,short_description,state,priority,assigned_to,assignment_group,scheduled_start,scheduled_end,actual_start,actual_end,estimated_travel_duration,actual_travel_duration,estimated_work_duration,actual_work_duration,location,cmdb_ci,asset,sequence
  limit: 50

使用 REST API:

GET /api/now/table/wm_task?sysparm_query=work_order=[WORK_ORDER_SYS_ID]^ORDERBYorder&sysparm_fields=sys_id,number,short_description,state,priority,assigned_to,assignment_group,scheduled_start,scheduled_end,actual_start,actual_end,estimated_travel_duration,actual_travel_duration,estimated_work_duration,actual_work_duration,location,cmdb_ci,asset,sequence&sysparm_limit=50&sysparm_display_value=true
步骤 3:检查 SLA 合规状态

评估关联到工作订单的 SLA 条件,并识别存在风险或已违反的 SLA。

使用 MCP:

Tool: SN-Query-Table
Parameters:
  table_name: task_sla
  query: task=[WORK_ORDER_SYS_ID]
  fields: sys_id,sla,stage,has_breached,planned_end_time,percentage,business_percentage,pause_duration,pause_time
  limit: 10

使用 REST API:

GET /api/now/table/task_sla?sysparm_query=task=[WORK_ORDER_SYS_ID]&sysparm_fields=sys_id,sla,stage,has_breached,planned_end_time,percentage,business_percentage,pause_duration&sysparm_limit=10&sysparm_display_value=true
步骤 4:检索资产和配置项详情

获取待维修资产及其配置项记录的详情。

使用 MCP:

Tool: SN-Query-Table
Parameters:
  table_name: alm_asset
  query: sys_id=[ASSET_SYS_ID]
  fields: sys_id,display_name,asset_tag,serial_number,model,model_category,install_status,location,assigned_to,warranty_expiration,purchase_date,cost,vendor,ci
  limit: 1
Tool: SN-Query-Table
Parameters:
  table_name: cmdb_ci
  query: sys_id=[CMDB_CI_SYS_ID]
  fields: sys_id,name,sys_class_name,location,install_status,operational_status,manufacturer,model_id,serial_number,asset_tag,support_group,maintenance_schedule
  limit: 1

使用 REST API:

GET /api/now/table/alm_asset/{ASSET_SYS_ID}?sysparm_fields=sys_id,display_name,asset_tag,serial_number,model,model_category,install_status,location,warranty_expiration,purchase_date,vendor,ci&sysparm_display_value=true

GET /api/now/table/cmdb_ci/{CMDB_CI_SYS_ID}?sysparm_fields=sys_id,name,sys_class_name,location,install_status,operational_status,manufacturer,model_id,serial_number,support_group,maintenance_schedule&sysparm_display_value=true
步骤 5:检索出行和后勤信息

汇总工作订单任务中的出行预估和实际出行数据。

使用 MCP:

Tool: SN-Query-Table
Parameters:
  table_name: wm_task
  query: work_order=[WORK_ORDER_SYS_ID]^estimated_travel_duration>0
  fields: sys_id,number,assigned_to,location,estimated_travel_duration,actual_travel_duration,estimated_work_duration,dispatch_group
  limit: 20

使用 REST API:

GET /api/now/table/wm_task?sysparm_query=work_order=[WORK_ORDER_SYS_ID]^estimated_travel_duration>0&sysparm_fields=sys_id,number,assigned_to,location,estimated_travel_duration,actual_travel_duration,estimated_work_duration,dispatch_group&sysparm_limit=20&sysparm_display_value=true
步骤 6:检查零件需求和可用情况

检索零件申请及其履行状态。

使用 MCP:

Tool: SN-Query-Table
Parameters:
  table_name: wm_parts_request
  query: work_order_task.work_order=[WORK_ORDER_SYS_ID]^ORDERBYsys_created_on
  fields: sys_id,part,quantity_requested,quantity_received,state,work_order_task,stockroom,expected_delivery
  limit: 30

使用 REST API:

GET /api/now/table/wm_parts_request?sysparm_query=work_order_task.work_order=[WORK_ORDER_SYS_ID]^ORDERBYsys_created_on&sysparm_fields=sys_id,part,quantity_requested,quantity_received,state,work_order_task,stockroom,expected_delivery&sysparm_limit=30&sysparm_display_value=true
步骤 7:检索工作备注和活动历史记录

提取日志条目,记录近期活动和技术人员备注。

使用 MCP:

Tool: SN-Query-Table
Parameters:
  table_name: sys_journal_field
  query: element_id=[WORK_ORDER_SYS_ID]^element=work_notes^ORDERBYDESCsys_created_on
  fields: sys_id,value,sys_created_on,sys_created_by
  limit: 20

使用 REST API:

GET /api/now/table/sys_journal_field?sysparm_query=element_id=[WORK_ORDER_SYS_ID]^element=work_notes^ORDERBYDESCsys_created_on&sysparm_fields=sys_id,value,sys_created_on,sys_created_by&sysparm_limit=20
步骤 8:编制工作订单摘要

将收集到的所有数据整理成结构化摘要:

=== WORK ORDER SUMMARY ===
Work Order: WO0012345
Status: [state] | Priority: [priority] | Category: [category]
Opened: [opened_at] | Scheduled: [scheduled_start] - [scheduled_end]
SLA Due: [sla_due] | SLA Status: [on-track/at-risk/breached]

CUSTOMER & LOCATION:
Company: [company] | Caller: [caller_id]
Location: [location_full_address]
Contact Method: [contact_type]

ASSET DETAILS:
Asset: [display_name] | Tag: [asset_tag] | Serial: [serial_number]
Model: [model] | Manufacturer: [manufacturer]
Warranty: [warranty_expiration] | Status: [install_status]
CI: [ci_name] ([sys_class_name])

TASKS: [total_count] total ([open_count] open, [closed_count] closed)
| # | Task | Status | Assigned To | Est. Duration |
|---|------|--------|-------------|---------------|
| 1 | [short_description] | [state] | [assigned_to] | [est_work_duration] |
| 2 | [short_description] | [state] | [assigned_to] | [est_work_duration] |

TRAVEL LOGISTICS:
Total Estimated Travel: [sum_est_travel] | Actual: [sum_actual_travel]
Technician: [assigned_to] | Dispatch Group: [dispatch_group]

PARTS REQUIREMENTS: [total_parts] items
| Part | Qty Requested | Qty Received | Status | ETA |
|------|--------------|--------------|--------|-----|
| [part_name] | [qty_req] | [qty_recv] | [state] | [expected_delivery] |

RECENT ACTIVITY:
- [date] [user]: [summary_of_note]
- [date] [user]: [summary_of_note]

KEY OBSERVATIONS:
- [SLA risk assessment]
- [Parts availability concerns]
- [Scheduling conflicts or dependencies]
- [Asset warranty status]

工具使用

MCP 工具参考
工具使用场景
SN-Natural-Language-Search使用自然语言查找工作订单(例如,“查找 A 楼的未结工作订单”)
SN-Query-Table跨工作订单、任务、资产和零件表进行结构化查询
SN-Get-Record根据 sys_id 检索单条工作订单或资产记录
REST API 参考
端点方法用途
/api/now/table/wm_orderGET查询工作订单记录
/api/now/table/wm_taskGET检索工作订单任务
/api/now/table/alm_assetGET获取资产详情
/api/now/table/cmdb_ciGET配置项信息
/api/now/table/task_slaGETSLA 合规状态
/api/now/table/wm_parts_requestGET零件需求和可用情况
/api/now/table/sys_journal_fieldGET工作备注和活动历史记录

最佳实践

  • 使用显示值: 在 REST 调用中始终传递 sysparm_display_value=true,以获取易读的名称,而不是 sys_id
  • 检查保修状态: 始终标记保修已过期或即将到期的资产,因为这会影响服务权益
  • 核实零件库存情况: 标明任何缺货或交付周期较长的零件
  • 注意 SLA 临近情况: SLA 即将违约时(剩余时间在 2 小时内或已耗用 80%)应明确指出
  • 提供出行预估: 现场技术人员需要了解出行情况,以便有效规划工作
  • 正确安排任务顺序: 按照执行顺序呈现任务,并遵守依赖关系
  • 标记安全注意事项: 如果工单涉及危险设备,应突出显示任何安全要求
  • 简洁地总结: 现场技术人员会通过移动设备查看摘要,因此请保持格式清晰、便于快速浏览

故障排除

“未找到工单”

原因: 工单编号格式不正确,或工单位于其他作用域。 解决方案: 核实前缀(WO、WM 或其他自定义前缀)。尝试使用 numberLIKEWO001234 搜索。检查工单是否在某个作用域应用中创建。

“工单没有关联任务”

原因: 任务可能尚未生成,或者使用了不同的父级引用。 解决方案: 检查该工单是否需要手动创建任务。也可以将 parent=[WORK_ORDER_SYS_ID] 用作替代关联字段,查询 wm_task。

“缺少资产详情”

原因: 工单中的资产字段可能未填写,或者资产记录已退役。 解决方案: 尝试通过 cmdb_ci 字段查找资产。使用 ci=[CMDB_CI_SYS_ID] 检查 alm_asset,以查找关联的资产记录。

“零件请求未返回结果”

原因: 零件可能通过其他表或自定义零件管理流程进行跟踪。 解决方案: 检查 wm_parts_request_line 中的明细行。有些组织使用 alm_consumable 或自定义表跟踪零件。

“SLA 信息不可用”

原因: 工单类型可能未配置 SLA 定义。 解决方案: 确认 wm_order 表在 sla_condition_check 中存在 SLA 定义。如果 SLA 在外部跟踪,请联系 FSM 管理员。

示例

示例 1:常规维护工单摘要

场景: 调度协调员需要向技术人员介绍一项计划中的 HVAC 维护上门工作。

步骤 1 - 获取工单:

Tool: SN-Query-Table
Parameters:
  table_name: wm_order
  query: number=WO0056789
  fields: sys_id,number,short_description,state,priority,category,location,company,caller_id,assigned_to,scheduled_start,scheduled_end,asset,cmdb_ci,sla_due
  limit: 1

步骤 2 - 获取任务:

Tool: SN-Query-Table
Parameters:
  table_name: wm_task
  query: work_order=<sys_id>^ORDERBYorder
  fields: number,short_description,state,assigned_to,estimated_work_duration,estimated_travel_duration
  limit: 10

输出摘要:

WORK ORDER WO0056789 - TECHNICIAN BRIEFING
Status: Assigned | Priority: P3 | Category: Preventive Maintenance
Customer: Acme Corp - Building A, 3rd Floor
Scheduled: Mar 20 08:00 - Mar 20 12:00

ASSET: HVAC Unit AC-301 | Serial: HV2024-0045
Model: Carrier 50XC | Warranty: Valid until Dec 2027

TASKS (3):
1. Filter replacement - Pending | Est: 30 min
2. Refrigerant level check - Pending | Est: 45 min
3. Thermostat calibration - Pending | Est: 20 min

TRAVEL: Est. 35 min from warehouse
PARTS: 2x MERV-13 filters (in stock), 1x R-410A canister (in stock)

NOTE: Building access requires badge - contact front desk on arrival
示例 2:SLA 面临风险的紧急维修

场景: 服务经理正在查看一个即将违反 SLA 的紧急工单。

Tool: SN-Query-Table
Parameters:
  table_name: wm_order
  query: number=WO0057001
  fields: sys_id,number,short_description,state,priority,sla_due,assigned_to,location
  limit: 1

输出:

WORK ORDER WO0057001 - URGENT: SLA AT RISK
Status: Work In Progress | Priority: P1
Issue: Production line conveyor belt motor failure
Location: Globex Manufacturing - Plant 2, Line 4
SLA Due: Mar 19 16:00 (2.5 hours remaining)

TASKS (2 of 3 complete):
1. Diagnose motor failure - COMPLETE (45 min)
2. Replace motor assembly - IN PROGRESS (est. 2 hrs)
3. Functional testing - PENDING (est. 30 min)

PARTS: 1x 15HP motor assembly - EN ROUTE (ETA: 1 hour)
RISK: SLA breach likely if parts delivery delayed.

ACTION REQUIRED: Confirm parts ETA with logistics team.

相关技能

  • fsm/sidebar-summarization - 为现场技术人员生成侧边栏上下文摘要
  • itsm/incident-lifecycle - 与故障维修场景相关的事件管理
  • reporting/sla-analysis - SLA 跟踪与合规报告
  • cmdb/impact-analysis - 评估 CI 维护对下游的影响

评论

支持 Markdown