Connect by JBRH Open Connect

Call transcripts

A call transcript is the text of what was said, turn by turn, written while the call happens. It is what the summary, the lead, the follow-up and the quality review are built from, and Connect keeps one for every call on both engines. It is not a recording, and it is not a clock: a transcript row is timestamped when the sentence finished, not when the sound started.

Status
Available What this means
Audience
both
Channels
phone
In the app
#/calls
Last verified
Product version
6.3.2

A transcript is not a recording#

The two are often spoken of together and they are different artefacts with different costs, different risks and different availability. A recording is audio: it captures tone, background, accent and hesitation, it is large, and in most jurisdictions it carries notification duties. A transcript is text: it captures words and loses everything around them, it is small enough to search, and it is what a machine can act on.

That asymmetry is deliberate. The text is what the engine needs to write a summary, capture a lead and honour a promise; the audio adds evidence a person might want and a compliance obligation nobody asked for.

Where the words come from on each engine#

EngineHow text appearsWhat that implies
Turn-based carrier pathThe carrier's speech recognition returns a phrase per <Gather>; Connect's reply is text it wrote itselfThe caller's words arrive already segmented into turns, with the carrier's own confidence and errors
Realtime speech-to-speechThe model transcribes both sides as a side-channel to the audio it is already processingText is a by-product, not the pipeline — the model answered the sound, not the transcription

The second row is the one that surprises people. On a speech-to-speech model the reply is generated from audio directly, so the transcript is a description of the conversation rather than the input to it. A word written oddly in the transcript was not necessarily heard oddly, and a reply that reads wrong may have sounded right.

It also means transcription of a language written in another script is normal rather than broken. A Telugu reply transcribed in Latin letters is still Telugu — romanised_script in the language tracker exists exactly so that a romanised line is not mistaken for an English one.

Does Connect use call transcripts?#

Used, on every call, on both engines. The transcript is the input to five separate things, and knowing which is which explains most questions about why a call produced what it did.

  • The call summary, written at the end of the call by a model reading the turns.
  • Lead capture, which reads what the caller said about themselves and their need.
  • Follow-up integrityschedule_follow_up is given the caller's last lines and the voice's own, and record_event refuses a promised time that shares no time word with the caller's latest time-bearing line.
  • The quality review, whose deterministic findings include repetition, stock phrases, wrong script and an unheard caller.
  • Guardrails after the fact: the realtime worker posts every sentence it speaks to the engine, which re-checks it rather than trusting the model's own restraint.

There is a floor on the first of those. A call with fewer than two caller lines and fewer than five caller words is never sent to the summariser. That rule exists because ten one-turn rows once carried an invented afternoon at a sales desk: a summariser given almost nothing writes something plausible rather than nothing.

The clock a transcript is not#

Reading response time out of transcript timestamps is the single most common way to measure a voice agent wrongly, and the numbers it produces are not slightly wrong — they are wrong in the flattering direction. A transcript row is written when a sentence is *complete*. The caller stopped speaking long before that, and the reply began before its own row existed.

The first real call reviewed here showed 8 ms beside replies the caller had waited seconds for. Latency is now taken on the wire instead: the worker's TurnClock times the caller's last word — the moment user state leaves *speaking* — to the first audio back, when agent state enters *speaking*, and posts a turn_timing event per reply.

What is kept out of the text on purpose#

Supervisor guidance
An instruction a colleague gives during a live call goes into the system prompt and nowhere else — not into the spoken reply, not into call_turns, not onto the wire.
Rejected names
Every door a name passes through is guarded. A form of address is not a name, and a name-keyed fact that is a suffix, a pronoun or 'the caller' is refused rather than stored.
Control actions
Pause, take over, mute and hang-up ride the guidance log and are never spoken, so they leave no line in the conversation.

The read-back mechanism works the other way: when a phone number, an email address or a code appears in the caller's words, a note records what was heard and the next two lines are checked for confirmation. That is a deliberate use of the transcript as evidence rather than as memory.

Questions#

Can I get the audio of a call as well as the text?

Not on the live carrier. Recording is a provider capability that is asked for rather than assumed, and it is not enabled there, so the transcript and the call record are what a call leaves behind. The record still carries ring and answer times, provider status, outcome, cost and the resolved voice settings.

Why does the transcript read worse than the call sounded?

On the realtime engine the model answers audio and writes text alongside it, so transcription errors do not imply comprehension errors. Check the reply the caller actually got before treating an odd transcript line as a fault — and check the script, because a romanised line is not an English one.

Does a very short call still get a summary?

No. Below two caller lines and five caller words the summariser is not called at all, and the call is recorded as what it was — often a ring nobody picked up, or a call that never became a conversation.