Google Calendar
Connect Google Calendar and your Voka AI assistant can look at your calendar while a caller is still on the phone, offer them a time that is genuinely free, and put the appointment straight into your calendar.
Google Calendar is a calendar, not a booking system. It has no list of your services, no prices, no staff rotas and no way to take a deposit. Your assistant can only work with what a calendar knows: what time you are busy, and what time you are free. Everything else has to come from what you tell your assistant.
If you need your assistant to quote a price, know that a colour takes two hours, or take a deposit, use Square or Acuity Scheduling instead. If you book meetings rather than services, Calendly connects from the same Integrations page.
Will it do…?
| Question | Answer |
|---|---|
| Check whether I'm free before offering a time? | Yes. Live, while the caller is on the phone. |
| Put the appointment in my calendar? | Yes. |
| Email the caller a calendar invite? | Only if the caller gives an email address. Your assistant asks for one. |
| Move or cancel an existing appointment? | Yes, if the caller can say roughly which day it is on. |
| Read out my services and prices? | No. Google Calendar has no service list. Put your services and prices in your assistant's instructions. |
| Know how long each job takes? | No. It asks the caller, and falls back to one hour. You can teach it your durations in the instructions. |
| Stick to my opening hours? | Not on its own. It offers 9am–5pm unless you tell it your real hours. See below. |
| Leave a gap between appointments? | No. There is no buffer setting. |
| Take a deposit or a payment? | No. |
| Book two appointments on the same call? | No. One booking per call. See below. |
| Check several staff calendars at once? | No. It looks at one calendar per booking. |
| Greet a repeat caller by name? | No. Google Calendar has no customer list to look them up in. |
| Send a text reminder before the appointment? | No. |
| Work on a calendar someone shared with me? | Only if they gave you edit access. View-only and free/busy-only calendars are invisible to it. |
What you need first
1. The integration add-on. Google Calendar is a paid add-on on top of your plan, and you need an active subscription before you can add it. Go to Billing → Browse Add-Ons and add Google Calendar. Until you do, the Connect button on the integrations page is greyed out and reads "Addon Required". Current pricing is on the pricing page.
2. A Google account whose calendar you actually use. Connect the account that holds the calendar you want appointments to land in. If your business calendar lives on a different Google account from the one you sign into Voka with, connect the business one.
Connecting your Google account
- In your Voka AI portal, go to Integrations → Apps.
- Find the Google Calendar card and click Connect.
- Google asks you to sign in and to approve access. Approve it.
- You are brought back to the integrations page, and the card now shows a green tick.
What Google is asking you to approve
Voka asks for three permissions, and nothing else:
| What Google calls it | What it means for you |
|---|---|
| See the list of calendars you can access | So the portal can show you your calendars by name. |
| See when you're busy | Free/busy times only. This one does not reveal what the appointments are. |
| See and edit events on your calendars | So your assistant can read your appointments, create new ones, move them and cancel them. |
There is no separate "send invitations" permission. Invitations are sent by Google as part of creating the event.
Google grants access at the account level, not per calendar, so the permission technically covers every calendar on the account you connect. Your assistant only ever touches the one calendar it has been told to use.
Which calendar it books into
By default your assistant uses the main calendar of the Google account you connected — the one Google labels "primary", usually named after your email address. For most single-person businesses that is the right answer and there is nothing to set up.
If your appointments belong on a different calendar, you have to say so in the assistant's instructions. There is no setting that redirects bookings for you. Add a line like this under AI Assistants → your assistant → Agent → Instructions:
Always book into the calendar with ID bookings@yoursalon.com.
Never use "primary".
You can find a calendar's ID on the Integrations → Apps → Google Calendar → Manage screen: click Refresh Calendars and the ID appears next to each calendar. Only calendars you own or can edit are listed. A calendar someone shared with you as "see only free/busy" or view-only will not appear, and your assistant cannot book into it.
Several staff, several calendars
The Manage screen has a Staff Calendar Mapping section where you can attach each staff member's name to their existing Google calendar. It does not create anything in Google — it is just a list of who uses which calendar.
Mapping staff does not, by itself, change how your assistant behaves. Once you have mapped two or more bookable staff, that screen shows an Assistant Prompt Snippet with a Copy button. You have to paste that snippet into your assistant's instructions. That snippet is what actually teaches the assistant who works where, and it is where you write your own routing rules ("Tuesdays and Thursdays are Bob", "colour appointments go to Alice").
Two things to know before you rely on this:
- Your assistant checks one calendar at a time. If a caller has no preference, it uses whoever you marked as the default. It cannot answer "who is free at three?" across the whole team in one go.
- If you map only one staff member, no snippet is generated and nothing changes. A single non-primary calendar still has to be named in the instructions, as above.
How it finds an open time
Your assistant asks the caller for a day, then asks Google which parts of that day are already taken and offers what is left.
Two things about that are worth knowing, because they surprise people.
Your opening hours
Unless you say otherwise, your assistant looks at 9:00am to 5:00pm and offers gaps inside that window. It does not know your real opening hours — Google Calendar has no concept of them, and your Voka business hours are not passed through.
If you open at 8am or close at 7pm, add a line to your assistant's instructions:
Our opening hours are 8am to 7pm, Tuesday to Saturday.
When you check availability, always pass startTime 08:00 and endTime 19:00.
Never offer a time on a Sunday or Monday.
Without that, an 8am caller will be told the earliest slot is nine.
It offers windows, not slots
Google reports blocks of busy time, so what comes back is the gaps between them: "I have nine to twelve, and one to five." It is not a list of neat 30-minute slots, because Google has no idea how long your appointments are.
Your assistant then asks how long the appointment needs to be, and falls back to one hour if the caller does not know. If your jobs have standard lengths, teach it in the instructions:
Standard appointment lengths:
- Consultation: 30 minutes
- Cut and finish: 45 minutes
- Colour: 2 hours
Book the matching length without asking the caller how long it takes.
There is no buffer setting either. If you need ten minutes between appointments, build it into the durations you teach it (book 40 minutes for a 30-minute job).
What ends up in your calendar
When the caller confirms, your assistant creates an event with:
- a title, usually the type of appointment and the caller's name
- the agreed start and end time, in the time zone of your main Google calendar
- the caller as a guest, if they gave an email address
- any notes the caller asked to add, and a location if one was discussed
The calendar invite goes to the caller, not to you. The appointment simply appears on your calendar, the same as if you had typed it in. If the caller would not give an email address, the booking still goes ahead — they just get no invite, and nothing to remind them.
Voka does not send appointment reminders for Google Calendar bookings, by email or by text. Any reminders come from Google itself, following the settings on your calendar.
Moving and cancelling
A caller can ring back to change or cancel, and your assistant will do it. To find the appointment, it looks at one day at a time, so the caller needs to know roughly when it was. "Sometime next month" is not enough; "Thursday the 14th" is.
- Moving: if you do not give a new end time, the appointment keeps its original length.
- Cancelling: the event is removed from your calendar, and Google emails a cancellation notice to anyone who was invited.
Your assistant can only change appointments that live on a calendar it can see. An appointment you made on a different calendar, or on a different Google account, is invisible to it, and it will tell the caller it cannot find their booking.
Limits worth knowing
One booking per call
Your assistant will make one booking per phone call. This is deliberate — it is what stops a confused assistant from creating the same appointment three times. If a caller wants to book two appointments on one call, the second one will not be created; the assistant simply repeats the first confirmation. Ask them to call back, or add the second appointment yourself.
The same protection covers repeats: an identical booking request within 24 hours returns the original confirmation instead of creating a duplicate.
Two callers at once
Your assistant checks Google live, but there is a gap of a few seconds between checking a time and booking it, and Google itself will happily accept two events at the same time. If two people ring at the same moment and ask for the same slot, you can end up double-booked. It is rare, and it is worth a glance at your calendar at the start of the day.
For the same reason, if your team's appointments are spread across several calendars, your assistant only sees the one it is using. Anything blocking your day on another calendar will not stop it offering that time.
Past times
Your assistant will not book or move an appointment to a time that has already passed. It asks the caller for another time instead.
Testing it
- Create an assistant from the Google Calendar Scheduler template (how to create an assistant). The template already knows how to use your calendar. You cannot finish creating it until Google Calendar is connected.
- Put a couple of busy blocks on the calendar for tomorrow, so there is something to work around.
- Call your assistant's number and say "I'd like to book an appointment tomorrow".
- Check that the times it offers really are your free gaps.
- Confirm one, then open Google Calendar and check the event is there, at the right time, with the right length.
- Call back and ask to move it, then to cancel it.
More on trying things safely: testing your assistant.
Troubleshooting
The Connect button is greyed out and says "Addon Required"
You need the integration add-on on your subscription first. Billing → Browse Add-Ons.
My assistant never mentions the calendar
Connecting Google Calendar does not switch it on for an assistant you already had. Open AI Assistants → your assistant → Agent, scroll to Integrations, and click Enable next to Google Calendar, then save.
That gives the assistant access to your calendar, but it still needs instructions telling it to book appointments. The simplest route is to create a new assistant from the Google Calendar Scheduler template, which arrives with both, and point your number at that one.
Appointments are going into the wrong calendar
By default everything goes into the main calendar of the connected Google account. If they should go elsewhere, name the calendar in the assistant's instructions — see which calendar it books into. Mapping a staff member on the Manage screen is not enough on its own.
My calendar is not in the list on the Manage screen
Only calendars you own, or have edit access to, can be used. If the calendar was shared with you as view-only or free/busy-only, ask the owner to share it again with "Make changes to events", then click Refresh Calendars.
It offers times when we are closed, or refuses times when we are open
It defaults to 9am–5pm and does not know your opening hours. Add them to the assistant's instructions — see your opening hours.
The times it offers are in the wrong time zone
Times follow the time zone set on the main calendar of the connected Google account. Open Google Calendar → Settings, check the time zone there, and fix it if it is wrong.
It offered a slot that was already booked
Check that the appointment blocking that time is on the same calendar your assistant is using, and that it is marked Busy rather than Free in Google. Events marked Free do not block anything.
The caller never got an invite
Invites only go out when the caller gives an email address. If they would not, or the assistant mis-heard it, there is nothing to send the invite to. The appointment is still in your calendar.
It cannot find a caller's existing appointment
It searches one day at a time. If the caller is unsure of the date, it cannot go hunting. Ask them to check their confirmation email, or find the appointment yourself.
Disconnecting
Integrations → Apps → Google Calendar → Disconnect.
Appointments already in your calendar stay exactly where they are. Your assistant simply stops being able to see or change anything.
Disconnecting inside Voka stops us using your account, but it does not remove Voka from your Google account's list of connected apps. To do that as well, go to myaccount.google.com → Security → Your connections to third-party apps & services, and remove Voka AI there.
What we store
- Your Google connection. Encrypted, and only used while a call is in progress.
- The email address of the connected Google account, plus any calendar names, calendar IDs and staff names you set up on the Manage screen.
- The fact that a booking, change or cancellation happened, and when the appointment was for, so it can appear in your call logs and reports.
We do not keep a copy of your calendar. Your appointments are read live during a call and are not saved on our servers. Bear in mind that the call itself is recorded and transcribed like any other call, so whatever is said out loud about an appointment appears in the call transcript.
Related pages
- All integrations — what else your assistant can connect to
- Square Appointments — services, prices and payments
- Acuity Scheduling — services, intake forms and prices
- Writing assistant instructions — where your hours, services and durations go
- Integration troubleshooting
Still stuck? Contact support.