Field Reference
Note
Quick lookup of available fields for each NQL table - field names, data types, and example usage to prevent "field not found" errors.
How to Use This Reference
When to use:
- Building a new query and unsure which fields are available
- Getting "field not found" errors
- Exploring what data is available per table
How to read:
- Field Name - Exact field name to use in your query
- Type - Data type (string, number, duration, timestamp, etc.)
- Description - What the field contains
- Example Value - Typical data you'll see
- Common Usage - Where you'd use this field (filter, compute, list)
Field Naming Pattern
- Use
.to access nested fields:device.operating_system.name - Use
_within field names:cpu_usage,free_memory - Event tables prefix some fields with
event.:event.destination.domain
devices Table
Table type: Object (current state) Time selection: Not required (optional during past Xd for joins) Use for: Device inventory, hardware specs, current configuration
Top 25 Device Fields
| Field | Type | Description | Example Value | Usage |
|---|---|---|---|---|
device.name | string | Device hostname | "LAPTOP-001" | list, where, by |
operating_system.name | string | OS name and version | "Windows 11" | where, list, by |
operating_system.platform | enum | OS platform | windows, macos, linux | where, list, by |
operating_system.version | string | Detailed OS version | "22H2", "10.15.7" | where, list |
hardware.memory | number (bytes) | Total RAM | 17179869184 (16GB) | where, list (use .as(format = bytes)) |
hardware.model | string | Hardware model | "HP EliteBook 840 G8" | list, where |
volumes.size | number (bytes) | Total disk size | 512110190592 (512GB) | list, where |
last_seen | timestamp | Last contact with Nexthink | 2026-01-09 14:32:15 | list, where, sort |
department | string | Department assignment | "IT", "Sales" | where, list, by |
location | string | Physical location | "New York Office" | where, list, by |
manufacturer | string | Device manufacturer | "HP", "Dell", "Apple" | where, list |
model | string | Device model | "EliteBook 840 G8" | list, where |
serial_number | string | Serial number | "CND1234ABC" | list, where |
bios.version | string | BIOS version | "U65 Ver. 01.12.00" | list |
number_of_logical_processors | number | CPU core count | 8, 16 | list, where |
processor_name | string | CPU model | "Intel Core i7-1185G7" | list |
chassis.type | enum | Form factor | laptop, desktop, server | where, list |
domain | string | AD domain | "CORP", "DOMAIN" | where, list |
ip_address | string | IP address | "192.168.1.10" | list, where |
mac_address | string | MAC address | "00:1A:2B:3C:4D:5E" | list, where |
agent_version | string | Nexthink agent version | "6.30.1.1234" | list, where |
first_seen | timestamp | First contact | 2025-06-15 09:12:00 | list, where |
owner | string | Assigned user | "john.doe" | list, where |
cost_center | string | Cost center code | "CC-1234" | where, list, by |
notes | string | Admin notes | "VIP device" | list |
Example Queries - devices
Basic inventory:
devices
| list device.name,
operating_system.name,
hardware.memory.as(format = bytes),
last_seen
| limit 50
Windows 11 devices with >16GB RAM:
devices
| where operating_system.name == "Windows 11"
and hardware.memory > 17179869184
| list device.name,
hardware.memory.as(format = bytes),
processor_name,
department
| sort hardware.memory desc
| limit 100
Devices not seen in 7 days:
devices
| where last_seen < ago(7d)
| list device.name,
last_seen,
operating_system.name,
location
| sort last_seen asc
| limit 100
execution.events Table
Table type: Event (sampled data, 5-15 min intervals) Time selection: REQUIRED - during past Xd or past Xh Retention: 8 days (high-res), 30 days (low-res) Use for: Process execution, CPU/memory usage, application activity
Top 25 Execution Event Fields
| Field | Type | Description | Example Value | Usage |
|---|---|---|---|---|
binary.name | string | Executable name | "outlook.exe" | where (filter early!) |
application.name | string | Application name | "Microsoft Outlook" | where, by, list |
cpu_time | number (ms) | CPU time consumed | 15234 (15.2 sec) | .avg(), .sum() |
real_memory | number (bytes) | Memory usage | 524288000 (~500MB) | .avg(), .max() |
execution_duration | number (ms) | How long process ran | 3600000 (1 hour) | .sum(), .avg() |
number_of_started_processes | number | Process starts | 5 | .sum() |
number_of_logical_processors | number | CPU cores available | 8 | .max() |
device.name | string | Device hostname | "LAPTOP-001" | by, where, list |
user.name | string | Username | "john.doe" | by, where, list |
context.os_name | string | OS at event time | "Windows 10" | where, by |
context.device_platform | enum | Platform at event time | windows | where, by |
context.department | string | Department at event time | "IT" | where, by |
context.location | string | Location at event time | "NYC Office" | where, by |
context.hardware_model | string | Hardware model at event | "EliteBook 840" | where, by |
incoming_traffic | number (bytes) | Download bandwidth | 5242880 (5MB) | .sum(), .avg() |
outgoing_traffic | number (bytes) | Upload bandwidth | 1048576 (1MB) | .sum(), .avg() |
connection_establishment_time | number (ms) | Network RTT | 45 (45ms) | .avg(), .max() |
number_of_established_connections | number | Successful connections | 25 | .sum() |
number_of_no_host_connections | number | Failed (no host) | 2 | .sum() |
number_of_no_service_connections | number | Failed (no service) | 1 | .sum() |
number_of_rejected_connections | number | Rejected connections | 0 | .sum() |
binary.version | string | Executable version | "16.0.15225.20288" | where, by, list |
binary.publisher | string | Software publisher | "Microsoft Corporation" | where, list |
startup_duration | number (ms) | Application startup time | 3500 (3.5 sec) | .avg() |
binary.size | number (bytes) | Executable file size | 2097152 (2MB) | list |
Example Queries - execution.events
Outlook CPU usage by device:
execution.events during past 7d
| where binary.name == "outlook.exe"
| summarize
avg_cpu = cpu_time.avg(),
avg_memory = real_memory.avg(),
total_execution_time = execution_duration.sum()
by device.name
| list device.name,
avg_cpu,
avg_memory.as(format = bytes),
total_execution_time
| sort avg_cpu desc
| limit 20
Process activity trend:
execution.events during past 30d
| where binary.name in ["outlook.exe", "teams.exe", "chrome.exe"]
| summarize
unique_devices = device.count(),
avg_cpu = cpu_time.avg()
by 1d, binary.name
| sort start_time asc
execution.crashes Table
Table type: Event (discrete events) Time selection: REQUIRED - during past Xd Retention: 30 days Use for: Application stability, crash analysis
Top 15 Crash Event Fields
| Field | Type | Description | Example Value | Usage |
|---|---|---|---|---|
binary.binary.name | string | Crashed executable | "outlook.exe" | where |
binary.real_binary.name | string | Actual crashed binary | "outlook.exe" | where |
binary.real_binary.version | string | Crashed binary version | "16.0.15225.20288" | by, list |
application.name | string | Application name | "Microsoft Outlook" | where, by, list |
device.name | string | Device that crashed | "LAPTOP-001" | by, list |
user.name | string | User who experienced crash | "john.doe" | by, list |
crash.type | string | Crash type | "exception", "hang" | where, by, list |
crash.exception_code | string | Exception code | "0xC0000005" | list, where |
crash.module | string | Faulting module | "ntdll.dll" | list, where |
context.os_name | string | OS when crash occurred | "Windows 11" | where, by |
context.department | string | Department at crash time | "Sales" | where, by |
timestamp | timestamp | When crash occurred | 2026-01-09 10:15:32 | list, where |
binary.publisher | string | Software publisher | "Microsoft Corporation" | list, where |
binary.product_name | string | Product name | "Microsoft Office" | list, where |
operating_system.version | string | OS version | "22H2" | list, where |
Example Queries - execution.crashes
Crash analysis by version:
execution.crashes during past 7d
| where binary.binary.name == "outlook.exe"
| summarize
crash_count = count(),
affected_devices = device.name.count(),
affected_users = user.name.count()
by binary.real_binary.version
| list binary.real_binary.version,
crash_count,
affected_devices,
affected_users
| sort crash_count desc
| limit 20
Daily crash trend:
execution.crashes during past 30d
| where application.name == "Microsoft Outlook"
| summarize crash_count = count() by 1d
| sort start_time asc
device_performance.events Table
Table type: Event (sampled data, 5-15 min intervals) Time selection: REQUIRED - during past Xd or past Xh Retention: 30 days (both resolutions) Use for: System performance (CPU, memory, disk)
Top 15 Performance Fields
| Field | Type | Description | Example Value | Usage |
|---|---|---|---|---|
cpu_usage.avg | number (percent) | CPU utilization | 45.2 (45.2%) | where, .avg(), .max() |
free_memory | number (bytes) | Available RAM | 8589934592 (8GB) | .avg(), .last() |
free_disk_space | number (MB) | Available disk space | 102400 (100GB) | .last(), .avg() |
disk_read_rate | number (bytes/sec) | Disk read speed | 1048576 (1MB/s) | .avg(), .max() |
disk_write_rate | number (bytes/sec) | Disk write speed | 524288 (512KB/s) | .avg(), .max() |
network_bandwidth_in | number (bytes/sec) | Download speed | 10485760 (10MB/s) | .avg(), .sum() |
network_bandwidth_out | number (bytes/sec) | Upload speed | 1048576 (1MB/s) | .avg(), .sum() |
device.name | string | Device hostname | "LAPTOP-001" | by, where, list |
device.hardware.memory | number (bytes) | Total RAM | 17179869184 (16GB) | .max() |
device.volumes.size | number (bytes) | Total disk size | 512110190592 (512GB) | .max() |
context.os_name | string | OS at event time | "Windows 11" | where, by |
context.department | string | Department at event | "IT" | where, by |
timestamp | timestamp | Event timestamp | 2026-01-09 14:30:00 | list |
uptime | number (seconds) | System uptime | 864000 (10 days) | .avg(), list |
running_processes | number | Process count | 152 | .avg() |
Example Queries - device_performance.events
High CPU devices:
devices during past 7d
| include device_performance.events
| where cpu_usage.avg > 50
| compute
avg_cpu = cpu_usage.avg(),
peak_cpu = cpu_usage.avg.max()
| list device.name,
avg_cpu.as(format = percent),
peak_cpu.as(format = percent)
| sort avg_cpu desc
| limit 20
Low disk space:
devices during past 7d
| include device_performance.events
| compute free_space_gb = free_disk_space.last() / 1000
| where free_space_gb < 20
| list device.name,
free_space_gb.as(format = bytes)
| sort free_space_gb asc
| limit 50
connection.events Table
Table type: Event (sampled data) Time selection: REQUIRED - during past Xd or past Xh Retention: 8 days (high-res), 30 days (low-res) Use for: Network connections, bandwidth, latency
Top 20 Connection Fields
| Field | Type | Description | Example Value | Usage |
|---|---|---|---|---|
event.destination.domain | string | Destination domain | "api.service.com" | where, by, list |
event.destination.ip | string | Destination IP | "192.168.1.10" | where, list |
event.destination.port | number | Destination port | 443, 80 | where, by, list |
event.number_of_connections | number | Total connections | 150 | .sum() |
event.number_of_established_connections | number | Successful connections | 140 | .sum() |
event.number_of_no_host_connections | number | No host failures | 5 | .sum() |
event.number_of_no_service_connections | number | No service failures | 3 | .sum() |
event.number_of_rejected_connections | number | Rejected connections | 2 | .sum() |
event.failed_connection_ratio | number (percent) | Failure rate | 0.067 (6.7%) | .avg(), where |
incoming_traffic | number (bytes) | Download bandwidth | 10485760 (10MB) | .sum(), .avg() |
outgoing_traffic | number (bytes) | Upload bandwidth | 1048576 (1MB) | .sum(), .avg() |
connection_establishment_time | number (ms) | RTT latency | 45 (45ms) | .avg(), .max() |
device.name | string | Device hostname | "LAPTOP-001" | by, where, list |
binary.name | string | Process name | "outlook.exe" | where, by, list |
application.name | string | Application name | "Microsoft Outlook" | where, by, list |
context.os_name | string | OS at event time | "Windows 11" | where, by |
context.location | string | Location at event | "NYC Office" | where, by |
user.name | string | Username | "john.doe" | by, list |
protocol | string | Network protocol | "TCP", "UDP" | where, list |
timestamp | timestamp | Event timestamp | 2026-01-09 14:30:00 | list |
Example Queries - connection.events
Connection failures by domain:
connection.events during past 7d
| where event.destination.domain = "*.company.com"
and event.failed_connection_ratio >= 0.10
| summarize
total_connections = event.number_of_connections.sum(),
failed_connections = (event.number_of_no_host_connections.sum() +
event.number_of_no_service_connections.sum()),
avg_failure_rate = event.failed_connection_ratio.avg(),
affected_devices = device.name.count()
by event.destination.domain
| list event.destination.domain,
total_connections,
avg_failure_rate.as(format = percent),
affected_devices
| sort avg_failure_rate desc
| limit 20
Network latency analysis:
connection.events during past 7d
| where event.destination.domain = "*.service.com"
| summarize
avg_rtt = connection_establishment_time.avg(),
max_rtt = connection_establishment_time.max()
by event.destination.domain
| list event.destination.domain,
avg_rtt,
max_rtt
| sort avg_rtt desc
| limit 20
web.page_views Table
Table type: Event (per page view) Time selection: REQUIRED - during past Xd Retention: 30 days Use for: Web application performance, page load times
Top 15 Web Performance Fields
| Field | Type | Description | Example Value | Usage |
|---|---|---|---|---|
application.name | string | Web application | "Salesforce", "Confluence" | where, by, list |
page_load_time.backend | number (ms) | Server response time | 1250 (1.25 sec) | .avg(), .max() |
page_load_time.frontend | number (ms) | Client rendering time | 850 (0.85 sec) | .avg(), .max() |
page_load_time.total | number (ms) | Total page load | 2100 (2.1 sec) | .avg(), .max() |
page_url | string | Page URL | "/dashboard" | where, list |
page_title | string | Page title | "Dashboard - Salesforce" | list |
device.name | string | Device hostname | "LAPTOP-001" | by, where, list |
user.name | string | Username | "john.doe" | by, list |
browser.name | string | Browser used | "Chrome", "Edge" | where, by, list |
browser.version | string | Browser version | "120.0.6099.130" | list |
response_code | number | HTTP status code | 200, 404, 500 | where, list |
bytes_downloaded | number (bytes) | Page size | 1048576 (1MB) | .sum(), .avg() |
context.location | string | Location at page view | "NYC Office" | where, by |
timestamp | timestamp | When page loaded | 2026-01-09 14:30:00 | list |
dns_lookup_time | number (ms) | DNS resolution time | 15 (15ms) | .avg() |
Example Queries - web.page_views
Salesforce load times by device:
web.page_views during past 7d
| where application.name == "Salesforce"
| summarize
avg_load_time = page_load_time.total.avg(),
max_load_time = page_load_time.total.max(),
page_count = count()
by device.name
| list device.name,
avg_load_time,
max_load_time,
page_count
| sort avg_load_time desc
| limit 20
Web app performance comparison:
web.page_views during past 7d
| where application.name in ["Salesforce", "Jira", "Confluence"]
| summarize
avg_backend_time = page_load_time.backend.avg(),
avg_frontend_time = page_load_time.frontend.avg(),
page_views = count()
by application.name
| list application.name,
avg_backend_time,
avg_frontend_time,
page_views
| sort avg_backend_time desc
context vs device Fields
Understanding the difference prevents common query errors.
context Fields (Historical)
What: Values at the time the event occurred Prefix: context.* Use when: You need historical state or are analyzing event data
Common context fields:
context.os_name- OS when event happenedcontext.device_platform- Platform at event timecontext.hardware_model- Hardware at event timecontext.department- Department at event timecontext.location- Location at event time
Example scenario:
Device upgraded from Windows 10 to Windows 11 yesterday.
/* Events from last week show historical OS */
execution.events during past 7d
| list device.name,
context.os_name, # Shows "Windows 10" for old events
device.operating_system.name # Shows "Windows 11" (current)
device Fields (Current)
What: Current device state (as of right now) Prefix: device.* Use when: You need current configuration or inventory state
Common device fields:
device.name- Current hostnamedevice.operating_system.name- Current OSdevice.operating_system.platform- Current platformdevice.hardware.memory- Current RAM (doesn't change often)device.department- Current department assignment
Example:
/* Current device inventory */
devices
| list device.name,
device.operating_system.name, # Current OS
device.hardware.memory, # Current RAM
device.department # Current dept
When to Use Which
| Scenario | Use | Example |
|---|---|---|
| Trending by OS version over time | context.os_name | Crash trend by OS at crash time |
| Current inventory report | device.operating_system.name | List of all Windows 11 devices |
| Performance by historical department | context.department | CPU by department at event time |
| Filter events by current device state | device.* | Events from devices currently in IT dept |
| "What was the environment when this happened?" | context.* | OS/dept/location at event time |
| "What is this device now?" | device.* | Current OS/dept/location |
Data Type Reference
Understanding data types helps choose the right operators and functions.
| Type | Description | Operators | Aggregations | Formatting |
|---|---|---|---|---|
| string | Text values | ==, !=, in, = (wildcards) | .count() | - |
| number | Integers, decimals | >, <, >=, <=, ==, != | .sum(), .avg(), .max(), .min() | .as(format = ...) |
| timestamp | Date/time | >, <, >=, <=, == | .last(), .max(), .min() | - |
| duration | Time spans (ms, sec) | >, <, >=, <= | .sum(), .avg(), .max() | - |
| enum | Fixed set of values | ==, !=, in | .count() | - |
| boolean | true/false | ==, != | - | - |
Number subtypes:
- bytes - Memory, disk space, file sizes (use
.as(format = bytes)) - milliseconds - Durations, latencies
- percent - 0-100 scale (use
.as(format = percent)for 0-1 scale)
Common Field Patterns
Pattern: Hardware Specifications
devices
| list device.name,
hardware.memory.as(format = bytes),
hardware.model,
number_of_logical_processors,
volumes.size.as(format = bytes)
Pattern: Network Performance
connection.events during past 7d
| where event.destination.domain = "*.company.com"
| summarize
avg_rtt = connection_establishment_time.avg(),
total_bandwidth = (incoming_traffic.sum() + outgoing_traffic.sum()),
failure_rate = event.failed_connection_ratio.avg()
by event.destination.domain
Pattern: System Performance
devices during past 7d
| include device_performance.events
| compute
avg_cpu = cpu_usage.avg(),
avg_free_memory = free_memory.avg(),
free_disk_gb = free_disk_space.last() / 1000
| list device.name,
avg_cpu.as(format = percent),
avg_free_memory.as(format = bytes),
free_disk_gb.as(format = bytes)
Tips for Using Fields
Check Field Exists on Your Table
Not all fields are available on all tables. If you get "field not found" errors: - Verify you're using the right table - Check this reference for field availability - Use device.field vs context.field appropriately
Use .as(format = ...) for Readability
Format bytes, percentages, and currency for better output:
Smart Aggregates: .avg() vs .avg
.avg- Database field (pre-computed, use inwhere).avg()- Aggregation function (compute average, use incompute/summarize)
Event Fields Require Time Selection
Don't Mix context and device for Same Field
/* ❌ INCONSISTENT - comparing different data */
execution.events during past 7d
| where context.os_name == "Windows 10" # OS at event time
and device.operating_system.name == "Windows 11" # Current OS
/* This finds devices that UPGRADED! */
/* ✅ CONSISTENT - use one or the other */
| where context.os_name == "Windows 10"
Related Topics
- Tables & Data Model - Understanding which tables to query
- Common Query Templates - Ready-to-use queries with these fields
- where - Filtering Data - Using fields in filters
- compute - Calculations - Computing metrics from fields
- list - Selecting Fields - Displaying fields in output
Additional Resources
- NQL Syntax Cheat Sheet - Quick operator reference
- Aggregation Functions - How to use .avg(), .sum(), .count()
- Your First Query - Beginner tutorial using these fields