Outlook mail
Mail sent from Odoo through your Microsoft 365 account using OAuth, with replies logged against the lead, customer, order or ticket.
In most established businesses Microsoft 365 is not a choice, it is the environment. Outlook is where work arrives, Teams is where it gets discussed, and SharePoint is where the agreed version lives.
Connecting Odoo to that environment is less about features than about removing a reason to avoid the ERP. If the quotation can be emailed from Outlook’s account and the signed copy sits in SharePoint against the customer, people use the system instead of working around it.
Businesses running Odoo with OdooBots
Odoo Microsoft 365 integration ties Outlook mail and calendar, Teams, SharePoint and OneDrive to Odoo records, with Microsoft Entra as the sign-in. Mail is sent through Outlook using OAuth and logged against the record, calendars sync both ways, Teams meeting links are generated on scheduled meetings, SharePoint and OneDrive documents are linked to customers and projects rather than copied, and users sign in with their work account.
SharePoint permissions and Odoo record permissions are two different systems. A document linked from a record is still governed by SharePoint, so access has to be checked in both places rather than assumed from one.
Six parts of Microsoft 365 connect to Odoo, and together they remove the reasons people avoid opening the ERP.
Mail sent from Odoo through your Microsoft 365 account using OAuth, with replies logged against the lead, customer, order or ticket.
Two-way synchronisation of meetings and activities with attendees, so a visit booked in either system appears in the other.
Teams meeting links generated on scheduled meetings, and notifications of record changes posted to the channel that cares about them.
Documents linked to the customer, project or order they belong to, keeping SharePoint permissions and version history intact.
Odoo data exported into Excel for the analysis finance teams will do there anyway, and structured imports back in where that is the working method.
Users signing into Odoo with their Microsoft work account, so joiners and leavers are handled in one directory rather than two.
A quotation is sent from Odoo and leaves through the Outlook account the customer already recognises. The reply lands back on the opportunity. The follow-up meeting is in Outlook Calendar with a Teams link, and on the Odoo activity list. The signed order goes into SharePoint where contracts live, linked to the customer record rather than copied, so the permissions stay exactly as your IT team set them.
Mail sent through OAuth rather than a stored password
Calendar synced both ways, with a rule for who wins on a clash
Teams links on meetings and channel notifications where they are useful
SharePoint documents linked to records, with permissions left in SharePoint
Sign-in through Entra, so leavers are handled in one place
These are the decisions that are cheap to make now and painful to reverse once two systems have been exchanging records for a month.
Organisation-level approval so the integration covers everyone. This usually needs your IT team and is worth starting first.
Which side wins when a meeting is edited in both, decided before two-way sync is enabled.
Which mail attaches to which records, and what stays private. Teams rarely want everything logged.
Where customer and project documents live and who can open them, agreed before linking starts.
Who can see a linked document is decided by SharePoint, not by the Odoo record. Both need checking.
Whether Entra becomes the only route into Odoo, and how contractors or shared accounts are handled.
What happens to synced calendars, logged mail and linked files when someone leaves the organisation.
We would rather say this before you buy licences than after. These are the areas where we scope real development, recommend a different tool, or tell you the connector will not reach.
Editing stays in Microsoft 365. Odoo holds the link and the business context, which is the right split.
Archiving every email into the ERP is possible, rarely wanted, and usually a compliance question for a different tool.
Notifications and meeting links work well. Running your full ERP workflow inside Teams needs real custom development.
Flows can call Odoo’s API, but a flow nobody owns is the same fragile integration as any other and needs the same error handling.
Two-way live sync with a workbook is fragile by nature. Scheduled export and structured import is the dependable version.
Older on-premise Exchange behaves differently from Microsoft 365 and needs its own assessment.
Connecting Microsoft 365 to Odoo is less about the connector than about agreeing what is true where, and what happens when a record will not go through.
Understand which Microsoft 365 services your team uses, whether you have tenant admin access, and where documents are expected to live.
Agree tenant consent, the calendar conflict rule, logging scope, the SharePoint structure and the sign-in policy before anything is connected.
Connect Microsoft 365 to Odoo using the standard connector where one fits, and build only what the connector genuinely cannot reach. See Odoo customization.
Your records, in a test database, including the awkward ones — the cancelled order, the partial refund, the product that exists on one side only.
A queue for failed records with a named owner and an alert, because an integration nobody watches diverges quietly and the divergence is found at audit.
Cutover with a reconciliation on both sides, then hypercare, then ongoing support and AMC.
We do not publish one integration price, because the same connector costs very differently depending on the factors below. We do publish what moves the number, and the price is fixed in writing before work starts.
We start a Microsoft 365 integration with your IT team and tenant consent rather than with a connector, because an integration that only works for the person who installed it is the usual outcome otherwise.
Product capabilities stated on this page are documented by Odoo. The mapping advice, failure handling and limitations come from our own integrations.
Tell us whether you have tenant admin access and where your documents live today. Those two answers decide the rollout, and the diagnosis call is free.