The Odoo calendar sync with Google Calendar functionality is built into this ERP system, but often the setup process is quite complicated and requires additional, more detailed explanations.
In this post, we have tried to cover all configuration steps and show the connection process for the latest Odoo version 16.0.
To connect Google Calendar with Odoo, go by the link Google Cloud and create a new project or select an existing one.
The next action is Enable APIs and Services.
You need to select the Google Calendar API and enable it.
Now click on the "Create Credentials" to get API Client ID and Secret.
This process contains four steps, choose credential type as User data at the first step, then click on the "Next".
Add an app name and your e-mail address to the fields User support email and Developer contact information on the second step, after that, click on the Save and Continue button.
You can skip the third step by clicking on Save and Continue.
On the fourth step, choose the application type as Web application, and provide a name for your OAuth2 client like "Odoo sync Google calendar" or another one. Click on the Add URI and specify your Odoo domain.
Repeat the same in the Authorized redirect URIs section, but do not forget adding the following path
/google_account/authentication after your domain name.
Click to Create after you have finished. Credentials will be created, and you should go to the tab Credentials and copy the Client ID and Client Secret values.
The important thing is allowing to use this Google API app for another Odoo users. You have two options to provide access to the app:
Restricted access for specific e-mails. In this case, you need to add all e-mail addresses to the test users list. You can do it in the "OAuth consent screen" settings page by adding e-mails in the "Test users" section.
Allow your app for any Google user. It requires publishing your app and switch it to the production mode.
After these actions, we could continue with Odoo settings.
Go to the menu "Settings" - "General Settings" and activate the option Google Calendar to initiate Odoo google calendar integration. Save settings and then fill in the fields Client ID and Client Secret.
Odoo calendar sync google process can be started by clicking on the GOOGLE button from the Odoo Calendar app.
Click on Connect in the popup window.
If you app in the testing mode, you will see these consent screens, choose Continue on the both of them.
The consent windows could differ if the app is in the production mode, but you should allow using this app as well.
Error 403: access_denied, check settings one more time as described at OAuth consent screen.
Calendar events will be synchronized with Google Calendar in both directions. Please note that when you create a calendar event on the Odoo side, it appears immediately on the Google calendar, and the opposite process may take some time. These Odoo Google calendar sync features should be taken in account while using this integration.