Skip to content

How to Connect Google Calendar to Odoo: Complete Sync Guide

DeployMonkey Team · March 23, 2026 9 min read

Why Sync Google Calendar with Odoo?

Most teams live in Google Calendar for scheduling but use Odoo for CRM, project management, and HR. Without integration, you end up with double-booked meetings, missed follow-ups, and calendar chaos. Odoo's built-in Google Calendar sync solves this by creating a two-way bridge between the two systems.

When properly configured, events created in either system appear in both. CRM meetings, project deadlines, and time-off requests from Odoo show up in Google Calendar. Personal events from Google Calendar block time slots in Odoo's scheduling views.

Prerequisites

  • Odoo 17 or 18 (Community or Enterprise)
  • Google Workspace or personal Google account
  • Admin access to both Odoo and Google Cloud Console
  • Your Odoo instance must be accessible via HTTPS (required for OAuth redirect)

Step 1: Create Google Cloud OAuth Credentials

Google requires OAuth 2.0 credentials for calendar API access. Here is how to set them up:

  1. Go to Google Cloud Console (console.cloud.google.com)
  2. Create a new project or select an existing one
  3. Navigate to APIs & Services → Library
  4. Search for Google Calendar API and enable it
  5. Go to APIs & Services → Credentials
  6. Click Create Credentials → OAuth 2.0 Client ID
  7. Set application type to Web application
  8. Add your Odoo URL as an authorized redirect URI: https://your-odoo.com/google_account/authentication
  9. Copy the Client ID and Client Secret

Step 2: Configure Odoo Google Calendar Settings

  1. In Odoo, go to Settings → General Settings
  2. Scroll to the Integrations section
  3. Enable Google Calendar
  4. Paste your Client ID and Client Secret
  5. Click Save

Step 3: Authenticate Your Account

  1. Go to Calendar module in Odoo
  2. Click Sync with Google in the top-right corner
  3. You will be redirected to Google's OAuth consent screen
  4. Grant permission for Odoo to access your calendar
  5. After redirect, your calendars are linked

Each user must authenticate individually. The admin setup in Step 2 just enables the feature — each user connects their own Google account.

Step 4: Configure Sync Behavior

After authentication, configure what syncs:

SettingDescriptionRecommended
Sync directionOdoo→Google, Google→Odoo, or bothTwo-way
Sync frequencyHow often Odoo pulls from GoogleEvery 15 minutes
Calendar selectionWhich Google calendars to syncPrimary calendar only

What Gets Synced

  • Event title, date, time, and duration — fully synced both ways
  • Attendees — mapped to Odoo contacts when email matches
  • Description — synced as plain text
  • Recurrence — recurring events sync with their pattern
  • All-day events — supported in both directions
  • Reminders — not synced (each platform uses its own)

Troubleshooting Common Issues

Events Not Syncing

Check that the Google Calendar API is enabled in your Cloud Console project. Verify OAuth credentials have not expired. In Odoo, go to Settings → Technical → Google Calendar Tokens and check the token status. If expired, disconnect and re-authenticate.

Duplicate Events

This happens when you import events manually and then enable sync. Odoo matches events by Google Event ID — manually imported events lack this ID. Solution: delete the duplicates in Odoo and let sync recreate them.

OAuth Redirect Error

The redirect URI in Google Cloud Console must exactly match your Odoo URL, including the protocol (https) and path. No trailing slash. If your Odoo runs behind a reverse proxy, ensure the proxy_mode = True setting is enabled in your Odoo config.

Sync Stops After a Few Days

Google OAuth tokens expire. Odoo should refresh them automatically, but if your server clock is significantly off or there is a network issue during refresh, the token can become invalid. Re-authenticate from the Calendar module to fix this.

Best Practices

  • Use a dedicated Google Workspace account for company-wide calendar resources
  • Set sync frequency to 15 minutes — more frequent causes API quota issues
  • Train users to create CRM meetings in Odoo (they auto-sync to Google) rather than Google (which syncs as plain events without CRM context)
  • Periodically audit sync status in Settings → Technical → Google Calendar Tokens

DeployMonkey Makes It Easier

DeployMonkey instances come with HTTPS configured out of the box, so OAuth redirects work immediately. Our AI agent can walk you through the Google Cloud Console setup and verify your configuration is correct — just ask it to help connect Google Calendar.