skills/admin/workspace-insights/SKILL.md
Workplace service delivery insights including space utilization, service request patterns, facility management metrics, and desk booking analytics
npx skillsauth add happy-technologies-llc/happy-servicenow-skills workspace-insightsInstall 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 covers generating insights and analytics for Workplace Service Delivery (WSD) in ServiceNow:
When to use: When reviewing workplace space efficiency, planning office reconfigurations, analyzing facility service delivery performance, optimizing hot-desking strategies, or preparing workplace analytics for real estate decisions.
wsd_admin, facility_manager, admin, or workspace_admincom.snc.workplace_service_delivery (Workplace Service Delivery), com.snc.facility_management (Facility Management) recommendedwsd_space, wsd_reservation, wsd_floor, wsd_building, fm_facility_request, sc_req_item tablesreporting/executive-dashboard for dashboard creation, reporting/trend-analysis for trend analyticsEstablish the baseline of available workspace inventory.
MCP Approach:
Tool: SN-Query-Table
Parameters:
table_name: wsd_building
query: active=true
fields: sys_id,name,location,total_floors,total_capacity,address,time_zone,operational_status
limit: 50
Tool: SN-Query-Table
Parameters:
table_name: wsd_floor
query: building=[BUILDING_SYS_ID]^active=true
fields: sys_id,name,building,floor_number,total_spaces,available_spaces,floor_plan
limit: 20
REST Approach:
GET /api/now/table/wsd_building
?sysparm_query=active=true
&sysparm_fields=sys_id,name,location,total_floors,total_capacity,address,time_zone,operational_status
&sysparm_display_value=true
GET /api/now/table/wsd_floor
?sysparm_query=building=[BUILDING_SYS_ID]^active=true
&sysparm_fields=sys_id,name,building,floor_number,total_spaces,available_spaces
&sysparm_display_value=true
Query space records to calculate utilization metrics.
MCP Approach:
Tool: SN-Query-Table
Parameters:
table_name: wsd_space
query: floor.building=[BUILDING_SYS_ID]^active=true
fields: sys_id,name,space_type,capacity,floor,is_reservable,status,amenities
limit: 500
Space Type Classification:
| Space Type | Typical Capacity | Bookable | Metrics Focus | |-----------|-----------------|----------|---------------| | Desk | 1 | Yes | Occupancy rate, booking frequency | | Meeting Room | 2-20 | Yes | Booking rate, no-show rate, avg duration | | Phone Booth | 1 | Yes | Utilization rate, peak hours | | Collaboration Zone | 4-12 | Sometimes | Foot traffic, usage duration | | Hot Desk | 1 | Yes | Daily booking rate, user diversity | | Private Office | 1-2 | No | Assignment vs actual presence |
Query booking data to identify usage patterns.
MCP Approach:
Tool: SN-Query-Table
Parameters:
table_name: wsd_reservation
query: space.floor.building=[BUILDING_SYS_ID]^start_date>=javascript:gs.daysAgo(30)^ORDERBYstart_date
fields: sys_id,space,user,start_date,end_date,state,check_in_time,check_out_time,no_show,duration
limit: 2000
REST Approach:
GET /api/now/table/wsd_reservation
?sysparm_query=space.floor.building=[BUILDING_SYS_ID]^start_date>=javascript:gs.daysAgo(30)
&sysparm_fields=sys_id,space,user,start_date,end_date,state,check_in_time,check_out_time,no_show,duration
&sysparm_limit=2000
&sysparm_display_value=true
Key Metrics to Calculate:
| Metric | Formula | Target | |--------|---------|--------| | Booking Rate | Booked hours / Available hours | >60% | | No-Show Rate | No-show reservations / Total reservations | <15% | | Peak Utilization | Max concurrent bookings / Total capacity | Track trend | | Avg Booking Duration | Sum of durations / Count of bookings | Varies by type | | Unique Users/Week | Distinct users with bookings per week | Track growth | | Advance Booking Lead | Avg days between creation and start | 1-3 days typical |
Analyze time-based usage patterns for capacity planning.
MCP Approach:
Tool: SN-Query-Table
Parameters:
table_name: wsd_reservation
query: space.floor.building=[BUILDING_SYS_ID]^start_date>=javascript:gs.daysAgo(30)^state=completed
fields: start_date,end_date,space.space_type,space.floor
limit: 5000
Aggregate by day of week and hour to build a heatmap:
=== UTILIZATION HEATMAP ===
Building: [name]
Period: Last 30 days
Mon Tue Wed Thu Fri
08:00 35% 42% 68% 55% 28%
09:00 62% 71% 88% 78% 45%
10:00 78% 85% 95% 89% 52%
11:00 82% 88% 97% 91% 48%
12:00 45% 52% 60% 55% 30%
13:00 70% 78% 92% 82% 42%
14:00 75% 82% 90% 85% 38%
15:00 68% 72% 85% 78% 32%
16:00 45% 50% 62% 52% 22%
17:00 20% 25% 30% 25% 10%
PEAK: Wednesday 11:00 (97%)
LOW: Friday 17:00 (10%)
Review facility management request patterns.
MCP Approach:
Tool: SN-Query-Table
Parameters:
table_name: fm_facility_request
query: sys_created_on>=javascript:gs.daysAgo(30)
fields: sys_id,number,category,subcategory,priority,state,location,assignment_group,opened_at,closed_at,close_code
limit: 500
REST Approach:
GET /api/now/table/fm_facility_request
?sysparm_query=sys_created_on>=javascript:gs.daysAgo(30)
&sysparm_fields=sys_id,number,category,subcategory,priority,state,location,assignment_group,opened_at,closed_at,close_code
&sysparm_limit=500
&sysparm_display_value=true
Measure service delivery performance against SLA targets.
MCP Approach:
Tool: SN-Query-Table
Parameters:
table_name: task_sla
query: task.sys_class_name=fm_facility_request^sys_created_on>=javascript:gs.daysAgo(30)
fields: sys_id,task,sla,stage,has_breached,planned_end_time,percentage,business_percentage
limit: 500
Calculate SLA metrics:
| SLA Category | Total | Met | Breached | Compliance | |-------------|-------|-----|----------|------------| | Cleaning | [n] | [n] | [n] | [%] | | Maintenance | [n] | [n] | [n] | [%] | | HVAC | [n] | [n] | [n] | [%] | | Security | [n] | [n] | [n] | [%] |
Review facility-related incidents for recurring issues.
MCP Approach:
Tool: SN-Query-Table
Parameters:
table_name: incident
query: category=facilities^sys_created_on>=javascript:gs.daysAgo(30)
fields: sys_id,number,short_description,category,subcategory,priority,state,location,assignment_group,opened_at,resolved_at
limit: 200
Compile all analytics into an actionable insights report.
=== WORKPLACE SERVICE DELIVERY INSIGHTS ===
Report Period: [start_date] - [end_date]
Scope: [Building/Campus/All Locations]
SPACE INVENTORY:
Buildings: [count] | Floors: [count] | Total Spaces: [count]
Desks: [count] | Meeting Rooms: [count] | Phone Booths: [count]
UTILIZATION SUMMARY:
Overall Space Utilization: [%]
Desks: [%] | Meeting Rooms: [%] | Phone Booths: [%]
Peak Day: [day] ([%]) | Lowest Day: [day] ([%])
Peak Hour: [time] ([%]) | Lowest Hour: [time] ([%])
BOOKING ANALYTICS:
Total Reservations (30 days): [count]
Unique Users: [count]
Avg Daily Bookings: [count]
No-Show Rate: [%] ([count] no-shows)
Avg Booking Duration: [hours]
Most Popular Spaces: [list top 5]
Least Used Spaces: [list bottom 5]
FACILITY SERVICE METRICS:
Total Requests (30 days): [count]
Open: [count] | In Progress: [count] | Closed: [count]
Avg Resolution Time: [hours/days]
SLA Compliance: [%]
TOP REQUEST CATEGORIES:
| Category | Volume | Avg Resolution | SLA Met |
|----------|--------|---------------|---------|
| [category] | [count] | [time] | [%] |
FACILITY INCIDENTS:
Total: [count] | Recurring: [count]
Top Issues: [list]
RECOMMENDATIONS:
1. [Space optimization recommendation based on utilization data]
2. [No-show reduction strategy based on booking patterns]
3. [Service improvement recommendation based on SLA data]
4. [Capacity planning recommendation based on peak analysis]
5. [Cost optimization based on underutilized spaces]
Deep-dive into hot-desking and desk booking metrics.
MCP Approach:
Tool: SN-Query-Table
Parameters:
table_name: wsd_reservation
query: space.space_type=desk^start_date>=javascript:gs.daysAgo(30)
fields: sys_id,space,user,start_date,state,no_show,space.floor,space.floor.building
limit: 2000
=== DESK BOOKING ANALYTICS ===
Total Desk Reservations: [count]
Unique Desk Users: [count]
Avg Desks Booked/Day: [count] of [total] ([%])
USER PATTERNS:
- Regular Bookers (>3x/week): [count] users
- Occasional (1-2x/week): [count] users
- Rare (<1x/week): [count] users
FLOOR-LEVEL BREAKDOWN:
| Floor | Desks | Avg Utilization | No-Show Rate |
|-------|-------|----------------|--------------|
| [floor] | [count] | [%] | [%] |
NO-SHOW ANALYSIS:
Total No-Shows: [count] ([%] of bookings)
Cost of No-Shows: ~$[estimated wasted space cost]
Top No-Show Times: [pattern]
Recommendation: [auto-release policy suggestion]
Compare current period metrics against previous periods.
=== TREND ANALYSIS ===
Metric Comparison: Current Month vs Previous Month
| Metric | Previous | Current | Change |
|--------|----------|---------|--------|
| Overall Utilization | [%] | [%] | [+/-]% |
| Daily Bookings | [avg] | [avg] | [+/-]% |
| No-Show Rate | [%] | [%] | [+/-]% |
| Facility Requests | [count] | [count] | [+/-]% |
| SLA Compliance | [%] | [%] | [+/-]% |
| Unique Users | [count] | [count] | [+/-]% |
TRENDS:
- Space utilization [increasing/decreasing/stable] over past 3 months
- [Day] consistently the busiest day ([%] avg utilization)
- Meeting room demand [exceeding/meeting/below] capacity
- Facility service SLA compliance [improving/declining]
| Tool | Purpose | When to Use | |------|---------|-------------| | SN-Query-Table | Retrieve space, reservation, and request data | Primary data collection | | SN-Read-Record | Get specific building or space details | Detailed record inspection | | SN-NL-Search | Find spaces or requests by description | Exploratory search |
| Issue | Cause | Resolution |
|-------|-------|------------|
| No reservation data found | WSD module not configured or reservations in different table | Check if wsd_reservation or sn_wsd_rsv_reservation is the active table |
| Utilization seems too low | Calculation includes non-bookable spaces | Filter to is_reservable=true spaces only |
| No-show data not tracked | Check-in feature not enabled | Enable check-in on space reservations; no-show detection requires check-in |
| Facility requests missing | Requests may be in sc_req_item not fm_facility_request | Query sc_req_item with cat_item.category=facilities |
| SLA data unavailable | SLAs not configured for facility requests | Verify SLA definitions exist for the fm_facility_request table |
| Building data incomplete | Location hierarchy not fully configured | Check cmn_location records and building-floor-space relationships |
Scenario: Generate monthly space utilization report for real estate planning.
Tool: SN-Query-Table
Parameters:
table_name: wsd_reservation
query: start_date>=javascript:gs.beginningOfLastMonth()^start_dateONLast month@javascript:gs.beginningOfLastMonth()@javascript:gs.endOfLastMonth()
fields: space,user,start_date,state,no_show,space.space_type,space.floor.building
limit: 5000
Output:
MONTHLY WORKPLACE REPORT - February 2026
Headquarters Campus
Overall Utilization: 67% (up from 61% in January)
Peak Day: Wednesday at 89% capacity
Underutilized Floors: Building B, Floors 4-5 (32% avg)
RECOMMENDATION: Consolidate Building B floors 4-5 to reduce
leased space by 15,000 sq ft. Estimated annual savings: $450K.
Scenario: Generate quarterly facility service delivery scorecard.
FACILITY SERVICES SCORECARD - Q1 2026
Total Requests: 1,247
SLA Compliance: 94.2% (target: 95%)
BY CATEGORY:
- Cleaning: 412 requests, 97% SLA met
- Maintenance: 298 requests, 91% SLA met (BELOW TARGET)
- HVAC: 187 requests, 93% SLA met
- Security: 156 requests, 98% SLA met
- Other: 194 requests, 92% SLA met
ACTION: Maintenance SLA below target due to parts procurement delays.
Recommend pre-stocking common replacement parts at each building.
reporting/executive-dashboard - Build executive dashboards for workplace metricsreporting/trend-analysis - Advanced trend analysis for facility datareporting/sla-analysis - Detailed SLA compliance analysisadmin/instance-management - Instance configuration for WSD moduletesting
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