recording.enabled: false on the agent, or for one call with
agent_override.recording (per-call configuration).
Read what a call produced from session.recording on GET /v1/calls/{session_id}.
Playing and downloading
The call detail carries ready-made signed links, so a player needs no second request.GET /v1/calls/{session_id}/recording responds 302 to object storage. The
link supports Range (seeking) and expires within an hour. download=true
serves it as an attachment named call-{session_id}.ogg.
recording on a call
state
available is the only playable state. Any other makes the redirect endpoint
return 404 with the message below.
Recording notice
recording.notice is null by default: the call is recorded and Talqing tells
the caller nothing. Whether that is lawful for you depends on your jurisdiction.
The API has no default sentence; the dashboard fills in “This call is recorded
for quality and training purposes.” when you turn the notice on.
With a notice set, a greeting message must contain {{recording.notice}},
which resolves to the sentence and is spoken word for word. A message carrying
the notice cannot be interrupted. A greeting written as instructions needs no
token: the notice plays on its own, uninterruptibly, just before the generated
line. Saving is refused when:
{{recording.notice}} resolves only in the greeting message; anywhere else,
greeting instructions included, it is an error. The old {{consent.notice}} is refused with
which was renamed - write {{recording.notice}} instead.
On a handoff, a target that also has a notice stays quiet if the caller was
already told; a target with recording off pauses the recorder. A
resumed call speaks the notice again, because it is a new
recording.
Each time the notice finishes playing, the call records a
recording.notice_given event with agent_id, agent_name, notice and
interrupted (true only when the caller hung up mid-notice). It is the one
event that survives a content purge.
There is no tool for the caller to stop a recording mid-call: a recording kept
as a record must not be erasable from inside it. Turn recording off for an
agent, or delete a recording afterwards.
Screen recordings
A separate artifact of a web voice or video call, insession.screen_recording
with the same shape and states as recording.
Phone calls have no screen recording.
Deleting
DELETE /v1/calls/{session_id}/recording deletes the audio and the screen video
together and returns 204. The transcript, tool calls, cost and analysis stay.
It succeeds quietly on anything not available and leaves its state alone, so
failed and expired are never overwritten. A pending recording
has nothing stored yet; delete again once the call has settled.
DELETE /v1/calls/{session_id} (see
calls).
Retention
Recordings are kept until your workspace’s retention policy or a person deletes them; the default is unlimited. A purge setsstate to expired.
recording.expires_at is fixed when the call ends, so changing the policy later
does not move a purge already scheduled. See
data retention and privacy.
The recording.ready webhook
When the audio reaches storage, a recording.ready event fires with a signed
url, url_expires_at, the duration and the size. It fires for the audio only,
not the screen recording, and its link also expires within the hour. See
webhooks.
Next
Calls
The call record, transcript and deleting a call.
Data retention
What is stored, for how long, and what a purge destroys.