Call recording

Record and store calls for analysis and training

Overview

Vapi provides comprehensive call recording capabilities that allow you to capture, store, and analyze voice conversations for quality assurance, training, and compliance purposes.

Call recording enables you to:

  • Monitor conversation quality and assistant performance
  • Train and improve your voice AI models
  • Ensure compliance with regulatory requirements
  • Analyze customer interactions for insights

Recording Configuration

Enable Recording

You can enable call recording at the assistant level or per individual call:

1{
2 "name": "Customer Support Assistant",
3 "recordingEnabled": true,
4 "model": {
5 "provider": "openai",
6 "model": "gpt-4"
7 },
8 "voice": {
9 "provider": "11labs",
10 "voiceId": "harry"
11 }
12}

Recording Options

Configure recording behavior with these options:

  • recordingEnabled: Enable or disable recording for this assistant/call
  • recordingChannelCount: Number of audio channels to record (1 for mono, 2 for stereo)
  • recordingFormat: Audio format for recordings (mp3, wav, etc.)

Storage Options

Default Storage

By default, Vapi stores recordings securely in the cloud:

  • Recordings are encrypted at rest and in transit
  • Access is controlled through your API credentials
  • Recordings are automatically cleaned up based on your retention policy

Custom Storage

For advanced use cases, you can configure custom storage:

1{
2 "recordingEnabled": true,
3 "recordingPath": "https://your-bucket.s3.amazonaws.com/recordings/",
4 "recordingCredentials": {
5 "provider": "aws",
6 "region": "us-east-1",
7 "accessKeyId": "your-access-key",
8 "secretAccessKey": "your-secret-key"
9 }
10}

Accessing Recordings

Via Dashboard

  1. Navigate to Calls in your Vapi dashboard
  2. Select a specific call from the list
  3. Click on the Recording tab to play or download the audio

Via API

Retrieve recording URLs programmatically:

1import { VapiClient } from "@vapi-ai/server-sdk";
2
3const client = new VapiClient({ token: "your-api-key" });
4
5// Get call details including recording URL
6const call = await client.calls.get("call-id");
7console.log("Recording URL:", call.recordingUrl);

Privacy and Compliance

Important: Call recording laws vary by jurisdiction. Ensure compliance with:

  • Consent requirements - Inform participants about recording
  • Data protection regulations (GDPR, CCPA, etc.)
  • Industry standards (PCI DSS, HIPAA, etc.)

Best Practices

  • Inform callers about recording at the start of conversations
  • Secure storage with encryption and access controls
  • Retention policies to automatically delete old recordings
  • Access logs to track who accesses recordings

Always comply with local laws regarding call recording. Some jurisdictions require explicit consent from all parties before recording.

Recording Analysis

Transcription

Recorded calls are automatically transcribed for analysis:

1{
2 "callId": "call-123",
3 "transcript": [
4 {
5 "role": "assistant",
6 "message": "Hello! How can I help you today?",
7 "time": 0.5
8 },
9 {
10 "role": "user",
11 "message": "I need help with my account",
12 "time": 3.2
13 }
14 ],
15 "recordingUrl": "https://api.vapi.ai/recordings/call-123.mp3"
16}

Call Analysis

Use recorded data for insights:

  • Conversation flow analysis
  • Response quality evaluation
  • Customer satisfaction metrics
  • Assistant performance tracking

FAQ

Yes, all recordings are automatically transcribed and available through the API and dashboard.

Default retention is 30 days. You can configure custom retention policies for your account.

Yes, you can enable/disable recording at both the assistant level and per individual call.

Call recording is available in all supported Vapi regions with local data residency options.

Next Steps