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¶
- Open External Accounts → Google and enable the Calendar toggle.
- 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¶
- In External Accounts → Google enable the Contacts toggle.
- Pick the Group (
contactsGroups). The integration allows only one active group. - 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 containsgmail.and Espo ≥ 5.6. - IMAP/SMTP uses OAuth2 – no password storage is needed.
How to tell it works¶
- The
SynchronizeEventsWithGoogleCalendarjob 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/etagare populated.