Syncing Google Calendar with your appointment engine prevents the most expensive problem service businesses face: double booking. When a service provider schedules a personal appointment in their Google Calendar and a WhatsApp agent offers that same slot to a client, someone gets burned. This guide covers how to connect Google Calendar to Aurora Inbox for each service provider, choose the correct sync direction, and troubleshoot the most common issues—in under 15 minutes per provider.
Why sync Google Calendar with your appointment engine
Four reasons, in order of impact:
- Avoid double bookingWithout synchronization, the provider's personal events (lunch, meeting, doctor's appointment, school run) are invisible to the appointment engine. The agent offers those slots, and the provider gets double-booked.
- The lender sees their entire schedule in one placeEvery appointment created in WhatsApp appears in Google Calendar with all the details. The service provider doesn't need to open Aurora Inbox to check the date—Google already has the complete information.
- Personal events automatically block slotsIf the service provider schedules a meeting from 3:00 PM to 4:00 PM on Google, those 60 minutes disappear from Aurora's search engine. The agent doesn't offer them. Zero manual coordination.
- One single source of truthThe team operates with the calendar they already know. There's no need to train service providers on a new tool—they're still using Google Calendar, and Aurora adapts.
Without this synchronization, the conversational agent loses much of its usefulness. The investment in appointment engines and reminder templates is diluted because the availability offered doesn't reflect the reality of the human calendar.
Before we begin
Check three prerequisites:
- Provider's Google AccountEach provider must have their own Google account (Workspace or free). Synchronization is per provider, not per workspace—if you have 10 providers, you'll connect 10 different accounts. This is by design: each provider authorizes access to their own calendar.
- Aurora Inbox activeYou need your Aurora workspace with WhatsApp Business connected and at least one agent set up.
- Dating engine configuredServices, locations, and providers already created. If you haven't reached this point yet, first follow the guide in How to set up a WhatsApp appointment system with Aurora And if you need to delve deeper into how services, locations, and providers are modeled, check out Configure services, locations, and providers.
Important note: Do not use the workspace or business owner's Google account for all service providers. Synchronization is designed at the service provider level so that each person controls their own personal events. A shared calendar for everyone invalidates this model.
Step 1: Access the integration
From your Aurora Inbox workspace:
- Go to Settings → Appointments → Integrations.
- Select Google Calendar in the list of available integrations.
- You will see the list of providers with their connection status: Connected, Not connected either Expired token.
The integrations screen is the control center. From here you connect, disconnect, and check the status of each provider. If something stops working after connecting a provider, this is the first place to check.
Step 2: Connect the first provider
Take one of your providers and go through the complete OAuth flow:
- Click on Connect Google next to the name of the provider.
- Aurora opens a Google OAuth window. Important: The service provider must be present to authorize — the process requires their password and, if they have 2FA enabled, their second factor.
- Google displays the consent screen with the requested permissions:
- View events of the primary calendar.
- Create, edit, and delete events of the primary calendar.
- Offline access to refresh the token without asking for the password again.
- The provider accepts. Google redirects to Aurora with a code.
- Aurora exchanges the code for an access token and a refresh token, and stores them encrypted at the provider level.
The state moves to Connected and the date of the first synchronization appears.
If Google blocks the OAuth screen
Some Google Workspace accounts have restrictive policies that block unverified third-party apps. If you see a message like "This app isn't verified" or "This app has been blocked by an administrator," you have two options:
- Personal account or Workspace without restrictionsThe provider can click on Advanced → Go to Aurora Inbox (not secure) To continue. Aurora Inbox is already in the verification process with Google, but that verification takes weeks.
- Locked corporate workspaceThe Workspace administrator must whitelist Aurora Inbox in the admin console (Apps → API permissions). If this is not possible, that account will have to use Aurora-only-to-Google (step 3) instead of bidirectional.
If you work with sensitive industries (healthcare, finance, legal), review your Workspace's policy before requesting OAuth. It's the most common source of friction when rolling out the integration.
Step 3: Choose synchronization address
Once the provider is connected, configure how the information flows:
| Address | Google events are blocking slots at Aurora | Quotes from Aurora appear on Google | Recommended for |
|---|---|---|---|
| Bidirectional | Yeah | Yeah | 90% of cases. Recommended default. |
| Aurora only → Google | No | Yeah | Corporate workspaces are blocked, and providers don't want their personal events to affect availability. |
Synchronization bidirectional It's almost always the right choice. The engine consults Google Calendar when calculating available slots and subtracts any events that would occupy that time. When you create an appointment in Aurora, it's automatically published to Google with all the details.
The option Aurora → Google This is useful when the service provider doesn't want to mix their personal schedule with their Aurora work schedule. Appointments still appear in their Google account (so they can see them), but personal events they schedule there don't affect availability. The operating rule changes: the service provider must register personal blocks directly in Aurora if they want the agent to not offer them.
Configure the address in Settings → Appointments → Integrations → Google Calendar → Edit next to the provider. Changing the address later is safe — Aurora doesn't redo past events, it only changes future behavior.
Step 4: Synchronize additional providers
Repeat the flow from step 2 for each provider. There is no batch upload of accounts — each one authorizes with their own Google account.
Operational recommendations for rotating between multiple providers:
- Do it in a single group sessionespecially if the service providers are not technical. 5-10 minutes per person if they are present.
- Start with one or two pilot providers. The first week. Confirm that appointments are created in Google and that personal events are blocking slots correctly before rolling this out to the rest of the team.
- Document which Google account each service provider usedIf someone leaves the company or changes accounts later on, having this record saves work.
- For providers with a personal assistant If you manage their schedule, make sure the assistant understands the workflow. The assistant continues to edit Google directly—Aurora respects those changes.
How appointments appear in Google Calendar
When Aurora creates an appointment and publishes it on Google, the event looks like this:
- Qualification: service name + client name. Example: "Dental cleaning — Ana Pérez".
- Hour: adjusted to the time zone of the appointment location.
- Duration: the service + configured buffers.
- Description: includes service, location, provider, link to customer's WhatsApp chat, customer number, and internal notes if any.
- AttendeesIf the client provided an email address, an invitation is sent. Otherwise, the event will not include any external attendees.
- Event location: Aurora branch address.
- Google Native Reminders: inherit the provider's default calendar configuration.
The WhatsApp chat link in the description is particularly useful: the service provider, before the appointment, can tap on the link and directly open the conversation with the client to review the context, ask for extra information, or reschedule if something unexpected comes up.
Special cases
All-day events on Google
An "All Day" event (vacation, holiday, out of office) blocks all Today's slots at Aurora. This is the expected behavior: the provider is unavailable. If you want an all-day slot not to block availability (for example, a birthday reminder), mark it as Available on Google (not like Busy) and Aurora ignores it.
Recurring events
Aurora respects Google's recurring events. A weekly meeting on Mondays at 10-11 blocks the Monday 10:00 slot every week. If the meeting changes to a specific day, Aurora detects the change and releases the original slot.
Shared events between providers
If two providers share a calendar and are both connected to Aurora, a shared event blocks slots for both of them. For cases like a treatment room used by multiple professionals, consider modeling the room as an additional resource instead of duplicating blocks via Google.
The service provider modifies a quote directly in Google.
If the service provider moves an appointment in Google (drag-and-drop to another time), Aurora detects the change and updates the appointment on its end: the client receives a WhatsApp message notifying them of the new time, and reminders are rescheduled. If the service provider deletes the event, Aurora marks the appointment as canceled and triggers the cancellation template for the client. It recommends that the team cancel/reschedule from the appointment view in Aurora whenever possible—the workflow is cleaner—but moving things in Google serves as a safety net.
Multiple calendars in one Google account
Aurora only synchronizes with the primary calendar From the provider's account. If the provider uses multiple calendars (one personal, one work, one for project X), only the primary calendar affects availability. Recommendation: The provider should record their relevant blocks in the primary calendar, or change which calendar is primary in Google.
Troubleshooting
OAuth expired
Symptom: the provider's status changes to Expired token and the events stop synchronizing.
Typical cause: the provider changed their password, manually revoked permissions, or Google invalidated the refresh token after a long period of inactivity. Aurora attempts to refresh tokens automatically, but there are cases where Google requires full reauthorization.
Solution: the lender enters Settings → Appointments → Integrations → Google Calendar, click on ReconnectIt goes through the OAuth flow again.
Google events do not appear in Aurora
Symptom: The agent offers slots that are occupied according to Google.
Step-by-step diagnosis:
- Verify that the synchronization address is Bidirectional (not Aurora→Google).
- Confirm that the event is on the calendar primary from the lender's account, not on a secondary calendar.
- Check if the event is marked as Available on Google (in that case Aurora ignores it on purpose).
- If everything above is correct, force a resync: Settings → Appointments → Integrations → Google Calendar → Sync now next to the service provider.
Aurora's quotes do not appear on Google.
Symptom: You create an appointment in Aurora but you don't see it on Google.
Diagnosis:
- Confirm that the provider is Connected (not expired).
- Verify that the address allows Aurora→Google (it always allows bidirectional communication).
- Double-check that you're viewing the correct calendar in Google — sometimes the primary one isn't the one that's visually active.
- If none of the above applies, open the appointment in Aurora, click on Sync with Google to force the push.
Time zone conflicts
Symptom: the appointment appears on Google at a different time than the one confirmed to the client.
Cause: The time zone of the location in Aurora does not match the provider's calendar default time zone.
Solution: in Aurora, Settings → Appointments → LocationsVerify that each location has the correct time zone. Aurora's time zone wins — Google displays the event in its configured time zone, but the absolute time is correct.
The provider disconnects your Google
When a service provider disconnects your Google account (either from Aurora or by revoking permissions in Google):
- Existing appointments remain in Aurora and continue to run normally.
- Google events associated with those appointments are not deleted, but they stop syncing changes.
- New citations are still being created in Aurora, but are no longer published on Google.
- The engine stops respecting the provider's personal events in Google — it reverts to operating only with the availability configured in Aurora.
If the disconnection is permanent (the provider leaves the company), reassign future appointments to another provider before removing the first one.
How does Aurora Inbox do it?
The difference with external systems like Calendly + Zapier or an n8n workflow is that Google Calendar synchronization is embedded in Aurora's appointment engine. It's not a third-party integration that passes events through fragile webhooks—the engine queries Google Calendar in real time when calculating available slots and publishes changes bidirectionally. Token refresh, remote change detection, and conflict resolution are handled natively. For programmable services that run on WhatsApp, the plan Aurora IA $179 USD/month ($3,200 MXN) It includes an appointment engine, a conversational agent with a booking plugin, and Google Calendar synchronization for all the providers you need.
Start your free trial and connects you to your first provider in under 15 minutes. If you're still deciding whether conversational scheduling is right for you, read on first. What is conversational scheduling? or the comparison Aurora bookings vs Calendly + WhatsApp.
Frequently Asked Questions
Does Aurora support Outlook or iCal instead of Google Calendar?
Currently, native integration is only available with Google Calendar. Outlook is on the roadmap. In the meantime, providers using Outlook can manually maintain their calendar in Aurora or use the Aurora→Google flow with a secondary Google account that syncs with their Outlook via tools like Microsoft Power Automate. For details on available integrations, please see the Official Google Calendar API documentation.
I have several calendars in my Google account. Does Aurora read them all?
No. Aurora only reads and writes on the calendar. primaryIf you want a secondary calendar (project, client, resource) to affect availability, change it to primary in Google or duplicate the relevant events to the primary calendar.
Does the end customer see the event details on Google?
Only if the customer provided an email address during the booking process. In that case, they receive a Google invitation with the title, time, location, and details of the assigned service provider. Without an email address, the customer sees nothing on Google—all communication takes place via WhatsApp.
Do historical quotes sync when you connect?
No. Syncing is prospective: it starts from the moment you connect and goes forward. Appointments created before you connect are not retroactively published to Google. If you need to migrate your historical calendar, export it from Aurora and import it to Google manually.
What happens if I revoke Aurora permissions from the Google security page?
Aurora detects the revocation at the next synchronization (typically within minutes) and marks the provider as Expired tokenExisting appointments remain, but no further changes are synced until the provider reauthorizes. This is a valid option if a provider leaves the company and you want to ensure their Google account no longer connects.
Is it safe? What does Aurora do with the tokens?
OAuth tokens are stored encrypted in the tenant's database, refresh automatically, and are never exposed to the frontend or other tenants. Aurora only requests the minimum necessary scopes (read/write access to the primary calendar) and does not access Gmail, Drive, or the Google account outside of Calendar. When a provider is removed from the workspace, their tokens are deleted from storage. If your business operates under specific regulations (HIPAA, GDPR), review the DPA terms with your account manager before the rollout.

