Sync meetings with Google/Outlook Calendar (two-way)
Once your Google Workspace or Microsoft 365 account is connected, CRM meetings become events in your calendar and your calendar events can be imported as activities, in both directions, without duplicating.
Calendar sync works over the same OAuth connection used for email (BYO model: the OAuth app belongs to your organization). It runs in two directions, both restricted to your own account.
Prerequisite: grant calendar access
When you connect Google Workspace or Microsoft 365, the CRM now also requests calendar permission (Google: calendar.events; Microsoft: Calendars.ReadWrite), in addition to email. If you had already connected the account BEFORE this update, the connection does not include the calendar: open Settings → Integrations, click "Reconnect" on the provider card and grant the calendar permission. The card then shows "Syncing".
CRM → Calendar (send meetings)
Every activity of type "meeting" with a date and time is sent automatically to your calendar when you create or edit it (best-effort, in the background). The CRM keeps the link to the event, so editing the meeting in the CRM UPDATES the same event instead of creating a new one.
You can also send manually: in the activity list, click the 🗓️ icon next to a meeting to add it to your Google/Outlook. The icon only appears when you have a calendar connected. (The 📅 icon still exists to download the standalone .ics file.)
Calendar → CRM (import events)
- Open Settings → Integrations and find the connected provider card.
- In the "Calendar sync (two-way)" section, click "Import from calendar".
- The CRM reads recent events (from the last few days) and creates a meeting activity for each one, without duplicating those already imported.
Deduplication uses the provider's event id: importing again does not recreate meetings already pulled in, and a meeting you sent from the CRM is not re-imported as a copy.
Multiple calendars (for real availability)
Many people keep more than one calendar in the same account (personal, projects, team). So your public scheduling page reflects your REAL availability, you can import several calendars.
- By default the CRM keeps "Sync everything" on: it imports your primary calendar and future calendars automatically, exactly as before. Nothing changes if you do nothing.
- To pick and choose, turn off "Sync everything (email, calendar, meetings)" on the provider card. The account's calendars appear with a per-calendar switch — check the ones you want to import.
- If the list does not appear, click "Reload calendars" so the CRM fetches that account's calendars.
Several ACCOUNTS of the same provider (e.g. 3 Microsoft + 1 Google)
You can connect more than one account of the SAME provider (several Microsoft accounts, several Google accounts) and also mix providers. In Settings → Integrations, use "Connect another account" on the provider card; the consent screen lets you pick the account.
- Event import now pulls from ALL connected accounts, not just the oldest one. If one account has expired access, the others keep syncing normally.
- Each event stores its SOURCE account, so in the Agenda you can see which calendar it came from.
See your calendars in the Agenda (tabs per account, merged or separate)
On the Agenda screen, each calendar account becomes a colored tab at the top. You control what shows, and the preference is saved per user.
- Click the ✕ on a tab to HIDE that account's events from the view (this does not disconnect the account, it only hides; click again to show).
- Switch between "Merged" (all calendars combined in the week/month grid) and "Separate" (one column per account, side by side, with the period's events).
- The "Internal" tab gathers the CRM's own activities that did not come from an external calendar.
- Use the "+ Connect" shortcut to add more accounts straight from Settings → Integrations.
No connection? The feature stays inert
If you have not connected a calendar (or did not grant the calendar scope), nothing is sent or imported, and there are no errors in your workflow. The import button and the send icon only appear when there is an active calendar connection.
How to test
- CRM → Calendar: create an activity of type "meeting" with a date and time and check that it appears in your Google/Outlook Calendar within a few seconds.
- Edit that meeting in the CRM (change the time) and confirm that the SAME event was updated in the calendar. No duplicate event should appear.
- Calendar → CRM: in Settings → Integrations → provider card, click "Import from calendar" and check that recent events became meeting activities.
Troubleshooting
- The "Import from calendar" button and the send icon do not appear: there is no connection with the calendar scope. Open the provider card and click "Reconnect" to grant the calendar permission (Google: calendar.events; Microsoft: Calendars.ReadWrite).
- Meetings do not go to the calendar: confirm the activity is of type "meeting" and has a date AND time; without a time, it is not sent. Also check that the Google Calendar API (Google) or the Calendars.ReadWrite permission (Azure) is enabled in the OAuth app.
- Duplicate events when importing: deduplication uses the provider's event id; if you created the same meeting manually on both sides, they have no link. Delete the manual copy and let the CRM be the source.
- 403/insufficient permissions: the calendar scope was not granted, so reconnect and accept the calendar permission on the consent screen.