Skip to main content

Overview

Make outbound calls with your Retell agents: bind an agent to a phone number, then trigger calls from the dashboard or the API.

Prerequisites

Step 1: Bind agents to phone numbers

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

Configuration options

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!

A/B testing

See A/B Testing.

Step 2: Make outbound calls

International calling restrictions

Retell-purchased numbers: Retell supports calling to 15 countries.Imported numbers: International calling depends on your telephony provider’s settings.

Call parameters

When making outbound calls (v2), these parameters are supported: Agent overrides let you adjust per-call behavior without changing the saved agent. See “Agent Overrides” in the Create Phone Call API for supported fields and examples.

API implementation

For complete parameter documentation, see Create Phone Call API Reference.

Retry without creating a duplicate call

If a call creation request times out, it may have succeeded before the connection was lost. Set idempotency_key so retries can reuse the successful creation response. Generate and store a unique key with each intended call before the first request. For retries, use the same key, API key, phone numbers, and request body. Retell retains the successful creation response for one hour (as of October 2026) and returns that original response, including its call_id, for matching retries. The response is a creation snapshot; use Get Call for the call’s current status. Keys must contain 5–255 ASCII letters, digits, underscores, or hyphens. For example, set RETELL_API_KEY in your environment, replace the phone numbers with your own, and send:
If you need to retry this call, send the same request again with the same key. Generate a new key for the next intended call. Reusing a key with the same API key and phone numbers returns the first successful response even if you change other fields, such as the agent or metadata. After the one-hour window expires, the same key can create another call. Check your call records before retrying an older request whose outcome is unknown. Requests without an idempotency key do not receive this replay protection.

Step 3: Configure CPS (calls per second)

Understanding CPS limits

CPS (calls per second) controls how many outbound calls you can start each second.

Default limits and scaling

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
  5. Concurrency: CPS controls how fast calls start; the number that can run at once is capped separately by your concurrency limit

Best practices for high-volume calling

If a request is throttled, retry with exponential backoff. Keep the same request body and idempotency key across retries. Adding a key does not automatically retry the request; your application controls when to retry.

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