Google Calendar Sync Setup

8 мин. чтения

Google Calendar Sync Setup

Keep your ClientFlow appointments and Google Calendar perfectly synchronized. This guide walks you through connecting your Google account, configuring sync preferences, and handling conflicts between the two systems.

Overview

ClientFlow's Google Calendar integration uses the official Google Calendar API with OAuth 2.0 authentication. Once connected, your appointments flow bidirectionally between ClientFlow and Google Calendar — create an appointment in either system, and it appears in both within minutes.

Benefits of Google Calendar sync:

  • Single source of truth — No more double-booking or missed appointments
  • Availability visibility — Personal events block time in ClientFlow automatically
  • Team coordination — Team members see each other's availability
  • Mobile access — View ClientFlow appointments in the Google Calendar mobile app
  • Smart notifications — Get Google Calendar reminders for ClientFlow appointments
Pro Tip: Google Calendar sync is available on all paid plans (Starter, Pro, Pro Duo, and Team). Free plan users can manually export individual appointments as .ics files.

Connecting Google Calendar

The connection process uses Google's secure OAuth 2.0 flow. You authorize ClientFlow to read and write calendar events — no password is shared.

Step-by-Step Setup

  1. Go to Dashboard → Integrations → Google Calendar
  2. Click Connect Google Calendar
  3. Select your Google account (or sign in if prompted)
  4. Review the permissions requested:
    • View and edit events on all your calendars
    • See your primary Google Calendar address
  5. Click Allow to grant access
  6. Choose which calendar to sync (primary or a specific calendar)
  7. Configure initial sync direction and click Complete Setup

Choosing the Right Calendar

If you have multiple Google Calendars, consider creating a dedicated "ClientFlow" calendar. This keeps business appointments separate from personal events while still allowing ClientFlow to check your personal calendar for availability conflicts.

Permissions Explained

ClientFlow requests the minimum permissions needed:

Permission Why It's Needed
View events Check availability and detect conflicts
Edit events Create, update, and cancel synced appointments
Calendar address Identify which calendar to sync with

Sync Settings

After connecting, configure how synchronization behaves. Navigate to Integrations → Google Calendar → Settings.

Sync Direction

  • Bidirectional (recommended) — Changes in either system are reflected in the other
  • ClientFlow → Google — Only push ClientFlow appointments to Google
  • Google → ClientFlow — Only pull Google events into ClientFlow

Sync Frequency

ClientFlow syncs with Google Calendar through two mechanisms:

  • Push sync — When you create or edit an appointment in ClientFlow, it is pushed to Google Calendar within seconds
  • Poll sync — ClientFlow polls Google Calendar periodically to catch changes made directly in Google. Default interval is every 5 minutes

What Gets Synced

Field ClientFlow → Google Google → ClientFlow
Title / Service name Yes Yes
Date and time Yes Yes
Duration Yes Yes
Location / Meeting link Yes Yes
Description / Notes Yes Yes
Client name Yes (in title) No (privacy)
Status (confirmed, cancelled) Yes Yes
Recurrence rules Yes Yes

Bidirectional Sync

Bidirectional sync is the recommended mode because it ensures both systems always reflect the latest state. Here is how it works in practice:

Creating Appointments

When you create an appointment in ClientFlow, it appears in Google Calendar within seconds. The Google Calendar event title includes the client name and service type (e.g., "John Smith - Deep Tissue Massage"). When you create an event in Google Calendar, it appears in ClientFlow as an unlinked appointment that you can optionally associate with a client.

Updating Appointments

Rescheduling an appointment in either system updates the other automatically. If you change the time in Google Calendar, ClientFlow detects the change on the next poll cycle and updates the appointment. If configured, the client receives a notification about the time change.

Cancelling Appointments

Deleting an event in Google Calendar marks the corresponding ClientFlow appointment as cancelled (not deleted — ClientFlow uses soft deletes). Cancelling in ClientFlow removes the event from Google Calendar. In both cases, cancellation notifications are sent to the client if enabled.

Availability Blocking

Personal Google Calendar events (vacations, doctor appointments, etc.) automatically block those time slots in ClientFlow. This prevents clients from booking during your unavailable times. You can control which calendars affect availability in the sync settings.

Conflict Resolution

When the same appointment is modified in both systems between sync cycles, a conflict occurs. ClientFlow handles this with a configurable conflict resolution strategy.

Resolution Strategies

  • ClientFlow wins (default) — ClientFlow's version takes priority. Best for businesses where ClientFlow is the primary scheduling tool
  • Google wins — Google Calendar's version takes priority. Best if you primarily schedule through Google
  • Most recent wins — The most recently modified version takes priority, regardless of which system it was modified in
  • Manual resolution — You are notified of the conflict and choose which version to keep

Conflict Notifications

When a conflict is detected, ClientFlow logs it in Integrations → Google Calendar → Sync Log. If you have chosen manual resolution, you will also receive a notification in your dashboard with a side-by-side comparison of the conflicting versions.

Pro Tip: For most users, "ClientFlow wins" is the safest option. It ensures that your business scheduling logic (buffer times, service durations, client associations) is always preserved.

Troubleshooting

Common Issues

Problem Cause Solution
Sync stopped working Google OAuth token expired Reconnect from Integrations page
Events appear duplicated Multiple calendars syncing the same events Ensure only one calendar is selected for sync
Google events not appearing in ClientFlow Sync direction set to "ClientFlow → Google" only Change to bidirectional sync
Personal events visible to team Primary calendar synced with full details Use a dedicated business calendar or enable "availability only" mode
Time zone mismatch Different time zones in Google and ClientFlow Ensure both use the same time zone in settings
Recurring events not syncing Complex recurrence rules not supported Simplify recurrence pattern or create individual events

Checking Sync Status

View the sync log at Integrations → Google Calendar → Sync Log. This shows:

  • Last successful sync timestamp
  • Number of events synced in each direction
  • Any errors or conflicts encountered
  • Token refresh status

Resetting the Sync

If sync issues persist, you can perform a full reset:

  1. Go to Integrations → Google Calendar → Settings
  2. Click Reset Sync
  3. Choose whether to keep or remove existing synced events
  4. The system will re-synchronize all appointments from scratch

A full reset typically resolves issues caused by corrupted sync state or missed events. It does not affect your appointments in either system — it simply re-establishes the link between matching events.

Pro Tip: If you also use iCloud Calendar, ClientFlow supports that too via CalDAV. You can sync with both Google Calendar and iCloud simultaneously, but be careful to avoid creating circular sync loops.
Was this helpful?