Skip to content
Open
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
2 changes: 1 addition & 1 deletion fern/assistants/end-call-phrases.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ Avoid unnecessary punctuation and whitespace inside a phrase. A short phrase suc
</Step>

<Step title="Publish the assistant">
Select **Publish**, review the changes, then select **Quick Publish**.
Select **Publish**, review the changes, then select **Next**. Review the version and traffic settings, then select **Publish**.
</Step>
</Steps>

Expand Down
21 changes: 13 additions & 8 deletions fern/assistants/examples/appointment-scheduling.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,13 @@ Use sample CSVs for customers, services, and appointments during development.
<Step title="Upload files (optional)">
<Tabs>
<Tab title="Dashboard">
1. Open your [Vapi Dashboard](https://dashboard.vapi.ai) → Files
2. Upload the three CSVs and note their file IDs
1. Open the [Vapi Dashboard](https://dashboard.vapi.ai), select **Resources**, then select **Files**.
2. Select **Upload file** and choose one CSV. Repeat for the other two CSVs.
3. Select each uploaded file and copy its `id` from the details panel.

<video autoPlay loop muted src="../../static/videos/upload-files.mp4" type="video/mp4" style={{ aspectRatio: '16 / 9', width: '100%' }} />
<Frame>
<img src="../../static/images/knowledge-base/files-dashboard.png" alt="Files page with Upload file button and an uploaded sample file" />
</Frame>
</Tab>
<Tab title="TypeScript (Server SDK)">
```typescript
Expand Down Expand Up @@ -124,8 +127,8 @@ Use the Google Calendar integration for availability and booking, or your own AP
<Tab title="Dashboard">
<Steps>
<Step title="Create assistant">
- Go to Assistants → Create Assistant → Blank template
- Name it `Receptionist`
- In the Dashboard, select **Assistants**, then **Create Assistant**.
- Select **Edit** next to the new assistant's name and rename it `Receptionist`.
</Step>
<Step title="Configure system prompt">
```txt title="System Prompt" maxLines=12
Expand All @@ -139,7 +142,7 @@ Use the Google Calendar integration for availability and booking, or your own AP
```
</Step>
<Step title="Attach tools">
Add your scheduling tools to the assistant and publish.
Add your scheduling tools to the assistant. Select **Publish**, review the changes, then select **Next**. Review the version and traffic settings, then select **Publish**.
</Step>
</Steps>
</Tab>
Expand All @@ -156,7 +159,8 @@ Use the Google Calendar integration for availability and booking, or your own AP
firstMessage: "Welcome to Tony's Barbershop! How can I help you today?",
model: {
provider: "openai",
model: "gpt-4o",
model: "gpt-6-luna",
reasoningEffort: "none",
messages: [{ role: "system", content: systemPrompt }],
// toolIds: [ "CHECK_AVAILABILITY_ID", "BOOK_ID", "RESCHEDULE_ID", "CANCEL_ID" ]
}
Expand All @@ -175,7 +179,8 @@ Use the Google Calendar integration for availability and booking, or your own AP
first_message="Welcome to Tony's Barbershop! How can I help you today?",
model={
"provider": "openai",
"model": "gpt-4o",
"model": "gpt-6-luna",
"reasoningEffort": "none",
"messages": [{"role": "system", "content": "You are an AI receptionist for a barbershop. Verify the customer, then handle booking/rescheduling/cancel."}]
}
)
Expand Down
63 changes: 32 additions & 31 deletions fern/assistants/examples/inbound-support.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -53,11 +53,13 @@ VapiBank is a fictional bank. The CSV files are a fixed snapshot for this demo,
<Step title="Upload the files">
<Tabs>
<Tab title="Dashboard">
1. Navigate to **Files** in your [Vapi Dashboard](https://dashboard.vapi.ai/).
2. Click **Choose file** and upload both `accounts.csv` and `transactions.csv`.
3. Note the file IDs for use in creating the Query tool.
1. Open the [Vapi Dashboard](https://dashboard.vapi.ai), select **Resources**, then select **Files**.
2. Select **Upload file** and choose `accounts.csv`. Repeat for `transactions.csv`.
3. Select each uploaded file and copy its `id` from the details panel for the Query tool.

<video autoPlay loop muted src="../../static/videos/upload-files.mp4" type="video/mp4" style={{ aspectRatio: '16 / 9', width: '100%' }} />
<Frame>
<img src="../../static/images/knowledge-base/files-dashboard.png" alt="Files page with Upload file button and an uploaded sample file" />
</Frame>
</Tab>
<Tab title="TypeScript (Server SDK)" language="typescript">
```typescript
Expand Down Expand Up @@ -138,14 +140,12 @@ VapiBank is a fictional bank. The CSV files are a fixed snapshot for this demo,
<Tab title="Dashboard">
<Steps>
<Step title="Navigate to Assistants">
Go to [dashboard.vapi.ai](https://dashboard.vapi.ai) and click `Assistants` in the left sidebar.
Open the [Vapi Dashboard](https://dashboard.vapi.ai) and select **Assistants** in the sidebar.
</Step>
<Step title="Create a new assistant">
- Click `Create Assistant`.
- Select `Blank Template` as your starting point.
- Change assistant name to `Tom`.
- Select **Create Assistant**.
- Select **Edit** next to the new assistant's name and rename it `Tom`.

<video autoPlay loop muted src="../../static/videos/inbound-support/create-assistant.mp4" type="video/mp4" style={{ aspectRatio: '16 / 9', width: '100%' }} />
</Step>
</Steps>
</Tab>
Expand All @@ -164,7 +164,8 @@ VapiBank is a fictional bank. The CSV files are a fixed snapshot for this demo,
firstMessage: "Hello, you've reached VapiBank customer support! My name is Tom, how may I assist you today?",
model: {
provider: "openai",
model: "gpt-4o",
model: "gpt-6-luna",
reasoningEffort: "none",
messages: [
{
role: "system",
Expand Down Expand Up @@ -199,7 +200,8 @@ VapiBank is a fictional bank. The CSV files are a fixed snapshot for this demo,
"firstMessage": "Hello, you've reached VapiBank customer support! My name is Tom, how may I assist you today?",
"model": {
"provider": "openai",
"model": "gpt-4o",
"model": "gpt-6-luna",
"reasoningEffort": "none",
"messages": [
{
"role": "system",
Expand Down Expand Up @@ -229,7 +231,8 @@ VapiBank is a fictional bank. The CSV files are a fixed snapshot for this demo,
"firstMessage": "Hello, you'\''ve reached VapiBank customer support! My name is Tom, how may I assist you today?",
"model": {
"provider": "openai",
"model": "gpt-4o",
"model": "gpt-6-luna",
"reasoningEffort": "none",
"messages": [
{
"role": "system",
Expand All @@ -254,7 +257,7 @@ VapiBank is a fictional bank. The CSV files are a fixed snapshot for this demo,
<Step title="Update the introduction message">
<Tabs>
<Tab title="Dashboard">
Update `First Message` to:
Set **First message** to:

```txt title="First Message" wordWrap
Hello, you've reached VapiBank customer support! My name is Tom, how may I assist you today?
Expand Down Expand Up @@ -355,7 +358,7 @@ Read important numbers slowly and clearly.

<Tabs>
<Tab title="Dashboard">
Copy the system prompt above and paste it into the `System Prompt` field in your assistant configuration.
Copy the system prompt above and paste it into **System Prompt** on the **Assistant** tab.
</Tab>
<Tab title="TypeScript (Server SDK)" language="typescript">
```typescript
Expand Down Expand Up @@ -526,7 +529,7 @@ Read important numbers slowly and clearly.
</Tabs>
</Step>
<Step title="Publish your assistant">
**Dashboard only:** Click `Publish` to save your changes.
**Dashboard only:** Select **Publish**, review the changes, select **Next**, then select **Publish** to apply the draft.

<Note>
When you use the Server SDK or HTTP API, changes apply immediately. You don't need a separate "publish" step.
Expand All @@ -541,9 +544,8 @@ Read important numbers slowly and clearly.

<Tabs>
<Tab title="Dashboard">
Click `Talk to Assistant` to test it out.
Select **Talk** to test the greeting.

<video autoPlay loop muted src="../../static/videos/inbound-support/configure-assistant.mp4" type="video/mp4" style={{ aspectRatio: '16 / 9', width: '100%' }} />
</Tab>
<Tab title="TypeScript (Server SDK)" language="typescript">
```typescript
Expand Down Expand Up @@ -627,30 +629,30 @@ Read important numbers slowly and clearly.

Create one Query tool with both CSV files in the same knowledge base. Each lookup can then use the account details and transaction records together.

The API examples use the default function name, `defaultQueryTool`. Use the same name in the dashboard and in the system prompt above. Replace the file ID placeholders with the IDs from [step 1](#1-upload-the-sample-files).
The API examples use the default function name, `defaultQueryTool`. Use the same name in the Dashboard and in the system prompt above. Replace the file ID placeholders with the IDs from [step 1](#1-upload-the-sample-files).

For complete request schemas, see the [Create Tool](/api-reference/tools/create) and [Update Assistant](/api-reference/assistants/update) API references.

<Tabs>
<Tab title="Dashboard">
<Steps>
<Step title="Create a Query tool">
Open **Tools** in the [Vapi Dashboard](https://dashboard.vapi.ai). Click **Create Tool** and select **Query**. Set **Tool Name** to `defaultQueryTool`.
Open **Tools** in the [Vapi Dashboard](https://dashboard.vapi.ai). Select **Create Tool**, then **Query**. Set **Tool Name** to `defaultQueryTool`.
</Step>
<Step title="Add the knowledge base">
Under **Knowledge Bases**, click **Add Knowledge Base** and configure these fields:
Under **Knowledge Bases**, select **Add Knowledge Base** and configure these fields:

| Field | Value |
| --- | --- |
| **Name** | `bank_records` |
| **Description** | Sample bank account and transaction records. Use both CSV files to match sample accounts and retrieve their recorded balances and transactions. |
| **Model** | `gemini-2.5-flash` |
| **Model** | Gemini 3.8 Flash |
| **Files** | Select both `accounts.csv` and `transactions.csv`. |

Save or publish the tool.
Select **Publish** to apply the tool draft.
</Step>
<Step title="Attach the tool">
Open **Assistants** and select `Tom`. In **Tools**, attach the saved `defaultQueryTool`. If you followed an earlier version of this example, detach `lookup_account`, `get_balance`, and `get_recent_transactions`.
Open **Assistants** and select `Tom`. On the **Tools** tab, select **Add tool**, then choose `defaultQueryTool`. If you followed an earlier version of this example, detach `lookup_account`, `get_balance`, and `get_recent_transactions`.

Keep the system prompt from step 3, then publish the assistant.
</Step>
Expand All @@ -672,7 +674,7 @@ For complete request schemas, see the [Create Tool](/api-reference/tools/create)
{
name: "bank_records",
provider: "google",
model: "gemini-2.5-flash",
model: "gemini-3.8-flash",
description: "Sample bank account and transaction records. Use both CSV files to match sample accounts and retrieve their recorded balances and transactions.",
fileIds: [
"YOUR_ACCOUNTS_FILE_ID",
Expand Down Expand Up @@ -717,7 +719,7 @@ For complete request schemas, see the [Create Tool](/api-reference/tools/create)
{
"name": "bank_records",
"provider": "google",
"model": "gemini-2.5-flash",
"model": "gemini-3.8-flash",
"description": "Sample bank account and transaction records. Use both CSV files to match sample accounts and retrieve their recorded balances and transactions.",
"fileIds": [
"YOUR_ACCOUNTS_FILE_ID",
Expand Down Expand Up @@ -759,7 +761,7 @@ For complete request schemas, see the [Create Tool](/api-reference/tools/create)
{
"name": "bank_records",
"provider": "google",
"model": "gemini-2.5-flash",
"model": "gemini-3.8-flash",
"description": "Sample bank account and transaction records. Use both CSV files to match sample accounts and retrieve their recorded balances and transactions.",
"fileIds": [
"YOUR_ACCOUNTS_FILE_ID",
Expand Down Expand Up @@ -804,18 +806,17 @@ These examples create a Vapi phone number in a US-region organization. Choose an
<Tab title="Dashboard">
<Steps>
<Step title="Navigate to Phone Numbers">
Open your [dashboard.vapi.ai](https://dashboard.vapi.ai) and click `Phone Numbers` in the left sidebar.
Open the [Vapi Dashboard](https://dashboard.vapi.ai) and select **Phone Numbers** in the sidebar.
</Step>
<Step title="Create a new phone number">
- Click **Create Phone Number**.
- Select **Free Vapi Number**.
- Select **Create Phone Number**, then choose **Free Vapi Number**.
- Enter an available area code in **Area code**, for example `415`.
- Click **Create**.
- Select **Create**.
</Step>
<Step title="Configure the phone number">
- Set **Phone Number Label** to `Vapi Support Hotline`.
- Under **Inbound Settings**, select `Tom` from the **Assistant** dropdown.
- Click **Save**.
- Select **Save**.

<video autoPlay loop muted src="../../static/videos/inbound-support/assign-phone-number.mp4" type="video/mp4" style={{ aspectRatio: '16 / 9', width: '100%' }} />
</Step>
Expand Down
10 changes: 7 additions & 3 deletions fern/assistants/examples/lead-qualification.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,13 @@ Create an outbound sales assistant that calls prospects, qualifies them using BA
<Step title="Upload files (optional)">
<Tabs>
<Tab title="Dashboard">
Upload `leads.csv`, `products.csv`, and `call_outcomes.csv` and note file IDs.
1. Open the [Vapi Dashboard](https://dashboard.vapi.ai), select **Resources**, then select **Files**.
2. Select **Upload file** and choose `leads.csv`. Repeat for `products.csv` and `call_outcomes.csv`.
3. Select each uploaded file and copy its `id` from the details panel.

<video autoPlay loop muted src="../../static/videos/upload-files.mp4" type="video/mp4" style={{ aspectRatio: '16 / 9', width: '100%' }} />
<Frame>
<img src="../../static/images/knowledge-base/files-dashboard.png" alt="Files page with Upload file button and an uploaded sample file" />
</Frame>
</Tab>
<Tab title="TypeScript (Server SDK)">
```typescript
Expand Down Expand Up @@ -105,7 +109,7 @@ See [Function tools](/tools/custom-tools) and [Google Calendar](/tools/google-ca
const assistant = await vapi.assistants.create({
name: "Outbound SDR",
firstMessage: "Hi, this is Alex from TechFlow. Is now a good time to chat for 2 minutes?",
model: { provider: "openai", model: "gpt-4o", messages: [{ role: "system", content: systemPrompt }] }
model: { provider: "openai", model: "gpt-6-luna", reasoningEffort: "none", messages: [{ role: "system", content: systemPrompt }] }
});
```
</Tab>
Expand Down
Loading
Loading