Skip to content

Commit 589563e

Browse files
committed
add outbound docs
1 parent d934ec8 commit 589563e

File tree

4 files changed

+54
-3
lines changed

4 files changed

+54
-3
lines changed

fern/apis/webhooks/openapi.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ paths:
2828
summary: Client Message
2929
description: |
3030
These are all the webhook messages that will be sent to the client-side SDKs during the call.
31-
Configure the messages you'd like to receive in `assistant.clientMessages``.
31+
Configure the messages you'd like to receive in `assistant.clientMessages`.
3232
3333
requestBody:
3434
content:

fern/calls/call-outbound.mdx

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
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>

fern/docs.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ navigation:
201201
contents:
202202
- page: Twilio
203203
path: advanced/sip/sip-twilio.mdx
204-
- page: Telnyx
204+
- page: Telnyx
205205
path: advanced/sip/sip-telnyx.mdx
206206
- page: Zadarma
207207
path: advanced/sip/sip-zadarma.mdx
@@ -362,6 +362,8 @@ navigation:
362362
contents:
363363
- page: Call Forwarding
364364
path: call-forwarding.mdx
365+
- page: Outbound Calls
366+
path: calls/call-outbound.mdx
365367
- page: Dynamic Call Transfers
366368
path: calls/call-dynamic-transfers.mdx
367369
- page: Ended Reason
@@ -402,6 +404,12 @@ navigation:
402404
- page: Server Authentication
403405
path: server-url/server-authentication.mdx
404406

407+
- section: Test
408+
collapsed: true
409+
contents:
410+
- page: Test Suites
411+
path: test/test-suites.mdx
412+
405413
- section: Community
406414
collapsed: true
407415
contents:

fern/phone-calling.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ If you want to use your own phone number, you can also use the dashboard or the
1717

1818
<Accordion title="Outbound Calls">
1919
You can place an outbound call from one of your phone numbers using the
20-
[`/call/phone`](/api-reference/calls/create-phone-call) endpoint. If the system message will be
20+
[`/call`](/api-reference/calls/create-phone-call) endpoint. If the system message will be
2121
different with every call, you can specify a temporary assistant in the `assistant` field. If you
2222
want to reuse an assistant, you can specify its ID in the `assistantId` field.
2323
</Accordion>

0 commit comments

Comments
 (0)