For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
WebsiteStatusSupportDashboard
DocumentationAPI ReferenceMCPSDKsCLI (new)What's New?
DocumentationAPI ReferenceMCPSDKsCLI (new)What's New?
  • Get started
    • Introduction
    • Phone calls
    • Web calls
    • Vapi Guides
    • Composer
    • CLI quickstart
  • Assistants
    • Quickstart
    • Tools
    • Custom keywords
    • Custom voices
    • Custom transcriber
    • Custom TTS
  • Observability
    • Boards
  • Squads
    • Quickstart
    • Overview
    • Handoff tool
    • Passing data between assistants
  • Best practices
    • Prompting guide
    • Debugging voice agents
    • Enterprise environments (DEV/UAT/PROD)
    • IVR navigation
  • Phone numbers
    • Free Vapi number
    • Inbound SMS
    • Phone Number Hooks
  • Calls
    • Call end reasons
    • Troubleshoot call errors
      • Call analysis
      • Call recording
  • Outbound Campaigns
    • Quickstart
    • Overview
  • Chat
    • Quickstart
    • Streaming
    • Non-streaming
    • OpenAI compatibility
    • Session management
    • Variable substitution
    • SMS chat
    • Web widget
    • Webhooks
  • Workflows
    • Quickstart
    • Overview
LogoLogo
WebsiteStatusSupportDashboard
On this page
  • Overview
  • Use Cases
  • Payment Processing Flows
  • Consent Gathering
  • Artifact Plan Configuration
  • Basic Configuration
  • Artifact Plan Options
  • Storage Configuration
  • Default Storage
  • Custom Storage
  • Storage Control Options
  • Squad and Transfer Behavior
  • Dynamic Artifact Control
  • Transcript Configuration
  • Automatic Transcription
  • Transcript Plan Options
  • Transcript Features
  • Transcript Structure
  • Logging Configuration
  • Detailed Call Logs
  • Log Features
  • Accessing Logs
  • Accessing Artifacts
  • Via Dashboard
  • Via API
  • Privacy and Compliance
  • Legal Considerations
  • Built-in Consent Management
  • Best Practices
  • Recording Analysis
  • Call Artifacts
  • Analysis Use Cases
  • FAQ
  • Next Steps
CallsCall insights

Call recording, logging and transcribing

Record, log, and transcribe calls using artifact plans
Was this page helpful?
Edit this page
Previous

Outbound campaigns quickstart

Build a simple personalized outbound campaign that conducts post-service feedback and follow-up calls to improve customer experience

Next
Built with

Deprecated: The old recordingEnabled, recordingPath, and recordingCredentials properties are deprecated. Use the new artifactPlan configuration instead for recording, logging, and transcript generation.

Overview

Vapi’s artifact plan system provides comprehensive call recording, logging, and transcription capabilities that allow you to capture, store, and analyze voice conversations for quality assurance, training, and compliance purposes.

Artifact plans enable you to:

  • Record audio conversations for quality monitoring
  • Generate detailed call logs for debugging and analysis
  • Create transcripts for conversation analysis
  • Store artifacts in custom storage or Vapi’s secure cloud
  • Monitor conversation quality and assistant performance
  • Ensure compliance with regulatory requirements

Use Cases

Payment Processing Flows

Protect sensitive payment information by using a middle assistant with all artifacts disabled:

1{
2 "squad": {
3 "members": [
4 {
5 "assistant": {
6 "name": "Service Assistant",
7 "artifactPlan": {
8 "recordingEnabled": true,
9 "loggingEnabled": true,
10 "transcriptPlan": { "enabled": true }
11 }
12 }
13 },
14 {
15 "assistant": {
16 "name": "Payment Assistant",
17 "artifactPlan": {
18 "recordingEnabled": false,
19 "loggingEnabled": false,
20 "transcriptPlan": { "enabled": false }
21 }
22 }
23 },
24 {
25 "assistant": {
26 "name": "Confirmation Assistant",
27 "artifactPlan": {
28 "recordingEnabled": true,
29 "loggingEnabled": true,
30 "transcriptPlan": { "enabled": true }
31 }
32 }
33 }
34 ]
35 }
36}

This flow ensures that:

  • Service conversations are recorded for quality assurance
  • Payment details (credit card numbers, CVV codes) are never recorded or logged
  • Confirmation conversations are recorded for compliance

Consent Gathering

For Enterprise customers, Vapi provides built-in recording consent plans that automatically create a consent assistant to request recording permission before transferring to your main assistant.

The Enterprise consent feature supports both:

  • Verbal consent: Requires explicit “yes” confirmation from users
  • Implicit consent: Assumes consent if users stay on the line after hearing the consent message

The system automatically tracks consent decisions and provides compliance data in the end-of-call report, including whether consent was granted and when it was obtained.

Alternatively, you can implement custom consent flows using squads:

1{
2 "squad": {
3 "members": [
4 {
5 "assistant": {
6 "name": "Consent Assistant",
7 "artifactPlan": {
8 "recordingEnabled": false,
9 "loggingEnabled": false,
10 "transcriptPlan": { "enabled": false }
11 }
12 }
13 },
14 {
15 "assistant": {
16 "name": "Main Assistant",
17 "artifactPlan": {
18 "recordingEnabled": true,
19 "loggingEnabled": true,
20 "transcriptPlan": { "enabled": true }
21 }
22 }
23 }
24 ]
25 }
26}

The consent assistant runs without generating artifacts, while the main assistant records the actual conversation after consent is obtained.

Artifact Plan Configuration

Basic Configuration

Configure recording, logging, and transcript generation using the artifactPlan:

1{
2 "name": "Customer Support Assistant",
3 "artifactPlan": {
4 "recordingEnabled": true,
5 "recordingFormat": "wav;l16",
6 "loggingEnabled": true,
7 "pcapEnabled": true,
8 "transcriptPlan": {
9 "enabled": true,
10 "assistantName": "Assistant",
11 "userName": "Customer"
12 }
13 },
14 "model": {
15 "provider": "openai",
16 "model": "gpt-4"
17 },
18 "voice": {
19 "provider": "11labs",
20 "voiceId": "harry"
21 }
22}

Artifact Plan Options

Configure different types of artifacts with these options:

  • recordingEnabled: Enable call recording (stored in call.artifact.recording) Default: true
  • recordingFormat: Audio format for recordings (e.g., “wav;l16”, “mp3”) Default: “wav;l16”
  • loggingEnabled: Enable detailed call logs (stored in call.artifact.logUrl) Default: true
  • pcapEnabled: Enable SIP packet capture for phone calls (stored in call.artifact.pcapUrl) Default: true
  • transcriptPlan: Configure transcript generation with speaker names

Storage Configuration

Default Storage

By default, Vapi stores artifacts securely in the cloud:

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

Custom Storage

Configure custom storage for different artifact types:

1{
2 "artifactPlan": {
3 "recordingEnabled": true,
4 "recordingFormat": "wav;l16",
5 "loggingEnabled": true,
6 "pcapEnabled": true,
7 "recordingUseCustomStorageEnabled": true,
8 "loggingUseCustomStorageEnabled": true,
9 "pcapUseCustomStorageEnabled": true,
10 "recordingPath": "https://your-bucket.s3.amazonaws.com/recordings/",
11 "loggingPath": "https://your-bucket.s3.amazonaws.com/logs/",
12 "pcapS3PathPrefix": "/pcaps",
13 "transcriptPlan": {
14 "enabled": true,
15 "assistantName": "Assistant",
16 "userName": "Customer"
17 }
18 },
19 "credentials": [
20 {
21 "provider": "aws",
22 "region": "us-east-1",
23 "accessKeyId": "your-access-key",
24 "secretAccessKey": "your-secret-key"
25 }
26 ]
27}

Storage Control Options

Control where each artifact type is stored:

  • recordingUseCustomStorageEnabled: Use custom storage for recordings (default: true)
  • loggingUseCustomStorageEnabled: Use custom storage for logs (default: true)
  • pcapUseCustomStorageEnabled: Use custom storage for SIP packet capture (default: true)
  • recordingPath: Custom path for recording storage
  • loggingPath: Custom path for log storage
  • pcapS3PathPrefix: S3 path prefix for PCAP files

Squad and Transfer Behavior

Dynamic Artifact Control

When handing off between assistants in a Squad, you may choose to change the local context for each assistant via the contextEngineeringPlan. By default, only the final context will be used in the artifact and analysis (Structured outputs and success evaluation). To include the full message history across all assistants in the call, set artifactPlan.fullMessageHistoryEnabled to true.

In squads with multiple assistants, artifact generation (recording, logging, transcripts) can be controlled per assistant. When assistants are swapped or transferred during a call:

  • Recording: Pauses when recordingEnabled: false assistant is active, resumes when recordingEnabled: true assistant takes over
  • Logging: Pauses when loggingEnabled: false assistant is active, resumes when loggingEnabled: true assistant takes over
  • Transcripts: Pauses when transcriptPlan.enabled: false assistant is active, resumes when transcriptPlan.enabled: true assistant takes over

Transcript Configuration

Automatic Transcription

Configure transcript generation using the transcriptPlan:

1{
2 "artifactPlan": {
3 "transcriptPlan": {
4 "enabled": true,
5 "assistantName": "Assistant",
6 "userName": "Customer"
7 }
8 }
9}

Transcript Plan Options

  • enabled: Enable or disable transcript generation
  • assistantName: Name to use for assistant messages in transcripts
  • userName: Name to use for user messages in transcripts

Transcript Features

  • Real-time transcription: Transcripts are generated during the call
  • Speaker identification: Distinguishes between assistant and user messages
  • Timestamps: Each message includes timing information
  • OpenAI formatting: Available in call.artifact.messagesOpenAIFormatted

Transcript Structure

1{
2 "callId": "call-123",
3 "artifact": {
4 "transcript": [
5 {
6 "role": "assistant",
7 "message": "Hello! How can I help you today?",
8 "time": 0.5
9 },
10 {
11 "role": "user",
12 "message": "I need help with my account",
13 "time": 3.2
14 }
15 ],
16 "messagesOpenAIFormatted": [
17 {
18 "role": "assistant",
19 "content": "Hello! How can I help you today?"
20 },
21 {
22 "role": "user",
23 "content": "I need help with my account"
24 }
25 ]
26 }
27}

Logging Configuration

Detailed Call Logs

Enable comprehensive logging for debugging and analysis:

1{
2 "artifactPlan": {
3 "loggingEnabled": true,
4 "loggingUseCustomStorageEnabled": true,
5 "loggingPath": "https://your-bucket.s3.amazonaws.com/logs/"
6 }
7}

Log Features

  • Debug information: Detailed logs for troubleshooting
  • Performance metrics: Call timing and performance data
  • Error tracking: Comprehensive error logs and stack traces
  • Workflow execution: Step-by-step workflow node execution

Accessing Logs

Logs are available through:

  • Dashboard: View logs in the call details page
  • API: Access via call.artifact.logUrl
  • Custom storage: Store logs in your S3/GCP bucket

Accessing Artifacts

Via Dashboard

  1. Navigate to Calls in your Vapi dashboard
  2. Select a specific call from the list
  3. View artifacts in the Artifacts section:
    • Recording: Play or download the audio recording
    • Transcript: View the full conversation transcript
    • Logs: Access detailed call logs for debugging
    • PCAP: Download SIP packet capture (phone calls only)

Via API

Retrieve artifact URLs programmatically:

1import { VapiClient } from "@vapi-ai/server-sdk";
2
3const client = new VapiClient({ token: "your-api-key" });
4
5// Get call details including all artifacts
6const call = await client.calls.get("call-id");
7
8console.log("Recording URL:", call.artifact.recording);
9console.log("Transcript:", call.artifact.transcript);
10console.log("Log URL:", call.artifact.logUrl);
11console.log("PCAP URL:", call.artifact.pcapUrl);
12console.log("Messages:", call.artifact.messages);
13console.log("Nodes:", call.artifact.nodes);

Privacy and Compliance

Legal Considerations

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.)

Built-in Consent Management

For Enterprise customers, Vapi provides automated consent management through recording consent plans. This feature automatically:

  • Creates a consent assistant that requests recording permission
  • Handles both verbal and stay-on-line consent types
  • Only begins recording after consent is granted
  • Maintains audit trails of consent decisions

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

Call Artifacts

Use the comprehensive artifact data for analysis:

1{
2 "callId": "call-123",
3 "artifact": {
4 "recording": "https://api.vapi.ai/recordings/call-123.mp3",
5 "transcript": [
6 {
7 "role": "assistant",
8 "message": "Hello! How can I help you today?",
9 "time": 0.5
10 },
11 {
12 "role": "user",
13 "message": "I need help with my account",
14 "time": 3.2
15 }
16 ],
17 "logUrl": "https://api.vapi.ai/logs/call-123.json",
18 "messages": [
19 {
20 "role": "assistant",
21 "message": "Hello! How can I help you today?"
22 },
23 {
24 "role": "user",
25 "message": "I need help with my account"
26 }
27 ],
28 "nodes": [
29 {
30 "name": "greeting",
31 "messages": ["Hello! How can I help you today?"],
32 "variables": {}
33 }
34 ],
35 "variableValues": {
36 "customerName": "John Doe",
37 "issueType": "account_access"
38 }
39 }
40}

Analysis Use Cases

Use artifact data for comprehensive insights:

  • Conversation flow analysis using artifact.nodes
  • Response quality evaluation using artifact.messages
  • Customer satisfaction metrics from transcript analysis
  • Assistant performance tracking using logs and recordings
  • Workflow optimization using node execution data
  • Variable tracking using artifact.variableValues

FAQ

How do I enable recording, logging, and transcripts?

Use the artifactPlan configuration in your assistant or call settings. Set recordingEnabled, loggingEnabled, and configure transcriptPlan.enabled to true to enable all three features.

Where are artifacts stored?

By default, artifacts are stored securely in Vapi’s cloud storage. You can configure custom storage using S3 or Google Cloud Storage with the recordingPath, loggingPath, and storage control options.

How do I access artifacts after a call?

Artifacts are available through the API via call.artifact.recording, call.artifact.transcript, call.artifact.logUrl, and other properties. You can also view them in the Vapi dashboard.

What's the difference between transcript and messages?

The transcript includes timing information and is optimized for conversation analysis. The messages property contains the same content but in a simpler format, while messagesOpenAIFormatted is structured for OpenAI API compatibility.

How do I configure speaker names in transcripts?

Use the transcriptPlan configuration with assistantName and userName properties to customize how speakers are identified in the transcript output.

Can I disable recording for specific calls?

Yes, you can configure artifact plans at both the assistant level and per individual call. This gives you granular control over what artifacts are generated for each conversation.

What is PCAP and when is it available?

PCAP (Packet Capture) is available for phone calls and contains SIP packet data for debugging telephony issues. It’s stored in call.artifact.pcapUrl when pcapEnabled is set to true.

How long are artifacts stored?

Retention periods vary by plan:

  • Pay-As-You-Go: Up to 30 days for chats and 14 days for calls
  • Enterprise: Configurable retention policies
How do artifacts work with squad transfers?

In squads, each assistant can have different artifact settings. Recording, logging, and transcripts pause when an assistant with disabled artifacts is active, and resume when an assistant with enabled artifacts takes over. This allows for privacy-conscious flows like consent collection.

Next Steps

  • Call Analysis - Analyze recorded conversations for insights
  • Recording Consent Plans - Automated consent management for Enterprise customers
  • Privacy Compliance - Ensure GDPR and privacy compliance
  • API Reference - Explore recording configuration options