Connect Google Calendar
Link a Google account so your Auto Flows can book, move and cancel appointments in your own calendars.
Connecting Google Calendar lets your Auto Flows put appointments straight into your own calendar — booking a slot the moment a customer picks one on WhatsApp, moving it when they reschedule, and cancelling it when they can't make it.
There are two ways to connect, and the wizard asks you to choose first.
Which way should you connect?
Sign in with Google acts as your own Google account. It can already see every calendar you own, and it can email invitations to the people you book in. It needs a one-time setup in Google Cloud — about ten minutes.
A service account is a robot account with its own email address. Nothing ever expires and there's no sign-in screen, but you share each calendar with it the way you'd share with a colleague, and it can't email invitations to guests.
If you want your customers to receive a calendar invitation, choose Sign in with Google.
Set up Google
Both methods start the same way:
- Open the Google Cloud console and create a project, or pick one you already use.
- Under APIs & Services → Library, search for Google Calendar API and enable it.
Sign in with Google
- Under APIs & Services → OAuth consent screen, add an app name and support email, choose External, and add your own Google address as a test user.
- Go to Credentials → Create credentials → OAuth client ID, choose Web application, and paste the redirect URL shown in the wizard into Authorised redirect URIs. It has to match character for character.
- Copy the client ID and client secret into the wizard, then press Sign in with Google.
Google describes the calendar permission in strong words — "see, edit, share and permanently delete all the calendars…". That's the standard calendar permission: it's what lets a flow create and cancel bookings on your behalf.
Publish your app when you're happy with it. While it sits in Testing, Google cuts access off after seven days and your bookings stop working. Press Publish app on the consent screen once you've confirmed it works. The "unverified app" warning is expected when only your own business signs in.
Service account
- Under IAM & Admin → Service accounts, create an account, open it, then Keys → Add key → Create new key → JSON. The file downloads once — keep it safe.
- Paste the whole file into the wizard. It shows you the account's email address.
- In Google Calendar, open Settings and sharing for each calendar you want to use. Under Share with specific people, add that address with Make changes to events.
Without step 5 the account can't see your calendar, and your flow steps fail with a permission error. If your Google Workspace admin blocks sharing outside your organisation, ask them to allow it — or use Sign in with Google instead.
Use it in an Auto Flow
Once connected, add a Google Calendar step to any Auto Flow. Pick the account and calendar, then tell it what to do:
- Book an appointment — creates the event and saves its id so later steps can find it again.
- Move an appointment — changes the time (and anything else you fill in). Fields you leave blank stay as they were.
- Cancel an appointment — removes it, and optionally emails the guest.
- Check whether a slot is free — answers "free" or "busy" into a variable, so a Condition step can reply differently.
Dates and times come from merge fields, so a WhatsApp Flow booking form feeds them directly — for example {{var.flow_date}} for the day and {{var.flow_time}} for the time.
Things worth knowing
- The timezone lives on the step. You pick it when you build the flow, and changing your workspace's date display settings later never moves bookings that are already in the diary.
- Save the booking on the contact too. A flow variable only lives as long as that one run. If a later flow needs to cancel or reschedule, tick the option to save the event id onto the contact as well.
- A bad email doesn't cost the booking. If the invite address is empty or unusable, the appointment is still created — just without a guest.
- Nothing else is touched. We only read and write the calendars your flows name.
You can test or disconnect the account at any time from Integrations.