Skip to content
TriedDocs
Monitor

Analytics

The built-in call overview and custom dashboards with charts, breakdowns, filters on extracted data and previous-period comparison.

Analytics turns your calls into charts. The Overview tab is a fixed summary of volume, success, sentiment, disconnection reasons, latency and cost. The Custom dashboards tab lets you build up to 10 dashboards of your own charts, each with its own metric, measurement, breakdowns and filters.

Open it from MONITOR > Analytics. The header has an agent selector (All agents or one agent), a range switch (7 days, 30 days, 90 days) and Ask Conductor, which attaches the current summary as context.

The Analytics overview with KPIs and daily charts

Overview#

The overview is computed from calls created in the selected range, in the Australia/Sydney time zone by default.

Tile or chart What it shows
Total calls Calls in the range, with calls per day.
Success rate Successful calls divided by calls that have post-call analysis.
Avg duration Average duration of ended calls, with total minutes.
Avg E2E latency p50 of every end-to-end latency sample in the range, with p90.
Total cost Sum of call_cost.combined_cost, with cost per minute.
Calls per day Daily call count.
Call success rate Daily share of analysed calls marked successful.
User sentiment Positive, Neutral, Negative and Unknown counts.
Disconnection reasons The 8 most common reasons.
End-to-end latency Daily p50 and p90.

Every day in the range appears on the x axis, including days with no calls.

The same data is available from GET /analytics/summary with from, to (epoch ms, default the last 30 days), agent_id and tz. It returns totals, sentiment, disconnection_reasons, by_direction (inbound, outbound, web), latency (e2e_p50, e2e_p90, e2e_p99, e2e_avg) and a daily array.

Custom dashboards#

A workspace can have up to 10 dashboards. Each holds up to 24 charts on a 12 column grid.

Custom dashboards with tabs and a chart grid

Managing dashboards#

  • Dashboard (or New dashboard when there are none) creates a dashboard named "Dashboard N" with two starter charts: calls per day and a success rate number with previous-period comparison.
  • Click a tab to switch dashboards. Double-click a tab, or click Rename, to rename it (up to 60 characters).
  • The left and right arrows move the active dashboard one tab over. The API renumbers the others.
  • Duplicate copies the dashboard and its charts as " (copy)".
  • The trash icon deletes the dashboard. Call data is not affected.
  • The counter next to the tabs shows how many of the 10 you have used.
Moving a dashboard tab with the arrow buttons

Arranging charts#

Drag a chart by its grip handle to move it and drag its corner to resize it (minimum 2 by 2 grid units). Layout changes save automatically. The pencil icon edits a chart and the trash icon removes it.

All charts on a dashboard use the range selected in the page header.

The chart editor#

Chart opens the editor. Save chart adds it to the active dashboard.

The chart editor with metric, measurement, breakdowns and filters
Setting Options
Title Required. Up to 80 characters.
Chart type Line, Stacked bar over time, Column, Pie, Donut, Number, Table
Metric See below
Measurement Depends on the metric
Break down by Up to 5 dimensions
Agents Leave all unticked for every agent
Call types phone_call, web_call
Sentiment Positive, Neutral, Negative, Unknown
Call successful Any, Successful, Unsuccessful
Disconnection reasons Leave all unticked for every reason
Analysis, metadata and variable filters Conditions on extracted fields, metadata and variables
Compare to previous period Adds the previous period's total and the change

Metrics and measurements#

Metric (label) API metric Measurements
Calls call_count Count
Call duration (s) call_duration Average, Median, Sum, Min, Max, P50, P90
Call cost ($) call_cost Sum, Average, Median, Min, Max
Success rate (%) success_rate Rate
Negative sentiment (%) negative_sentiment_rate Rate
E2E latency (ms) e2e_latency Average, Median, P50, P90, Min, Max
Chats chat_count Count
  • Success rate counts only calls with post-call analysis.
  • Negative sentiment rate counts only calls with a sentiment.
  • E2E latency uses every per-turn sample, not one value per call.
  • Chats counts chats by day. Breakdowns and filters do not apply to it.

Breakdowns#

A breakdown splits the chart into one series per value. Base dimensions are agent, direction, call_type, disconnection_reason, user_sentiment and call_successful. You can also break down by a custom key:

  • Analysis analysis.<field>: a custom extraction field, or a preset such as user_sentiment.
  • Metadata metadata.<key>, dotted paths allowed.
  • Variable variable.<key>: dynamic or collected variables.

With several breakdowns, series are labelled with the values joined by " / ", for example Receptionist / Negative. Calls without a value fall in (none). Web calls have direction web.

A chart broken down by agent and an extracted field

Filters on extracted data#

The Analysis, metadata and variable filters rows work like the Call History filters: source (Analysis, Metadata, Variable), key, operator and value. Operators: equals, is not, contains, does not contain, >, ≥, <, ≤, is set, is not set, is one of. Text comparisons ignore case. Up to 20 filters, all must match.

Compare to previous period#

The previous period has the same length and ends where the current range starts. Number charts show the change as "N% vs previous period". The API returns previous_total and change_percent for the whole chart and for each series.

Analytics API#

Endpoint Description
POST /analytics/query Runs one chart query.
GET /dashboards Lists dashboards in tab order.
POST /dashboards Creates a dashboard (name, charts). 400 after 10.
PUT /dashboards/:id Replaces name and charts; position moves the tab.
DELETE /dashboards/:id Deletes a dashboard.
{
  "metric": "call_count",
  "measurement": "count",
  "breakdowns": ["agent", "analysis.appointment_booked"],
  "from": 1758240000000,
  "to": 1760832000000,
  "tz": "Australia/Sydney",
  "filters": {
    "direction": ["inbound"],
    "fields": [{ "source": "metadata", "key": "campaign", "op": "eq", "value": "spring" }]
  },
  "compare_previous": true
}

The response has total, previous_total, breakdowns, and series[] with key, label, total and daily points (date, value). Without from and to the query covers the last 30 days.