Guide
Recordings, transcripts and your own bucket
Dual-channel recording, transcripts, and the files in your bucket rather than ours.
15 minutes 5 steps
Calls recorded with caller and assistant on separate channels, with the files moved into your own storage.
- A published assistant that receives calls.
- An S3, R2, Azure Blob or S3-compatible bucket, with keys that can write to it.
- A retention policy decided in advance, because one applies by default.
Turn recording on, on the assistant
The recording switch and the separate-channels switch live on the assistant, in the recording and artefacts section. Both are on by default. Separate channels keep the caller on one and the assistant on the other, time-aligned — a stereo mix is spatial and cannot be pulled apart afterwards.
Assistant → Artefacts → “Record the call” · “Separate channel per speaker”
Add the storage destination
The right screen is the storage resource, not the storage card in the connections gallery — that one is stale and marked not implemented. Pick the backend, put in the bucket, the region or endpoint, and the keys. Backends whose adapter package is not installed do not appear in the list at all.
Platform → Storage → Create → Backend · Bucket · Region / Endpoint · Credentials
Test the connection before the first call
The test action writes a probe object, reads it back and deletes it. If it fails, the mistake is in the keys or the bucket policy, and now is the time to find out rather than after the first recording.
Destination page → “Test connection” → “Make default”
Place a call and open it
The recording tab has a player with a precomputed waveform, so jumping to second 40 does not mean listening to the first 39. The transcript sits in its own tab, turn by turn, with interrupted turns struck through.
Engage → Calls → your call → Summary · Transcript · Recording · Timeline · Costs
Check where the file landed
The move into your storage happens after the call, through a queued job. Look in the bucket under the prefix you configured. The links in the console are signed URLs with a short life, not public addresses.
Prefix configured on the destination · Signed URL, valid for 15 minutes
How to tell it worked
- The call shows recording status ready and a player that actually starts.
- The file appears in your bucket at the size the console reports.
- The timeline carries recording.started and recording.ready.
What does not work yet
Every guide has this section. If it were missing, it would mean we had not looked hard enough.
- The post-call transcription switch can be set but nothing reads it when a call ends yet. Live transcription works; the second, more accurate pass is not wired.
- The consent announcement is recorded as an event on the call, but the wording and whether you need it remain your legal responsibility.
- The storage card in the connections gallery still shows options that do nothing. Use the storage resource.