dropsofsteel
01/03/2026, 12:10 PMAI Evy
01/03/2026, 12:10 PMAI Evy
01/03/2026, 12:10 PMcall_ended includes basic call information but does not include the audio file directly in the webhook payload. [(1) ]()
To get the call recording, you have two options:
1. Use the call_analyzed webhook — Wait for this event, then retrieve the recording via API.
2. Use the Get Call API — After the call ends, call the Get Call API endpoint to retrieve the recording_url field. [(2) ]()
javascript
import Retell from 'retell-sdk';
const client = new Retell({
apiKey: 'YOUR_RETELL_API_KEY',
}) ;
const callResponse = await client.call.retrieve('YOUR_CALL_ID') ;
console.log(callResponse.recording_url) ;
The recording_url field in the API response provides a link to download the full call recording.
---AI Evy
01/03/2026, 12:10 PMAI Evy
01/03/2026, 12:10 PMdropsofsteel
01/03/2026, 12:10 PMAI Evy
01/03/2026, 12:11 PMAI Evy
01/03/2026, 12:11 PMcall_analyzed webhook is triggered when post-call analysis is complete. [(1) ]()
How it works:
1. Subscribe to the call_analyzed webhook event type
2. When the call ends and analysis completes, Retell sends a POST request to your endpoint with the full call data including the call_analysis object
3. The webhook payload contains all fields from the call object, including recording_url
Webhook behavior:
- The webhook has a timeout of 10 seconds
- If no success status (2xx) is received within 10 seconds, the webhook will be retried up to 3 times
- Webhooks are triggered in order but are not blocking
Recording fields available in the payload:
- recording_url — Full call recording [(2) ]()
- recording_multi_channel_url — Recording with each party's audio in separate channels
- scrubbed_recording_url — Recording without PII
- scrubbed_recording_multi_channel_url — Multi-channel recording without PII
Once you receive the call_analyzed webhook, you can directly use the recording_url from the payload—no additional API call needed.AI Evy
01/03/2026, 12:11 PMAI Evy
01/03/2026, 12:11 PMdropsofsteel
01/03/2026, 12:13 PMAI Evy
01/03/2026, 12:13 PMAI Evy
01/03/2026, 12:13 PMrecording_url is a direct link to the audio file hosted on S3. [(1) ]()
Default behavior:
By default, the URLs generated for call recordings do not expire, so you can simply make an HTTP GET request to the URL to download the file. [(2) ]()
If you've opted in to secure URLs:
If you've enabled the "Opt In Secure URL" setting on your agent, the URLs will include a signature that expires after 24 hours. After expiration, access will be denied, and you'll need to request a fresh URL via the Get Call API.
To download:
- Use any HTTP client (curl, fetch, axios, etc.) to GET the recording_url
- No authentication headers are required for the download itself—the URL is either public or pre-signedAI Evy
01/03/2026, 12:13 PMAI Evy
01/03/2026, 12:13 PM