Google Integration¶
The Google Integration module links AutoCRM with Google Calendar, Google Contacts, and Gmail. It provides two-way event sync, controlled contacts sync, and OAuth2-based access to mailboxes without storing passwords inside CRM.
Module Overview¶
flowchart LR
CRM["AutoCRM<br/>Meetings/Calls<br/>Contacts/Leads"] <--> GCal["Google Calendar"]
CRM <--> GCon["Google Contacts"]
CRM --> GGmail["Gmail IMAP/SMTP<br/>OAuth2"]
classDef crm fill:#f7f7f7,stroke:#111;
classDef g fill:#fff,stroke:#4285F4;
class CRM crm;
class GCal,GCon,GGmail g;
When to use¶
- you need business calendars and contacts available in Google/mobile apps,
- you want Gmail connectivity without "less secure apps",
- you need auditable and manageable data flows between CRM and the Google ecosystem.
Key capabilities¶
- Calendar: two-way sync of meetings/calls (direction control, calendar selection, duplicate control via
googleCalendarEventId). - Contacts: sync of a selected Google group; manual push from record or mass action.
- Gmail: OAuth2 IMAP/SMTP with a dedicated panel on email account details.
Core objects¶
| Entity | Description | API |
|---|---|---|
| External Google account | OAuth tokens and per-user settings for calendar, contacts, Gmail. | ExternalAccount |
| Google calendar | Local catalog of Google calendars and their IDs. | GoogleCalendar |
| Calendar assignment | Type (main/monitored), role, and sync tokens per user. | GoogleCalendarUser |
| Google contact pairing | Link between a CRM Contact/Lead and the Google card (resourceName, etag). | GoogleContactsPair |
Sync flows¶
flowchart TD
A["User connects account (OAuth2)"] --> B["External Google account"]
B --> C["Job \"SynchronizeEventsWithGoogleCalendar\"<br/>*/10 min"]
C <--> D["Meetings / Calls"]
C <--> E["Google Calendar"]
B --> F["Push to Google contacts"]
F <--> G["Google People API"]
- The user connects the account in External Accounts → Google.
- The scheduled job syncs meetings/calls every 10 minutes based on direction and calendar choices.
- Contacts/Leads can be pushed to Google manually ("Push to Google") into the chosen group.
- Gmail uses OAuth2 for IMAP/SMTP; the panel appears only for Gmail hosts.
Quick start¶
- Admin: create an OAuth client in Google Cloud Console and enter
clientId/clientSecretunder Admin → Integrations → Google. - Admin: verify the
SynchronizeEventsWithGoogleCalendarjob is scheduled (*/10 min). - User: connect the account via External Accounts → Google, enable products (Calendar/Contacts/Gmail), and pick the main calendar/group.
- Check: create a meeting in CRM and confirm it appears in Google Calendar; optionally trigger a manual contact push.
More sections¶
- Usage – connecting the account and configuring sync.
- Administration – Google Cloud app registration and global settings.
- Reference – data model, fields, jobs, and panel visibility rules.