Wallboard: supervisor real-time tiles
The dashboard ships a full-screen Wallboard surface at Voice → Wallboard (and a cross-channel one at Wallboard in the top nav) that is designed to live on a shared display — a TV on the ops floor, an extra monitor at the supervisor desk. It cycles headline KPIs, queue health, live agent states, SLA warnings, and the top-performer leaderboard on a short rotation so nobody has to click anything to see the room. This guide covers what each tile reads, how to scope the time window, which roles can see it, and how to mount it on a display.What the wallboard shows
The headline strip is built from real-time tiles, each colored by a health threshold (healthy / warning / critical, plus a neutral “no data” state when a metric has nothing to render instead of a misleading zero). What a supervisor sees:- Voice wallboard (
/voice/wallboard) — per-queue live figures: calls waiting, Average Wait, Service Level against your SLA target, Agents Available, Longest Wait, and a by-queue breakdown table. SLA-warning banners layer on top when a queue crosses its target, and predicted-CSAT escalation banners flag live calls trending toward escalation. - Omnichannel wallboard (
/wallboard) — message-level tiles (Messages Sent, Delivery Rate, Queue Depth, Active Agents, SLA Breaches, API/Messages volume) plus the unified cross-channel queue panel. - Both surfaces also embed the Top performers leaderboard, sortable by calls handled, handle time, or CSAT.
Data provenance — which feed fills each chip
Each chip is populated from a specific supervisor feed, so when a number looks off you know where to drill:
CSAT rows that have no score yet render as an explicit ”—” rather than a fabricated 0, and the leaderboard row stays addressable so the supervisor can still click through.
Time window
By default the leaderboard and the aggregate KPIs run over today (the local calendar day, resolved in the viewer’s own timezone so “today” does not drift for a team split across timezones). You can pin a custom window:- Leaderboard window picker: today / 7d / 30d. The server caps the range at 31 days; a wider request is shortened to 31 days, and an inverted range falls back to the last 24 hours.
- Over the API the window is
from/toISO timestamps onGET /api/v1/voice/supervisor/agent-leaderboard, so an ops screen can pin a specific shift or a rolling window instead of the picker defaults.
Mounting it on a display
The page is built for a shared screen, and everything you need lives in the header:- Fullscreen — press
For the fullscreen button to strip the browser chrome for TV mounting. - Cycle tiles — the KPI strip auto-rotates through paginated tiles every 10 seconds, so every metric gets screen time without input.
- Pause cycle — press
Space(or the pause button) to hold one page while reviewing. The paused state persists across refreshes on that display, so a TV tab does not silently resume cycling. - Navigate pages — arrow keys step through tile pages manually.
- Live clock — a local-time clock in the header makes the page safe to leave on display (no stale “last updated” confusion).
Drill-down from a tile
Every number is a surface, not a dead end. From the leaderboard row, click through to the agent; from a SLA warning, to the queue; from a CSAT chip, to the underlying quality feed where the evaluations behind the aggregate live. The “peek is too shallow” problem is solved by always keeping the latest evaluations list one click away rather than trying to compress it into the chip.Permissions: who sees it
The wallboard surfaces are supervisor-scoped:- Owner / admin / supervisor roles see the full org-wide view, including every queue and every agent row.
- A lower-privilege agent role sees a restricted view — on the leaderboard, only their own row; the response fails closed rather than leaking other agents’ figures.
Endpoints
Worked API examples
The two supervisor feeds that power the wallboard are plain GET endpoints under the same API key as the rest of the platform. The examples below use the Node SDK (@devotel-orbit/node); raw curl equivalents follow each one. They call the SDK’s generic request() escape hatch rather than a typed helper, because these supervisor feeds ship ahead of the typed SDK surface.
Agent leaderboard
Query parameters (all optional):from/to— ISO 8601 timestamps. Omit both for the default window (last 24 hours). The server shortens any window over 31 days to 31 days, and an inverted range falls back to the last 24 hours.sort— one ofcalls_handled(default),avg_handle_seconds,avg_csat.limit— 1–50, default 10.
200 OK body (window pinned as the worked from/to above):
avg_csat is null when an agent has no CSAT responses in the window — render ”—”, not 0. avg_handle_seconds counts talk time only, matching the per-queue leaderboard the CSAT/value columns aggregate.
Omnichannel wallboard
One live snapshot; no query parameters.200 OK body:
unassigned + assigned always equals live. awaiting_response counts only threads already assigned to an agent that are still waiting for that agent’s first reply, so the breakdown never sums to more than live; longest_wait_seconds is the oldest genuinely waiting thread — assigned or not. Poll on a short cadence (the wallboard page itself worsens to a 5s+ poll only when the live event channel is unavailable).
See also
- Voice — queues, SLA targets, and the live agent grid the wallboard reads
- Quality — the scorecard and evaluation pipeline the CSAT chips aggregate
- QA workload management — workload quotas and due dates for the evaluations surfaced here
- On-call alerting — the on-call warning feed the SLA banners ride on