Back to Blog
EngineeringFebruary 25, 20267 min read

Call Recording for AI Agents: Compliance, Billing, and Audit Trails

Record AI agent calls for compliance, quality assurance, and audit trails. Pro-only at $0.01/min with webhook delivery of recording URLs.

Why AI Agent Calls Need Recording

When a human makes a business call, there's a person who can recall what was said. When an AI agent makes a call, there's only the conversation data. Without a recording, you have no evidence of what the agent promised, confirmed, or agreed to.

Call recording isn't just a nice-to-have for AI agents — it's a compliance requirement in many industries and a critical debugging tool for any voice AI application. AgentCall's call recording feature captures every call, delivers the recording URL via webhook, and bills transparently at $0.01 per minute.

Industries That Require Call Recording

Insurance

Insurance regulations in many states require recorded documentation of customer interactions. When your AI agent handles claims intake, policy questions, or appointment scheduling, those calls need to be recorded and stored for regulatory audits.

Healthcare

HIPAA doesn't mandate call recording, but many healthcare organizations record calls for appointment confirmations, prescription reminders, and follow-up scheduling. AI agents handling these workflows need the same recording capability.

Legal

Law firms use call recording for client intake, consultation documentation, and billing verification. An AI agent scheduling consultations or conducting initial screenings needs recorded proof of the conversation.

Financial Services

FINRA, MiFID II, and Dodd-Frank require financial firms to record certain customer communications. AI agents handling account inquiries, trade confirmations, or customer support must produce recordings on demand.

Sales and Customer Support

Even without regulatory requirements, recording AI agent calls provides quality assurance, training data, and dispute resolution evidence. If a customer claims the agent made a commitment, you have the recording.

How Call Recording Works in AgentCall

Enable Recording on a Call

import AgentCall from 'agentcall';

const client = new AgentCall({ apiKey: 'ac_live_...' });

// Initiate a call with recording enabled
const call = await client.calls.initiate({
  from: 'num_abc123',
  to: '+14155551234',
  record: true,  // Enable recording (Pro plan required)
});

console.log(call.id);     // call_xyz789
console.log(call.record); // true

The record: true flag tells the carrier to record the call from the moment it's answered. Recording is available on the Pro plan only.

Receive the Recording via Webhook

// When the call completes, AgentCall delivers a webhook:
// POST https://my-app.com/call-events
// {
//   "event": "call.completed",
//   "data": {
//     "callId": "call_xyz789",
//     "from": "+15551234567",
//     "to": "+14155551234",
//     "duration": 187,
//     "status": "completed",
//     "recordingUrl": "https://api.telnyx.com/v2/recordings/rec_abc123.mp3"
//   }
// }

app.post('/call-events', async (req, res) => {
  const { event, data } = req.body;

  if (event === 'call.completed' && data.recordingUrl) {
    // Store the recording reference
    await db.callRecord.create({
      data: {
        callId: data.callId,
        duration: data.duration,
        recordingUrl: data.recordingUrl,
        recordedAt: new Date(),
      },
    });

    // Optionally download and store in your own S3 bucket
    // for long-term compliance retention
  }

  res.json({ received: true });
});

Access Recordings Later

// List calls with their recording URLs
const calls = await client.calls.list();

for (const call of calls) {
  if (call.recordingUrl) {
    console.log(`Call ${call.id}: ${call.recordingUrl}`);
    // Download or stream the recording as needed
  }
}

Recording Storage and Retention

Recordings are stored on the underlying carrier's infrastructure (Telnyx or Twilio), which provides enterprise-grade encryption and access controls. For long-term compliance retention, we recommend downloading recordings to your own storage (S3, GCS, Azure Blob) within 30 days.

The recording URL delivered via webhook is a direct link to the MP3 file. Standard HTTP download tools work:

// Download recording for long-term storage
const response = await fetch(recordingUrl);
const buffer = await response.arrayBuffer();

await s3.putObject({
  Bucket: 'my-call-recordings',
  Key: `recordings/${callId}.mp3`,
  Body: Buffer.from(buffer),
  ContentType: 'audio/mpeg',
});

Billing

Call recording is billed at $0.01 per minute, in addition to the standard voice rate of $0.035 per minute. A 10-minute recorded call costs:

  • Voice: 10 min × $0.035 = $0.35
  • Recording: 10 min × $0.01 = $0.10
  • Total: $0.45

Recording is a Pro plan feature ($19.99/month base). Free tier accounts cannot enable recording — the API returns a 403 error with a clear upgrade prompt.

Audit Trail

Every recorded call generates structured log entries and webhook events that form a complete audit trail:

  • call.initiated — Timestamp, caller, recipient, recording flag
  • call.answered — Timestamp, connection established
  • call.completed — Duration, status, recording URL, billing amount

Combined with AgentCall's structured JSON logging (pino), you have a machine-readable audit trail for every call your agents make.

How This Compares to Twilio Recording

Twilio also offers call recording, and it's a mature feature. The key differences with AgentCall:

  • Agent-scoped: AgentCall recordings are automatically tied to an agent. Twilio recordings belong to an account — you manage the mapping.
  • Webhook delivery: AgentCall delivers the recording URL in the call completion webhook. With Twilio, you configure a separate recording status callback.
  • Pricing: AgentCall charges $0.01/min for recording. Twilio charges $0.0025/min for recording + $0.01/min for recording storage after 10,000 free minutes. Similar economics, simpler billing on AgentCall.
  • Carrier flexibility: AgentCall records calls across Telnyx and Twilio carriers. Your recording setup is consistent regardless of which carrier a number uses.

FAQ

Is call recording available on the free tier?

No. Call recording is a Pro plan feature. Attempting to initiate a call with record: true on the free tier returns a 403 error with a message prompting you to upgrade.

Do I need consent to record calls?

Yes. Recording laws vary by jurisdiction. Some states and countries require one-party consent (the caller or the agent), while others require all-party consent. It's your responsibility to ensure your AI agent discloses recording at the start of each call where required by law.

How long are recordings stored?

Recordings are stored on the carrier's infrastructure (Telnyx or Twilio) per their retention policies. For compliance purposes, download recordings to your own storage within 30 days of the call. The recording URL is delivered immediately in the webhook payload.

Ready to get started?

Give your AI agents their own phone numbers in minutes.

Start Building