Google Calendar Sync Setup
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
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
- Go to Dashboard → Integrations → Google Calendar
- Click Connect Google Calendar
- Select your Google account (or sign in if prompted)
- Review the permissions requested:
- View and edit events on all your calendars
- See your primary Google Calendar address
- Click Allow to grant access
- Choose which calendar to sync (primary or a specific calendar)
- 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.
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:
- Go to Integrations → Google Calendar → Settings
- Click Reset Sync
- Choose whether to keep or remove existing synced events
- 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.
Related Documents
WhatsApp Business Integration Guide
Connect WhatsApp Business, send messages, automate reminders, and manage templates
Email Integration & Templates
Configure email notifications, customize templates, and track delivery
Meesterlijke afsprakenplanning
Beheers afsprakenplanning, agendasynchronisatie en automatische herinneringen