> For the complete documentation index, see [llms.txt](https://docs.scaleconnect.com.au/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.scaleconnect.com.au/scaleconnect-docs/integrations/google-calendar.md).

# Google Calendar

Google Calendar is the scheduling backbone of ScaleConnect. Once connected, your calendar syncs with the platform — events appear in the top bar, availability is checked before booking, and meetings created in ScaleConnect are pushed to Google automatically. The integration powers the [Calendar Agent](https://github.com/scaleapp-au/scaleconnect-docs/blob/main/integrations/calendar-agent.md), availability checking in [AI Reviews](https://github.com/scaleapp-au/scaleconnect-docs/blob/main/integrations/ai-reviews.md), and the scheduling bot in [AI Workflows](https://github.com/scaleapp-au/scaleconnect-docs/blob/main/integrations/ai-workflows.md).

***

## Connecting Google Calendar

Setting up the integration takes less than a minute.

1. Open **Settings** from the sidebar.
2. Navigate to **Integrations**.
3. Find the **Google Calendar** card and click **Connect**.
4. A Google OAuth consent screen opens in a new window. Sign in with the Google account that owns your work calendar.
5. Grant ScaleConnect access to view and manage your calendar events.
6. You'll be redirected back to ScaleConnect. The Google Calendar card now shows a **Connected** badge with your Google account email.

![Google Calendar card in Settings > Integrations showing Connected badge with email](https://1103942972-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIVoALSAigc466POg2rP1%2Fuploads%2Fgit-blob-9bfb971cda1bf5bb244908cd1b439c837015f90c%2FSettings_Google_Calendar_Integrations.png?alt=media)

{% hint style="info" %}
Use the Google account that holds your primary work calendar. If you use Google Workspace, this is typically your company email. ScaleConnect connects to the primary calendar on the account — it doesn't currently support selecting a specific calendar from a multi-calendar account.
{% endhint %}

***

## What Syncs

Once connected, ScaleConnect and Google Calendar exchange data in both directions.

| Direction                 | What syncs                                                                                                                                                         |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Google → ScaleConnect** | Events from your Google Calendar for the next 14–30 days are pulled into ScaleConnect. Free/busy status is available for availability checks.                      |
| **ScaleConnect → Google** | Events created in ScaleConnect (via the Calendar Agent, AI Workflows, or manual booking) are pushed to your Google Calendar as new events.                         |
| **Updates**               | Changes to events in either system are synced. Reschedule a meeting in Google and it updates in ScaleConnect; cancel in ScaleConnect and it's removed from Google. |

The sync window covers the next 14 to 30 days of events. Historical events beyond this window are not imported. The focus is on your upcoming schedule — the data that matters for availability checking and meeting booking.

***

## Calendar in the Top Bar vs Google Calendar Panel

ScaleConnect has two calendar interfaces, and they serve different purposes. Both read from the same synced data, so they always show the same events.

### Top bar calendar

The calendar icon in the top navigation bar opens a modal with a date picker and a daily view of your schedule. This is the quick-glance interface — click it to see what's on for today or any upcoming day without leaving your current page.

* Date picker to jump to any day
* Daily timeline view showing event blocks
* Shows Google Calendar events (if connected) alongside ScaleConnect-created events
* Read-only — view your schedule but don't create events from here

### Google Calendar panel

The Google Calendar sidebar panel is the full scheduling workspace. Access it from the sidebar or from specific features (like the Book Meeting button on AI Reviews). It provides:

* **Event list** — scrollable list of upcoming events with details
* **Availability checker** — select a date and time range to see if you're free
* **Quick event creator** — create a new event with title, date, time, and attendees without leaving ScaleConnect
* **Sync status** — shows when the last sync occurred

Use the top bar for a quick schedule check. Use the panel when you need to book, check availability, or manage events.

***

## Availability Checking and Booking

The core value of the Google Calendar integration is knowing when you're free before booking a meeting. Every scheduling action in ScaleConnect — whether triggered by you, the Calendar Agent, or the scheduling bot — checks your Google Calendar first.

### How availability checking works

1. A meeting request is initiated (manually, via AI Review, or via workflow automation).
2. ScaleConnect queries your Google Calendar for the proposed time slot.
3. If the slot is free, the meeting is booked and the event is created in both systems.
4. If there's a conflict, ScaleConnect returns the conflicting event details and suggests alternative times based on your available slots.

### Booking through the Calendar Agent

The [Calendar Agent](https://github.com/scaleapp-au/scaleconnect-docs/blob/main/integrations/calendar-agent.md) uses Google Calendar as its scheduling backbone. When you click **Book Meeting** from an AI Review card or client detail page, the agent:

1. Identifies available time slots over the next 7–14 days
2. Proposes times to you (or sends options to the client, depending on your workflow)
3. Books the confirmed slot and creates the event in Google Calendar
4. Sends calendar invitations to attendees

### Booking through AI Workflows

The [scheduling bot](https://github.com/scaleapp-au/scaleconnect-docs/blob/main/integrations/ai-workflows.md) can automate booking based on triggers — for example, when a client enters the Month readiness tier, the bot checks your calendar and books a review meeting automatically. The bot respects your calendar — it will never double-book you.

{% hint style="info" %}
If you block out focus time or personal appointments in Google Calendar, ScaleConnect respects those blocks. Any event (including all-day events) that shows as "busy" in Google will prevent bookings in that slot.
{% endhint %}

***

## Two-Way Sync

The integration keeps ScaleConnect and Google Calendar aligned so you never have a scheduling mismatch.

### ScaleConnect → Google

When you create, update, or cancel an event in ScaleConnect, the change is written to Google Calendar immediately. This includes:

* New meetings booked through the Calendar Agent or sidebar panel
* Meetings created by AI Workflows and the scheduling bot
* Rescheduled or cancelled events

Your Google Calendar always reflects your full schedule, including meetings booked through ScaleConnect.

### Google → ScaleConnect

Events created or updated directly in Google Calendar are pulled into ScaleConnect during sync. This ensures that meetings you book outside of ScaleConnect (via email, phone, or Google Calendar directly) are visible in the platform and factored into availability checking.

### Manual sync

If you need events to update immediately — for example, you just booked a meeting in Google and want it reflected in ScaleConnect right away — click the **Sync Events** button on the Google Calendar integration card in Settings. This triggers an immediate pull of your latest Google Calendar data.

The integration card displays a **Last synced** timestamp so you can see when the most recent sync occurred.

| Sync type     | When it happens                                                              |
| ------------- | ---------------------------------------------------------------------------- |
| **Automatic** | Periodically throughout the day and when scheduling actions are triggered    |
| **Manual**    | When you click Sync Events on the integration card                           |
| **On-demand** | When the Calendar Agent or scheduling bot checks availability before booking |

***

## Managing Events

### Creating events

You can create events from two places within ScaleConnect:

1. **Google Calendar sidebar panel** — use the quick event creator to set a title, date, time, and optionally add attendees. The event is created in both ScaleConnect and Google Calendar simultaneously.
2. **Book Meeting flow** — from an AI Review card or client detail view, click Book Meeting to open the Calendar Agent scheduling flow. The agent handles time selection, conflict checking, and invitation sending.

### Viewing events

Events appear in three places:

* **Top bar calendar** — daily view for quick schedule checks
* **Google Calendar sidebar** — full event list with details
* **Google Calendar** — your native Google Calendar app or web interface

All three show the same events. Changes in any one are reflected in the others after sync.

### Updating and cancelling

Reschedule or cancel meetings from either ScaleConnect or Google Calendar directly. Changes sync in both directions. If you cancel a meeting in ScaleConnect, the Google Calendar event is removed. If you move a meeting in Google, ScaleConnect picks up the new time.

***

## Disconnecting

If you need to remove the Google Calendar integration:

1. Open **Settings** from the sidebar.
2. Navigate to **Integrations**.
3. On the **Google Calendar** card, click **Disconnect**.
4. ScaleConnect revokes the OAuth tokens and removes stored calendar data from the platform.

Disconnecting does not affect your Google Calendar itself — all events in Google remain untouched. However, ScaleConnect will no longer display Google Calendar events, check availability, or push new events to Google. Features that depend on the integration — the Calendar Agent, scheduling bot, and availability checking — will stop functioning until you reconnect.

{% hint style="info" %}
If you're switching Google accounts (e.g., moving from a personal to a company Google Workspace account), disconnect the current account first, then reconnect with the new account.
{% endhint %}

***

## Troubleshooting

### "Authorization code expired"

The OAuth token used to connect your Google account has expired. This can happen if the connection has been idle for an extended period or if Google revoked access.

**Fix:** Go to Settings → Integrations, disconnect Google Calendar, then reconnect by clicking Connect and completing the OAuth flow again.

### "User account not found"

This error appears when you try to connect Google Calendar before completing your ScaleConnect onboarding.

**Fix:** Complete the onboarding flow first — add your profile details and set up your account. Then return to Settings → Integrations to connect Google Calendar.

### Events not appearing in ScaleConnect

Google Calendar events may not appear immediately after connection or after creating events in Google.

**Fix:** Go to Settings → Integrations and click **Sync Events** on the Google Calendar card. This triggers an immediate pull. If events still don't appear, verify that the events are on the primary calendar of the connected Google account (not a secondary or shared calendar).

### Calendar not showing in the top bar

The top bar calendar only displays Google Calendar events when the integration is connected and has synced at least once. If the calendar icon shows but events are missing:

**Fix:** Verify the integration is connected (Settings → Integrations should show a "Connected" badge). If connected, click Sync Events. If not connected, complete the connection flow.

### Duplicate events

If you see the same meeting twice — once from Google and once from ScaleConnect — it may be because the event was created in both systems independently.

**Fix:** Delete the duplicate from one system. Going forward, create meetings through ScaleConnect (which pushes to Google) or through Google (which syncs to ScaleConnect), but not both at the same time for the same meeting.

***

<details>

<summary>Can I connect multiple Google accounts?</summary>

ScaleConnect currently supports one Google Calendar connection per user account. Connect the Google account that holds your primary work calendar. If you manage multiple calendars, ensure meetings are on the primary calendar of the connected account.

</details>

<details>

<summary>Does this work with Google Workspace (formerly G Suite)?</summary>

Yes. The integration works with both personal Google accounts and Google Workspace accounts. Your Workspace administrator may need to approve ScaleConnect as an authorised third-party app, depending on your organisation's security settings.

</details>

<details>

<summary>Are event details shared with clients?</summary>

No. The Google Calendar integration is used for availability checking and event management within ScaleConnect. Clients see meeting invitations if they're added as attendees, but they don't have access to your full calendar or other event details.

</details>

<details>

<summary>What permissions does ScaleConnect request?</summary>

ScaleConnect requests permission to view and manage events on your primary Google Calendar. This includes reading events (for availability), creating events (for booking), updating events (for rescheduling), and deleting events (for cancellations). It does not access contacts, email, Drive, or other Google services.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.scaleconnect.com.au/scaleconnect-docs/integrations/google-calendar.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
