workspace-insights
Workplace Service Delivery Insights
Overview
This skill covers generating insights and analytics for Workplace Service Delivery (WSD) in ServiceNow:
- Analyzing space utilization rates across buildings, floors, and zones
- Tracking desk and room booking patterns to optimize space allocation
- Monitoring facility management service request volumes, categories, and SLA compliance
- Identifying peak usage periods and underutilized spaces for capacity planning
- Generating facility management KPI dashboards with trend analysis
- Producing actionable recommendations for workplace optimization
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.
Prerequisites
- Roles:
wsd_admin,facility_manager,admin, orworkspace_admin - Plugins:
com.snc.workplace_service_delivery(Workplace Service Delivery),com.snc.facility_management(Facility Management) recommended - Access: Read access to
wsd_space,wsd_reservation,wsd_floor,wsd_building,fm_facility_request,sc_req_itemtables - Data: Active workplace spaces with reservation and sensor data
- Related Skills:
reporting/executive-dashboardfor dashboard creation,reporting/trend-analysisfor trend analytics
Procedure
Step 1: Retrieve Building and Floor Inventory
Establish 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
Step 2: Analyze Space Utilization
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 |
Step 3: Analyze Reservation Patterns
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 |
Step 4: Identify Peak and Off-Peak Patterns
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%)
Step 5: Analyze Facility Service Requests
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
Step 6: Check SLA Compliance for Facility Services
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] | [%] |
Step 7: Analyze Workplace Incidents
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
Step 8: Generate Workplace Insights Report
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]
Step 9: Generate Desk Booking Analytics
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]
Step 10: Generate Trend Analysis
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 Usage
| 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 |
Best Practices
- Analyze at least 30 days of data for meaningful utilization patterns
- Exclude holidays and closures from utilization calculations to avoid skewing metrics
- Segment by space type -- desks, meeting rooms, and booths have different utilization benchmarks
- Include no-show analysis -- no-shows represent significant waste in hot-desking environments
- Correlate with headcount -- utilization should be measured against actual employee count, not total capacity
- Consider hybrid work patterns -- Monday/Friday typically have lower utilization in hybrid environments
- Track trends over time -- single-point metrics are less valuable than trends
- Include cost context -- translate underutilization into dollar impact for stakeholders
- Factor in amenities -- spaces with better amenities typically show higher utilization
- Benchmark across locations -- compare similar buildings to identify best practices
Troubleshooting
| 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 |
Examples
Example 1: Monthly Workplace Report for Real Estate Team
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.
Example 2: Facility Service Performance Review
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.
Related Skills
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 module
More from happy-technologies-llc/happy-platform-skills
happy-platform-skills
Reusable development patterns and automation recipes for enterprise platforms - 180+ skills across 23 categories
17scheduled-jobs
Comprehensive guide to creating and managing ServiceNow scheduled jobs - run frequencies, conditional execution, performance optimization, error handling, and debugging
4flow-generation
Generate ServiceNow Flow Designer flows from natural language descriptions including triggers, actions, conditions, subflows, approval flows, notification flows, and data manipulation flows
4application-scope
Manage scoped application development including setting application context and update set alignment
4scripted-rest-apis
Comprehensive guide to creating, securing, and testing Scripted REST APIs in ServiceNow for custom integrations and external system connectivity
4automated-testing
Comprehensive Automated Test Framework (ATF) guide for creating, managing, and executing automated tests in ServiceNow
4