Skip to content

New "Get started" section #467

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jun 2, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions fern/advanced/sip/sip-plivo.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -150,11 +150,11 @@ Indian phone numbers cannot be used with Plivo on Vapi due to TRAI regulations.
```
</Step>
<Step title="Create a Vapi Assistant">
1. [Follow this guide to create an assistant](https://docs.vapi.ai/quickstart/dashboard#create-an-assistant)
1. [Follow this guide to create an assistant](/quickstart/phone#create-your-first-voice-assistant)
2. Note your Assistant ID for making calls.
</Step>
<Step title="Make Outbound Calls">
[**Using the API**](https://docs.vapi.ai/calls/outbound-calling)
[**Using the API**](/calls/outbound-calling)

```bash
curl --location 'https://api.vapi.ai/call/phone' \
Expand All @@ -170,7 +170,7 @@ Indian phone numbers cannot be used with Plivo on Vapi due to TRAI regulations.
}'
```

[**Using the Vapi Dashboard**](https://docs.vapi.ai/quickstart/phone/outbound)
[**Using the Vapi Dashboard**](/quickstart/phone#try-outbound-calling)

1. Select your Assistant
2. Enter the phone number of the user you want to call
Expand Down
2 changes: 1 addition & 1 deletion fern/advanced/sip/sip-twilio.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ This guide walks you through setting up both outbound and inbound SIP trunking b

1. **Create and Configure a Vapi Assistant**

- Create an assistant following the steps at [https://docs.vapi.ai/quickstart/dashboard#create-an-assistant](https://docs.vapi.ai/quickstart/dashboard#create-an-assistant)
- Create an assistant following the steps in our [Phone Quickstart](/quickstart/phone#create-your-first-voice-assistant)
- In the assistant settings, link it to the phone number you created

Now when someone calls your Twilio number, the call will be routed to your Vapi assistant.
37 changes: 37 additions & 0 deletions fern/assets/styles.css
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,43 @@
font-weight: 500;
}

/* Badge/Pill Styles */
.vapi-badge {
display: inline-block;
padding: 2px 8px;
border-radius: 12px;
font-size: 0.6875rem;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 0.3px;
margin-bottom: 6px;
}

.vapi-badge-assistant {
background-color: #E6F7F4;
color: #0F766E;
border: 1px solid #A7F3D0;
}

.vapi-badge-workflow {
background-color: #EEF2FF;
color: #4338CA;
border: 1px solid #C7D2FE;
}

/* Dark mode adjustments */
:is(.dark) .vapi-badge-assistant {
background-color: #134E4A;
color: #99F6E4;
border: 1px solid #14B8A6;
}

:is(.dark) .vapi-badge-workflow {
background-color: #312E81;
color: #C7D2FE;
border: 1px solid #6366F1;
}

/* for a grid of videos */

.video-grid {
Expand Down
6 changes: 3 additions & 3 deletions fern/assistants/assistant-hooks.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ Hooks are defined in the `hooks` array of your assistant configuration. Each hoo
- `filters`: (Optional) Conditions that must be met for the hook to trigger

<Note>
The `call.endedReason` filter can be set to any of the [call ended reasons](https://docs.vapi.ai/api-reference/calls/get#response.body.endedReason).
The transfer destination type follows the [transfer call tool destinations](https://docs.vapi.ai/api-reference/tools/create#request.body.transferCall.destinations) schema.
The `call.endedReason` filter can be set to any of the [call ended reasons](/api-reference/calls/get#response.body.endedReason).
The transfer destination type follows the [transfer call tool destinations](/api-reference/tools/create#request.body.transferCall.destinations) schema.
</Note>

## Example: Transfer on pipeline error
Expand Down Expand Up @@ -256,4 +256,4 @@ Add this hook configuration to your assistant to trigger Slack notifications on

<Note>
Replace `<your-slack-webhook-url>` with your actual Slack webhook URL and `<your-serverless-function-url>` with your serverless function endpoint.
</Note>
</Note>
49 changes: 26 additions & 23 deletions fern/assistants/call-recording.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,42 +6,45 @@ slug: call-recording

The Call Recording feature allows you to capture and store full recordings of phone calls for analysis. By default, Vapi stores a complete recording of every call, providing both mono and stereo audio. The stereo option separates human and assistant audio into two distinct channels, offering a clearer analysis of the conversation.

You can customize this behavior in the assistant's [`assistant.artifactPlan`](https://docs.vapi.ai/api-reference/assistants/create#request.body.artifactPlan).
You can customize this behavior in the assistant's [`assistant.artifactPlan`](/api-reference/assistants/create#request.body.artifactPlan).

## Recording Formats

## Supported Formats
Vapi supports multiple recording formats to fit your storage and playback needs.

Vapi supports multiple audio formats for call recordings:
- `wav;l16`: 16-bit linear PCM WAV format, providing high-quality uncompressed audio in mono
- `mp3`: MP3 compressed audio format, offering good quality with smaller file sizes
You can specify your preferred format using the [`assistant.artifactPlan.recordingFormat`](/api-reference/assistants/create#request.body.artifactPlan.recordingFormat) property. If not specified, recordings will default to `wav;l16`.

You can specify your preferred format using the [`assistant.artifactPlan.recordingFormat`](https://docs.vapi.ai/api-reference/assistants/create#request.body.artifactPlan.recordingFormat) property. If not specified, recordings will default to `wav;l16`.
**Supported formats:**
- `wav;l16` (default) - High quality linear PCM
- `mp3` - Compressed format for smaller file sizes
- `flac` - Lossless compression for archival

<Note>
At this time, you can only specify one format.
</Note>
## Storage Options

## Custom Storage bucket
Vapi supports uploading recordings to your own storage buckets. See [Integrations -> Cloud](/providers/cloud/s3) for more information on available storage options.

Vapi supports uploading recordings to your own storage buckets. See [Integrations -> Cloud](https://docs.vapi.ai/providers/cloud/s3) for more information on available storage options.
**Supported cloud storage providers:**
- AWS S3
- Google Cloud Storage
- Cloudflare R2
- Supabase

## Upload Path
## Configuration Options

When uploading recordings to your custom storage bucket, you can specify the upload path using the `assistant.artifactPlan.recordingPath` property. If not specified, recordings will default to the root of the bucket.
### Enable/Disable Recording

Usage:
- If you want to upload the recording to a specific path, set this to the path. Example: `/my-assistant-recordings`.
- If you want to upload the recording to the root of the bucket, set this to `/`.
You can turn on/off call recording by setting the [`assistant.artifactPlan.recordingEnabled`](/api-reference/assistants/create#request.body.artifactPlan.recordingEnabled) property to `true` or `false`. If not specified, recordings will default to `true`.

## Turn On/Off Call Recording
**HIPAA Compliance:** If [HIPAA](/security-and-privacy/hipaa) mode is enabled, Vapi will only store recordings if you have defined a custom storage bucket. Make sure to set credentials in the Provider Credentials section of your dashboard.

You can turn on/off call recording by setting the [`assistant.artifactPlan.recordingEnabled`](https://docs.vapi.ai/api-reference/assistants/create#request.body.artifactPlan.recordingEnabled) property to `true` or `false`. If not specified, recordings will default to `true`.
### Video Recording

<Note>
If [HIPAA](https://docs.vapi.ai/security-and-privacy/hipaa) mode is enabled, Vapi will only store recordings if you have defined a custom storage bucket. Make sure to set credentials in the Provider Credentials page in the Dashboard.
</Note>
You can turn on/off video recording by setting the [`assistant.artifactPlan.videoRecordingEnabled`](/api-reference/assistants/create#request.body.artifactPlan.videoRecordingEnabled) property to `true` or `false`. If not specified, video recording will default to `false`.

## Turn On/Off Video Recording (only for webCall)
## Upload Path

You can turn on/off video recording by setting the [`assistant.artifactPlan.videoRecordingEnabled`](https://docs.vapi.ai/api-reference/assistants/create#request.body.artifactPlan.videoRecordingEnabled) property to `true` or `false`. If not specified, video recording will default to `false`.
When uploading recordings to your custom storage bucket, you can specify the upload path using the `assistant.artifactPlan.recordingPath` property. If not specified, recordings will default to the root of the bucket.

Usage:
- If you want to upload the recording to a specific path, set this to the path. Example: `/my-assistant-recordings`.
- If you want to upload the recording to the root of the bucket, set this to `/`.
2 changes: 1 addition & 1 deletion fern/call-forwarding.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -454,4 +454,4 @@ Here is a full example of a `transferCall` payload using the experimental warm t
**Notes:**

- In all warm transfer modes, the `{{transcript}}` variable contains the full transcript of the call and can be used within the `summaryPlan`.
- For more details about transfer plans and configuration options, please refer to the [transferCall API documentation](https://docs.vapi.ai/api-reference/tools/create#request.body.transferCall.destinations.number.transferPlan)
- For more details about transfer plans and configuration options, please refer to the [transferCall API documentation](/api-reference/tools/create#request.body.transferCall.destinations.number.transferPlan)
8 changes: 4 additions & 4 deletions fern/calls/voicemail-detection.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,10 @@ For each detection method, you can fine-tune the following parameters:

| Parameter | Description |
| :-------- | :---------- |
| **<a href="https://docs.vapi.ai/api-reference/assistants/create#request.body.voicemailDetection.vapi.backoffPlan.startAtSeconds" target="_blank">Initial Detection Delay</a>** | How long to wait (in seconds) before starting voicemail detection |
| **<a href="https://docs.vapi.ai/api-reference/assistants/create#request.body.voicemailDetection.vapi.backoffPlan.frequencySeconds" target="_blank">Detection Retry Interval</a>** | How frequently to check for voicemail (in seconds) |
| **<a href="https://docs.vapi.ai/api-reference/assistants/create#request.body.voicemailDetection.vapi.backoffPlan.maxRetries" target="_blank">Max Detection Retries</a>** | Maximum number of detection attempts before stopping |
| **<a href="https://docs.vapi.ai/api-reference/assistants/create#request.body.voicemailDetection.vapi.beepMaxAwaitSeconds" target="_blank">Max Voicemail Message Wait</a>** | Maximum time to wait before leaving a message (even without beep detection) |
| **<a href="/api-reference/assistants/create#request.body.voicemailDetection.vapi.backoffPlan.startAtSeconds" target="_blank">Initial Detection Delay</a>** | How long to wait (in seconds) before starting voicemail detection. |
| **<a href="/api-reference/assistants/create#request.body.voicemailDetection.vapi.backoffPlan.frequencySeconds" target="_blank">Detection Retry Interval</a>** | How frequently to check for voicemail after the initial delay. |
| **<a href="/api-reference/assistants/create#request.body.voicemailDetection.vapi.backoffPlan.maxRetries" target="_blank">Max Detection Retries</a>** | Maximum number of detection attempts before stopping. |
| **<a href="/api-reference/assistants/create#request.body.voicemailDetection.vapi.beepMaxAwaitSeconds" target="_blank">Max Voicemail Message Wait</a>** | Maximum time to wait before leaving a voicemail if no beep is detected. |

These settings allow you to balance:
- **Speed** (how quickly voicemail is detected)
Expand Down
29 changes: 17 additions & 12 deletions fern/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -95,10 +95,13 @@ navigation:
layout:
- section: Get started
contents:
- page: Quickstart
icon: fa-light fa-rocket
path: quickstart/dashboard.mdx
- page: Make a web call
- page: Introduction
icon: fa-light fa-info-circle
path: quickstart/introduction.mdx
- page: Phone calls
icon: fa-solid fa-phone
path: quickstart/phone.mdx
- page: Web integration
icon: fa-light fa-browser
path: quickstart/web.mdx
- section: How Vapi works
Expand All @@ -123,7 +126,7 @@ navigation:
path: examples/docs-agent.mdx
icon: fa-light fa-microphone

- section: Assistant customization
- section: Assistants
contents:
- section: Conversation behavior
icon: fa-light fa-comments
Expand Down Expand Up @@ -690,9 +693,11 @@ redirects:
- source: "api-reference/calls/create-call"
destination: "https://api.vapi.ai/api#/Calls/CallController_create"
- source: "/getting_started"
destination: "/quickstart/dashboard"
destination: "/quickstart/phone"
- source: "/dashboard"
destination: "/quickstart/dashboard"
destination: "/quickstart/phone"
- source: "/quickstart/dashboard"
destination: "/quickstart/phone"
- source: "/provider_keys"
destination: "/assistants/provider-keys"
- source: "/provider-keys"
Expand Down Expand Up @@ -746,7 +751,7 @@ redirects:
- source: "/outbound_call_python"
destination: "/examples/outbound-call-python"
- source: "/voice_widget"
destination: "/voice-widget"
destination: "/examples/voice-widget"
- source: "/clients"
destination: "/sdks"
- source: "/error_message_guide"
Expand Down Expand Up @@ -782,9 +787,9 @@ redirects:
- source: /phone-calling/voicemail-detection
destination: /calls/voicemail-detection
- source: /quickstart/phone/inbound
destination: /quickstart/dashboard
destination: /quickstart/phone
- source: /quickstart/phone/outbound
destination: /quickstart/dashboard
destination: /quickstart/phone
- source: /introduction
destination: /quickstart
- source: /welcome
Expand All @@ -797,9 +802,9 @@ redirects:
destination: /quickstart
- source: /assistants
destination: /api-reference/assistants/create
- source: /examples/voice-widget
destination: /sdk/web
- source: /workflows/examples/outbound-sales
destination: /workflows/examples/lead-qualification
- source: /workflows
destination: /workflows/quickstart
- source: /web-integration
destination: /web
8 changes: 4 additions & 4 deletions fern/examples/docs-agent.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -219,22 +219,22 @@ You'll learn to:
</Step>

<Step title="Improve your prompts with call analysis">
Vapi automatically analyzes every call. The assistant above includes an [`analysisPlan`](https://docs.vapi.ai/api-reference/assistants/create#request.body.analysisPlan) with summary and success evaluation configured.
Vapi automatically analyzes every call. The assistant above includes an [`analysisPlan`](/api-reference/assistants/create#request.body.analysisPlan) with summary and success evaluation configured.

Configure additional analysis options in your assistant:
- **Summary plan**: Custom prompts for call summaries
- **Structured data plan**: Extract specific information using JSON schemas
- **Success evaluation plan**: Score calls with custom rubrics
- **Structured data multi plan**: Multiple extraction schemas

Retrieve analysis results using the [Get Call API](https://docs.vapi.ai/api-reference/calls/get#response.body.analysis):
Retrieve analysis results using the [Get Call API](/api-reference/calls/get#response.body.analysis):

```bash
curl https://api.vapi.ai/call/CALL_ID \
curl https://api.vapi.ai/call/{CALL_ID} \
-H "Authorization: Bearer YOUR_VAPI_API_KEY"
```

The response includes `call.analysis` with your configured analysis results. Learn more about [call analysis configuration](https://docs.vapi.ai/assistants/call-analysis).
The response includes `call.analysis` with your configured analysis results. Learn more about [call analysis configuration](/assistants/call-analysis).

**Iterative improvements:**
- Review analysis summaries to identify common user questions
Expand Down
2 changes: 1 addition & 1 deletion fern/knowledge-base/integrating-with-trieve.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -268,7 +268,7 @@ Use Trieve's search playground to:
1. Create your Trieve API key from [Trieve's dashboard](https://dashboard.trieve.ai/org/keys)
2. Add your Trieve API key to Vapi [Provider Credentials](https://dashboard.vapi.ai/keys)
![Add Trieve API key in Vapi](../static/images/knowledge-base/trieve-credential.png)
3. Once your dataset is optimized in Trieve, import it to Vapi via POST request to the [create knowledge base route](https://docs.vapi.ai/api-reference/knowledge-bases/create):
3. Once your dataset is optimized in Trieve, import it to Vapi via POST request to the [create knowledge base route](/api-reference/knowledge-bases/create):

```json
{
Expand Down
10 changes: 5 additions & 5 deletions fern/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,14 @@ Each layer is highly customizable and we support dozens of models across STT, LL
## Quickstart Guides
<CardGroup cols={2}>
<Card
title="No-code Quickstart"
href="/quickstart/dashboard">
title="Phone Calls"
href="/quickstart/phone">
The easiest way to start with Vapi. Build a voice agent in 5 minutes.
</Card>
<Card
title="Web Quickstart"
href="https://docs.vapi.ai/quickstart/web">
Quickly get started making web calls.
title="Web Integration"
href="/quickstart/web-integration">
Integrate voice calls into your web application.
</Card>
</CardGroup>

Expand Down
2 changes: 1 addition & 1 deletion fern/pricing.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ slug: pricing

### Starter Credits

Every new account is granted **$10 in free credits** to begin testing voice workflows. You can [begin using Vapi](/quickstart/dashboard) without a credit card.
Every new account is granted **$10 in free credits** to begin testing voice workflows. You can [begin using Vapi](/quickstart/phone) without a credit card.

---

Expand Down
6 changes: 3 additions & 3 deletions fern/providers/observability/langfuse.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ You can enhance your observability in Langfuse by adding metadata and tags:

**Metadata**

Use the [`assistant.observabilityPlan.metadata`](https://docs.vapi.ai/api-reference/assistants/create#request.body.observabilityPlan.metadata) field to attach custom key-value pairs.
Use the [`assistant.observabilityPlan.metadata`](/api-reference/assistants/create#request.body.observabilityPlan.metadata) field to attach custom key-value pairs.

Examples:
- Track experiment versions ("experiment": "v2.1")
Expand All @@ -101,7 +101,7 @@ Examples:

**Tags**

Use the [`assistant.observabilityPlan.tags`](https://docs.vapi.ai/api-reference/assistants/create#request.body.observabilityPlan.tags) field to add searchable labels.
Use the [`assistant.observabilityPlan.tags`](/api-reference/assistants/create#request.body.observabilityPlan.tags) field to add searchable labels.

Examples:
- Mark important runs ("priority")
Expand All @@ -111,4 +111,4 @@ Examples:
Adding metadata and tags makes it easier to filter, analyze, and monitor your assistants activity in Langfuse.

### Example
![Langfuse Metadata Example](../../static/images/providers/langfuse-example.png)
![Langfuse Metadata Example](../../static/images/providers/langfuse-example.png)
Loading
Loading