Supervisors get two monitoring surfaces: the Supervisor Dashboard inside the agent console (/agent-console/agents) and the Agent Desk Metrics cards in the admin dashboard (/dashboard/agent-desk).

Supervisor Dashboard

The supervisor dashboard is gated by the supervisor role (redirects to /agent-console otherwise) and polls fetchSupervisorDashboard every 5 seconds. It renders two tables:
  • Agents — Name, Email, Role, and a Status badge (available → success, on_call → primary, busy/disconnected → danger).
  • Active Calls — Call ID, Caller, assigned agent, Status, and per-call actions.

Monitoring actions

ActionAPIBehavior
ListensupervisorListenjoins the room receive-only (audio off)
Barge insupervisorBargeInjoins with mic; BargeMicToggle mutes/unmutes
Force EndsupervisorForceEndconfirm dialog, then tears the call down
Listen and Barge open a MonitorPanel that connects to a LiveKitRoom with the returned token; for barge, audio publishing is enabled. Listen/Barge are disabled unless the call status is assigned or active, or another join is in flight.

Agent Desk Metrics

Agent Desk Metrics is the admin-side summary (under /dashboard, gated by the ADK flag). It calls fetchAgentDeskMetrics once and renders five stat cards:
CardField
Queue Depthqueue.waiting
Active Callsqueue.active
Agents Availableagents.available
Agents On Callagents.busy
Calls Handled Todaytoday_calls
It shows skeleton cards while loading.

Agent console

The agent-side workspace being monitored.

Agent Desk (CXB API)

Queue, rooms, listen/barge, and force-end server-side.