Build guide

How to Build a Vapi Voice Agent with Google Calendar Integration

A Vapi scheduling receptionist with real Google Calendar bookings, built for my first client.

VapiGoogle Calendar
Dec 22, 2025
Optimized for

What you'll build

A Vapi scheduling assistant that acts like a receptionist - this is the first demo/close-to-production agent I built for my first client, an acupuncture clinic. It answers the call as "Sarah," figures out whether you're a new patient or a follow-up, collects name and phone number, checks real Google Calendar availability, offers two time slots, collects a spelled-out email, books the event, and sends the calendar invite - all in-house on Vapi, no n8n or Make.com required.

In the demo, the caller asked for January 2nd, got offered 11 a.m. or 3 p.m., picked 11, and the calendar event + email invite were created on the spot.

What you'll need

Step 1: Create the assistant and set the first message

Create a new assistant in Vapi. We use GPT-4o cluster - OpenAI's model that's very good at conversation. Latency is a little higher, but the reasoning on conversations is usually better.

First message:

Thank you for calling Best Acupuncture. This is Sarah. How can I help you?

Step 2: Paste in the system prompt and understand its sections

This is really where the money is made - the system prompt is key. The video shows the full prompt on screen - rebuild yours section by section and tweak it. Walkthrough of what each section does:

ChatGPT or Gemini can give you a really good baseline system prompt for a voice agent, but it will never be perfect. Expect errors - from not calling the tool properly to not knowing the date - and iterate. That's the actual prompt-engineering work.

Step 3: Create the two Google Calendar tools

Vapi has Google Calendar integrated natively - no n8n or Make needed. Go to Tools → Create tool and you'll see Check Availability and Create Event already there. For each one, all you really do is add the specific Google account email you're booking with and a short description:

Check availability: Use this tool to check calendar availability for a specific date.
Create event:       Use this tool to create a calendar event booking.

Then go back to your assistant's Tools section and attach both.

Step 4: Add the knowledge base

On the assistant you'll see an Add knowledge base option; under Files you can upload a document and attach it. For the clinic we uploaded their existing phone script - FAQs covering cost, insurance, conditions, and treatment explanations - so the agent quotes the exact answers the clinic wants clients to hear. Whatever agent you're building, you'll probably want one of these.

Step 5: Pick the voice

Under voice configuration, choose the voice so it sounds like a Sarah and not an Elliot. This is also where you can paste in an ElevenLabs voice ID for a more human sound or bilingual capability.

Step 6: Publish and test

Publish the assistant and run a test call. You should see: new-patient classification, name + number collected, real availability offered, email spelled out, and the event + invite landing on the calendar.

Step 7 (bonus): Connect a phone number

No Twilio needed. In Vapi's phone number section, type in your area code, hit create - bang, working phone number. Connect your assistant to it and you're taking real calls.

That's pretty much it: assistant prompt + the two calendar tools + a knowledge base = a working demo and a pretty close version of a production-level assistant.

Resources

← Back to the library Good luck and happy building