A trace per conversation. A cost per interaction. A budget that acts.
This is the layer that makes a fleet of virtual workers operable rather than experimental, and it is the layer most often retrofitted. Retrofitting is expensive: telemetry added after the fact never covers the paths that turn out to be interesting, and entitlement added after the fact is unenforceable because the code already assumes everything is permitted. The Hub emits a structured trace and a cost record from the first conversation it handles.
Context assembly, each turn, each tool call, each skill invocation, retrieval, write back and evaluation, with latency captured per span. That is what makes a voice worker debuggable at all. When a call feels slow, the answer is almost never "the model" and almost always one specific span.
| Dimension group | Captured on every interaction |
|---|---|
| Identity | Tenant, worker, the worker definition version, and the version of each of the six prompt layers actually in force |
| Configuration | The engine bindings actually used, being model and thinking level per task class, voice provider and voice, and any fallback that was triggered |
| Context | Scenario, engagement goal, channel, language spoken, record language, jurisdiction, capture level, and the account and contact under the required pseudonymisation |
| Conduct | Turn count, duration, talk and listen ratio, interruptions, tools called, skills invoked, retrievals issued, escalations and requests raised |
| Result | Outcome level and status, score, typed findings, cue recall where simulated, transaction outcomes, write backs performed |
| Cost | Every priced unit consumed, attributed to the task class that consumed it |
Voice first token latency, turn latency at median and tail, tool error rates, channel delivery failures, degradation events, queue depth, concurrency against capacity.
Per interaction cost attributed along every dimension, and the ratios that matter commercially rather than raw token counts.
Which failure classes dominate, which simulation cells are weak, which knowledge gaps recur, which requests are raised most often.
Cost is captured per interaction and attributed along every telemetry dimension, so one record answers what a worker, a channel, a language, a scenario or a campaign costs.
| Cost class | Notes |
|---|---|
| Live conversation tokens | Audio dominates by a wide margin, which has a design consequence worth stating |
| Voice engine time | Per provider, which is one of the axes on which two providers actually get compared |
| Carriage | Telephony minutes and messaging fees, per channel and per destination |
| Deliberative model calls | Analysis, coaching, research and extraction. Individually large, but bounded and predictable per conversation |
| Retrieval and embedding | Knowledge queries during and after a conversation |
| Storage | The sleeper cost. Retained audio at scale, in many languages, under a long retention period |
| Simulation | The mass suite has a real price, and it is visible before a run rather than after |
A worker that talks less is both better and cheaper. The rule requiring one short sentence per turn exists because it makes the worker sound like a competent colleague. It also happens to be the single largest cost lever in the system, so conversation design and unit economics point the same way.
Cost per conversation, by worker, channel, language and scenario
Cost per booked meeting or completed conversion, which is the number that matters
Cost per qualified opportunity, traced through to the system of record
Projected cost per worker per month, so a buyer can hold it against a salary
Entitlement is a commercial statement. Limits are the technical enforcement. Keeping them distinct is what stops a sales concession from requiring a deployment.
| Dimension | Typical shape |
|---|---|
| Workers | Which worker packs are licensed, and how many instances may be active at once |
| Channels | Which are enabled, since telephony and messaging carry both cost and compliance weight |
| Languages | Which of the supported set are enabled for your tenant |
| Engine tiers | Whether the deliberative and elevated thinking tiers are available, or only standard bindings |
| Knowledge and assets | Number and size of knowledge bases, asset volume, retention periods |
| Recording | Whether audio capture is available at all, and for how long recordings are retained |
| Simulation | Mass runs per period, and whether the voice tier is included |
| Transactions | Whether transactional capability is enabled, and the value ceiling that applies |
| Seats | How many users of each role, which is how the coach and the studio are packaged |
| Interface rate | API and MCP call rates, and concurrency |
The control plane refuses configuration that exceeds entitlement, so you cannot enable a channel you have not bought and the option is visibly unavailable rather than failing later. The runtime enforces consumption limits, being rate, concurrency and spend, at the point of use.
Behaviour at a limit follows the same principle as budget: warn before the ceiling, act at it in a configured way, name the limit and the remedy in language an operator can act on, and raise it as a system event.
A pilot is an entitlement configuration: a few workers, one channel, one language, a fixed simulation allowance, a spend ceiling and a time bound. Making that a configuration rather than a manual arrangement is what lets a pilot be provisioned in a day and converted without a rebuild.
Metering is the same record that feeds cost capture, deliberately. A usage based model requires a meter you can audit, and a meter that disagrees with the cost attribution is worse than no meter at all. One record, two readings.
The layer that defines, configures, assigns and supervises workers is kept separate from the data plane in which conversation happens, because the two have different availability requirements. A control plane outage must never take a live call down.
Authoring, layered prompt composition, versioning, staging, promotion gates, agent templates, voice profile mappings, scenario and flow libraries.
Which workers exist, which are active, which people each serves, and which accounts, territories, languages and channels each covers.
Daily volumes, calling windows, concurrency and spend ceilings, all adjustable without a release.
| Supervisory responsibility | Human manager | Virtual manager |
|---|---|---|
| Monitor score distributions and flag drift | Reviews dashboards on a cadence | Continuous, alerts on threshold breach |
| Triage the failure ledger | Judgement on ambiguous cases | Classifies and clusters recurring signatures |
| Approve prompt revisions | Holds the authority | May propose only. Approval stays with a named person |
| Reallocate objectives and priorities | Strategic judgement | Within pre-approved bounds only |
| Handle escalations from workers | Owns the outcome | Routes and prepares context. Never resolves a compliance escalation |
| Coach individual workers | Reviews sampled conversations | Runs the calibration loop and surfaces the exceptions |
When a worker reaches a moment it cannot serve, such as a contact asking for a case study in a vertical that has none, the correct behaviour is neither to improvise nor to fail silently. It is to tell the contact honestly that it will follow up, log the gap, and raise a request.
New requests, with the conversation, contact and account attached as context.
Classified, prioritised and owned. Priority follows how many conversations are blocked on the same gap.
Being produced, by a person or by another virtual worker.
Awaiting approval before entering the asset library or the knowledge base.
Published. The requesting worker is notified and a proactive event fires to every relevant contact.
With a reason, which is itself intelligence. A repeatedly declined request is a strategy question.
The board also carries the calibration queue of proposed prompt edits and the escalation queue, so everything needing a human decision about the worker fleet lives in one place. Two properties make it more than a task list: requests carry their originating context, so whoever picks one up sees the actual conversation that needed it, and an available asset closes the loop backwards, because the contact whose question could not be answered becomes a queued proactive touchpoint the moment it is published.
A platform licence, workers as the unit of value, domain content on subscription, and usage passed through with a meter you can audit.