The ERP system Odoo has built-in functionality to synchronize with Google Calendar, 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.
Google API credentials
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. 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.
OAuth consent screen
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.
Adding API Credentials
Go to the menu "Settings" - "General Settings" and activate the option Google Calendar. Save settings and then fill in the fields Client ID and Client Secret.
Connecting to Google by Odoo users
Now you can go to the Odoo Calendar app and activate synchronization by clicking on the GOOGLE button.
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.