+1 (408) 320-0380

Google Calendar Sync

Google Calendar sync is available in extension. Manage your Calls, Meetings both in Google and EspoCRM Calendar.


  • The ability to monitor multiple calendars;
  • Syncing since specified date;
  • Syncing attendees;
  • The ability to choose what event types to sync;
  • Private events are not synced.

How to setup sync for administrator

Note, that the integration requires curl, libxml and xml PHP extensions installed. If any is not installed, you will be notified after saving.

At first, an Administrator has to set Google Integration. For this go to the Administration > Integrations > Google. Integration requires Client ID and Client Secret.

To find your project’s client ID and client secret, do the following:

  1. Go to the Google Developers Console.
  2. Select a project, or create a new one.
  3. On the Dashboard, check whether Google Calendar API is enabled. If it’s disabled, enable it.
  4. On the sidebar on the left, select Credentials.
  5. If you haven’t done so already, create your project’s OAuth 2.0 credentials by clicking Create new Client ID (Web Application), and providing the information needed to create the credentials. Get Redirect URL from EspoCRM Integration Page. If your Consent Screen is not configured, please set a Project Name in Configuration.
  6. Look for the Client ID and Client secret in the table associated with each of your credentials. Specify them in Google integration settings in EspoCRM.

How to setup sync for users

Now any user can create their own Google External Account (It is possible to do in User’s Profile, button External Accounts).

To enable sync check the box, connect to your Google Account and allow EspoCRM to work with your data.

Now you can configure sync settings.

Direction – types of sync. Possible types are “One-way: EspoCRM -> Google Calendar”, “One-way: Google Calendar -> EspoCRM”, and “Two-way”.

Sync since – events modified since set date will be loaded

Sync Entities and Identification Labels – types of entities you want to sync. For type recognizing, event name has to start from identification label. Label for default entity can be empty. Recommendation: Do not change identification labels after you saved sync setting

Default Entity – unrecognized event will be loaded as selected Entity.

Remove Google Calendar Event upon removal in EspoCRM – if you create event in Google Calendar, you can not delete it from EspoCRM (if you delete it in CRM, this event won’t be deleted in Google Calendar). If you check this box, it will allow to delete Google event from EspoCRM as well.

Don’t sync event attendees – by default attendees of calls and meetings are synced as well (identified by email address). You can disable this feature.

Main Calendar – all new events from EspoCRM will be created in this calendar, if you chose one of these directions: “One-way: EspoCRM -> Google” or “Two-way”).
This calendar will be monitored too.

Other Calendars – other monitored calendars.

Access control

Important: By default regular users don’t have access to Google Calendar integration. Administrator needs to enable access in Roles. The following scopes need to be enabled:

  • External Accounts
  • Google Calendar