Odoo Integrations
Odoo and Microsoft 365
Odoo's Microsoft support is narrower than most people assume. Calendar and mail authentication ship natively in Community. SharePoint, OneDrive and Teams have no module in either edition, so anything involving them is a build or a third-party app.
Part of our guide to Odoo Integrations
What is native, verified
Checked against the Odoo 19 addons:
microsoft_calendar, in Community. Two-way calendar sync.microsoft_outlook, in Community. OAuth authentication for outgoing mail.mail_plugin, in Community. The base for the Outlook side panel that surfaces Odoo records next to an email.- SharePoint, OneDrive, Teams: no module, either edition.
That last line does most of the work in scoping a Microsoft-heavy environment, because those three are usually what people mean when they say "we run on Microsoft".
Calendar
Configured through an app registration in Entra ID, with each user then connecting their own account.
The per-user step is the one that derails rollouts. An administrator sets it up, sees it working, and announces it. Everyone else has to connect individually, and until they do their meetings do not sync, with no obvious signal that anything is missing.
As with Google, the sync covers meetings rather than everything. Odoo activities, the reminders attached to records, are a separate concept and do not become calendar entries.
Microsoft retired basic authentication for Exchange Online, which is why microsoft_outlook exists. It authenticates outgoing mail via OAuth instead of a stored password.
Configure it through an app registration with mail-sending permission. Two things that catch people: consent may need an administrator depending on tenant policy, and the sending account's limits still apply, so transactional mail is fine while anything resembling a campaign should go through a dedicated mail service.
The Outlook side panel
The mail plugin puts Odoo context beside an email in Outlook: who the sender is, their records, and the ability to log the message or create a lead.
It is genuinely useful for sales teams who live in their inbox, and it is worth setting expectations. It is a side panel showing Odoo data, not a synchronisation of mailboxes into Odoo. Emails do not automatically become records, and the value depends on people actually clicking the buttons.
SharePoint and OneDrive
No native module, so the routes are Odoo attachments, Enterprise Documents, or a custom build against the Microsoft Graph API.
Before building anything, examine the requirement. "Documents must be in SharePoint" is sometimes a genuine governance policy and sometimes habit. Where it is policy, a Graph integration is real work with real ongoing maintenance, and it should be scoped as a project rather than assumed as a setting.
Where it is habit, files attached to the Odoo record they belong to are usually better than files in a folder hierarchy that has to be kept in step with a record structure. The failure mode of the folder approach is a document that exists but that nobody can find from the order it relates to.
Teams
Also no native module, and covered separately in Odoo and Microsoft Teams. The short version is that most Teams requests are notification requests, and an incoming webhook satisfies them at a fraction of the cost of a real integration.
Single sign-on
Odoo supports OAuth authentication against Entra ID, so people sign in with their work account.
On a Microsoft-centred organisation this is usually the highest-value item on the list, ahead of any of the data integrations. One credential, and disabling a leaver's Microsoft account closes their Odoo access at the same moment rather than whenever somebody remembers.
Keep the grants narrow
Each integration is an app registration with permissions, and those permissions persist until revoked.
Grant the minimum each one needs and keep them separate. One registration holding calendar, mail and file permissions because it was convenient to configure once is a single credential whose compromise reaches everything, which is the pattern warned about in integration mistakes.
FAQ
Questions, answered.
Does Odoo integrate with Microsoft 365 natively?
Partly. The microsoft_calendar and microsoft_outlook modules ship in Odoo 19 Community, covering calendar sync and OAuth authentication for mail. There is no native SharePoint, OneDrive or Teams module in either edition.
Can Odoo send email through Microsoft 365?
Yes. The microsoft_outlook module authenticates outgoing mail via OAuth, which is what Microsoft now requires since basic authentication was retired for Exchange Online.
Can Odoo store documents in SharePoint?
Not natively. There is no SharePoint module in Odoo 19, so the options are Odoo's own attachments, Enterprise Documents, or a custom integration against the Microsoft Graph API.
Keep reading
More on Odoo Integrations.
The full guide, plus the other articles in this cluster.
With CODEerts
Want your systems talking properly?
We are certified Odoo partners. We connect Odoo to stores, payment providers, messaging and reporting tools, and we maintain those connections through upgrades.
See how we can helpBook a callReady to make Odoo work the way your business does?
Book a free callCODEerts is a team of certified Odoo partners and full-stack engineers. We implement, customise and support Odoo ERP, then build the software around it.