diff --git a/fern/docs.yml b/fern/docs.yml index b8dc7ff5c..c7c537051 100644 --- a/fern/docs.yml +++ b/fern/docs.yml @@ -112,12 +112,12 @@ navigation: - section: Examples icon: fa-light fa-code contents: + - page: Inbound support + path: examples/inbound-support.mdx + icon: fa-light fa-phone-volume - page: Outbound sales path: examples/outbound-sales.mdx icon: fa-light fa-money-bill-wave - - page: Inbound support - path: examples/inbound-support.mdx - icon: fa-light fa-user-headset - page: Pizza website path: examples/pizza-website.mdx icon: fa-light fa-pizza-slice @@ -187,7 +187,7 @@ navigation: contents: - page: Query tool path: knowledge-base/using-query-tool.mdx - icon: fa-light fa-magnifying-glass + icon: fa-light fa-magnifying-glass - page: Trieve integration path: knowledge-base/integrating-with-trieve.mdx icon: fa-light fa-brain @@ -508,7 +508,7 @@ navigation: - page: MCP server path: sdk/mcp-server.mdx icon: fa-light fa-server - + - tab: sdks layout: - section: Client SDKs diff --git a/fern/examples/inbound-support.mdx b/fern/examples/inbound-support.mdx index 1e3fd37b7..2264655e1 100644 --- a/fern/examples/inbound-support.mdx +++ b/fern/examples/inbound-support.mdx @@ -1,160 +1,314 @@ --- -title: Inbound Support Example ⚙️ -subtitle: Let's build a technical support assistant that remembers where we left off. +title: Inbound customer support +subtitle: Build a banking customer support agent that can process inbound phone calls and assist with common banking issues. slug: examples/inbound-support +description: Build a voice AI banking support agent with tools for account lookup, balance and transaction retrieval. --- +## Overview -We want a phone number we can call to get technical support. We want the assistant to use a provided set of troubleshooting guides to help walk the caller through solving their issue. +Build a banking support agent with function tools, CSV knowledge bases, and voice test suites. The agent handles account verification, balance inquiries, and transaction history via phone calls. -As a bonus, we also want the assistant to remember by the phone number of the caller where we left off if we get disconnected. +**Agent Capabilities:** +* Account lookup and verification via phone number +* Balance and transaction history retrieval + +**What You'll Build:** +* Retrieval tools and CSV knowledge bases for account/transaction data +* Voice test suites for automated quality assurance +* Inbound phone number configuration for 24/7 availability + +## Prerequisites + +* A [Vapi account](https://dashboard.vapi.ai/). + +## Scenario + +We will be creating a customer support agent for VapiBank, a bank that wants to provide 24/7 support to consumers. + + +--- + +## 1. Create a Knowledge Base - - We'll start by taking a look at the [Assistant API - reference](/api-reference/assistants/create-assistant) and define our - assistant: - - ```json - { - "transcriber":{ - "provider": "deepgram", - "keywords": ["iPhone:1", "MacBook:1.5", "iPad:1", "iMac:0.8", "Watch:1", "TV:1", "Apple:2"], - }, - "model": { - "provider": "openai", - "model": "gpt-4", - "messages": [ - { - "role": "system", - "content": "You're a technical support assistant. You're helping a customer troubleshoot their Apple device. You can ask the customer questions, and you can use the following troubleshooting guides to help the customer solve their issue: ..." - } - ], - "tools": [ - { - "type": "transferCall", - "destinations": [ - { - "type": "number", - "number": "+16054440129", - "message": "I am forwarding your call to Department A. Please stay on the line." - } - ] - } - ] - }, - "firstMessage": "Hey, I'm an A.I. assistant for Apple. I can help you troubleshoot your Apple device. What's the issue?", - "recordingEnabled": true, - } - ``` - - - `transcriber` - We're defining this to make sure the transcriber picks up the custom words related to our devices. - - `model` - We're using the OpenAI GPT-3.5-turbo model. It's much faster and preferred if we don't need GPT-4. - - `transferCall` tool in `model.tools` - Since we've added this, the assistant will be provided the [transferCall](/assistants#transfer-call) function to use if the caller asks to be transferred to a person. - - `messages` - We're defining the assistant's instructions for how to run the call. - - `firstMessage` - This is the first message the assistant will say when the user picks up. - - `recordingEnabled` - We're recording the call so we can hear the conversation later. + +
+ + + + + + +
+
+ + In your Vapi dashboard, click `Files` in the left sidebar. + + + - Click `Choose file`. Upload both `accounts.csv` and `transactions.csv` files. + - Note the file IDs. We'll need them later to create tools. + +
- +