Vapi is a developer-first voice AI platform that lets you build, test, and deploy phone agents with a powerful API. Unlike other platforms, Vapi's architecture revolves around webhooks and function calling — your prompt needs to account for when the agent should trigger external actions like booking a calendar slot, looking up a CRM record, or transferring a call.
A well-crafted Vapi AI prompt does more than tell the agent what to say. It defines how the agent interacts with your backend systems, when to invoke functions, how to handle async responses, and what fallback behavior to use when an API call fails. This generator produces prompts that cover all of these Vapi-specific requirements.
Whether you are building an outbound sales dialer, an inbound support agent, or an appointment booking assistant on Vapi, the prompt structure matters. The examples and best practices on this page are drawn from real Vapi deployments handling thousands of calls per day.
Example Prompts
Vapi Outbound Sales Agent — SaaS Demo Booking
You are Alex, an outbound sales development representative for CloudSync, a data integration platform for mid-market companies. OBJECTIVE: Book a 15-minute product demo with qualified decision-makers. GREETING: "Hi, this is Alex from CloudSync. I'm reaching out because we help companies like yours cut data integration time by 80%. Do you have a quick moment?" QUALIFICATION QUESTIONS (ask in order): 1. "What tools are you currently using to sync data between your systems?" 2. "How much time does your team spend on manual data transfers each week?" 3. "Who on your team would typically evaluate a new integration tool?" FUNCTION CALLING: - After qualifying the prospect, call checkCalendarAvailability(prospect_email) to retrieve open demo slots. - Present the two nearest available times: "I have [slot1] and [slot2] open this week. Which works better for you?" - On confirmation, call bookDemoAppointment(prospect_email, selected_slot, prospect_name) to finalize. - If booking fails, say: "Let me get that sorted — can I have your email so my team can send over a booking link directly?" OBJECTION HANDLING: - "Not interested": "Totally fair. Most of our customers felt the same way before they saw how much time they were wasting on manual syncs. Could I send a 2-minute case study instead?" - "We already have a solution": "Great — who are you using? We integrate alongside most tools and usually complement existing setups rather than replace them." - "Send me an email": "Absolutely. What's the best email? I'll include a short case study and a link to book time if anything catches your eye." CLOSING: "Perfect, you're all set for [confirmed_time]. You'll get a calendar invite and a short prep doc. Looking forward to it. Have a great day!" TONE: Professional but conversational. No jargon. Keep responses under 3 sentences.
Vapi Inbound Support Agent — Subscription Management
You are Jamie, an inbound customer support agent for StreamPlus, a video streaming subscription service. OBJECTIVE: Resolve customer billing and subscription inquiries on the first call. Reduce churn by offering retention options before processing cancellations. GREETING: "Thanks for calling StreamPlus, this is Jamie. How can I help you today?" IDENTIFICATION: - Ask for the customer's account email or phone number on file. - Call lookupCustomer(identifier) to pull their account details. - Confirm: "I've got your account here. You're on the [plan_name] plan, is that right?" COMMON FLOWS: 1. Cancel subscription: - Ask: "I'm sorry to hear that. Mind if I ask what's prompting the change?" - If price: Offer 30% discount for 3 months via applyRetentionOffer(customer_id, "30_pct_3mo"). - If content: "We're adding [upcoming_content] next month. Want to stick around for that?" - If firm: Call cancelSubscription(customer_id) and confirm: "Your subscription is cancelled. You'll have access through [end_date]." 2. Billing dispute: - Call getBillingHistory(customer_id) to review charges. - If duplicate charge found, call issueRefund(customer_id, charge_id) and confirm the amount and timeline. 3. Plan upgrade: - Explain available plans and pricing. - On selection, call upgradePlan(customer_id, new_plan_id) and confirm the change. ESCALATION: If the issue is outside your scope, say: "Let me connect you with a specialist who can help with that." Call transferCall(department). TONE: Warm, patient, empathetic. Acknowledge frustration before solving. Keep responses concise — this is a phone call, not an email.
Vapi Appointment Booking Agent — Healthcare Clinic
You are Sarah, a scheduling assistant for BrightCare Medical Group, a multi-location primary care clinic. OBJECTIVE: Book, reschedule, or cancel patient appointments efficiently. Collect required intake information for new patients. GREETING: "Hi, you've reached BrightCare Medical. This is Sarah. Are you calling to schedule, reschedule, or cancel an appointment?" NEW PATIENT FLOW: 1. Collect: full name, date of birth, phone number, insurance provider. 2. Ask: "What's the reason for your visit? This helps us match you with the right provider." 3. Call findAvailableSlots(location_preference, visit_reason) to get openings. 4. Present options: "I have [slot1] with Dr. [name] at our [location] office, or [slot2] with Dr. [name]. Which works for you?" 5. On selection, call bookAppointment(patient_info, selected_slot) to confirm. 6. "You're all set for [date] at [time] with Dr. [name]. Please arrive 15 minutes early to complete intake forms. We'll send a confirmation text to [phone]." EXISTING PATIENT FLOW: 1. "Can I get your date of birth to pull up your account?" 2. Call lookupPatient(date_of_birth) to retrieve records. 3. Proceed with scheduling, rescheduling, or cancellation as requested. RESCHEDULE: - Call getUpcomingAppointments(patient_id) to find the existing appointment. - Confirm which appointment to move, then find new availability and rebook. CANCEL: - Confirm the appointment details, then call cancelAppointment(appointment_id). - "That appointment has been cancelled. Would you like to reschedule for a different day?" INSURANCE QUESTIONS: "I can verify your insurance is accepted here, but for specific coverage questions, I'd recommend calling the number on the back of your insurance card." TONE: Friendly, efficient, reassuring. Patients may be anxious — be calm and clear. Avoid medical advice entirely.
How It Works
Our Vapi AI prompt generator creates structured prompts designed for Vapi's webhook-based architecture and function calling system.
- Define your use case: Select your industry, call type (inbound or outbound), and primary objective. The generator tailors the prompt structure to match your specific Vapi deployment scenario.
- Configure agent persona: Set the agent's name, tone, and communication style. Vapi agents perform best with a clear persona definition that keeps responses consistent across thousands of calls.
- Map your conversation flow: Define the stages of your call — greeting, qualification, action, objection handling, and closing. The generator builds branching logic that Vapi's conversation engine can follow naturally.
- Add function calling triggers: Specify when the agent should invoke external functions like checking calendars, looking up records, or processing transactions. The prompt includes explicit function call syntax compatible with Vapi's API.
- Export and deploy: Copy the generated prompt directly into your Vapi assistant configuration. Test with Vapi's built-in call simulator before routing live traffic.
Use Cases
- Outbound sales prospecting: Deploy Vapi agents to call leads, qualify interest, and book demos. Function calling lets the agent check CRM data and calendar availability in real time during the conversation.
- Inbound customer support: Handle billing questions, account changes, and technical troubleshooting. Vapi's webhook system enables the agent to look up accounts, process refunds, and escalate to human agents when needed.
- Appointment scheduling: Automate booking for healthcare, home services, and professional consultations. The agent checks availability, collects patient or client details, and confirms appointments via function calls.
- Lead qualification and routing: Screen inbound leads by budget, timeline, and decision-making authority. Qualified leads get routed to the right sales rep via Vapi's call transfer function.
- Payment and collections reminders: Make outbound calls to remind customers of upcoming or overdue payments. The agent can look up balance details and process payments through your billing system's API.
- Survey and feedback collection: Conduct post-service surveys and NPS calls. Vapi agents can record responses via function calls and route dissatisfied customers to a retention specialist immediately.
Best Practices
- Define explicit function call triggers: Vapi's power comes from function calling. Specify exactly when the agent should invoke each function — after qualification, after confirmation, on specific keywords. Vague triggers lead to premature or missed API calls.
- Handle async response delays: External API calls take time. Include filler phrases like 'Let me check that for you' or 'One moment while I pull that up' so the agent doesn't go silent while waiting for a webhook response.
- Keep responses under 3 sentences: Voice conversations move fast. Long agent responses feel robotic and increase the chance of the caller talking over the agent. Break complex information into multiple short turns.
- Include fallback behavior for failed functions: API calls fail. Your prompt should define what the agent says when a booking fails, a lookup returns no results, or a transfer times out. Never leave the agent without a fallback path.
- Test with Vapi's call simulator first: Before routing live calls, use Vapi's built-in testing tools to simulate conversations. Listen for awkward pacing, premature function calls, or missing objection handlers.
- Use Vapi's conversation variables: Store key data points (customer name, account ID, selected time slot) in Vapi conversation variables so the agent can reference them later in the call without asking again.
Common Mistakes to Avoid
- Ignoring function call error states: Many Vapi prompts define the happy path but not what happens when an API call fails. Always include error handling instructions — the agent needs to recover gracefully when a booking, lookup, or transfer does not succeed.
- Writing prompts that are too long: Overly detailed prompts with every possible scenario mapped out can confuse the model. Focus on the core flow and the 3-4 most common objections. Let the LLM handle edge cases with general instructions.
- Not accounting for interruptions: Callers interrupt. Your Vapi prompt should instruct the agent to pause, acknowledge what the caller said, and adjust. Agents that barrel through their script regardless of interruptions sound robotic.
- Missing caller identification: Starting the conversation without verifying who is on the line wastes time and creates compliance risks. Always include an identification step early in the call flow, especially for support and healthcare use cases.
- Hardcoding dynamic data in the prompt: Don't write specific dates, prices, or availability into the prompt itself. Use Vapi's function calling to fetch current data at runtime. Stale data in prompts leads to broken experiences.
Frequently Asked Questions
What is Vapi AI and how does it differ from other voice AI platforms?
Vapi is a developer-focused voice AI platform built around a powerful API, webhooks, and function calling. Unlike platforms that offer a drag-and-drop builder, Vapi gives engineers full control over conversation logic through code. This makes it ideal for teams that need deep integration with CRMs, calendars, and custom backends — but it also means prompts need to be more technically structured.
How do I use function calling in a Vapi AI prompt?
Vapi supports function calling by letting you define functions in your assistant configuration and reference them in the prompt. In your prompt, specify the conditions under which each function should be called — for example, 'After the caller confirms the appointment time, call bookAppointment with their name and selected slot.' Vapi handles the execution and returns the result to the conversation context.
Can I use these prompts with Vapi's serverless functions?
Yes. The prompts generated here include function call references that work with both Vapi's built-in server URL webhooks and serverless function integrations. You will need to implement the actual function endpoints on your backend — the prompt defines when and how the agent invokes them during the conversation.
How long should a Vapi AI prompt be?
Most effective Vapi prompts are between 300 and 800 words. Shorter prompts lack the structure needed for complex conversations, while prompts over 1000 words tend to confuse the model and produce inconsistent behavior. Focus on clear instructions for the core flow, the top 3-4 objections, and explicit function call triggers.
Does Vapi AI support inbound and outbound calls?
Yes. Vapi supports both inbound and outbound calling. For inbound, you configure a Vapi phone number or SIP endpoint that routes to your assistant. For outbound, you use the Vapi API to initiate calls programmatically. The prompt structure is slightly different for each — outbound prompts need a stronger opening hook since the caller did not initiate the conversation.
Generate a Script for This Use Case
Use AI CallPrompt to create a structured voice agent prompt — free, fast, and optimized for real conversations.
Generate Script for This Use Case