Docs / Contact / dashboards/overview
Dashboards Overview
A Dashboard is a page of live widgets that chart the data your devices publish. Contact dashboards have no query language to learn: widgets bind to services, and because a service already declares what each field should look like, the dashboard builder knows which charts fit your data before you pick one.

Why services power dashboards
A service's validation rules describe your data's expected shape:
| Rules on a field | What the builder infers | Widgets offered |
|---|---|---|
between, gt, lt, ge, le |
a number, with an expected range | line chart, stat tile |
in, eq, ne, notIn |
one of a set of values | current-status tile, distribution |
startsWith, endsWith, contains |
text | distribution, stat tile |
hasAll, hasAny |
a list of values | message count |
isTimestamp, timeRange |
a timestamp | stat tile, message count |
listed in requiredFields only |
a required field | message count |
The inferred shape does more than suggest a chart type. A between [0, 50] rule renders as a shaded expected band on the line chart, so out-of-range readings are visible at a glance. An in ["ok", "warn", "crit"] rule gives the status tile its states and keeps distribution colors stable.
Every service also offers two service-level widgets regardless of its rules:
- Validation health: the pass/fail trend of the service's validation, with the overall success rate.
- Message volume / liveness: publish rate over time and how long ago the service last heard from a device.
And any device can power a device health widget (memory and disk usage over time), fed by its heartbeats rather than service data.
What dashboards chart
- Widgets chart
publishmessages: the same messages your services validate. Heartbeat and state traffic is not service data (device-health widgets cover the health story separately). - Widgets can cover every device on a service or be filtered to a single device.
- Time ranges follow your plan's retention window; the picker only offers ranges your history can cover.
- Dashboards refresh automatically every 30 seconds while open.
Widgets stay stable when services change
When you add a widget, it snapshots what it learned from the service: the inferred kind, expected range, and allowed values. Editing or deleting the service later never breaks a saved dashboard: the widget keeps rendering with its snapshot and shows a hint that its binding needs attention. Deleting a service is never blocked by dashboards that reference it.
Access
Dashboards are shared account-wide. Who can do what follows IAM roles:
- Admin: create, edit, and delete dashboards.
- ReadOnly / FleetOperator: view dashboards and their live data.
- Device credentials cannot access dashboards.
See Building Dashboards for the step-by-step walkthrough.
Tendrl