> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orbit.devotel.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Read the Voice → Intelligence page

> Read per-call voice intelligence — the sentiment trend, keyword cloud, topic clusters, and call intents — pick the right trends window, manage categories and intelligence operators, and drill from a spike to the exact calls behind it.

# Voice Intelligence

[Read the sentiment portfolio](/guides/sentiment-portfolio-reading) tells you how customers feel across every channel. **Voice → Intelligence** in the Orbit console zooms into one surface: your analysed voice calls. It rolls post-call analysis up into a sentiment timeline, a keyword cloud, topic clusters, a call-intent breakdown, and conversational-dynamics metrics, refreshed every five minutes — with drill-down from any spike to the exact calls behind it.

Open it at **Voice → Intelligence** with the console route `/voice/intelligence`.

## How this page differs from the other intelligence surfaces

Three pages answer three different questions; pick the one that matches yours:

* **Voice → Intelligence (this page)** — per-call voice only. Sentiment, keywords, topics, and intents extracted from analysed call transcripts, plus the category taxonomy and intelligence operators that govern what the post-call pass computes. Question: *what is happening inside our calls right now?*
* **Insights → Sentiment** — the cross-channel portfolio. One net-sentiment index over WhatsApp, SMS, email, chat, and voice combined, with by-channel, by-agent, and by-resolution breakdowns (see [Read the sentiment portfolio](/guides/sentiment-portfolio-reading)). Question: *is the whole customer experience trending up or down, and on which surface?*
* **Insights → Topic Intelligence** — the multi-channel contact-reasons clustering pipeline: coarse topic trends across voice, chat, email, and WhatsApp with CSAT, deflection, and handle-time outcomes (see [Insights dashboards](/guides/insights-dashboards)). Question: *which contact reasons absorb effort across all our channels?*

The decision rule: a signal isolated to **voice traffic** (a keyword spiking, a call-topic turning negative, agents talking over customers) belongs here. A signal you only suspect at **portfolio level** (CSAT sliding, deflection dropping) starts in Insights — come to this page when you need the per-call evidence behind a voice-only dip.

## Prerequisites

The page populates once the post-call analysis pass has something to work on:

1. **Recorded and transcribed voice traffic.** Only answered calls that end with a recording and a transcript feed the analysis. Calls without transcripts never reach this page.
2. **Analysed calls inside a recent window.** The analysis pass runs after each recorded call completes; give new traffic a few minutes to appear (the dashboard refreshes itself on a five-minute cadence).
3. **Categories and operators are opt-in.** Until you create your first speech-analytics category or intelligence operator (both on this page, covered below), those classifiers short-circuit — the sentiment, keyword, and topic aggregates still work without them.

## Picking the trends window

The selector in the page header offers **24h, 7d, 30d, and 90d**; 7d is the default. The choice lives in the page URL, so you can bookmark or share a link that lands on a specific window.

Use **24h** for incident triage ("is the dip still moving?"), **7d** for a weekly operations read, and **30d or 90d** for coaching and staffing decisions where one bad afternoon should not move the numbers.

Do not confuse this with the window picker on **Voice → Agent Quality (VAQI)**. VAQ measures per-session mechanical quality — latency, turn-taking, barge-in — of voice-agent sessions. This window filters content aggregates: what callers *said* and how it *felt*, not how fast the line answered. A latency regression belongs to VAQI; a sentiment shift belongs here.

## Reading the headline cards and sentiment trend

Three cards sit on top:

* **Calls analysed** — the sentiment-scored call count in the window. Check this before trusting any average below it.
* **Average sentiment** — the mean polarity (−1 to +1) across those calls.
* **Distinct topics** — how many topic clusters the window produced.

The **Sentiment over time** chart stacks positive, neutral, and negative call counts per day. Two readings matter:

* **Net-sentiment divergence against the same day last week.** A Monday that lands well below the previous Monday is a signal; a Monday below a Saturday is weekday mix, not a problem. Compare like-for-like weekdays before reacting.
* **Anchoring a dip to a change.** A single deep day with a clean start points at an event — a deployed IVR change, a new script, a routing cutover, an outage. When you find one, correlate the start day with what shipped that day before treating it as a trend. A stair-step decline across days is process friction and reads differently.

Click any chart point to drill into the calls from that day (see *Drilling from a signal to the calls* below).

## Reading the keyword cloud

**Top keywords** extracts the dominant terms from analysed transcripts in the window. Two encodings carry the meaning:

* **Size = frequency.** Font size scales with mention count (log-smoothed, so one outlier word does not flatten everything else). The biggest words are what your callers actually talk about this window — treat them as a live demand survey.
* **Colour = average sentiment around that word.** Green marks a positive context, red a negative one, grey neutral. A large red keyword is your triage start.

A keyword pivot usually means something upstream moved: an IVR prompt change steering callers to new vocabulary, FAQ or policy drift changing what callers ask about, or a product change surfacing a new term. When a word you do not recognize climbs the cloud, check what changed before the spike (see the worked example below).

## Topic clusters vs the Insights topic pipeline

The **Topic clusters** table clusters analysed voice calls into topics with a call count and average sentiment per topic. It is deliberately lighter than the **Insights → Topic Intelligence** pipeline: this one is voice-only and fast to read; the Insights pipeline is multi-channel and adds outcome signals (CSAT, deflection, handle time) per topic.

Open **here** when you need voice-topic shape quickly — "what are our calls about this week, and which topic is turning negative?" Open **Insights** when you need the cross-channel view with outcomes — "which topics consume the most human handle time across all channels?" A topic that is dark here *and* high-effort there is the one to fix first.

Click any topic row to see the recent calls clustered under it. The **Call intents** table below it shows the auto-classified intent mix (billing question, shipping status, cancellation) with the same call count and sentiment columns; its total reconciles against the count of intent-classified calls, which can differ from the sentiment-scored "Calls analysed" headline — the two classifiers run independently.

## Category taxonomy manager

Speech-analytics categories are your own classification layer on top of auto-detected topics — definitions like `compliance`, `churn-risk`, or `billing-confusion` that the post-call classifier tags each analysed call against. Manage them in the **Categories** section:

* **Create** a category with a name, slug, optional description, and keywords that guide the classifier.
* **Classify on creation.** The classifier short-circuits when you have zero categories — creating the first one turns per-call classification on for new analysed calls.

Removing a category is a soft-delete: it stops tagging new calls, and **classifications already on past calls remain** — historical tags stay readable on the call detail page. Categories are tenant-owned configuration and can be turned off at any time; nothing here touches routing or carriers.

## Intelligence operators

Intelligence operators are named custom questions the post-call pass answers on every analysed call — "Did the agent offer an alternative?", "Escalation risk?", "Satisfaction signal?" — stored on the call as a typed result.

* **Create an operator** with a name, an instruction in plain language, and a result type: text, yes/no, number, one-of-a-list (with choices you define), or list.
* **Each active operator adds one analysis pass per analysed call** — that is per-call analysis cost, so keep the active set to questions you actually report on.
* **Deactivate** an operator to stop computing it on new calls; results already stored on past calls are kept, and you can reactivate later.

Operators and categories are the two tenant-controlled dials on what the analysis pass computes. Everything else on the page (sentiment, keywords, topics, intents, dynamics) runs without any setup.

## Drilling from a signal to the calls

Every aggregate on the page has a click affordance that opens the drill dialog with a sample of the underlying calls:

* **A keyword** → the 10 most recent calls whose transcripts contain that keyword.
* **A topic row** → the 10 most recent calls clustered under that topic.
* **A sentiment-trend day** → the lowest-sentiment calls analysed that day (a small sample of the dip).

Each sample row shows direction, timestamp, duration, call status, the sentiment label with its score, and the matched topics. The **Open** button on a row links to the full call detail page — the waveform, synced transcript, and AI summary — which is where investigation continues once you have identified which calls to read. The dashboard tells you *where it hurts*; the call detail page tells you *why*.

## Roles and access

Call transcripts are the highest-PII artefact on the platform, so this page is restricted to **owner, admin, and developer** roles. Other roles see a redacted view without transcript-derived content.

Within those roles, a second gate applies to the management sections: **creating, editing, or removing categories and operators requires owner or admin**. A developer viewing the page reads every aggregate and can drill into calls, but write attempts on the category or operator managers surface an error — route taxonomy changes through an owner or admin.

## Worked example: a keyword spike

A CX manager at a logistics tenant opens **Voice → Intelligence** on a Tuesday with the 7d window:

1. **Calls analysed** is in the thousands — the aggregates are trustworthy.
2. The **keyword cloud** has a new dominant word: `delivery`, up from 4 mentions to 61, rendered red with an average sentiment of −0.4. Size says demand shifted; colour says it shifted badly.
3. She clicks `delivery`. The drill dialog shows the 10 most recent calls containing it — eight of them negative, all from the last two days.
4. She opens two calls from the sample. The transcripts show callers asking why the delivery estimate moved; both callers reference a new IVR menu option they pressed. The keyword pivot maps to the IVR prompt change that shipped Monday — the menu now invites delivery questions the flow cannot answer yet.
5. The **sentiment trend** confirms the anchor: the negative stack starts Monday, matching the deployment, not a slow erosion.
6. The **Topic clusters** table shows the `delivery-status` topic's average sentiment sliding in the same window — a second, independent confirmation this is one event, not a portfolio drift.
7. That is where the dashboard ends. Fixing it means either updating the IVR prompt to set the right expectation or wiring the menu option to a flow that can actually answer — work that happens in the IVR flow builder, not on this page.

The Monday anchor reclaimed the diagnosis: without the trend's start day and the keyword drill, the same complaint volume would have read as general dissatisfaction a week later.

## Troubleshooting

* **"No voice analytics yet."** No analysed calls fall in the selected window. Widen the window to 30d or 90d, and confirm recent calls ended with a recording and transcript.
* **Charts load but categories or operators never classify.** With zero categories defined, per-call classification is off by design — create the first category to turn it on. Operators behave the same way.
* **A developer role cannot save category or operator changes.** Writes in both managers require owner or admin; read access is unaffected.
* **The page fails to load with retry.** A transient error from the analytics backend; the page surfaces the error with a retry action rather than an infinite spinner — retry, and if it persists, check [status.orbit.devotel.io](https://status.orbit.devotel.io).

## See also

* [Read the sentiment portfolio](/guides/sentiment-portfolio-reading) — the cross-channel counterpart for portfolio-level tone
* [Insights dashboards](/guides/insights-dashboards) — Topic Intelligence, Deliverability, and the rest of the Insights surface catalogue
* [Conversation intelligence concepts](/concepts/conversation-intelligence) — how post-call analysis applies across inbound and outbound calls
