|
| 1 | +--- |
| 2 | +title: Assistants quickstart |
| 3 | +subtitle: Build your first assistant and make a phone call in minutes |
| 4 | +slug: assistants/quickstart |
| 5 | +--- |
| 6 | + |
| 7 | +## Overview |
| 8 | + |
| 9 | +Create a voice assistant with a simple prompt, attach a phone number, and make your first call. You’ll also learn how to add tools to take real actions. |
| 10 | + |
| 11 | +**In this quickstart, you’ll:** |
| 12 | +- Create an assistant (Dashboard or SDK) |
| 13 | +- Attach a phone number |
| 14 | +- Make inbound and outbound calls |
| 15 | + |
| 16 | +## Prerequisites |
| 17 | + |
| 18 | +- A Vapi account and API key |
| 19 | + |
| 20 | +## 1) Create an assistant |
| 21 | + |
| 22 | +<Tabs> |
| 23 | + <Tab title="Dashboard"> |
| 24 | + <Steps> |
| 25 | + <Step title="Open Assistants"> |
| 26 | + Go to the [Vapi Dashboard](https://dashboard.vapi.ai) → Assistants → Create Assistant. |
| 27 | + </Step> |
| 28 | + <Step title="Add a system prompt"> |
| 29 | + ```txt title="System Prompt" maxLines=8 |
| 30 | + You are a friendly phone support assistant. Greet the caller and offer help. Keep responses under 30 words. If a transfer is requested, confirm reason first. |
| 31 | + ``` |
| 32 | + </Step> |
| 33 | + <Step title="Publish and test"> |
| 34 | + Click Publish and then “Talk to Assistant” to validate behavior. |
| 35 | + </Step> |
| 36 | + </Steps> |
| 37 | + </Tab> |
| 38 | + <Tab title="TypeScript (Server SDK)"> |
| 39 | + ```typescript |
| 40 | + import { VapiClient } from "@vapi-ai/server-sdk"; |
| 41 | + |
| 42 | + const vapi = new VapiClient({ token: process.env.VAPI_API_KEY! }); |
| 43 | + |
| 44 | + const assistant = await vapi.assistants.create({ |
| 45 | + name: "Support Assistant", |
| 46 | + firstMessage: "Hello! How can I help you today?", |
| 47 | + model: { |
| 48 | + provider: "openai", |
| 49 | + model: "gpt-4o", |
| 50 | + messages: [ |
| 51 | + { role: "system", content: "You are a friendly phone support assistant. Keep responses under 30 words." } |
| 52 | + ] |
| 53 | + } |
| 54 | + }); |
| 55 | + ``` |
| 56 | + </Tab> |
| 57 | +</Tabs> |
| 58 | + |
| 59 | +## 2) Add a phone number |
| 60 | + |
| 61 | +<Tabs> |
| 62 | + <Tab title="Dashboard"> |
| 63 | + In the Dashboard, go to Phone Numbers → Create Phone Number → assign your assistant. |
| 64 | + </Tab> |
| 65 | + <Tab title="TypeScript (Server SDK)"> |
| 66 | + ```typescript |
| 67 | + const number = await vapi.phoneNumbers.create({ |
| 68 | + name: "Support Line", |
| 69 | + assistantId: assistant.id |
| 70 | + }); |
| 71 | + ``` |
| 72 | + </Tab> |
| 73 | +</Tabs> |
| 74 | + |
| 75 | +## 3) Make your first calls |
| 76 | + |
| 77 | +<Steps> |
| 78 | + <Step title="Inbound call"> |
| 79 | + Call the phone number you created. Your assistant will answer with the first message. |
| 80 | + </Step> |
| 81 | + <Step title="Outbound call (SDK)"> |
| 82 | + ```typescript |
| 83 | + await vapi.calls.create({ |
| 84 | + assistantId: assistant.id, |
| 85 | + customer: { number: "+1234567890" } |
| 86 | + }); |
| 87 | + ``` |
| 88 | + </Step> |
| 89 | +</Steps> |
| 90 | + |
| 91 | +## Next steps |
| 92 | + |
| 93 | +- **Add tools**: [Custom tools](/tools/custom-tools) |
| 94 | +- **Tune speech**: [Speech configuration](/customization/speech-configuration) |
| 95 | +- **Structure data**: [Structured outputs](/assistants/structured-outputs) |
| 96 | +- **Move to multi-assistant**: [Squads](/squads) |
| 97 | + |
0 commit comments