Transcripts and recordings

A call ends and Talkif hands you five things about it. Together they answer the questions you’ll actually ask: what was said (transcript), how did it sound (recording), what did it cost and why (cost breakdown), how well did the agent perform (metrics), and what should happen next (insights). All of them live on the call record in Call Center → History, and each is reachable by API.

Transcript

Every turn, with who spoke and when. Available the moment the call ends — and while it’s running, live, turn by turn. Alongside it, the call record counts the turns the caller cut off — a quick read on whether the agent was talking too long.

GET /calls/{callId}/transcript. History is searchable by contact name or phone number, and filterable by status, direction, source, flow, campaign and date.

Recording

Full-call audio, playable in the call view and downloadable. Whether a call is recorded is decided at call start by the recording setting — flow override, then number override, then the account default (see Flows and versions).

GET /calls/{callId}/recording returns a short-lived signed URL — fetch it when you need it rather than storing it. DELETE /calls/{callId}/recording removes the audio permanently; the transcript and everything else stay.

Recordings are kept for the retention period set on your account (Settings → Account); when it expires the audio is deleted and the call record remains. Storage is billed per GB-month for the time a recording exists, with a one-day minimum — see Credits and pricing. If your balance can’t cover storage, recordings enter a 30-day grace period before deletion; topping up clears it.

Cost breakdown

One line per resource with quantity, rate and amount, and the total that was taken from your balance:

LineQuantity
Telephonyminutes (rounded up)
STTseconds transcribed
LLMinput and output tokens
TTScharacters synthesized
Infrastructureseconds
LLM analysistokens, if insights ran

GET /billing/costs/calls/{callId}. What each line means and how to bring it down is in Cost breakdown.

Conversation metrics

Numbers that tell you how the agent performed, on every call:

MetricWhy it matters
Time to first responseThe pause after the caller’s first words. Over ~1 s and callers start repeating themselves
Turns and interrupted turnsMany interruptions = the agent talks too long per turn — shorten the prompt’s reply guidance
Function calls — count and total timeSlow endpoints show up here as silence on the line
Speech seconds — caller vs agentA support call where the agent speaks 80% of the time is a monologue
Tokens — prompt and completionPrompt tokens per turn × turns is your LLM bill; a long System Prompt shows up here
TTS characters and wasted charactersWasted = synthesized but never heard because the caller interrupted. Pure cost

These are on the call record (GET /calls/{callId}) and aggregated per flow and per campaign.

Insights

If analysis is on — account default, overridable per flow — a model reads the transcript after the call and produces:

FieldWhat it holds
SummaryTwo or three sentences
SentimentOverall, with confidence
Intents and topicsWhat the caller wanted; what came up
Action itemsExtracted commitments, with completion state
OutcomeA classification with confidence and a suggested next step
Caller infoName, company, email, role mentioned in the call — used to enrich the contact (empty fields only)

You can steer it: a flow’s analysis instructions are appended to the analysis prompt, so a sales flow can ask for “budget and decision timeline” and a support flow for “root cause and whether it was resolved”. Analysis is a separate LLM line on the bill.

Not analysed automatically? POST /calls/{callId}/analyze runs it on demand for any finished call with a transcript — including re-running with a newer model.

Next