Skip to main content

Dashboard

Patter includes a built-in web dashboard for monitoring calls in real time.

Embedded Dashboard

When running serve(), the dashboard is enabled by default at the root URL:
await phone.serve(agent=agent, port=8000, dashboard=True)
# Dashboard: http://localhost:8000/

Standalone Dashboard

Run the dashboard as a separate process — useful when using the SDK as a tool (e.g. from LangGraph or Claude Code).
pip install getpatter[local]
patter dashboard --port 8000
The standalone dashboard receives call data automatically from the SDK via HTTP.

Features

  • Total Calls — count of all calls in the session
  • Total Cost — aggregate cost breakdown (STT, LLM, TTS, telephony)
  • Avg Duration — average call duration
  • Avg Latency — end-to-end response latency
  • Call List — all completed calls with cost, latency, turns
  • Active Calls — currently in-progress calls
  • Call Detail — click a call to see transcript, latency bars, cost breakdown
  • Real-time Updates — live via Server-Sent Events (SSE)

API Endpoints

EndpointDescription
GET /Dashboard web UI
GET /api/dashboard/callsList calls (paginated)
GET /api/dashboard/calls/:idSingle call detail
GET /api/dashboard/activeActive calls
GET /api/dashboard/aggregatesAggregate stats
GET /api/dashboard/eventsSSE event stream
GET /api/dashboard/export/callsExport as CSV or JSON