Overview

This guide covers how to make outbound calls with your Retell agents. Before proceeding, ensure you have:
  • Created and configured an agent
  • Purchased or imported phone numbers
  • Set up your API credentials

Prerequisites

  • Phone Number: A Retell-managed or imported number
  • Agent: A configured agent ready for outbound calls
  • API Key: Your Retell API key for authentication

Step 1: Bind Agents to Phone Numbers

Before making calls, you must assign agents to your phone numbers. This configuration determines how your number handles both inbound and outbound calls.

Configuration Options

SettingPurposeUse Case
Inbound AgentHandles incoming calls to this numberCustomer support, callbacks
Outbound AgentUsed when making calls from this numberSales outreach, notifications

Flexible Agent Assignment

  • Different agents: Use specialized agents for inbound vs outbound
  • Outbound only: Leave inbound agent unset to prevent callbacks
  • Inbound only: Configure only inbound agent for receive-only numbers
Phone number configuration showing inbound and outbound agent assignment
After binding an inbound agent, your number is immediately ready to receive calls. Test it by calling the number!

Step 2: Make Outbound Calls

International Calling Restrictions

Retell-purchased numbers: Currently limited to domestic calls only. Imported numbers: International calling depends on your telephony provider’s settings.

Call Parameters

When making outbound calls, you’ll need:
ParameterFormatExampleDescription
from_numberE.164+14157774444Your Retell number
to_numberE.164+12137774445Destination number
dynamic_variablesObject{name: "John"}Optional personalization
custom_sip_headersObject{"X-Call-ID": "123"}Optional SIP headers
Outbound call configuration interface

API Implementation

For complete parameter documentation, see Create Phone Call API Reference.
const registerCallResponse = await retell.call.createPhoneCall({
  from_number: '+14157774444', // replace with the number you purchased
  to_number: '+12137774445',  // replace with the number you want to call
  retell_llm_dynamic_variables: { // replace with the dynamic variables you want to send (optional)
    name: 'John Doe',
    blood_group: 'B+'
  },  
  custom_sip_headers: { // replace with custom sip headers you want to send (optional)
    X-Custom-Header: 'Custom Value'
  }
});
console.log(registerCallResponse);

Step 3: Configure CPS (Calls Per Second)

Understanding CPS Limits

CPS (Calls Per Second) controls how many outbound calls you can initiate per second. This prevents system overload and ensures call quality.

Default Limits & Scaling

ProviderDefault CPSMaximum CPSNotes
Twilio15Changes take up to 10 minutes
Telnyx116Instant updates
Custom Telephony1Concurrency ÷ 20Based on your concurrency limit

Important Considerations

  1. Throttling Protection: Exceeding limits results in rejected calls
  2. Gradual Scaling: Start low and increase based on actual needs
  3. Provider Limits: Your telephony provider may have additional restrictions
  4. Cost Impact: Higher CPS may increase telephony costs

Best Practices for High-Volume Calling

Implement retry logic with exponential backoff to handle throttling gracefully:
// Example retry logic
const maxRetries = 3;
let retryDelay = 1000; // Start with 1 second

for (let i = 0; i < maxRetries; i++) {
  try {
    await makeCall();
    break;
  } catch (error) {
    if (error.code === 'rate_limited') {
      await sleep(retryDelay);
      retryDelay *= 2; // Exponential backoff
    }
  }
}

Step 4: Monitor Call Details

Available Monitoring Methods

1. API Polling

Use Get Call API to retrieve:
  • Full transcript
  • Call recording
  • Latency metrics
  • Function call logs
  • Call duration and status

2. Real-time Webhooks

Set up webhooks to receive instant notifications for:
  • Call Started: When the call connects
  • Call Ended: Final status and duration
  • Call Analyzed: Transcript and analysis ready
  • Call Failed: Error details and reasons
Webhooks provide real-time updates without polling, making them ideal for production systems.
Triggering Outbound Calls (Using Make.com)

Additional Resources