Skip to main content
It’s easy to have your Ultravox agent make outbound calls for appointment reminders, customer outreach, surveys, proactive customer service, or anything else you can dream up.

The Easy Way: Built-in Telephony

The simplest way to make outbound calls is using Ultravox’s built-in telephony integration. Configure your telephony provider credentials once, then Ultravox handles call creation automatically.
1

Configure Provider Credentials

Import credentials for Twilio, Telnyx, or Plivo.
2

Create Outbound Call

Create an Ultravox call with the outgoing parameter added to the call medium - no external API calls needed.
3

Call Initiated Automatically

Ultravox creates and connects the call using your provider credentials.
For outbound calls, make sure to set firstSpeakerSettings to user if you expect the call recipient to answer before the agent speaks. Also see the user fallback.

Example: Direct Outbound Call

Built-in Telephony Example
{
  "systemPrompt": "You are calling to remind John Doe about their appointment.",
  "firstSpeakerSettings": { "user": {} },
  "medium": {
    "twilio": {
      "outgoing": {
        "to": "+15551234567",
        "from": "+15559876543",
        "additionalParams": {
          "statusCallback": "https://your-server.com/status"
        }
      }
    }
  }
}

Outgoing Parameters by Provider

  • Twilio
  • Telnyx
  • Plivo
Twilio Outgoing
// When `to` is a SIP address, `from` does not have to be a phone number.
{
  "twilio": {
    "outgoing": {
      "to": "+15551234567",        // Phone number or SIP address
      "from": "+15559876543",      // Your Twilio phone number or a string
      "additionalParams": {        // See Twilio docs for all options
        "statusCallback": "https://your-server.com/status"
        "record": true
      }
    }
  }
}
See Twilio Call API for all additionalParams options.

The Other Way: External Integration

You can also integrate Ultravox with your existing telephony workflows by creating calls manually through your provider’s API.
1

Call Trigger

Your application triggers an outbound call (user action, scheduled event, etc.).
2

Create Ultravox Call

Create an Ultravox call with correct firstSpeakerSetting.
3

Initiate Phone Call

Initiate the phone call using your telephony provider’s API and connect it to Ultravox using the joinUrl. User answers and the agent engages in the conversation.

Bulk Outbound Calls

For scheduling large volumes of outbound calls, use the Outbound Call Scheduler (OCS) which provides:
  • Automatic Concurrency Management - No more 429 errors from hitting rate limits
  • Flexible Scheduling - Define time windows for when calls should be made
  • Automatic capacity reservation - Save room for high priority or incoming calls while your campaign is running
  • Batch Management - Track progress and control execution
The OCS supports both the simplified built-in telephony approach and external integration methods.

firstSpeakerSettings

By default, Ultravox calls assume the agent begins conversations. This is typically what you want for inbound calls (i.e. an agent answering incoming customer support calls). However, outbound calls require modifying this behavior since the user will typically answer the phone with something like “Hello”.
Settings for Outbound Call
{
  "firstSpeakerSettings": { "user": {} }
}

Using Template Variables

When you use Agents for creating calls, you can define template variables that get passed in a call creation time.
Example: Template Context
// System prompt expects template variables
systemPrompt: "You are calling {{customerName}}..."

// Set templateContext at call creation time
templateContext: {
  customerName: "VIP Customer",
  accountType: "enterprise"
}
For more see Template Context →

Next Steps

I