diff --git a/fern/assistants/end-call-phrases.mdx b/fern/assistants/end-call-phrases.mdx index 757c405ce..b51351376 100644 --- a/fern/assistants/end-call-phrases.mdx +++ b/fern/assistants/end-call-phrases.mdx @@ -49,7 +49,7 @@ Avoid unnecessary punctuation and whitespace inside a phrase. A short phrase suc - 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**. diff --git a/fern/assistants/examples/appointment-scheduling.mdx b/fern/assistants/examples/appointment-scheduling.mdx index 612f21c1f..688bfe99f 100644 --- a/fern/assistants/examples/appointment-scheduling.mdx +++ b/fern/assistants/examples/appointment-scheduling.mdx @@ -47,10 +47,13 @@ Use sample CSVs for customers, services, and appointments during development. - 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. - ```typescript @@ -124,8 +127,8 @@ Use the Google Calendar integration for availability and booking, or your own AP - - 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`. ```txt title="System Prompt" maxLines=12 @@ -139,7 +142,7 @@ Use the Google Calendar integration for availability and booking, or your own AP ``` - 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**. @@ -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" ] } @@ -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."}] } ) diff --git a/fern/assistants/examples/inbound-support.mdx b/fern/assistants/examples/inbound-support.mdx index 94de04549..46aa0f4a7 100644 --- a/fern/assistants/examples/inbound-support.mdx +++ b/fern/assistants/examples/inbound-support.mdx @@ -53,11 +53,13 @@ VapiBank is a fictional bank. The CSV files are a fixed snapshot for this demo, - 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. - ```typescript @@ -138,14 +140,12 @@ VapiBank is a fictional bank. The CSV files are a fixed snapshot for this demo, - 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. - - 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`. - @@ -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", @@ -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", @@ -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", @@ -254,7 +257,7 @@ VapiBank is a fictional bank. The CSV files are a fixed snapshot for this demo, - 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? @@ -355,7 +358,7 @@ Read important numbers slowly and clearly. - 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. ```typescript @@ -526,7 +529,7 @@ Read important numbers slowly and clearly. - **Dashboard only:** Click `Publish` to save your changes. + **Dashboard only:** Select **Publish**, review the changes, select **Next**, then select **Publish** to apply the draft. When you use the Server SDK or HTTP API, changes apply immediately. You don't need a separate "publish" step. @@ -541,9 +544,8 @@ Read important numbers slowly and clearly. - Click `Talk to Assistant` to test it out. + Select **Talk** to test the greeting. - ```typescript @@ -627,7 +629,7 @@ 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. @@ -635,22 +637,22 @@ For complete request schemas, see the [Create Tool](/api-reference/tools/create) - 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`. - 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. - 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. @@ -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", @@ -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", @@ -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", @@ -804,18 +806,17 @@ These examples create a Vapi phone number in a US-region organization. Choose an - 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. - - 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**. - Set **Phone Number Label** to `Vapi Support Hotline`. - Under **Inbound Settings**, select `Tom` from the **Assistant** dropdown. - - Click **Save**. + - Select **Save**. diff --git a/fern/assistants/examples/lead-qualification.mdx b/fern/assistants/examples/lead-qualification.mdx index 27b6dffc6..6bfc439c7 100644 --- a/fern/assistants/examples/lead-qualification.mdx +++ b/fern/assistants/examples/lead-qualification.mdx @@ -44,9 +44,13 @@ Create an outbound sales assistant that calls prospects, qualifies them using BA - 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. - ```typescript @@ -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 }] } }); ``` diff --git a/fern/assistants/examples/multilingual-agent.mdx b/fern/assistants/examples/multilingual-agent.mdx index 20a7ef00c..e2cb9eccc 100644 --- a/fern/assistants/examples/multilingual-agent.mdx +++ b/fern/assistants/examples/multilingual-agent.mdx @@ -65,11 +65,13 @@ The CSV files contain fictional example data for this tutorial. Do not call or e - 1. Navigate to **Files** in your [Vapi Dashboard](https://dashboard.vapi.ai/). - 2. Click **Choose file** and upload all three CSV files. - 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 one CSV. Repeat for the other two CSVs. + 3. Select each uploaded file and copy its `id` from the details panel for the Query tool. - ```typescript @@ -176,12 +178,11 @@ The CSV files contain fictional example data for this tutorial. Do not call or e - 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. - - Click `Create Assistant`. - - Select `Blank Template` as your starting point. - - Change assistant name to `GlobalTech Support Agent`. + - Select **Create Assistant**. + - Select **Edit** next to the new assistant's name and rename it `GlobalTech Support Agent`. @@ -212,7 +213,8 @@ The CSV files contain fictional example data for this tutorial. Do not call or e firstMessage: "Hello! I'm Maria from GlobalTech International. I can help you in English, Spanish, or French. How may I assist you today?", model: { provider: "openai", - model: "gpt-4o", + model: "gpt-6-luna", + reasoningEffort: "none", messages: [ { role: "system", @@ -255,7 +257,8 @@ The CSV files contain fictional example data for this tutorial. Do not call or e "firstMessage": "Hello! I'm Maria from GlobalTech International. I can help you in English, Spanish, or French. How may I assist you today?", "model": { "provider": "openai", - "model": "gpt-4o", + "model": "gpt-6-luna", + "reasoningEffort": "none", "messages": [ { "role": "system", @@ -281,7 +284,8 @@ The CSV files contain fictional example data for this tutorial. Do not call or e "firstMessage": "Hello! I'\''m Maria from GlobalTech International. I can help you in English, Spanish, or French. How may I assist you today?", "model": { "provider": "openai", - "model": "gpt-4o", + "model": "gpt-6-luna", + "reasoningEffort": "none", "messages": [ { "role": "system", @@ -300,7 +304,7 @@ The CSV files contain fictional example data for this tutorial. Do not call or e - Use Deepgram `nova-3` with `language: "multi"` for English, Spanish, and French. Nova-2 multilingual mode supports English and Spanish only. Choose one transcriber configuration below. + Use Deepgram `nova-3` with `language: "multi"` for English, Spanish, and French. Choose one transcriber configuration below. @@ -328,7 +332,7 @@ The CSV files contain fictional example data for this tutorial. Do not call or e // Option 2: Google Multilingual const googleTranscriber = { provider: "google", - model: "gemini-2.5-flash", + model: "gemini-3.8-flash", language: "Multilingual" } as const; @@ -354,7 +358,7 @@ The CSV files contain fictional example data for this tutorial. Do not call or e # Option 2: Google Multilingual google_transcriber = { "provider": "google", - "model": "gemini-2.5-flash", + "model": "gemini-3.8-flash", "language": "Multilingual" } @@ -397,7 +401,7 @@ The CSV files contain fictional example data for this tutorial. Do not call or e -d '{ "transcriber": { "provider": "google", - "model": "gemini-2.5-flash", + "model": "gemini-3.8-flash", "language": "Multilingual" } }' @@ -749,7 +753,7 @@ Keep responses concise (under 50 words) while being thorough and helpful.""" Create one [Query tool](/knowledge-base/using-query-tool) with three knowledge bases. The assistant selects the relevant knowledge bases for each question. Vapi retrieves from the uploaded files, so you don't need a custom `tool-calls` webhook handler. -The API examples use the default function name, `defaultQueryTool`. Use that name in the dashboard and in the [system prompt from step 5](#5-configure-system-prompt). 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 that name in the Dashboard and in the [system prompt from step 5](#5-configure-system-prompt). 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. @@ -757,10 +761,10 @@ For complete request schemas, see the [Create Tool](/api-reference/tools/create) - 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`. - Under **Knowledge Bases**, click **Add Knowledge Base** for each row below. Set **Model** to `gemini-2.5-flash` for all three. + Under **Knowledge Bases**, select **Add Knowledge Base** for each row below. Set **Model** to **Gemini 3.8 Flash** for all three. | Name | Files | Description | | --- | --- | --- | @@ -768,10 +772,10 @@ For complete request schemas, see the [Create Tool](/api-reference/tools/create) | `products` | `products.csv` | Sample product names and descriptions in English, Spanish, and French, with prices in USD and recorded availability. | | `support_articles` | `support_articles.csv` | Support article titles and content summaries in English, Spanish, and French. Does not contain full articles or step-by-step instructions. | - Save or publish the tool. + Select **Publish** to apply the tool draft. - Open **Assistants** and select `GlobalTech Support Agent`. In **Tools**, attach `defaultQueryTool`. If you followed an earlier version of this guide, detach `lookup_customer`, `get_product_info`, and `search_support_articles`. + Open **Assistants** and select `GlobalTech Support Agent`. On the **Tools** tab, select **Add tool**, then choose `defaultQueryTool`. If you followed an earlier version of this guide, detach `lookup_customer`, `get_product_info`, and `search_support_articles`. Keep the system prompt from step 5, then publish the assistant. @@ -793,21 +797,21 @@ For complete request schemas, see the [Create Tool](/api-reference/tools/create) { name: "customers", provider: "google", - model: "gemini-2.5-flash", + model: "gemini-3.8-flash", description: "Sample customer profiles with customer IDs, contact details, preferred languages, account status, and support tiers.", fileIds: ["YOUR_CUSTOMERS_FILE_ID"] }, { name: "products", provider: "google", - model: "gemini-2.5-flash", + model: "gemini-3.8-flash", description: "Sample product names and descriptions in English, Spanish, and French, with prices in USD and recorded availability.", fileIds: ["YOUR_PRODUCTS_FILE_ID"] }, { name: "support_articles", provider: "google", - model: "gemini-2.5-flash", + model: "gemini-3.8-flash", description: "Support article titles and content summaries in English, Spanish, and French. Does not contain full articles or step-by-step instructions.", fileIds: ["YOUR_SUPPORT_ARTICLES_FILE_ID"] } @@ -845,7 +849,7 @@ For complete request schemas, see the [Create Tool](/api-reference/tools/create) { "name": "customers", "provider": "google", - "model": "gemini-2.5-flash", + "model": "gemini-3.8-flash", "description": "Sample customer profiles with customer IDs, contact details, preferred languages, account status, and support tiers.", "fileIds": [ "YOUR_CUSTOMERS_FILE_ID" @@ -854,7 +858,7 @@ For complete request schemas, see the [Create Tool](/api-reference/tools/create) { "name": "products", "provider": "google", - "model": "gemini-2.5-flash", + "model": "gemini-3.8-flash", "description": "Sample product names and descriptions in English, Spanish, and French, with prices in USD and recorded availability.", "fileIds": [ "YOUR_PRODUCTS_FILE_ID" @@ -863,7 +867,7 @@ For complete request schemas, see the [Create Tool](/api-reference/tools/create) { "name": "support_articles", "provider": "google", - "model": "gemini-2.5-flash", + "model": "gemini-3.8-flash", "description": "Support article titles and content summaries in English, Spanish, and French. Does not contain full articles or step-by-step instructions.", "fileIds": [ "YOUR_SUPPORT_ARTICLES_FILE_ID" @@ -909,7 +913,7 @@ For complete request schemas, see the [Create Tool](/api-reference/tools/create) { "name": "customers", "provider": "google", - "model": "gemini-2.5-flash", + "model": "gemini-3.8-flash", "description": "Sample customer profiles with customer IDs, contact details, preferred languages, account status, and support tiers.", "fileIds": [ "YOUR_CUSTOMERS_FILE_ID" @@ -918,7 +922,7 @@ For complete request schemas, see the [Create Tool](/api-reference/tools/create) { "name": "products", "provider": "google", - "model": "gemini-2.5-flash", + "model": "gemini-3.8-flash", "description": "Sample product names and descriptions in English, Spanish, and French, with prices in USD and recorded availability.", "fileIds": [ "YOUR_PRODUCTS_FILE_ID" @@ -927,7 +931,7 @@ For complete request schemas, see the [Create Tool](/api-reference/tools/create) { "name": "support_articles", "provider": "google", - "model": "gemini-2.5-flash", + "model": "gemini-3.8-flash", "description": "Support article titles and content summaries in English, Spanish, and French. Does not contain full articles or step-by-step instructions.", "fileIds": [ "YOUR_SUPPORT_ARTICLES_FILE_ID" diff --git a/fern/assistants/idle-messages.mdx b/fern/assistants/idle-messages.mdx index ef08fc171..c7b3fc87d 100644 --- a/fern/assistants/idle-messages.mdx +++ b/fern/assistants/idle-messages.mdx @@ -28,7 +28,7 @@ Idle messages automatically prompt users during periods of inactivity to maintai - In the assistant editor, find **Idle Messages**, **Max Idle Messages**, and **Idle Timeout**. + Open the **Advanced** tab and expand **Messaging**. Find **Idle Messages**, **Max Idle Messages**, and **Idle Timeout**. @@ -40,7 +40,7 @@ Idle messages automatically prompt users during periods of inactivity to maintai - 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**. @@ -50,11 +50,11 @@ Idle messages automatically prompt users during periods of inactivity to maintai - + Idle Messages preset selector in assistant Messaging settings - + Max Idle Messages and Idle Timeout controls ## How idle messages work diff --git a/fern/assistants/quickstart.mdx b/fern/assistants/quickstart.mdx index 6c3829c73..33ea8c2ea 100644 --- a/fern/assistants/quickstart.mdx +++ b/fern/assistants/quickstart.mdx @@ -94,7 +94,7 @@ A blank assistant uses the [Balanced preset](/assistants/model-intelligence/pres - Select **Publish**, review the changes, then select **Quick Publish**. Publishing creates a new [assistant version](/assistants/versioning/versioning-assistants). + Select **Publish**, review the changes, then select **Next**. Review the version and traffic settings, then select **Publish**. Publishing creates a new [assistant version](/assistants/versioning/versioning-assistants). @@ -124,7 +124,8 @@ A blank assistant uses the [Balanced preset](/assistants/model-intelligence/pres "firstMessage": "Hello! How can I help you today?", "model": { "provider": "openai", - "model": "gpt-4o", + "model": "gpt-6-luna", + "reasoningEffort": "none", "messages": [ { "role": "system", @@ -151,7 +152,8 @@ A blank assistant uses the [Balanced preset](/assistants/model-intelligence/pres firstMessage: "Hello! How can I help you today?", model: { provider: "openai", - model: "gpt-4o", + model: "gpt-6-luna", + reasoningEffort: "none", messages: [ { role: "system", @@ -178,14 +180,14 @@ A blank assistant uses the [Balanced preset](/assistants/model-intelligence/pres Create Phone Number dialog with Free Vapi Number selected and the Area Code field visible - Enter a three-digit US area code in **Area Code**, then select **Create**. + Enter a three-digit US area code in **Area code**, then select **Create**. Your first free Vapi number doesn't require a payment method. You may be asked to add one when you request more numbers. It can take a few minutes for the number to become active. diff --git a/fern/assistants/versioning/versioning-assistants.mdx b/fern/assistants/versioning/versioning-assistants.mdx index 0c60ced39..18bee682e 100644 --- a/fern/assistants/versioning/versioning-assistants.mdx +++ b/fern/assistants/versioning/versioning-assistants.mdx @@ -50,7 +50,7 @@ Publishing turns your current draft into a new version and makes it the **curren - Give the version a name. You can also add a short description so teammates understand what changed and why. + Select **Next**, then give the version a name. You can also add a short description so teammates understand what changed and why. Review the traffic settings before publishing. - Select **Publish** to create the version and make it current. To publish with the default settings, select **Quick Publish**. To remove the draft changes, select **Discard Changes…**. + Select **Publish** to create the version and make it current. To skip the review and use the current default settings, select the down arrow next to **Publish**, then select **Quick Publish**. To remove draft changes, use the same menu and select **Discard Changes…**. @@ -77,14 +77,14 @@ In the [Dashboard](https://dashboard.vapi.ai), select **Assistants** in the side From the version history, you can: -- Select **View changes** to compare a version with the previous version +- Select **View changes** to compare a version with the previous version. In the Changes dialog, use **Settings** or **JSON** to choose the view. - Select **Export** to download a version as JSON - Select **Restore** to make an earlier configuration current as a new version - + Changes in v2 compared with v1 showing the updated firstMessage value diff --git a/fern/customization/custom-llm/using-your-server.mdx b/fern/customization/custom-llm/using-your-server.mdx index 5f9f4e227..047460dca 100644 --- a/fern/customization/custom-llm/using-your-server.mdx +++ b/fern/customization/custom-llm/using-your-server.mdx @@ -52,23 +52,25 @@ Execute the Python script using python app.py in your terminal. This will start Open a new terminal window and run ngrok http 5000 (replace 5000 with your chosen port) to create a public URL that tunnels to your local server. ## Step 2: Configuring Vapi with Custom LLM -**1. Access Vapi Dashboard:** -Log in to your Vapi account and navigate to the "Model" section. +**1. Open the assistant:** +In the [Vapi Dashboard](https://dashboard.vapi.ai), select **Assistants**, then open the assistant you want to configure. **2. Select Custom LLM:** -Choose the "Custom LLM" option to set up the integration. +On the **Assistant** tab, select **MODEL**. In **Model Settings**, open **Model** and choose **Custom LLM**. **3. Enter Ngrok URL:** -Paste the public URL generated by ngrok (for example, `https://your-unique-id.ngrok.io`) into the endpoint field. This will be the URL Vapi uses to communicate with your local server. +Enter `gpt-4.1-mini` in the second **Model** field. Paste the public base URL for your OpenAI-compatible endpoint into **Custom LLM URL** (for example, the URL generated by Ngrok for your server). The server handles requests at `/chat/completions`. **4. Test the Connection:** -Send a test message through the Vapi interface to ensure it reaches your local server and receives a response from the OpenAI API. Verify that the response is displayed correctly in Vapi. +Select **Publish**, review the changes, then select **Next**. Review the version and traffic settings, then select **Publish**. Select **Talk** to test the assistant in the Dashboard. Check that your server receives the request and the assistant responds. ## Authentication (Optional) For production deployments, you can secure your custom LLM endpoint using authentication. This ensures only authorized requests from Vapi can access your LLM server. -![Custom LLM authentication configuration](../../static/images/server-url/authentication/custom-llm.png) +In the Dashboard, select **Integrations**, then **Custom LLM** to configure the authentication fields. Select **Save** after entering your credentials. + +![Custom LLM integration form with API Key and optional OAuth2 credential fields](../../static/images/server-url/authentication/custom-llm-dashboard.png) ### Configuration Options @@ -87,7 +89,7 @@ When using API Key authentication: ### OAuth2 Authentication -When configuring OAuth2 in the Vapi dashboard: +When configuring OAuth2 in the Dashboard: 1. **OAuth2 URL**: Enter your OAuth2 token endpoint (e.g., `https://your-server.com/oauth/token`) 2. **OAuth2 Client ID**: Your OAuth2 client identifier diff --git a/fern/customization/multilingual.mdx b/fern/customization/multilingual.mdx index 8bdc8e766..a1cb97dec 100644 --- a/fern/customization/multilingual.mdx +++ b/fern/customization/multilingual.mdx @@ -16,7 +16,7 @@ Configure your voice assistant to communicate in multiple languages with automat - Test and optimize multilingual performance -**Multilingual Support:** Multiple providers support automatic language detection. **Deepgram** (Nova 2, Nova 3 with "Multi" setting), **Google STT** (with "Multilingual" setting), and **Gladia** (automatic language detection) all offer seamless multilingual conversations. +**Multilingual Support:** Multiple providers support automatic language detection. **Deepgram** (Nova 3 with "Multi" setting), **Google STT** (with "Multilingual" setting), and **Gladia** (automatic language detection) all offer seamless multilingual conversations. ## Configure automatic language detection @@ -29,10 +29,10 @@ Set up your transcriber to automatically detect and process multiple languages. 2. Create a new assistant or edit an existing one 3. In the **Transcriber** section: - **Provider**: Select `Deepgram` (recommended), `Google`, or `Gladia` - - **Model**: For Deepgram, choose `Nova 2` or `Nova 3`; for Google, choose `Gemini 2.0 Flash`; for Gladia, choose `Solaria` + - **Model**: For Deepgram, choose `Nova 3`; for Google, choose `Gemini 3.8 Flash`; for Gladia, choose `Solaria` - **Language / Mode**: Set `Multi` (Deepgram), `Multilingual` (Google), or choose the language you want to transcribe (Gladia) - 4. **Other providers**: May require a single languages and not auto-detect - 5. Click **Save** to apply the configuration + 4. **Other providers**: May require a single language and not auto-detect + 5. Select **Publish**, review the changes, select **Next**, then select **Publish** to apply the draft. ```typescript @@ -45,7 +45,7 @@ Set up your transcriber to automatically detect and process multiple languages. name: "Multilingual Assistant", transcriber: { provider: "deepgram", - model: "nova-2", // or "nova-3" + model: "nova-3", language: "multi" } }); @@ -53,7 +53,7 @@ Set up your transcriber to automatically detect and process multiple languages. // Alternative: Google for multilingual support const googleMultilingual = { provider: "google", - model: "gemini-2.5-flash", + model: "gemini-3.8-flash", language: "Multilingual" }; ``` @@ -70,7 +70,7 @@ Set up your transcriber to automatically detect and process multiple languages. name="Multilingual Assistant", transcriber={ "provider": "deepgram", - "model": "nova-2", # or "nova-3" + "model": "nova-3", "language": "multi" } ) @@ -78,7 +78,7 @@ Set up your transcriber to automatically detect and process multiple languages. # Alternative: Google for multilingual support google_multilingual = { "provider": "google", - "model": "gemini-2.5-flash", + "model": "gemini-3.8-flash", "language": "Multilingual" } ``` @@ -93,7 +93,7 @@ Set up your transcriber to automatically detect and process multiple languages. "name": "Multilingual Assistant", "transcriber": { "provider": "deepgram", - "model": "nova-2", + "model": "nova-3", "language": "multi" } }' @@ -105,7 +105,7 @@ Set up your transcriber to automatically detect and process multiple languages. -d '{ "transcriber": { "provider": "google", - "model": "gemini-2.5-flash", + "model": "gemini-3.8-flash", "language": "Multilingual" } }' @@ -126,14 +126,8 @@ Configure your assistant to use appropriate voices for each detected language. 1. In the **Voice** section of your assistant: - **Provider**: Select `Azure` (best multilingual coverage) - **Voice**: Choose `multilingual-auto` for automatic voice selection - 2. **Alternative**: Configure specific voices for each language: - - Select a primary voice (e.g., `en-US-AriaNeural`) - - Click **Add Fallback Voices** - - Add voices for other languages: - - Spanish: `es-ES-ElviraNeural` - - French: `fr-FR-DeniseNeural` - - German: `de-DE-KatjaNeural` - 3. Click **Save** to apply the voice configuration + 2. To add backup voices for a primary-voice failure, open the **Advanced** tab, expand **Fallbacks**, and select **Add** under **Fallback Voices**. Fallback voices are used when the primary voice fails; they do not select a voice based on the caller's language. + 3. Select **Publish**, review the changes, select **Next**, then select **Publish** to apply the draft. ```typescript @@ -236,7 +230,7 @@ Create system prompts that explicitly list supported languages and handle multip If a user speaks a language other than English, Spanish, or French, politely explain that you only support these three languages and ask them to continue in one of them. ``` - 2. Click **Save** to apply the prompt changes + 2. Select **Publish**, review the changes, select **Next**, then select **Publish** to apply the draft. ```typescript @@ -253,7 +247,8 @@ If a user speaks a language other than English, Spanish, or French, politely exp const model = { provider: "openai", - model: "gpt-4", + model: "gpt-6-luna", + reasoningEffort: "none", messages: [ { role: "system", @@ -280,7 +275,8 @@ If a user speaks a language other than English, Spanish, or French, politely exp model = { "provider": "openai", - "model": "gpt-4", + "model": "gpt-6-luna", + "reasoningEffort": "none", "messages": [ { "role": "system", @@ -300,7 +296,8 @@ If a user speaks a language other than English, Spanish, or French, politely exp -d '{ "model": { "provider": "openai", - "model": "gpt-4", + "model": "gpt-6-luna", + "reasoningEffort": "none", "messages": [ { "role": "system", @@ -323,14 +320,11 @@ Configure greeting messages that work across multiple languages. - 1. In the **First Message** field, enter a multilingual greeting: + 1. In the **First message** field, enter a multilingual greeting: ``` Hello! I can assist you in English, Spanish, or French. How can I help you today? ``` - 2. **Optional**: For more personalized greetings, use the **Advanced Message Configuration**: - - Enable **Language-Specific Messages** - - Add greetings for each target language - 3. Click **Save** to apply the greeting + 2. Select **Publish**, review the changes, select **Next**, then select **Publish** to apply the draft. ```typescript @@ -416,7 +410,7 @@ Use [plan test coverage](/test/plan-test-coverage) to prioritize the languages a - 1. Use the **Test Assistant** feature in your dashboard + 1. Select **Talk** in the assistant header to start a Dashboard test call. 2. Test these scenarios: - Start conversations in different languages - Switch languages mid-conversation @@ -481,10 +475,10 @@ Use [plan test coverage](/test/plan-test-coverage) to prioritize the languages a | Provider | Multilingual Support | Languages | Notes | |----------|---------------------|-----------|-------| -| **Deepgram** | ✅ Full auto-detection | 100+ | **Recommended**: Nova 2/Nova 3 with "Multi" language setting | +| **Deepgram** | ✅ Full auto-detection | [See supported languages](/providers/transcriber/deepgram#supported-languages) | **Recommended**: Nova 3 with "Multi" language setting | | **Google STT** | ✅ Full auto-detection | 125+ | Latest models with "Multilingual" language setting | | **Gladia** | ✅ Full auto-detection | 110+ | Supports automatic language detection and code-switching | -| **AssemblyAI** | ✅ Full auto-detection | 18 | Set `speechModel` to `universal-3-5-pro` for automatic language detection and code-switching | +| **AssemblyAI** | ✅ Full auto-detection | 32 | Set `speechModel` to `universal-3-6-pro` for automatic language detection and code-switching | | **Azure STT** | ❌ Single language | 100+ | Many languages, but no auto-detection | | **OpenAI Whisper** | ❌ Single language | 90+ | Many languages, but no auto-detection | | **Speechmatics** | ❌ Single language | 50+ | Many languages, but no auto-detection | @@ -504,7 +498,7 @@ Use [plan test coverage](/test/plan-test-coverage) to prioritize the languages a **Solutions:** - - Use AssemblyAI Universal 3.5 Pro (`speechModel: "universal-3-5-pro"`), Deepgram (Nova 2/Nova 3 with "Multi"), Google STT (with "Multilingual"), or Gladia (automatic language detection) + - Use AssemblyAI Universal 3.6 Pro (`speechModel: "universal-3-6-pro"`), Deepgram (Nova 3 with "Multi"), Google STT (with "Multilingual"), or Gladia (automatic language detection) - Ensure high-quality audio input for better detection accuracy - Test with native speakers of target languages - Consider provider-specific language combinations for optimal results @@ -520,7 +514,7 @@ Use [plan test coverage](/test/plan-test-coverage) to prioritize the languages a **Solutions:** - - Use Deepgram Nova 2/Nova 3 for optimal speed and multilingual support + - Use Deepgram Nova 3 for optimal speed and multilingual support - For Google STT, use latest models for better performance - Consider the speed vs accuracy tradeoff for your use case - Optimize audio quality and format to improve processing speed diff --git a/fern/customization/speech-configuration.mdx b/fern/customization/speech-configuration.mdx index 38a87cc9b..f62ee5a04 100644 --- a/fern/customization/speech-configuration.mdx +++ b/fern/customization/speech-configuration.mdx @@ -62,7 +62,9 @@ This plan defines the parameters for when the assistant begins speaking after th - **LiveKit**: Recommended for English conversations as it provides the most sophisticated solution for detecting natural speech patterns and pauses. LiveKit can be fine-tuned using the `waitFunction` parameter to adjust response timing based on the probability that the user is still speaking. - **Vapi**: Recommended for non-English conversations or as an alternative when LiveKit isn't suitable - ![LiveKit Smart Endpointing Configuration](../static/images/advanced-tab/livekit-smart-endpointing.png) + In the [Dashboard](https://dashboard.vapi.ai), open an assistant, select **Advanced**, and expand **Start Speaking Plan**. Select **LiveKit** under **Smart Endpointing**. To enter your own expression, select **Use Advanced Mode** under **Wait Function**. + + ![Start Speaking Plan with LiveKit selected and Wait Function in advanced mode](../static/images/advanced-tab/livekit-advanced-dashboard.png) **LiveKit Smart Endpointing Configuration:** When using LiveKit, you can customize the `waitFunction` parameter which determines how long the bot will wait to start speaking based on the likelihood that the user has finished speaking: @@ -71,7 +73,7 @@ This plan defines the parameters for when the assistant begins speaking after th waitFunction: "200 + 8000 * x" ``` - This function maps probabilities (0-1) to milliseconds of wait time. A probability of 0 means high confidence the caller has stopped speaking, while 1 means high confidence they're still speaking. The default function (`200 + 8000 * x`) creates a wait time between 200ms (when x=0) and 8200ms (when x=1). You can customize this with your own mathematical expression, such as `4000 * (1 - cos(pi * x))` for a different response curve. + This example maps probabilities (0-1) to milliseconds of wait time. A probability of 0 means high confidence the caller has stopped speaking, while 1 means high confidence they're still speaking. The example expression (`200 + 8000 * x`) creates a wait time between 200ms (when x=0) and 8200ms (when x=1). The Dashboard currently starts with the **Aggressive** preset when you select **LiveKit**; choose a preset or enter your own expression in advanced mode. **Example:** In insurance claims, smart endpointing helps avoid interruptions while customers think through complex responses. For instance, when the assistant asks "do you want a loan," the system can intelligently wait for the complete response rather than interrupting after the initial "yes" or "no." For responses requiring number sequences like "What's your account number?", the system can detect natural pauses between digits without prematurely ending the customer's turn to speak. diff --git a/fern/customization/voice-pipeline-configuration.mdx b/fern/customization/voice-pipeline-configuration.mdx index 609470f76..70fe6bd41 100644 --- a/fern/customization/voice-pipeline-configuration.mdx +++ b/fern/customization/voice-pipeline-configuration.mdx @@ -30,7 +30,7 @@ For implementation examples, see **[Configuration examples](#configuration-examp - In **Start Speaking Plan**, set **Wait Seconds**. Choose **Off**, **Vapi**, or **LiveKit** under **Smart Endpointing**, then set **On Punctuation Seconds**, **On No Punctuation Seconds**, and **On Number Seconds**. + In **Start Speaking Plan**, set **Wait Seconds**, then choose **Off**, **Vapi**, or **LiveKit** under **Smart Endpointing**. With **Off**, set **On Punctuation Seconds**, **On No Punctuation Seconds**, and **On Number Seconds**. With **LiveKit**, configure **Wait Function** instead. @@ -38,16 +38,16 @@ For implementation examples, see **[Configuration examples](#configuration-examp - Select **publish** in the unsaved-changes message to apply the update. + Select **Publish** in the assistant header, review the changes, then select **Next**. Review the version and traffic settings, then select **Publish**. - + Start Speaking Plan controls for wait time and smart endpointing - + Stop Speaking Plan controls for interruptions ## Quick start @@ -222,7 +222,7 @@ Uses AI models to analyze speech patterns, context, and audio cues to predict wh **Audio-text based providers:** - **deepgram-flux**: Deepgram's latest transcriber model with built-in conversational speech recognition. Use `flux-general-en` for English-only conversations or `flux-general-multi` for multilingual conversations. - - **assembly**: Transcriber with built-in end-of-turn detection for Universal-Streaming English, Universal-Streaming Multilingual, and Universal 3.5 Pro + - **assembly**: Transcriber with built-in end-of-turn detection for Universal-Streaming English, Universal-Streaming Multilingual, and Universal 3.6 Pro
diff --git a/fern/knowledge-base/knowledge-base.mdx b/fern/knowledge-base/knowledge-base.mdx index 967d8b57c..dce86f1e6 100644 --- a/fern/knowledge-base/knowledge-base.mdx +++ b/fern/knowledge-base/knowledge-base.mdx @@ -45,40 +45,38 @@ Using a Knowledge Base with your AI assistant offers several benefits: There are two main approaches to creating a Knowledge Base in Vapi: -1. **Dashboard method**: A simplified approach using the Vapi UI +1. **Dashboard method**: A simplified approach using the Vapi Dashboard 2. **API method**: A more customizable approach using direct API calls ### **Method 1: Using the Dashboard** #### **Step 1: Upload Your Files** -1. Navigate to `Build > Files` in your Vapi dashboard -2. Click the "Upload" button to add your files -3. Select files in supported formats (`.txt`, `.pdf`, `.docx`, etc.) -4. Wait for the upload to complete - you'll see your files listed in the Files section +1. Open [the Vapi Dashboard](https://dashboard.vapi.ai), select **Resources**, then select **Files**. +2. Select **Upload file** and choose a supported file from your computer. +3. Wait for the file to appear in the **Files** list. Repeat for each file you want to use. Vapi supports various file formats for Knowledge Bases including: .txt, .pdf, .docx, .doc, .csv, .md, .tsv, .yaml, .json, .xml, and .log files. - + Adding files to your Knowledge Base #### **Step 2: Configure Your Assistant with the Knowledge Base** -1. Navigate to `Build > Assistant` -2. Select the assistant you want to enhance with the Knowledge Base -3. In the assistant configuration, locate the "Files" or "Knowledge Base" section -4. Select the files you uploaded in Step 1 to associate them with this assistant +1. Select **Assistants** in the Dashboard and open the assistant you want to configure. +2. On the **Assistant** tab, find **Files** below **First message**. +3. Select **Select Files** and choose the files you uploaded. - + Select files from your Assistant @@ -91,9 +89,9 @@ There are two main approaches to creating a Knowledge Base in Vapi: When users ask about our products, services, or company information, use the knowledge base to provide accurate details. ``` -2. Review your assistant configuration to ensure all settings are correct -3. Click the "Publish" button to make your changes live -4. This automatically creates a default knowledge base (using the query tool) with the selected files for the assistant +2. Review the assistant's draft configuration. +3. Select **Publish**, review the changes, then select **Next**. +4. Review the version and traffic settings, then select **Publish** to apply the draft. When you publish an assistant with selected files, Vapi automatically creates diff --git a/fern/knowledge-base/using-query-tool.mdx b/fern/knowledge-base/using-query-tool.mdx index 94cfe86cc..af1c37d0b 100644 --- a/fern/knowledge-base/using-query-tool.mdx +++ b/fern/knowledge-base/using-query-tool.mdx @@ -24,10 +24,10 @@ Before creating a query tool, you need to upload the files that will form your k #### Option 1: Using the Dashboard (Recommended) -1. Navigate to **Files** in your Vapi dashboard -2. Click **Upload File** or **Choose file** -3. Select the files you want to upload from your computer -4. Wait for the upload to complete and note the file IDs that are generated +1. Open [the Vapi Dashboard](https://dashboard.vapi.ai), select **Resources**, then select **Files**. +2. Select **Upload file** and choose a file from your computer. Repeat for each file. +3. Wait for each file to appear in the **Files** list. +4. Select each file and copy its `id` from the details panel if you need the ID for the API method. #### Option 2: Using the API @@ -39,7 +39,7 @@ curl --location 'https://api.vapi.ai/file' \ --form 'file=@""' ``` -After uploading, you'll receive file IDs that you'll need for the next step. +The API response contains file IDs for the next step. ### **Step 2: Create a Query Tool** @@ -47,15 +47,19 @@ Create a query tool that references your knowledge base files: #### Option 1: Using the Dashboard (Recommended) -1. Navigate to **Tools** in your Vapi dashboard -2. Click **Create Tool** -3. Select **Query** as the tool type -4. Configure the tool: - - **Tool Name**: "Product Query" - - **Knowledge Bases**: Add your knowledge base with: - - **Name**: `product-kb` - - **Description**: "Contains comprehensive product information, service details, and company offerings" - - **File IDs**: Select the files you uploaded in Step 1 +1. Select **Tools** in the Dashboard, then select **Create Tool** and **Query**. +2. Set **Tool Name** to a descriptive name, such as `product-query`. +3. Under **Knowledge Bases**, select **Add Knowledge Base**. +4. Set **Name** to `product-kb` and enter a **Description** of the content. +5. Choose a **Model** and, under **Files**, select the files you uploaded in Step 1. +6. Select **Publish** to apply the saved draft. + + + Query tool settings with the Add Knowledge Base button + #### Option 2: Using the API @@ -96,12 +100,10 @@ After creating the query tool, you need to attach it to your assistant: #### Option 1: Using the Dashboard (Recommended) -1. Navigate to **Assistants** in your Vapi dashboard -2. Select the assistant you want to configure -3. Go to the **Tools** section -4. Click **Add Tool** and select your query tool from the dropdown -5. **Update the system prompt** to instruct when to use the tool (see examples below) -6. Save and publish your assistant +1. Select **Assistants** in the Dashboard and open the assistant you want to configure. +2. Open the **Tools** tab, select **Add tool**, then choose your query tool. +3. Open the **Assistant** tab and update the system prompt to say when to use the tool (see examples below). +4. Select **Publish**, review the changes and version settings, then publish the draft. #### Option 2: Using the API @@ -131,13 +133,6 @@ curl --location --request PATCH 'https://api.vapi.ai/assistant/ASSISTANT_ID' \ **Don't forget**: After attaching the tool via API, you must also update your assistant's system prompt (in the `messages` array) to instruct when to use the tool by name. See the system prompt examples below. - - Adding a query tool to your assistant - - ## **Advanced Configuration Options** ### **Multiple Knowledge Bases** diff --git a/fern/quickstart/path-to-production.mdx b/fern/quickstart/path-to-production.mdx index d19fb35da..c7ffd4537 100644 --- a/fern/quickstart/path-to-production.mdx +++ b/fern/quickstart/path-to-production.mdx @@ -48,7 +48,7 @@ One good test call doesn't prove an assistant is ready. Define what success look
- Select **Publish**, review the changes, then select **Publish** or **Quick Publish**. Publishing creates a new version and makes it the **current** version. See [Versioning assistants](/assistants/versioning/versioning-assistants). + Select **Publish**, review the changes, then select **Next**. Review the version and traffic settings, then select **Publish**. To use the current default settings without reviewing them, select the down arrow next to **Publish**, then select **Quick Publish**. Publishing creates a new version and makes it the **current** version. See [Versioning assistants](/assistants/versioning/versioning-assistants). diff --git a/fern/quickstart/phone.mdx b/fern/quickstart/phone.mdx index 45b101c97..bb3dd8583 100644 --- a/fern/quickstart/phone.mdx +++ b/fern/quickstart/phone.mdx @@ -72,7 +72,7 @@ New assistants use the [Balanced preset](/assistants/model-intelligence/presets# - Select **Publish**, review the changes, then select **Quick Publish**. Publishing creates a new [assistant version](/assistants/versioning/versioning-assistants). Until you publish, your changes are saved as a draft and don't affect calls. + Select **Publish**, review the changes, then select **Next**. Review the version and traffic settings, then select **Publish**. Publishing creates a new [assistant version](/assistants/versioning/versioning-assistants). Until you publish, your changes are saved as a draft and don't affect calls. @@ -113,7 +113,8 @@ New assistants use the [Balanced preset](/assistants/model-intelligence/presets# name: 'Customer Support Assistant', model: { provider: 'openai', - model: 'gpt-4o', + model: 'gpt-6-luna', + reasoningEffort: 'none', messages: [{ role: 'system', content: 'You are Alex, a customer service voice assistant for TechSolutions.' }] }, voice: { provider: '11labs', voiceId: 'cgSgspJ2msm6clMCkdW9' }, @@ -145,7 +146,8 @@ New assistants use the [Balanced preset](/assistants/model-intelligence/presets# name="Customer Support Assistant", model={ "provider": "openai", - "model": "gpt-4o", + "model": "gpt-6-luna", + "reasoningEffort": "none", "messages": [{"role": "system", "content": "You are Alex, a customer service voice assistant for TechSolutions."}], }, voice={"provider": "11labs", "voiceId": "cgSgspJ2msm6clMCkdW9"}, @@ -169,7 +171,8 @@ New assistants use the [Balanced preset](/assistants/model-intelligence/presets# "name": "Customer Support Assistant", "model": { "provider": "openai", - "model": "gpt-4o", + "model": "gpt-6-luna", + "reasoningEffort": "none", "messages": [{ "role": "system", "content": "You are Alex, a customer service voice assistant for TechSolutions." }] }, "voice": { "provider": "11labs", "voiceId": "cgSgspJ2msm6clMCkdW9" }, @@ -196,12 +199,12 @@ Give your assistant a [free Vapi number](/free-telephony) so you can call it. Select **Create Phone Number**, then choose **Free Vapi Number** or an option for importing a number from another provider. - + Create Phone Number dialog with Free Vapi Number selected and the Area code field - If you chose **Free Vapi Number**, enter a three-digit US area code in **Area Code**, then select **Create**. + If you chose **Free Vapi Number**, enter a three-digit US area code in **Area code**, then select **Create**. Your first free Vapi number doesn't require a payment method. You may be asked to add one when you request more numbers. It can take a few minutes for the number to become active. diff --git a/fern/static/images/advanced-tab/livekit-advanced-dashboard.png b/fern/static/images/advanced-tab/livekit-advanced-dashboard.png new file mode 100644 index 000000000..a0271fd1d Binary files /dev/null and b/fern/static/images/advanced-tab/livekit-advanced-dashboard.png differ diff --git a/fern/static/images/advanced-tab/livekit-smart-endpointing.png b/fern/static/images/advanced-tab/livekit-smart-endpointing.png deleted file mode 100644 index 1d7879b3c..000000000 Binary files a/fern/static/images/advanced-tab/livekit-smart-endpointing.png and /dev/null differ diff --git a/fern/static/images/assistants/quickstart/configure-assistant-dashboard.png b/fern/static/images/assistants/quickstart/configure-assistant-dashboard.png deleted file mode 100644 index d66ba145e..000000000 Binary files a/fern/static/images/assistants/quickstart/configure-assistant-dashboard.png and /dev/null differ diff --git a/fern/static/images/assistants/quickstart/create-phone-number-dashboard.png b/fern/static/images/assistants/quickstart/create-phone-number-dashboard.png deleted file mode 100644 index bd907c8f4..000000000 Binary files a/fern/static/images/assistants/quickstart/create-phone-number-dashboard.png and /dev/null differ diff --git a/fern/static/images/blocks/food-order-steps.png b/fern/static/images/blocks/food-order-steps.png deleted file mode 100644 index 1f6f03dcb..000000000 Binary files a/fern/static/images/blocks/food-order-steps.png and /dev/null differ diff --git a/fern/static/images/encryption/custom-credential-encryption-dashboard.png b/fern/static/images/encryption/custom-credential-encryption-dashboard.png new file mode 100644 index 000000000..89c23d28e Binary files /dev/null and b/fern/static/images/encryption/custom-credential-encryption-dashboard.png differ diff --git a/fern/static/images/encryption/custom-credential-pem-key.png b/fern/static/images/encryption/custom-credential-pem-key.png deleted file mode 100644 index ea44b7f69..000000000 Binary files a/fern/static/images/encryption/custom-credential-pem-key.png and /dev/null differ diff --git a/fern/static/images/encryption/custom-credential-public-key-dashboard.png b/fern/static/images/encryption/custom-credential-public-key-dashboard.png new file mode 100644 index 000000000..7c8f574d8 Binary files /dev/null and b/fern/static/images/encryption/custom-credential-public-key-dashboard.png differ diff --git a/fern/static/images/encryption/custom-credential.png b/fern/static/images/encryption/custom-credential.png deleted file mode 100644 index 9306c5e3b..000000000 Binary files a/fern/static/images/encryption/custom-credential.png and /dev/null differ diff --git a/fern/static/images/encryption/tool-credential-selected-dashboard.png b/fern/static/images/encryption/tool-credential-selected-dashboard.png new file mode 100644 index 000000000..4b40df7ff Binary files /dev/null and b/fern/static/images/encryption/tool-credential-selected-dashboard.png differ diff --git a/fern/static/images/encryption/tool-encrypted-path-dashboard.png b/fern/static/images/encryption/tool-encrypted-path-dashboard.png new file mode 100644 index 000000000..e490b019e Binary files /dev/null and b/fern/static/images/encryption/tool-encrypted-path-dashboard.png differ diff --git a/fern/static/images/encryption/tool-with-credential.png b/fern/static/images/encryption/tool-with-credential.png deleted file mode 100644 index 069afee67..000000000 Binary files a/fern/static/images/encryption/tool-with-credential.png and /dev/null differ diff --git a/fern/static/images/encryption/tool-with-encryption.png b/fern/static/images/encryption/tool-with-encryption.png deleted file mode 100644 index e9a6b0c29..000000000 Binary files a/fern/static/images/encryption/tool-with-encryption.png and /dev/null differ diff --git a/fern/static/images/knowledge-base/assistant-files-dashboard.png b/fern/static/images/knowledge-base/assistant-files-dashboard.png new file mode 100644 index 000000000..cdef5fedf Binary files /dev/null and b/fern/static/images/knowledge-base/assistant-files-dashboard.png differ diff --git a/fern/static/images/knowledge-base/assistant.png b/fern/static/images/knowledge-base/assistant.png deleted file mode 100644 index 2bfd142a5..000000000 Binary files a/fern/static/images/knowledge-base/assistant.png and /dev/null differ diff --git a/fern/static/images/knowledge-base/files-dashboard.png b/fern/static/images/knowledge-base/files-dashboard.png new file mode 100644 index 000000000..979707787 Binary files /dev/null and b/fern/static/images/knowledge-base/files-dashboard.png differ diff --git a/fern/static/images/knowledge-base/files.png b/fern/static/images/knowledge-base/files.png deleted file mode 100644 index 634a1d2f5..000000000 Binary files a/fern/static/images/knowledge-base/files.png and /dev/null differ diff --git a/fern/static/images/knowledge-base/query-tool-dashboard.png b/fern/static/images/knowledge-base/query-tool-dashboard.png new file mode 100644 index 000000000..3ecdc9c45 Binary files /dev/null and b/fern/static/images/knowledge-base/query-tool-dashboard.png differ diff --git a/fern/static/images/knowledge-base/query-tool.png b/fern/static/images/knowledge-base/query-tool.png deleted file mode 100644 index f00c5587a..000000000 Binary files a/fern/static/images/knowledge-base/query-tool.png and /dev/null differ diff --git a/fern/static/images/learn/platform/vapi-orchestration.png b/fern/static/images/learn/platform/vapi-orchestration.png deleted file mode 100644 index f831360bb..000000000 Binary files a/fern/static/images/learn/platform/vapi-orchestration.png and /dev/null differ diff --git a/fern/static/images/phone-numbers/free-telephony/free-vapi-number-form-dashboard.png b/fern/static/images/phone-numbers/free-telephony/free-vapi-number-form-dashboard.png new file mode 100644 index 000000000..deab8be6b Binary files /dev/null and b/fern/static/images/phone-numbers/free-telephony/free-vapi-number-form-dashboard.png differ diff --git a/fern/static/images/pricing/voice-pipeline-cost-breakdown.png b/fern/static/images/pricing/voice-pipeline-cost-breakdown.png deleted file mode 100644 index 5fd35fe19..000000000 Binary files a/fern/static/images/pricing/voice-pipeline-cost-breakdown.png and /dev/null differ diff --git a/fern/static/images/quickstart/dashboard/assistant-created.png b/fern/static/images/quickstart/dashboard/assistant-created.png deleted file mode 100644 index 89cfefce3..000000000 Binary files a/fern/static/images/quickstart/dashboard/assistant-created.png and /dev/null differ diff --git a/fern/static/images/quickstart/dashboard/assistant-model-set-up.png b/fern/static/images/quickstart/dashboard/assistant-model-set-up.png deleted file mode 100644 index 267927fa9..000000000 Binary files a/fern/static/images/quickstart/dashboard/assistant-model-set-up.png and /dev/null differ diff --git a/fern/static/images/quickstart/dashboard/assistant-transcriber-config.png b/fern/static/images/quickstart/dashboard/assistant-transcriber-config.png deleted file mode 100644 index d77f43672..000000000 Binary files a/fern/static/images/quickstart/dashboard/assistant-transcriber-config.png and /dev/null differ diff --git a/fern/static/images/quickstart/dashboard/assistant-voice-config.png b/fern/static/images/quickstart/dashboard/assistant-voice-config.png deleted file mode 100644 index b80ac4450..000000000 Binary files a/fern/static/images/quickstart/dashboard/assistant-voice-config.png and /dev/null differ diff --git a/fern/static/images/quickstart/dashboard/auth-ui.png b/fern/static/images/quickstart/dashboard/auth-ui.png deleted file mode 100644 index c4f8b8e5f..000000000 Binary files a/fern/static/images/quickstart/dashboard/auth-ui.png and /dev/null differ diff --git a/fern/static/images/quickstart/dashboard/buy-vapi-phone-number-modal.png b/fern/static/images/quickstart/dashboard/buy-vapi-phone-number-modal.png deleted file mode 100644 index 355f6e896..000000000 Binary files a/fern/static/images/quickstart/dashboard/buy-vapi-phone-number-modal.png and /dev/null differ diff --git a/fern/static/images/quickstart/dashboard/choose-blank-template.png b/fern/static/images/quickstart/dashboard/choose-blank-template.png deleted file mode 100644 index 9ce024439..000000000 Binary files a/fern/static/images/quickstart/dashboard/choose-blank-template.png and /dev/null differ diff --git a/fern/static/images/quickstart/dashboard/create-new-assistant-button.png b/fern/static/images/quickstart/dashboard/create-new-assistant-button.png deleted file mode 100644 index 4519536ee..000000000 Binary files a/fern/static/images/quickstart/dashboard/create-new-assistant-button.png and /dev/null differ diff --git a/fern/static/images/quickstart/dashboard/create-vapi-phone-number.png b/fern/static/images/quickstart/dashboard/create-vapi-phone-number.png deleted file mode 100644 index 244314b31..000000000 Binary files a/fern/static/images/quickstart/dashboard/create-vapi-phone-number.png and /dev/null differ diff --git a/fern/static/images/quickstart/dashboard/model-provider-keys.png b/fern/static/images/quickstart/dashboard/model-provider-keys.png deleted file mode 100644 index dcf08440a..000000000 Binary files a/fern/static/images/quickstart/dashboard/model-provider-keys.png and /dev/null differ diff --git a/fern/static/images/quickstart/dashboard/name-your-assistant.png b/fern/static/images/quickstart/dashboard/name-your-assistant.png deleted file mode 100644 index 38b0a0bb9..000000000 Binary files a/fern/static/images/quickstart/dashboard/name-your-assistant.png and /dev/null differ diff --git a/fern/static/images/quickstart/dashboard/transcriber-providers-keys.png b/fern/static/images/quickstart/dashboard/transcriber-providers-keys.png deleted file mode 100644 index 5798accda..000000000 Binary files a/fern/static/images/quickstart/dashboard/transcriber-providers-keys.png and /dev/null differ diff --git a/fern/static/images/quickstart/dashboard/vapi-dashboard-post-signup.png b/fern/static/images/quickstart/dashboard/vapi-dashboard-post-signup.png deleted file mode 100644 index 2a9912049..000000000 Binary files a/fern/static/images/quickstart/dashboard/vapi-dashboard-post-signup.png and /dev/null differ diff --git a/fern/static/images/quickstart/dashboard/vapi-phone-number-config.png b/fern/static/images/quickstart/dashboard/vapi-phone-number-config.png deleted file mode 100644 index a7d63cb85..000000000 Binary files a/fern/static/images/quickstart/dashboard/vapi-phone-number-config.png and /dev/null differ diff --git a/fern/static/images/quickstart/dashboard/voice-provider-keys.png b/fern/static/images/quickstart/dashboard/voice-provider-keys.png deleted file mode 100644 index ce70e89b1..000000000 Binary files a/fern/static/images/quickstart/dashboard/voice-provider-keys.png and /dev/null differ diff --git a/fern/static/images/quickstart/phone/dashboard-import-phone-number.png b/fern/static/images/quickstart/phone/dashboard-import-phone-number.png deleted file mode 100644 index 5eb997846..000000000 Binary files a/fern/static/images/quickstart/phone/dashboard-import-phone-number.png and /dev/null differ diff --git a/fern/static/images/quickstart/phone/import-twilio-number-dashboard.png b/fern/static/images/quickstart/phone/import-twilio-number-dashboard.png deleted file mode 100644 index 89c0780e0..000000000 Binary files a/fern/static/images/quickstart/phone/import-twilio-number-dashboard.png and /dev/null differ diff --git a/fern/static/images/quickstart/phone/phone-number-import-complete.png b/fern/static/images/quickstart/phone/phone-number-import-complete.png deleted file mode 100644 index 57af0f1f2..000000000 Binary files a/fern/static/images/quickstart/phone/phone-number-import-complete.png and /dev/null differ diff --git a/fern/static/images/server-url/authentication/custom-llm-dashboard.png b/fern/static/images/server-url/authentication/custom-llm-dashboard.png new file mode 100644 index 000000000..28facb2fa Binary files /dev/null and b/fern/static/images/server-url/authentication/custom-llm-dashboard.png differ diff --git a/fern/static/images/server-url/authentication/custom-llm.png b/fern/static/images/server-url/authentication/custom-llm.png deleted file mode 100644 index 6fd14238d..000000000 Binary files a/fern/static/images/server-url/authentication/custom-llm.png and /dev/null differ diff --git a/fern/static/images/tools/api-request/01-base-configuration.png b/fern/static/images/tools/api-request/01-base-configuration.png deleted file mode 100644 index 76f3cddce..000000000 Binary files a/fern/static/images/tools/api-request/01-base-configuration.png and /dev/null differ diff --git a/fern/static/images/tools/api-request/08-assistant-prompt.png b/fern/static/images/tools/api-request/08-assistant-prompt.png deleted file mode 100644 index 987942057..000000000 Binary files a/fern/static/images/tools/api-request/08-assistant-prompt.png and /dev/null differ diff --git a/fern/static/images/tools/api-request/09-attached-tool.png b/fern/static/images/tools/api-request/09-attached-tool.png deleted file mode 100644 index 4d4e36a1e..000000000 Binary files a/fern/static/images/tools/api-request/09-attached-tool.png and /dev/null differ diff --git a/fern/static/images/tools/api-request/10-end-call-settings.png b/fern/static/images/tools/api-request/10-end-call-settings.png deleted file mode 100644 index 02e811276..000000000 Binary files a/fern/static/images/tools/api-request/10-end-call-settings.png and /dev/null differ diff --git a/fern/static/images/tools/assistant-select-google-calendar-tool.png b/fern/static/images/tools/assistant-select-google-calendar-tool.png index 5cc31eab7..d02fa2c81 100644 Binary files a/fern/static/images/tools/assistant-select-google-calendar-tool.png and b/fern/static/images/tools/assistant-select-google-calendar-tool.png differ diff --git a/fern/static/images/tools/gohighlevel-create.png b/fern/static/images/tools/gohighlevel-create.png index b6f539f2c..e8e220811 100644 Binary files a/fern/static/images/tools/gohighlevel-create.png and b/fern/static/images/tools/gohighlevel-create.png differ diff --git a/fern/static/images/tools/gohighlevel-select.png b/fern/static/images/tools/gohighlevel-select.png index 29d9eec85..07e844c7f 100644 Binary files a/fern/static/images/tools/gohighlevel-select.png and b/fern/static/images/tools/gohighlevel-select.png differ diff --git a/fern/static/images/tools/google-calendar-create.png b/fern/static/images/tools/google-calendar-create.png index 8da981491..2b3b14f06 100644 Binary files a/fern/static/images/tools/google-calendar-create.png and b/fern/static/images/tools/google-calendar-create.png differ diff --git a/fern/static/images/tools/voicemail-script-dashboard.png b/fern/static/images/tools/voicemail-script-dashboard.png new file mode 100644 index 000000000..f130f3cd5 Binary files /dev/null and b/fern/static/images/tools/voicemail-script-dashboard.png differ diff --git a/fern/static/images/tools/voicemail-tool-config.png b/fern/static/images/tools/voicemail-tool-config.png deleted file mode 100644 index 2d7a63bc6..000000000 Binary files a/fern/static/images/tools/voicemail-tool-config.png and /dev/null differ diff --git a/fern/static/images/versioning/assistant-changes-tabs-dashboard.png b/fern/static/images/versioning/assistant-changes-tabs-dashboard.png new file mode 100644 index 000000000..b29ff818f Binary files /dev/null and b/fern/static/images/versioning/assistant-changes-tabs-dashboard.png differ diff --git a/fern/static/images/versioning/assistant-version-diff.png b/fern/static/images/versioning/assistant-version-diff.png deleted file mode 100644 index 79b7b1d55..000000000 Binary files a/fern/static/images/versioning/assistant-version-diff.png and /dev/null differ diff --git a/fern/static/images/workflows/examples/appointment-scheduling.png b/fern/static/images/workflows/examples/appointment-scheduling.png deleted file mode 100644 index 43c587b29..000000000 Binary files a/fern/static/images/workflows/examples/appointment-scheduling.png and /dev/null differ diff --git a/fern/static/images/workflows/examples/clinic-triage-scheduling.png b/fern/static/images/workflows/examples/clinic-triage-scheduling.png deleted file mode 100644 index c97576495..000000000 Binary files a/fern/static/images/workflows/examples/clinic-triage-scheduling.png and /dev/null differ diff --git a/fern/static/images/workflows/examples/ecommerce-order-management.png b/fern/static/images/workflows/examples/ecommerce-order-management.png deleted file mode 100644 index f34cdd5c9..000000000 Binary files a/fern/static/images/workflows/examples/ecommerce-order-management.png and /dev/null differ diff --git a/fern/static/images/workflows/examples/lead-qualification.png b/fern/static/images/workflows/examples/lead-qualification.png deleted file mode 100644 index f34cdd5c9..000000000 Binary files a/fern/static/images/workflows/examples/lead-qualification.png and /dev/null differ diff --git a/fern/static/images/workflows/examples/multilingual-support.png b/fern/static/images/workflows/examples/multilingual-support.png deleted file mode 100644 index e4bec34f4..000000000 Binary files a/fern/static/images/workflows/examples/multilingual-support.png and /dev/null differ diff --git a/fern/static/images/workflows/examples/property-management.png b/fern/static/images/workflows/examples/property-management.png deleted file mode 100644 index 7d92b4f67..000000000 Binary files a/fern/static/images/workflows/examples/property-management.png and /dev/null differ diff --git a/fern/static/images/workflows/workflow-builder-example.png b/fern/static/images/workflows/workflow-builder-example.png deleted file mode 100644 index 2658a78fe..000000000 Binary files a/fern/static/images/workflows/workflow-builder-example.png and /dev/null differ diff --git a/fern/static/images/workflows/workflows-ai-edge.png b/fern/static/images/workflows/workflows-ai-edge.png deleted file mode 100644 index a540dbcc9..000000000 Binary files a/fern/static/images/workflows/workflows-ai-edge.png and /dev/null differ diff --git a/fern/static/images/workflows/workflows-api-node.png b/fern/static/images/workflows/workflows-api-node.png deleted file mode 100644 index 8aa17046f..000000000 Binary files a/fern/static/images/workflows/workflows-api-node.png and /dev/null differ diff --git a/fern/static/images/workflows/workflows-conversation-node.png b/fern/static/images/workflows/workflows-conversation-node.png deleted file mode 100644 index 03017b476..000000000 Binary files a/fern/static/images/workflows/workflows-conversation-node.png and /dev/null differ diff --git a/fern/static/images/workflows/workflows-end-call-node.png b/fern/static/images/workflows/workflows-end-call-node.png deleted file mode 100644 index 6893dd6b7..000000000 Binary files a/fern/static/images/workflows/workflows-end-call-node.png and /dev/null differ diff --git a/fern/static/images/workflows/workflows-extract-node.png b/fern/static/images/workflows/workflows-extract-node.png deleted file mode 100644 index f1790af8a..000000000 Binary files a/fern/static/images/workflows/workflows-extract-node.png and /dev/null differ diff --git a/fern/static/images/workflows/workflows-overview.png b/fern/static/images/workflows/workflows-overview.png deleted file mode 100644 index d73d72334..000000000 Binary files a/fern/static/images/workflows/workflows-overview.png and /dev/null differ diff --git a/fern/static/images/workflows/workflows-quickstart-flow.png b/fern/static/images/workflows/workflows-quickstart-flow.png deleted file mode 100644 index 2d047aa6f..000000000 Binary files a/fern/static/images/workflows/workflows-quickstart-flow.png and /dev/null differ diff --git a/fern/static/images/workflows/workflows-tools-node.png b/fern/static/images/workflows/workflows-tools-node.png deleted file mode 100644 index fb90d6eb0..000000000 Binary files a/fern/static/images/workflows/workflows-tools-node.png and /dev/null differ diff --git a/fern/static/images/workflows/workflows-transfer-node.png b/fern/static/images/workflows/workflows-transfer-node.png deleted file mode 100644 index 5c6c6558e..000000000 Binary files a/fern/static/images/workflows/workflows-transfer-node.png and /dev/null differ diff --git a/fern/static/videos/inbound-support/configure-assistant.mp4 b/fern/static/videos/inbound-support/configure-assistant.mp4 deleted file mode 100644 index ddb8ae9fe..000000000 Binary files a/fern/static/videos/inbound-support/configure-assistant.mp4 and /dev/null differ diff --git a/fern/static/videos/inbound-support/create-assistant.mp4 b/fern/static/videos/inbound-support/create-assistant.mp4 deleted file mode 100644 index 5ecac0082..000000000 Binary files a/fern/static/videos/inbound-support/create-assistant.mp4 and /dev/null differ diff --git a/fern/static/videos/upload-files.mp4 b/fern/static/videos/upload-files.mp4 deleted file mode 100644 index cb5c0a90f..000000000 Binary files a/fern/static/videos/upload-files.mp4 and /dev/null differ diff --git a/fern/tools/api-request/order-status.mdx b/fern/tools/api-request/order-status.mdx index 96f996abc..53b2b2621 100644 --- a/fern/tools/api-request/order-status.mdx +++ b/fern/tools/api-request/order-status.mdx @@ -149,7 +149,7 @@ After completing the caller's request, ask whether they need anything else. If t - Select **Publish**, review the changes, then select **Quick Publish**. The existing phone number remains connected to this assistant. + Select **Publish**, review the changes, then select **Next**. Review the version and traffic settings, then select **Publish**. The existing phone number remains connected to this assistant. @@ -157,7 +157,7 @@ After completing the caller's request, ask whether they need anything else. If t Keep `VAPI_API_KEY`, `VAPI_TOOL_ID`, and `VAPI_STATUS_TOOL_ID` set from the earlier cURL steps. Replace `YOUR_ASSISTANT_ID` with the assistant ID from the quickstart, then run this command. It requires `jq`. - The command retrieves the complete existing model, replaces the first system message, and adds both tool IDs. It preserves the provider, model, temperature, any additional messages, and existing tool IDs. + The command retrieves the complete existing model, replaces the first system message, and adds both tool IDs. It preserves the provider, model, other settings, any additional messages, and existing tool IDs. ```bash title="Update the existing assistant" wordWrap ( diff --git a/fern/tools/api-request/quickstart.mdx b/fern/tools/api-request/quickstart.mdx index 28164fa7a..901fc81c7 100644 --- a/fern/tools/api-request/quickstart.mdx +++ b/fern/tools/api-request/quickstart.mdx @@ -185,7 +185,7 @@ After confirming a successful order, ask whether the caller needs anything else. Thanks for calling the Vapi coffee shop. What would you like to order? ``` - Select OpenAI **GPT-4o Mini Cluster** as the model and Vapi **Clara v2** as the voice. Replace **System Prompt** with the prompt above. + Select OpenAI **GPT 6 Luna** as the model and Vapi **Clara v2** as the voice. Replace **System Prompt** with the prompt above. @@ -201,7 +201,7 @@ After confirming a successful order, ask whether the caller needs anything else. - 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**. @@ -217,15 +217,15 @@ After confirming a successful order, ask whether the caller needs anything else. "firstMessage": "Thanks for calling the Vapi coffee shop. What would you like to order?", "model": { "provider": "openai", - "model": "gpt-4o-mini", + "model": "gpt-6-luna", + "reasoningEffort": "none", "toolIds": ["YOUR_TOOL_ID"], "messages": [ { "role": "system", "content": "You are a friendly coffee shop order assistant.\n\nAvailable products:\n- House coffee beans: productId coffee-beans, $18 each\n- Tea sampler: productId tea-sampler, $14 each\n- Ceramic mug: productId ceramic-mug, $12 each\n\nHelp the caller place one order. Collect their name, product, and positive whole-number quantity. Read the complete order back and get explicit confirmation before calling createCoffeeOrder. Never invent a productId and never call the tool before confirmation.\n\nAfter a successful tool response, confirm the product, quantity, five-digit order number, and server-calculated total. Never read the internal requestId aloud.\n\nAfter confirming a successful order, ask whether the caller needs anything else. If they do not, say \"Thanks for calling. Goodbye.\" Do not continue speaking after that closing sentence." } - ], - "temperature": 0.2 + ] }, "voice": { "provider": "vapi", diff --git a/fern/tools/arguments-encryption.mdx b/fern/tools/arguments-encryption.mdx index 102a8a867..2df9de71a 100644 --- a/fern/tools/arguments-encryption.mdx +++ b/fern/tools/arguments-encryption.mdx @@ -17,21 +17,18 @@ Tool argument encryption protects sensitive data like Social Security Numbers, C ## Prerequisites -- A Vapi account with access to the dashboard +- A Vapi account with access to the Dashboard - OpenSSL or a similar tool for generating RSA keys - A server endpoint that can receive and decrypt encrypted data - Navigate to the custom credentials page and enable encryption settings. - - 1. Go to [https://dashboard.vapi.ai/settings/integrations/custom-credential](https://dashboard.vapi.ai/settings/integrations/custom-credential) and click "Add Custom Credential" - 2. Check **Enable Encryption** - 3. Select **RSA-OAEP-256** as the algorithm - 4. Select **SPKI-PEM** as the format + 1. Open the [Vapi Dashboard](https://dashboard.vapi.ai), select **Integrations**, then select **Server Configuration**. + 2. Select **Add Custom Credential**. Choose the **Authentication Type** your server uses and complete its required fields. + 3. Select **Enable Encryption** and confirm **RSA-OAEP-256** for **Encryption Algorithm** and **SPKI-PEM** for **Public Key Format**. - Custom credential encryption settings + Custom credential form with encryption enabled, RSA-OAEP-256, and SPKI-PEM selected @@ -58,34 +55,30 @@ openssl rsa -in private-key.pem -pubout -out public-key.pem - Copy and paste your public key into the Vapi dashboard. + Copy and paste your public key into the Dashboard. - 1. Open `public-key.pem` and copy the entire contents - 2. Paste the public key PEM into the **Public Key PEM** field - 3. Click **Save** + 1. Open `public-key.pem` and copy the entire contents. + 2. Paste the public key into **Public Key PEM**. + 3. Select **Save**. - - Public key PEM field + + Custom credential form with a disposable example public key in Public Key PEM Your credential is now ready to use with encrypted tool arguments. - Navigate to your tools and choose which tool should use encryption. - - 1. Go to the [Tools page](https://dashboard.vapi.ai/tools) - 2. Select an existing **Function tool** or **API Request tool** - 3. Alternatively, create a new tool if needed + 1. Select **Tools** in the Dashboard. + 2. Open an existing **Function tool** or **API Request tool**, or create a new tool. Link your encryption credential and specify which fields to encrypt. - 1. In the tool settings, find the **Credential** dropdown - 2. Select the credential you created in Step 1 - 3. Scroll to **Encryption Settings** - 4. Add the exact JSON paths to the arguments you want encrypted + 1. Expand **Authorization** and select the credential you created from **Credential**. + 2. Expand **Encryption Settings** and select **Add Path** for each request body field you want encrypted. + 3. Enter each field's exact path under **Encrypted Paths**. **Example JSON paths:** - `ssn` - Encrypts the `ssn` field @@ -95,22 +88,22 @@ openssl rsa -in private-key.pem -pubout -out public-key.pem JSON paths are relative to the tool's argument structure. Only specified fields will be encrypted. - - Tool encryption settings configuration + + API Request tool Authorization section with a custom credential selected and authentication enabled - Tool encryption settings configuration + API Request tool Encryption Settings with dateOfBirth in Encrypted Paths - - Save your tool configuration and verify encryption works with a test call. + + Publish your tool configuration and verify encryption works with a test call. - 1. Click **Save** to apply your changes - 2. Make a test call using an assistant with this tool - 3. Trigger the tool during the call - 4. Check your server logs to confirm encrypted data arrives + 1. Select **Publish** to apply the tool draft. + 2. Make a test call using an assistant with this tool. + 3. Trigger the tool during the call. + 4. Check your server logs to confirm encrypted data arrives. When your server receives the webhook, encrypted fields will appear as base64-encoded strings: diff --git a/fern/tools/go-high-level.mdx b/fern/tools/go-high-level.mdx index 127bbce67..1a41f5e7b 100644 --- a/fern/tools/go-high-level.mdx +++ b/fern/tools/go-high-level.mdx @@ -21,15 +21,13 @@ Before you can use the GoHighLevel integration, you need to: First, you need to connect your GoHighLevel account to Vapi: -1. Navigate to the Vapi Dashboard. -2. Go to **Providers Keys** > **Tools Provider** > **GoHighLevel**. -3. Click the **Connect** button. -4. A GoHighLevel authorization popup will appear. -5. Follow the prompts to authorize Vapi to access your GoHighLevel account. +1. Open the [Vapi Dashboard](https://dashboard.vapi.ai) and select **Integrations**. +2. Under **Tool Providers**, select **GoHighLevel**. +3. Select **Connect**, enter your GoHighLevel **API Key**, then select **Save**. - The authorization process will request access to your GoHighLevel account to - manage contacts, calendars, and appointments. + Use a GoHighLevel API key with access to the contacts and calendars this + assistant needs. @@ -43,12 +41,17 @@ First, you need to connect your GoHighLevel account to Vapi: After connecting your GoHighLevel account, create the tools: -1. Go to **Dashboard** > **Tools** page. -2. Click the **Create Tool** button. -3. Select **GoHighLevel** from the available options. -4. Choose which tool(s) you want to create (e.g., Get Contact, Create Contact, Check Availability, Create Event). -5. For each tool, provide a clear and descriptive name. Adding a description is optional. If you leave it blank, Vapi will automatically generate a default description that explains the tool's purpose and includes the current date, formatted using the timezone you specify in the tool's metadata. -6. For the **Check Availability** and **Create Event** tools, ensure you provide a valid `calendarId`. You can find the `calendarId` for each of your calendars in GoHighLevel by navigating to **Settings** > **Calendars**. Each calendar listed will display its unique ID. +1. Select **Tools** in the Dashboard, then select **Create Tool** and **GoHighLevel**. +2. Choose **Contact Get**, **Contact Create**, **Calendar Check Availability**, or **Calendar Create Event**. Repeat for each tool you need. +3. For each tool, provide a clear and descriptive name. Adding a description is optional. If you leave it blank, Vapi will automatically generate a default description that explains the tool's purpose and includes the current date, formatted using the timezone you specify in the tool's metadata. +4. For **Calendar Check Availability** and **Calendar Create Event**, provide a valid `calendarId`. You can find the `calendarId` in GoHighLevel under **Settings** and **Calendars**. + + + GoHighLevel Calendar Create Event tool editor with the Calendar ID field + When creating an event in GoHighLevel, a `contactId` is required. Therefore, @@ -58,27 +61,18 @@ After connecting your GoHighLevel account, create the tools: ID to schedule the event. - - Create GoHighLevel Tools - - ### 3. Add Tools to Assistant Now, add your chosen GoHighLevel tool(s) to your assistant. For an example scenario where you want your assistant to book appointments, including finding a suitable time and managing contact information, you would add all four tools: Get Contact, Create Contact, Check Availability, and Create Event. -1. Navigate to **Dashboard** > **Assistants** page. -2. Select your assistant. -3. Go to the **Tools** tab. -4. In the tools dropdown, select the GoHighLevel tool(s) you want to use. -5. Click **Publish** to save your changes. +1. Select **Assistants** in the Dashboard and open your assistant. +2. Open the **Tools** tab, select **Add tool**, then choose the GoHighLevel tools you want to use. +3. Select **Publish**, review the changes, select **Next**, then select **Publish** to apply the draft. - + Add GHL Tools to Assistant @@ -150,7 +144,8 @@ Here's how the tools can be configured in your assistant's JSON setup: { "model": { "provider": "openai", - "model": "gpt-4o", + "model": "gpt-6-luna", + "reasoningEffort": "none", "messages": [ { "role": "system", @@ -221,4 +216,4 @@ Here's how the tools can be configured in your assistant's JSON setup: > View the complete API documentation for tools - \ No newline at end of file + diff --git a/fern/tools/google-calendar.mdx b/fern/tools/google-calendar.mdx index 1cbc76bae..dd4c28389 100644 --- a/fern/tools/google-calendar.mdx +++ b/fern/tools/google-calendar.mdx @@ -24,11 +24,9 @@ Before you can use the Google Calendar integration, you need to: First, you need to connect your Google Calendar account to Vapi: -1. Navigate to the Vapi Dashboard -2. Go to **Integrations** > **Tools Provider** > **Google Calendar** -3. Click the **Connect** button -4. A Google authorization popup will appear -5. Follow the prompts to authorize Vapi to access your Google Calendar +1. Open the [Vapi Dashboard](https://dashboard.vapi.ai) and select **Integrations**. +2. Under **Tool Providers**, select **Google Calendar**. +3. Select **Connect** and complete the Google authorization prompts. The authorization process will request access to your Google Calendar to create events and check availability. @@ -37,7 +35,7 @@ First, you need to connect your Google Calendar account to Vapi: Select files from your Assistant @@ -45,39 +43,33 @@ First, you need to connect your Google Calendar account to Vapi: After connecting your Google Calendar account, create the tools: -1. Go to **Dashboard** > **Tools** page -2. Click the **Create Tool** button -3. Select **Google Calendar** from the available options -4. Choose which tool(s) you want to create: - - Google Calendar Create Event Tool - - Google Calendar Check Availability Tool -5. For each tool, provide a name and description explaining when it should be invoked +1. Select **Tools** in the Dashboard, then select **Create Tool** and **Google Calendar**. +2. Choose **Create Event** or **Check Availability**. Repeat to create both tools. +3. For each tool, provide a name and description explaining when it should be invoked. - - The description field is crucial as it helps the AI model understand when and how to use each tool. Be specific about the scenarios and conditions when each tool should be invoked. - - - + Tool Configuration + + The description field is crucial as it helps the AI model understand when and how to use each tool. Be specific about the scenarios and conditions when each tool should be invoked. + + ### 3. Add Tools to Assistant Now, add your chosen calendar tool(s) to your assistant: -1. Navigate to **Dashboard** > **Assistants** page -2. Select your assistant -3. Go to the **Tools** tab -4. In the tools dropdown, select the calendar tool(s) you want to use -5. Click **Publish** to save your changes +1. Select **Assistants** in the Dashboard and open your assistant. +2. Open the **Tools** tab, select **Add tool**, then choose the calendar tools you want to use. +3. Select **Publish**, review the changes, select **Next**, then select **Publish** to apply the draft. - + Add Tools to Assistant @@ -115,7 +107,8 @@ Here's how the tools can be used in your assistant's configuration: { "model": { "provider": "openai", - "model": "gpt-4o", + "model": "gpt-6-luna", + "reasoningEffort": "none", "messages": [ { "role": "system", diff --git a/fern/tools/google-sheets.mdx b/fern/tools/google-sheets.mdx index e444fcce4..1c68d39e0 100644 --- a/fern/tools/google-sheets.mdx +++ b/fern/tools/google-sheets.mdx @@ -28,11 +28,9 @@ Before you can use the Google Sheets integration, you need to: First, you need to connect your Google Sheets account to Vapi: -1. Navigate to the Vapi Dashboard -2. Go to **Providers Keys** > **Tools Provider** > **Google Sheets** -3. Click the **Connect** button -4. A Google authorization popup will appear -5. Follow the prompts to authorize Vapi to access your Google Sheets +1. Open the [Vapi Dashboard](https://dashboard.vapi.ai) and select **Integrations**. +2. Under **Tool Providers**, select **Google Sheets**. +3. Select **Connect** and complete the Google authorization prompts. The authorization process will request access to your Google Sheets. @@ -42,12 +40,9 @@ First, you need to connect your Google Sheets account to Vapi: After connecting your Google Sheets account, create and configure the tool: -1. Go to **Dashboard** > **Tools** page -2. Click the **Create Tool** button -3. Select **Google Sheets** from the available options -4. Choose the Google Sheets Add Row Tool -5. Provide a name and description explaining when it should be invoked -6. Configure the tool with the following required fields: +1. Select **Tools** in the Dashboard, then select **Create Tool** and **Google Sheets**. +2. Provide a name and description explaining when the tool should be invoked. +3. Configure the tool with the following required fields: - `spreadsheetId`: The ID of your Google Sheet - `range`: The sheet name or range (e.g., "Sheet1" or "Sheet1!A:Z") @@ -66,11 +61,9 @@ After connecting your Google Sheets account, create and configure the tool: Now, add the Google Sheets tool to your assistant: -1. Navigate to **Dashboard** > **Assistants** page -2. Select your assistant -3. Go to the **Tools** tab -4. In the tools dropdown, select the Google Sheets tool -5. Click **Publish** to save your changes +1. Select **Assistants** in the Dashboard and open your assistant. +2. Open the **Tools** tab, select **Add tool**, then choose the Google Sheets tool. +3. Select **Publish**, review the changes, select **Next**, then select **Publish** to apply the draft. ## Tool Configuration @@ -96,7 +89,8 @@ Here's how the tool can be used in your assistant's configuration: { "model": { "provider": "openai", - "model": "gpt-4o", + "model": "gpt-6-luna", + "reasoningEffort": "none", "messages": [ { "role": "system", diff --git a/fern/tools/slack.mdx b/fern/tools/slack.mdx index 2e327e891..e2d0ddd8d 100644 --- a/fern/tools/slack.mdx +++ b/fern/tools/slack.mdx @@ -21,11 +21,9 @@ Before you can use the Slack integration, you need to: First, you need to connect your Slack workspace to Vapi: -1. Navigate to the Vapi Dashboard -2. Go to **Providers Keys** > **Tools Provider** > **Slack** -3. Click the **Connect** button -4. A Slack authorization popup will appear -5. Follow the prompts to authorize Vapi to access your Slack workspace +1. Open the [Vapi Dashboard](https://dashboard.vapi.ai) and select **Integrations**. +2. Under **Tool Providers**, select **Slack**. +3. Select **Connect** and complete the Slack authorization prompts. The authorization process will request access to send messages to your Slack workspace. @@ -35,12 +33,9 @@ First, you need to connect your Slack workspace to Vapi: After connecting your Slack workspace, create the tool: -1. Go to **Dashboard** > **Tools** page -2. Click the **Create Tool** button -3. Select **Slack** from the available options -4. Choose the Slack Send Message Tool -5. Provide a name and description explaining when it should be invoked -6. In the description field, specify the Slack channel where messages should be sent (e.g., "Send urgent notifications to the #customer-support channel") +1. Select **Tools** in the Dashboard, then select **Create Tool** and **Slack**. +2. Provide a name and description explaining when the tool should be invoked. +3. In the description, specify the Slack channel where messages should be sent (for example, "Send urgent notifications to the #customer-support channel"). The description field is crucial as it helps the AI model understand when and how to use the tool, and also specifies which channel to send messages to. Be specific about the scenarios, conditions, and target channel when the tool should be invoked. @@ -50,11 +45,9 @@ After connecting your Slack workspace, create the tool: Now, add the Slack tool to your assistant: -1. Navigate to **Dashboard** > **Assistants** page -2. Select your assistant -3. Go to the **Functions** tab -4. In the tools dropdown, select the Slack tool -5. Click **Publish** to save your changes +1. Select **Assistants** in the Dashboard and open your assistant. +2. Open the **Tools** tab, select **Add tool**, then choose the Slack tool. +3. Select **Publish**, review the changes, select **Next**, then select **Publish** to apply the draft. ## Tool Configuration @@ -77,7 +70,8 @@ Here's how the tool can be used in your assistant's configuration: { "model": { "provider": "openai", - "model": "gpt-4o", + "model": "gpt-6-luna", + "reasoningEffort": "none", "messages": [ { "role": "system", diff --git a/fern/tools/voicemail-tool/configure.mdx b/fern/tools/voicemail-tool/configure.mdx index f1872e014..1c0513f20 100644 --- a/fern/tools/voicemail-tool/configure.mdx +++ b/fern/tools/voicemail-tool/configure.mdx @@ -13,15 +13,18 @@ Add the Voicemail tool to your assistant and configure your system prompt to inv - 1. Go to **Tools** in the left nav and click **Create Tool**. - 2. Select **Voicemail** as the tool type. + 1. In the [Dashboard](https://dashboard.vapi.ai), select **Tools**, then select **Create Tool**. + 2. Select **Leave Voicemail** under **Phone Call Tools**. 3. Give the tool a name and description. The description tells the LLM when to invoke the tool — keep it consistent with the voicemail-detection instruction you'll add to your system prompt in step 7. Example: *"Leave a voicemail message when you detect you've reached a voicemail system or auto-attendant."* 4. Under **Voicemail Script**, choose a behavior mode: **Use assistant voicemail message**, **Use custom script**, or **Skip speaking a voicemail**. See [Voicemail behavior modes](/tools/voicemail-tool#voicemail-behavior-modes) for details. - 5. Save the tool. - 6. Attach the tool to your assistant: open the assistant, go to **Tools**, and add the Voicemail tool you just created. - 7. Add a voicemail-detection instruction to your assistant's system prompt. Without this, the LLM won't know when to call the tool. See [Detection prompting](/tools/voicemail-tool#detection-prompting) for indicators to include. - ![Voicemail tool configuration](/static/images/tools/voicemail-tool-config.png) + ![Voicemail Script section with custom script selected and the three behavior modes visible](/static/images/tools/voicemail-script-dashboard.png) + + 5. Select **Publish** to save the tool configuration. + 6. Open your assistant, select **Tools**, then select **Add tool** and choose the Voicemail tool you created. + 7. On the **Assistant** tab, add a voicemail-detection instruction to the **System prompt**. Without this, the LLM won't know when to call the tool. See [Detection prompting](/tools/voicemail-tool#detection-prompting) for indicators to include. + 8. Select **Publish** to save the assistant changes. + Add the Voicemail tool to your assistant's `tools` array, and include a voicemail-detection instruction in the assistant's system prompt: @@ -31,7 +34,8 @@ Add the Voicemail tool to your assistant and configure your system prompt to inv { "model": { "provider": "openai", - "model": "gpt-4o", + "model": "gpt-6-luna", + "reasoningEffort": "none", "messages": [ { "type": "system", @@ -74,7 +78,8 @@ To reuse the same voicemail across an assistant without configuring the tool sep "voicemailMessage": "Hi, sorry I missed you — please give us a call back at 555-0100.", "model": { "provider": "openai", - "model": "gpt-4o", + "model": "gpt-6-luna", + "reasoningEffort": "none", "messages": [ { "type": "system", @@ -105,7 +110,8 @@ For custom-script mode, define the voicemail message inline: { "model": { "provider": "openai", - "model": "gpt-4o", + "model": "gpt-6-luna", + "reasoningEffort": "none", "messages": [ { "type": "system", @@ -143,7 +149,8 @@ To silently terminate the call on voicemail, leave the tool's `messages` array e { "model": { "provider": "openai", - "model": "gpt-4o", + "model": "gpt-6-luna", + "reasoningEffort": "none", "messages": [ { "type": "system", @@ -176,7 +183,8 @@ For consistent quality and pronunciation, use pre-recorded audio files by provid { "model": { "provider": "openai", - "model": "gpt-4o", + "model": "gpt-6-luna", + "reasoningEffort": "none", "messages": [ { "type": "system",