Reference: Outlook Integration¶
Detailed view of the data links and automation behind the Outlook module. Focuses on integration management, scheduled jobs, and data flows to/from Microsoft 365/Outlook.com.
Architecture & Flows¶
flowchart LR
U["User connects Microsoft account<br/>OAuth 2.0"] --> EA["External Outlook Account"]
EA --> CalJob["Job 'SyncOutlookCalendar'<br/>*/10 minutes"]
CalJob <--> CRMEvents["Meetings & Calls in CRM"]
CalJob <--> Graph["Microsoft Graph / Outlook Calendar"]
EA --> ContactsPush["'Push to Outlook' action"]
ContactsPush --> People["Outlook Contacts API"]
EA --> MailOAuth["OAuth2 IMAP/SMTP<br/>Outlook/Office365"]
Data Objects & Links¶
| Object | Purpose | Linkage |
|---|---|---|
External Outlook account (ExternalAccount) |
Stores OAuth tokens and user settings for calendar/contacts/mail. | Linked to User; Outlook integration. |
| Meetings / Calls | Primary entities synchronized to Outlook calendars. | Updated by the SyncOutlookCalendar job. |
| Contacts / Leads | Can be sent manually to Outlook via the "Push to Outlook" action. | Calls the OutlookContacts/action/push endpoint. |
| Email accounts | IMAP/SMTP configuration uses modern OAuth; the "Outlook" panel shows only when host contains office365. or .outlook.com. |
Controlled by outlook:inbound-email-dynamic-handler. |
Configuration Fields¶
- Integration credentials (admin):
clientId,clientSecret,tenantfrom the Azure AD (Microsoft Entra ID) app registration. Entered under Integrations → Outlook. - User profile: connect the account via External Accounts → Outlook; once connected, calendar/contacts/mail panels become available.
Automation & Jobs¶
SyncOutlookCalendar(cron:*/10 * * * *) – synchronizes events between CRM and Outlook calendar. Created on install and removed on uninstall.- Push to Outlook action – available on Contact/Lead record and mass actions; uses
OutlookContacts/action/push. - Dynamic Outlook panel on inbound email/account records shows only in detail mode and only when host detection matches
office365.or.outlook.com.
Security & Constraints¶
- Authentication uses OAuth 2.0 (Microsoft identity platform); passwords are not stored in CRM.
- Outlook panels are hidden while editing email accounts to avoid interfering with configuration.
- Keep the default 10-minute schedule; shorter intervals risk Microsoft Graph throttling.