Sync Google Calendar with OctopusPro (Two-Way Calendar Sync)
OctopusPro’s Google Calendar sync keeps your team’s schedule aligned across platforms—so you can dispatch confidently, reduce manual admin, and avoid double-bookings.
- Push OctopusPro bookings to Google Calendar so fieldworkers can see job appointments alongside their personal schedule.
- Import Google Calendar events into OctopusPro to block availability (busy time) and prevent scheduling conflicts.
- Real-time syncing is triggered whenever an event is created, edited, or deleted on either side.

Table of contents
- How the sync works (what’s two-way vs one-way)
- What gets synced (and what does not)
- What you’ll see in Google Calendar (booking details)
- Control what gets pushed (booking status rules)
- Sync unavailable time blocks
- Sync your business Google Calendar (General Fieldworker)
- Sync fieldworkers’ Google Calendars
- How admins can view Google events inside OctopusPro
- How fieldworkers connect (web portal)
- Access multiple calendars & choose what to display
- Disconnect Google Calendar sync
- Google Workspace: use a Private Google API (advanced)
- Private Google API vs OctopusPro Google API
- Troubleshooting & FAQs
- Related guides
How the sync works (what’s two-way vs one-way)
The sync is triggered whenever an event is created, edited, or deleted on either side. However, the behavior depends on where the event was created:
- Bookings created in OctopusPro → Google Calendar (one-way for booking changes)
OctopusPro pushes booking appointments to Google Calendar in real time. If you edit or delete those OctopusPro-created appointments directly in Google Calendar, the booking in OctopusPro will not be updated. For consistency, always edit booking details in OctopusPro. - Events created in Google Calendar → OctopusPro (two-way reflection for availability)
Google Calendar events are imported into OctopusPro and appear as busy/unavailable time blocks to prevent scheduling conflicts. When those Google events are updated or deleted, the changes are reflected in OctopusPro.
Important: Google Calendar events do not create bookings in OctopusPro. They only block availability so you don’t double-book your team.
Data limits: To reduce sync load, OctopusPro syncs future events between Google and OctopusPro calendars (not historical events).
Time zone note: Booking times shown in Google Calendar may follow your OctopusPro date/time configuration (for example, customer time zone). If needed, review your settings here: Date & Timezone Configuration.
What gets synced (and what does not)
- OctopusPro → Google Calendar: bookings/appointments (based on your booking status rules and fieldworker authorization).
- Google Calendar → OctopusPro: Google events imported as calendar events that block availability (busy time).
- Not synced as bookings: Google events never become OctopusPro bookings/jobs.
Once a fieldworker grants permission, OctopusPro may create a dedicated calendar inside their Google account (typically named using your company name) to store OctopusPro booking appointments separately from personal events.
What you’ll see in Google Calendar (booking details)
When a booking is pushed from OctopusPro to Google Calendar, the Google event can include the following booking details:
- Booking status
- Fieldworker/technician name
- Currency symbol and booking amount
- Suburb (where applicable)
- Scheduled start/end times (based on your time zone configuration)
- Customer name (and business name for business clients)
- Customer contact information
- Booking address (up to three addresses)
- Service name and description
- Customer properties/dependents linked to the booking (if used)
- Who created the appointment and when
- Unavailable events added to your calendar (if enabled/used)
Best practice: If you only want confirmed work to show on Google Calendar, use the booking status rules below so drafts/tentative bookings don’t push too early.
Control what gets pushed (booking status rules)
When creating or editing booking statuses, you can control whether bookings in that status should sync with Google Calendar using the status flags.
Where to configure: Settings → General Settings → Booking Settings → Booking Statuses


- Push to Google Calendar: Push bookings in this status to the assigned fieldworker’s Google Calendar (only works if the fieldworker has authorized the sync).
- Delete from Google Calendar: Remove the Google event when the booking is deleted in OctopusPro or reassigned to a different fieldworker (requires authorization).
Recommended setup examples:
- Enable Push to Google Calendar only for statuses like Scheduled / Confirmed / In Progress.
- Enable Delete from Google Calendar for Cancelled (and when a booking is deleted/reassigned).
Need to resend a booking to Google Calendar? Use the manual push workflow (useful if a fieldworker connected after the booking was assigned): Manual Push Bookings to Fieldworker Google Calendar.
Sync unavailable time blocks
When you create an Unavailable time block in OctopusPro, it can sync to Google Calendar (as long as the selected fieldworker has connected their Google Calendar with OctopusPro).
- From the admin or fieldworker web portal, open Calendar.

- Click any date on the calendar, then select Add unavailable time.

- Select the fieldworker, enter the title/reason, choose All day or a time range, then click Save.

Sync your business Google Calendar (General Fieldworker)
If your business uses a shared Google Calendar (dispatch/office calendar), you can sync it by connecting your business Google Calendar to the General Fieldworker profile. This profile is commonly used as the “default business calendar” connection.
Option A: Connect from the General Fieldworker profile (admin workflow)
- Log in as an Admin.
- Open the General Fieldworker profile.
- Click Actions → Send Google Calendar authorization email.
- Send the email, then click Grant Permission from the received email to authorize access.

Option B: Connect from the Calendar view (quick workflow)
- Open Calendar and click Filters.
- Select General Fieldworker and click Filter.
- Click Send invitation to connect Google Calendar to OctopusPro (shown near the top of the calendar).
- Send the email invitation and complete Grant Permission from the email.

Sync fieldworkers’ Google Calendars
Syncing each fieldworker’s Google Calendar gives dispatchers real visibility of availability (personal appointments, external commitments, subcontractor work), helping prevent double-bookings.
- Fieldworkers must grant permission using their Google login.
- Each fieldworker can connect to one Google account at a time.
- Multiple fieldworkers can connect to the same Google account (useful for shared/team calendars).
Connect as an admin (from a fieldworker profile):
- Go to Fieldworkers and open the fieldworker profile.
- Click Actions → Send Google Calendar authorization email.
- Send the email. The fieldworker clicks Grant Permission to complete the connection.

Or connect from the Calendar view (after filtering a fieldworker):
- Open Calendar → Filters, select the fieldworker, then click Filter.
- Click Send invitation to connect Google Calendar to OctopusPro near the top of the calendar.
- Send the email invitation and complete Grant Permission.

How admins can view Google events inside OctopusPro
After a fieldworker grants permission, admins can view their combined schedule (OctopusPro bookings + imported Google busy/unavailable blocks):
- Go to Calendar.
- Click Filters.
- Select the fieldworker and click Filter.
Note: Google Calendar events appear as availability blocks (busy time). They do not appear as bookings.
More details here: View Fieldworker Google Calendar from OctopusPro.
How fieldworkers connect (web portal)
Fieldworkers can connect their own Google Calendar from the web portal (and in some accounts, from the mobile app). The typical web portal flow is:
- Log in to the fieldworker account on the web portal and open Calendar.
- Click the Sync calendar link shown at the top of the page.
- Sign in to Google (if prompted).
- Grant the requested permissions to complete the connection.
- After syncing, the connected Google email address is shown at the top of the OctopusPro Calendar page.
Permissions explained (what Google will ask for):
- Access to view the list of calendars in the Google account (so a fieldworker can choose which calendars to display).
- Access to create/manage events for the OctopusPro-created calendar (so bookings can be pushed).
- Access to view events on selected calendars (so busy time can block availability in OctopusPro).
Access multiple calendars & choose what to display
Google Calendar supports multiple calendars (personal, work, client-specific, etc.). After connecting, fieldworkers can choose which Google calendars they want to display inside OctopusPro.
- On the fieldworker’s Calendar page, click the option to modify (often shown as “Click here to modify”).
- Select one or multiple calendars from the dropdown list, then Save.
- Admins can view the calendars a fieldworker selected when reviewing that fieldworker’s schedule in OctopusPro.
Disconnect Google Calendar sync
Fieldworkers can disconnect Google Calendar syncing at any time from the top of their Calendar page (web portal) using the Disconnect syncing link. A confirmation prompt will appear before disconnecting.
Tip: If a fieldworker changes their Google account or loses access, disconnect and reconnect to re-authorize the correct account.
Google Workspace: use a Private Google API (advanced)
If your business uses Google Workspace and you want to connect calendars under your domain using your own Google Cloud project, you can set up a Private Google API. This is useful when you want organization-level control over authorization and governance.
Advantages of Private Google API:
- Many staff are already familiar with Google Calendar, reducing training.
- Confidence that schedules are always up to date across systems.
- Smoother workflows when multiple team members collaborate on jobs.
Step 1: Enable Private Google API in OctopusPro
- Go to Settings → Company Settings → Integrations (API).
- Choose New Developer Integrations (API).
- Select Google Workspace (may appear as “Google G Suite”).
- Select Use private Google API, then click Save.
Step 2: Set up the Google Cloud project (Google API Console)
- Open the Google API Console.
- Select an existing project or create a new one (example name: “Gmail and Calendar API”).
- Go to APIs & Services → Dashboard → Enable APIs and Services.
- Enable Google Calendar API. (If you also use Gmail features in OctopusPro, you may enable Gmail API as needed.)
Step 3: Configure OAuth consent screen
- Go to APIs & Services → OAuth consent screen.
- Enter your app information (example app name: “OctopusPro Google Workspace Application”).
- Add the required scopes for Calendar access (examples commonly used):
- …/auth/calendar
- …/auth/calendar.readonly
- …/auth/calendar.events
- …/auth/calendar.events.readonly
- …/auth/calendar.settings.readonly
Step 4: Create OAuth credentials (Client ID + Client Secret)
- Go to APIs & Services → Credentials → Create Credentials → OAuth client ID.
- Set Application type to Web application.
- Under Authorized redirect URIs, add this exact URL:
https://admin.octopuspro.com/getAuthKey - Click Create, then copy the Client ID and Client Secret.
Step 5: Enter credentials in OctopusPro
- Return to Settings → Company Settings → Integrations (API).
- Select Google Workspace and ensure Use private Google API is enabled.
- Paste the required values (Client ID/Secret and any required fields) and save.
What happens next? After saving your Private API configuration, OctopusPro can automatically email active fieldworkers to request permission to sync their calendars (depending on your account configuration).
Private Google API vs OctopusPro Google API (what’s the difference?)
- Private Google API (Google Workspace): Designed for organizations that want to connect calendars under their domain through their own Google Cloud project and governance.
- OctopusPro Google API: Designed for connecting accounts individually. Useful if only some users/fieldworkers should sync, or if you don’t use Google Workspace across the entire organization.
Admin option (OctopusPro Google API): If you’re using the OctopusPro Google API method, admins can trigger authorization emails to active fieldworkers who haven’t synced yet (via Settings → Company Settings → Integrations (API) → Google Workspace/Google G Suite, using the OctopusPro Google API option).
Troubleshooting & FAQs
1) Why don’t I see Google Calendar events in OctopusPro?
- Confirm the fieldworker completed Grant Permission.
- Open Calendar → Filters, select the fieldworker again, and re-apply the filter.
- Remember: Google events appear as busy/unavailable blocks, not bookings.
2) I edited an OctopusPro booking event in Google Calendar—why didn’t it update in OctopusPro?
- OctopusPro bookings sync one-way (OctopusPro → Google) for booking changes. Edit the booking in OctopusPro to keep both systems aligned.
3) Will old/past Google events sync?
- To reduce sync load, OctopusPro syncs future events between calendars.
4) Bookings aren’t appearing in a fieldworker’s Google Calendar
- Confirm the fieldworker is connected and authorized.
- Confirm your booking status has Push to Google Calendar enabled.
- If the booking was assigned before the fieldworker connected, use: Manual Push to Google Calendar.
Related guides
- Google Calendar Integration with OctopusPro (Overview)
- View Fieldworker Google Calendar from OctopusPro
- Manual Push Bookings to Fieldworker Google Calendar
- Manage Booking Statuses (Push/Delete to Google Calendar flags)
- Calendar – Scheduling and Dispatching
- Filter Calendar by Fieldworker (Technician)
- Fieldworker Calendar & Availability (Google/Outlook Sync)
- Date & Timezone Configuration
- Filter Calendar by Booking Status
- Service Booking Management (Bookings Overview)
To stay updated, please subscribe to our YouTube channel.
