Skip to content

Calendar and Contacts Synchronization

Once the account is connected you can choose the sync direction, calendars, and the contacts group. Changes are transferred automatically every 10 minutes.

Calendar

  1. Open External Accounts → Google and enable the Calendar toggle.
  2. Fill in the key options:
Field What it does Recommendation
Direction (calendarDirection) Both, CRM → Google, Google → CRM. Start with Both; use Google → CRM for read-only imports.
Start date (calendarStartDate) Date from which Google changes are pulled. Set to yesterday to cover new and recently changed events.
Entities (calendarEntityTypes) Which activity types are synced (defaults: Meeting/Call). Keep only the entities you really use.
Default entity (calendarDefaultEntity) Type created in CRM for events originating in Google. Use Meeting for internal events.
Main calendar (calendarMainCalendar) Target calendar for writes from CRM. Select your primary calendar.
Monitored calendars (calendarMonitoredCalendars) Additional calendars to read (e.g., team calendar). Leave empty if a personal calendar is enough.
Other switches removeGoogleCalendarEventIfRemovedInEspo, dontSyncEventAttendees, calendarAssignDefaultTeam. Enable deletion only if CRM is the primary source of truth.

Recovering missing events

If some entries are missing, move Start date a few days back and save. The next job run will re-fetch them.

Contacts

  1. In External Accounts → Google enable the Contacts toggle.
  2. Pick the Group (contactsGroups). The integration allows only one active group.
  3. After saving, use the Push to Google action (record or mass) to send existing contacts/leads to the selected group.

Avoid personal groups

Create a dedicated Google group (e.g., “AutoCRM”) to separate business data from private contacts.

Gmail (optional)

  • Enable the Gmail panel and set gmailEmailAddress. The panel shows only if the mail host contains gmail. and Espo ≥ 5.6.
  • IMAP/SMTP uses OAuth2 – no password storage is needed.

How to tell it works

  • The SynchronizeEventsWithGoogleCalendar job runs every 10 minutes; you will see calendar updates in the logs.
  • For Contacts/Leads, the GoogleContacts link is created after a push and resourceName/etag are populated.