Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Productivity
  3. Microsoft 365 Contacts Sync v 19.0
  4. Sales Conditions FAQ

Microsoft 365 Contacts Sync

by Atliis 360 https://atliis.com/
Odoo

$ 79.00

v 19.0 Third Party 3
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Versions 17.0 18.0 19.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Contacts (contacts)
• Discuss (mail)
Lines of code 895
Technical Name atliis_odoo_microsoft_sync
LicenseOPL-1
Websitehttps://atliis.com/
Versions 17.0 18.0 19.0
  • Description
  • Manifest
  • License
Atliis logo
Community Enterprise
Microsoft 365 Integration

Microsoft 365 Contacts Sync

Two-way sync: Odoo ↔ Microsoft 365 (Outlook Contacts)

Keep Odoo and Microsoft 365 Outlook Contacts in sync using Microsoft Graph API — with configurable instant or manual push, smart pull sync, duplicate prevention, and full sync status tracking on each contact.

Instant or Manual Push
Smart Pull
Scheduled Auto Pull
Per-User OAuth 2.0
Manual & Bulk Sync
No Duplicates
  • Overview
  • How to Use?
  • FAQ
  • Support
Key Features

Enterprise-grade contact sync between Odoo and Microsoft 365

Instant push on every save, smart pull with deletion detection, duplicate prevention across multiple users, and full visibility into sync status and errors on every contact record.

Instant or Manual Push

Enable Instant Sync to push every save — including new contact creation — to Microsoft 365 automatically. Disable it to queue changes and push manually via the form button or bulk list action.

Scheduled Auto Pull

Enable Auto Pull from Microsoft 365 to run a scheduled pull automatically for all connected users (every 30 minutes by default). Or pull manually at any time from the user form.

Per-User Microsoft Connection

Each Odoo user connects their own Microsoft 365 account using OAuth 2.0 for secure, isolated contact synchronization.

Manual & Bulk Sync

Push contacts to Microsoft 365 individually from the contact form or select multiple contacts and sync them in bulk via the Actions menu.

Sync Status & Error Tracking

Review Microsoft sync status, last sync timestamp, and any error details directly on the contact record for easier troubleshooting.

No Duplicate Contacts

When multiple users share the same contact email across their Microsoft 365 accounts, the sync engine links them all to a single Odoo record — no duplicate creation, no manual merging required.

Why This Module

One contact record, always in sync across both platforms

No manual exports, no duplicate maintenance. Your team works in Odoo, their contacts stay current in Outlook — instantly or on demand.

No Duplicate Contacts

When multiple Microsoft 365 users share the same contact email, the sync engine links them all to a single Odoo contact — no duplicates, no manual merging needed.

Secure OAuth Per User

Each user authenticates with their own Microsoft account. No shared credentials, no admin tokens — each connection is individually authorized.

Conflict Resolution

If both Odoo and Microsoft 365 update the same contact simultaneously, Odoo wins — giving your CRM data the final say.

How to Use

Setup and sync workflow

Follow these steps to connect Microsoft 365, configure the sync, and start syncing contacts between Odoo and Outlook.

Before You Start — Get Microsoft Graph API Credentials

To connect Odoo with Microsoft Graph API, create an app registration in Microsoft Azure and copy the Client ID and Client Secret into Odoo. Follow these four phases before configuring Odoo.

1. Create an Azure App Registration

Open the Microsoft Azure Portal, go to Microsoft Entra ID > App registrations, and create a new registration named Odoo or another recognizable name.

2. Add the Redirect URI

Choose Web as the platform type and add this redirect URI: https://your-odoo-domain.com/atliis_microsoft_contact_sync/authentication. Replace the domain with your Odoo database URL.

3. Add Microsoft Graph Permissions

Go to API permissions, add Microsoft Graph delegated permissions for Contacts.ReadWrite, offline_access, and openid, then grant admin consent if your tenant requires it.

4. Copy the Client ID and Client Secret

Copy the Application (client) ID from the app overview. Go to Certificates & secrets, create a new client secret, and copy the Value immediately — it is shown only once.

For additional Azure OAuth guidance, see the official Odoo documentation: Connect Microsoft Outlook 365 to Odoo using Azure OAuth.


1

Configure Contacts Sync

Go to Settings, open the Microsoft 365 Contacts Sync configuration, paste the Client ID and Client Secret, and save your changes.

Four toggles let you control sync behaviour: Instant Sync — pushes every Odoo save (including new contact creation) to Microsoft 365 automatically; disable to sync manually via the form button or bulk list action. Auto Pull from Microsoft 365 — runs a scheduled pull for all connected users every 30 minutes (adjustable in Technical → Scheduled Actions); disable to pull manually from the user form. Delete from Microsoft 365 when deleted in Odoo — propagates Odoo deletions and archives to Outlook instantly.

Configure Microsoft 365 contacts sync settings
2

Connect Microsoft 365

Open the user preferences or user form and connect the Odoo user with their Microsoft 365 account through OAuth 2.0.

Each user authenticates independently. Once connected, their Odoo contact changes will sync to their personal Outlook Contacts folder.

Connect Odoo user to Microsoft 365
3

Sync a New Contact to Microsoft 365

When Instant Sync is enabled, new contacts are pushed to Microsoft 365 automatically the moment they are saved — no button click needed. When Instant Sync is off, trigger the first push manually: open the contact and click Sync to Microsoft 365, or select multiple contacts from the list and use Actions > Sync to Microsoft 365.

Once a contact has been synced, any subsequent changes saved in Odoo are pushed to Microsoft 365 automatically (when Instant Sync is on) — no button click needed.

Sync individual contact to Microsoft 365
4

Sync Contacts in Bulk

Select multiple contacts from the list view and use the Actions menu to push them to Microsoft 365 in one operation.

Useful for the initial setup or re-syncing a group of contacts after making bulk changes in Odoo.

Sync contacts to Microsoft 365 in bulk
5

Pull Contacts from Microsoft 365 to Odoo

Open the user form, go to the Microsoft 365 tab, and click Pull from Microsoft 365 to import contacts from Outlook into Odoo.

Delta sync ensures only new or updated contacts are pulled — not the entire contact list every time. Contacts deleted in Microsoft 365 are also detected and reflected in Odoo, even on the very first pull.

Pull contacts from Microsoft 365 to Odoo
Installation

Install and configure

Install the module, configure Microsoft access credentials, connect each user account, and start syncing contacts.

1. Add the module

Copy atliis_odoo_microsoft_sync into your Odoo addons path.

2. Update Apps

Install the requests Python dependency if needed, restart Odoo, and update the app list.

3. Install

Search for Microsoft 365 Contacts Sync and install the module.

4. Configure

Paste Azure credentials in Settings, connect each user's Microsoft account, and start syncing.

FAQ

Common questions

Does this module sync contacts both ways?

Yes. Changes made in Odoo — including new contact creation — are pushed to Microsoft 365 instantly on save when Instant Sync is enabled, or manually via the form button or bulk list action when it is off. Changes made in Microsoft 365 are pulled back into Odoo either automatically via the scheduled Auto Pull or manually using the Pull button on the user form. If both sides change at the same time, Odoo wins.

When are changes pushed to Microsoft 365?

This depends on the Instant Sync setting in Settings. When enabled (default), any save — including creating a brand new contact — is pushed to Microsoft 365 immediately with no button click or scheduled job required. When disabled, changes are queued and pushed only when you click the form button or use the bulk list action.

How does the Auto Pull from Microsoft 365 work?

When Auto Pull from Microsoft 365 is enabled in Settings, a scheduled job runs automatically every 30 minutes and pulls contact changes from every connected user's Microsoft 365 account into Odoo. The interval can be adjusted in Technical → Scheduled Actions → Microsoft 365: Pull Contacts. When disabled, you can still pull manually at any time via the Pull button on the user form.

What if multiple users have the same contact in their Microsoft 365 accounts?

The sync engine matches contacts by email address before creating anything. If 5 users all have paul@atliis.com in their Microsoft 365 accounts, they will all be linked to the same single contact in Odoo — no duplicates are created.

What happens if a contact is deleted or archived in Odoo?

If the Delete from Microsoft 365 when deleted in Odoo setting is enabled, the contact is removed from all connected users' Outlook accounts immediately. If the setting is off, the Odoo record is removed but the Outlook contact is left untouched.

What happens if a synced contact is deleted in Microsoft 365?

On the next pull — whether triggered automatically by the Auto Pull schedule or manually via the Pull button on the user form — the module detects the deletion, even on the very first pull, and clears the sync link on the Odoo contact. The Odoo record is kept intact.

Can each user connect a different Microsoft 365 account?

Yes. The Microsoft account connection is handled per user through OAuth 2.0 — each user authenticates with their own account independently.

I need customisation in this module. How can I request it?

Please contact us at helpdesk@atliis.com to request customisation.

Do I get free support?

Yes, we provide 90 days free support from the date of purchase.

Support

Get in touch with us

Email

helpdesk@atliis.com

Website

atliis.com

All Apps

Browse our Odoo apps

Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Contacts (contacts)
• Discuss (mail)
Lines of code 895
Technical Name atliis_odoo_microsoft_sync
LicenseOPL-1
Websitehttps://atliis.com/
Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with