|
| 1 | +## Introduction to Outbound Calling |
| 2 | + |
| 3 | +Vapi provides robust support for outbound calling, enabling programmatic initiation of calls to phone numbers. Through Vapi's outbound calling API, you can initiate both single and batch outbound calls to any phone number. For time-sensitive communications, you can schedule calls for future execution at specific dates and times. The platform provides comprehensive monitoring capabilities, allowing you to track call status in real-time and collect detailed analytics about your calling operations. Just like inbound calls, outbound calls support recording and automatic transcription, providing complete access to call content and conversation history. |
| 4 | + |
| 5 | +Whether you're implementing appointment reminders, automated surveys, or outbound call campaigns, Vapi's API enables straightforward integration of outbound calling functionality into your applications. |
| 6 | + |
| 7 | +## Prerequisites |
| 8 | + |
| 9 | +- **Vapi Account**: Access to the Vapi Dashboard for configuration. |
| 10 | +- **Configured Assistant**: Either a saved assistant or a transient assistant. |
| 11 | +- **Phone Number**: Either an imported phone number from one of the supported providers or a free Vapi number. (Note: You cannot make international calls with a free Vapi number). |
| 12 | +- **Customer's Phone Number**: The phone number that you want to call. |
| 13 | + |
| 14 | +## Outbound Calls |
| 15 | + |
| 16 | +You can place an outbound call from one of your phone numbers using the [`/call`](/api-reference/calls/create-phone-call) endpoint. |
| 17 | + |
| 18 | +1. **Specify an Assistant:** you must specify either a transient assistant in the `assistant` field or reuse a saved assistant in the `assistantId` field. |
| 19 | +2. **Get a Phone Number:** provide the `phoneNumberId` of the imported number or free Vapi number you wish to call from. |
| 20 | +3. **Provide a Destination:** Finally, pass the customer's phone number or SIP URI in [`customer`](api-reference/calls/create#request.body.customer). |
| 21 | + |
| 22 | +Provide your authorization token and now we're ready to issue the API call! |
| 23 | + |
| 24 | +## Scheduling Outbound Calls |
| 25 | + |
| 26 | +To schedule a call for the future, use the [`schedulePlan`](api-reference/calls/create#request.body.schedulePlan) parameter and pass a future ISO date-time string to `earliestAt`. This will be the earliest time Vapi will attempt to trigger the outbound call. You may also provider `latestAt`, which will be the latest time Vapi will attempt to trigger the call. |
| 27 | + |
| 28 | +When you schedule a call, we will save the Assistant, Phone Number, and Customer Number resources and refetch them at the time of the call. If you choose to provide a saved assistant through `assistantId`, we will pick up the most up-to-date version of your assistant at the call time. Likewise, if you delete your saved assistant, the call will fail! To ensure the call is issued with a static version of an assistant, pass it as a transient assistant through the `assistant` parameter. |
| 29 | + |
| 30 | + |
| 31 | +## Batch Calling |
| 32 | + |
| 33 | +To call more than one number at a time, use the [`customers`](api-reference/calls/create#request.body.customers) parameter to pass an array of `customer`. To provide customer specific assistant overrides, please call the endpoint separately for each destination number. |
| 34 | + |
| 35 | +Use both `customers` and `schedulePlan` together to schedule batched calls. |
| 36 | + |
| 37 | +Note: Vapi free numbers have limited number of outbound calls per day. Import a number from Twilio, Vonage, or Telnyx to scale without limits. |
| 38 | + |
| 39 | +<Warning> |
| 40 | + It is a violation of FCC law to dial phone numbers without consent in an |
| 41 | + automated manner. See [Telemarketing Sales |
| 42 | + Rule](/glossary#telemarketing-sales-rule) to learn more. |
| 43 | +</Warning> |
0 commit comments