Analytics & Observability
Workspace analytics, call management, recording access, and the external-write review queue.
Workspace-level analytics, call management, recording access, and the external-write review queue.
Analytics
Usage summary: Event counts by type with daily breakdown
Call statistics: Volume and duration metrics
Event breakdown: Distribution by type and source
Data quality: Confidence distribution and review pipeline stats
Call Intelligence
Per-call intelligence summaries are computed from in-memory session state at call end and persisted for analytics use. Each record includes a composite quality score (0-100), emotion summary, risk assessment, latency metrics, conversation shape, tool performance, safety matches, and operator data. See Voice Agent, Call Intelligence Persistence for field details and scoring rules.
Call Intelligence Analytics (5 Endpoints)
Five endpoints aggregate call intelligence data for dashboard visualizations.
Common parameters (all endpoints):
days
integer (1-90)
30
Lookback window if no explicit dates
date_from
date
-
Start of range (inclusive)
date_to
date
-
End of range (inclusive)
interval
1h / 1d / 1w
1d
Time bucket for trend data
service_id
string
-
Filter to a specific service
Endpoints:
GET /v1/{workspace_id}/analytics/call-quality
summary (avg/p50/p95 quality, total calls, escalation rate, avg duration) + trend (per-bucket avg quality, call count, escalation count) + quality_distribution (excellent/good/fair/poor counts)
GET /v1/{workspace_id}/analytics/emotion-trends
emotion_distribution (emotion name + count, sorted by frequency) + trend (per-bucket call count, avg valence, avg arousal)
GET /v1/{workspace_id}/analytics/latency
summary (per-component p50/p95/p99) + trend (per-bucket component percentiles)
GET /v1/{workspace_id}/analytics/tool-performance
summary (total calls, overall failure rate) + tools (per-tool invocations, failures, failure rate, avg ms) + trend (per-bucket tool calls, failure rate)
GET /v1/{workspace_id}/analytics/operator-performance
summary (escalation count/rate, avg connect time, avg quality for escalated vs non-escalated) + trend (per-bucket escalation counts)
All endpoints require viewer+ permissions and are workspace-scoped. Quality distribution tiers: excellent (90-100), good (70-89), fair (50-69), poor (0-49).
Calls & Recordings
Call listing: Filter by date, status, and duration. Each call includes quality score and final state from call intelligence. Supports
continuation_tokenfor cursor-based pagination alongsideoffset.Call detail: Full call detail with turns, timeline, and playback data (proxied from the voice agent for rich conversation reconstruction)
Call intelligence: Per-call intelligence profile with emotion summary, risk summary, latency breakdown, and tool performance
Active call intelligence: Live intelligence overlay for all active calls (current emotion, turn count, escalation status)
Phone volume: Call volume per phone number over a time window
Recordings: Time-limited signed URLs for audio playback, plus recording metadata
Review Queue
The review queue holds external write proposals awaiting a human decision: list pending proposals, inspect a proposal's payload, and approve or reject it. See Approval-Gated Integration Writes for the full lifecycle and the Review Queue API reference for the endpoint schemas.
Population Health Analytics
A layered epidemiology pipeline materializes six per-workspace analytics output tables for downstream risk stratification, dashboard visualizations, and explainable cohort analysis:
patient_condition_fact: exploded patient × condition fact with onset, age at onset, normalized code system, and cohort bucket.disease_trends_monthly: incident counts by code × month × cohort.disease_prevalence_current: active-condition prevalence with Wilson 95% confidence intervals, which stay reliable for small samples.disease_cohort_drivers: Standardized Prevalence Ratio (SPR - the ratio of a cohort's observed condition prevalence to the prevalence expected from the overall population) per(code, cohort)with Byar 95% confidence intervals. The canonical measure of whether a cohort over- or under-indexes for a condition.patient_condition_burden: per-patient Charlson Comorbidity Index (CCI - a weighted comorbidity score that predicts mortality risk from a patient's condition list; Quan 2005 ICD-10 mapping) and age-adjusted CCI (Charlson 1994). Feature-ready for risk models.condition_cooccurrence_pairs: association statistics for condition pairs - Jaccard similarity, lift, pointwise mutual information (PMI - how much more often two conditions co-occur than chance would predict), and chi-square.
All association and ratio tables emit a min_support_met flag at the standard small-cell suppression threshold (observed ≥ 5). Filter on it to avoid reporting unstable rates.
Methodology follows the standard epidemiology literature: Wilson (1927), Breslow & Day (1987), Charlson et al. (1987, 1994), Quan et al. (2005).
Platform Health Monitoring
Two endpoints provide real-time platform health visibility without querying the analytics warehouse:
GET /v1/{workspace_id}/sensorium/connector-health. Per-source event health for every data source writing into the workspace.
Each source entry includes:
events_last_hour
Events ingested in the last hour
events_last_24h
Events ingested in the last 24 hours (rolling, not calendar-day)
events_per_minute
Mean events per minute over the last hour
last_ingested_at
Timestamp of last ingested event
freshness
fresh (<5m), stale (5-60m), quiet (>60m), never (no events in 24h)
GET /v1/{workspace_id}/sensorium/loop-latency. End-to-end latency from data ingestion to agent action.
overall_p50_seconds
Median sense-to-act latency in seconds across the window; null when no pairs
overall_count
Total sensing-to-action pairs in the window
window_hours
Echoed window size
truncated
true when the underlying query hit the row cap, so the median is computed over a truncated sample
as_of
Server timestamp of the query (UTC)
sparkline[]
Up to 168 hourly buckets, each with hour (UTC hour bucket), count, and p50_seconds (null if no pairs that hour)
Query parameter: window_hours (1-168, default 24) controls the lookback window.
Both endpoints are workspace-scoped and rate-limited under the standard read policy. Permissions: viewer+.
Voice Judge
Audio-native quality evaluation that scores every call across ten dimensions directly from the stereo recording. Unlike post-interaction quality scoring (which analyzes structured session data), the Voice Judge operates on the full audio and produces per-dimension scores with structured evidence for UI drill-down. The ten dimensions are also available as aggregate built-in metrics in the metric store, so workspace-level trends flow through the standard dashboard and alerting infrastructure.
Pipeline Health
Read-only endpoints under /v1/{workspace_id}/pipeline/ provide real-time connector runner observability for the pipeline dashboard: composite pipeline status, per-source health and history, outbound sync summaries and logs, entity resolution metrics, review pipeline metrics, and event throughput. The endpoints degrade gracefully when the connector runner is unavailable - stored metrics stay visible. See Connector Runner, Pipeline Observability for the full endpoint reference.
Command Center
GET /v1/{workspace_id}/command-center. Single-pane workspace health dashboard.
Aggregates metrics from five domains concurrently, each failing independently:
voice
VoiceMetrics
active_calls, active_escalated, calls_today, avg_quality_score_today, escalation_rate_today
pipeline
PipelineMetrics
sources_total, sources_healthy, sources_degraded, sources_failing, events_last_hour, outbound_pending, outbound_failed, connector_status
data_quality
DataQualityMetrics
pending_reviews, approval_rate_7d, avg_confidence, entities_total, entities_merged_7d
identity
IdentityMetrics
active_api_keys, active_sessions, failed_auths_1h, locked_accounts, mfa_coverage_pct
alerts
CommandCenterAlert[]
level (warning/critical), code, message, section
Additional response fields: degraded_sections (list of section names that failed to load), generated_at, cached.
Caching: Responses may be served from a short-lived cache; the cached field indicates when this happened. Alerts: Derived from 7 threshold checks on the aggregated metrics. Permissions: viewer+.
Percentile Analytics
GET /v1/{workspace_id}/analytics/calls/advanced. Percentile-based call metrics.
days
integer (1-90)
30
Lookback window
date_from / date_to
date
-
Explicit date range
interval
1h / 1d / 1w
1d
Time bucket
service_id
string
-
Filter by service
direction
string
-
Filter by inbound or outbound
Returns: summary (p50/p95/p99 for duration + quality), trend (per-bucket with p95 latency), by_service breakdown, by_direction breakdown.
GET /v1/{workspace_id}/analytics/calls/comparison. Period-over-period comparison.
current_from / current_to
date
Yes
Current period
previous_from / previous_to
date
Yes
Previous period
service_id
string
No
Filter by service
Returns: current metrics, previous metrics, delta (absolute + percentage change for each KPI).
Entity Intelligence & World Sync
Entity-level intelligence endpoints (relationship graph, provenance, lineage, duplicate detection, entity search) and the outbound world sync events endpoint are documented with the rest of the world model API.
Real-Time Event Stream
GET /v1/{workspace_id}/events/stream. Server-Sent Events for real-time workspace updates.
Subscribes to the workspace event channel and streams events as they occur:
call.started
New call begins
call.ended
Call completes
call.escalated
Operator escalation triggered
pipeline.sync_completed
Data source poll finished
pipeline.error
Pipeline error detected
review.submitted
Review queue item processed
alert
Alert threshold crossed
Protocol details:
Media type:
text/event-streamHeartbeat: Comment every 30s to keep connection alive
Reconnection: Send
Last-Event-IDheader on reconnect for replay of recent eventsBackpressure: Oldest events dropped when the event buffer is full
Falls back to error event if the event system is unavailable
Permissions: viewer+.
Dashboards
Workspace-scoped analytics dashboards that can be rendered in the Developer Console or embedded in external applications.
Dashboards are managed through CRUD endpoints under /v1/{workspace_id}/dashboards/. Each dashboard has a slug (URL-friendly identifier), title, description, and chart configuration. The list endpoint returns all dashboards for the workspace. The get-by-slug endpoint returns the full dashboard definition including data queries and chart layout.
The @amigo-ai/dashboards package provides an embeddable React component (DashboardEmbed) that renders a dashboard given a workspace ID and slug. The component supports two authentication modes: explicit API token or backend-for-frontend proxy (where the hosting application handles authentication and the component omits the token).
API Reference
Last updated
Was this helpful?

