Every call your account handles can be recorded (provided recording is enabled — see Enabling call recording). Listen back from the call detail page.
Where recordings live
| Call type | Route |
|---|---|
| AI-answered calls | /voice/[id] |
| Human-answered calls | /calls/[id] |
Both pages have a streaming audio player at the top, alongside the transcript.
How playback works
Tap Play to stream the recording. The audio is fetched via a signed URL that's valid for 15 minutes — generated fresh each time you load the page. After 15 minutes, you'd need to reload to get a new URL.
The recording's storage is private. Without a valid signed URL, the audio isn't accessible — this is how access control is enforced.
Listening with the transcript
The transcript is synced to the audio. Tap any line in the transcript to jump to that moment in the recording. Useful for finding a specific exchange without scrubbing.
Filtering recordings in the inbox
In the Phone inbox, filter to Has recording to see only the calls you can play back. Useful for coaching reviews — pick 5 random recorded calls per week and listen.
Retention
By default, recordings are kept indefinitely. A configurable retention period (e.g. delete after 90 days) is on the roadmap — it isn't a setting you can toggle in the UI today.
What's NOT supported today
- Bulk download recordings to a local folder.
- Set per-account retention via a UI toggle.
- Share a recording link to someone outside your team (the signed URL expires in 15 minutes).
- Edit / clip a recording for sharing.
If you need to share a recording externally, the workaround is to play it back in the browser and screen-record.
Privacy
- Recording requires the caller's consent in two-party-consent states. Run a Call plays a standard pre-call announcement when the configuration is set that way — verify your state's rules and configure accordingly.
- Access logs show who in your team played which recording when.