Wouter Van Ranst24 downloadsCollaborative vault sync, per-vault sharing, 3-way merge, and version history backed by Microsoft Entra ID, SharePoint, and OneDrive.
Collaborate on Obsidian vaults with your team or across your personal devices using the Microsoft OneDrive, SharePoint Online, and Microsoft Teams storage you already have.
This plugin brings a OneNote on SharePoint workflow to Obsidian: sign in with your Microsoft account or corporate Entra ID, share individual vaults with colleagues, merge concurrent edits automatically without duplicate conflict files, and browse or restore previous note versions with full author attribution.
In Microsoft 365 organizations, OneNote notebooks live inside SharePoint and Microsoft Teams: access is governed by Entra ID, notebooks can be shared per project or team, and version history is built in.
For Obsidian, nothing comparable existed:
Note (Work PC's conflicted copy).md duplicates whenever two people edit a note around the same time, and breaks when syncing .obsidian configuration across machines.OneDrive + Enterprise SharePoint + Teams Sync talks directly to the Microsoft Graph API from Obsidian—no extra servers to host, no external databases, and all data stays inside your Microsoft account or corporate tenant.
Install directly from the official Obsidian Community Plugins directory:
You can use a personal Microsoft account (outlook.com, live.com, hotmail.com) to sync vaults across your devices or collaborate on a shared OneDrive folder with friends and colleagues.
common.ObsidianVaults, or e.g. Documents/Vaults).To use the plugin with corporate Microsoft Entra ID accounts, SharePoint Online, and Microsoft Teams, a Global or Cloud Application Administrator must register a public client application in Microsoft Entra ID once for your organization.
Send the following request to your IT / Entra ID administrator:
Subject: Request for Microsoft Entra ID App Registration — Obsidian SharePoint & OneDrive Sync
Hi [Name],
We would like to use the OneDrive + Enterprise SharePoint + Teams Sync plugin in Obsidian to collaborate on team documentation stored in our SharePoint Online / OneDrive environment. The plugin connects directly to Microsoft Graph using OAuth 2.0 Authorization Code Flow with PKCE (public client, no client secret).
Could you create an App Registration in Microsoft Entra ID with the following settings?
- Name:
Obsidian SharePoint Sync- Supported account types: Accounts in this organizational directory only (Single tenant) (or Multitenant if external guests also need access)
- Authentication (Platform configuration):
- Platform: Mobile and desktop applications
- Custom Redirect URI:
obsidian://entra-sync-auth- Enable Allow public client flows: Yes (optional, only needed if using device-code or direct credential flows)
- API permissions (Microsoft Graph — Delegated permissions):
User.Read(display signed-in user profile and version authors)Files.ReadWrite.All(sync shared OneDrive and SharePoint vault files and version history)Sites.ReadWrite.All(discover and sync followed SharePoint sites and Teams document libraries)offline_access(refresh tokens so users stay signed in)- Please click Grant admin consent for [Organization] for these delegated permissions.
Once created, please share back:
- Application (client) ID
- Directory (tenant) ID
Once you receive those two IDs from your admin, paste them into Tenant ID and Entra app client ID in the plugin settings and click Sign in (browser PKCE).
You can use a SharePoint Site Document Library (or a shared folder inside it) as a collaborative team vault:
<Site Name> (SharePoint)), or<Folder Name> (Shared with me)).Every Microsoft Teams team and standard channel is backed by a SharePoint Online site and Document Library (Files tab in Teams):
Files tab (e.g., EngineeringVault), click Share on that folder for your team members, and select <Folder Name> (Shared with me) after clicking Discover vaults in Obsidian.<Team Name> (SharePoint).obsidian://entra-sync-auth) with automatic background token refresh.Share vault with colleagues) and view active collaborators.diff3): Uses SharePoint/OneDrive eTag optimistic concurrency (If-Match). When two collaborators edit different sections of the same note simultaneously, changes are automatically 3-way merged without creating duplicate conflict files..png, .jpg, .pdf, audio/video, etc.), and propagates file and folder renames and deletions in both directions..obsidian): Optionally sync shared themes, CSS snippets, hotkeys, and plugins across your team while strictly excluding your personal OAuth tokens (data.json) and window/tab layout (workspace.json).https://login.microsoftonline.com and https://graph.microsoft.com). There are no third-party relay servers, analytics, or telemetry.plugins/entra-sharepoint-sync/data.json file (which stores your OAuth tokens and local sync cursor) is permanently excluded from .obsidian vault synchronization so credentials are never uploaded to a shared drive.If you encounter a sync issue or authentication error:
npm install
npm run build
npm test
linuxserver/docker-obsidian)End-to-end multi-user collaboration is tested using two isolated linuxserver/docker-obsidian (lscr.io/linuxserver/obsidian:latest) containers and Playwright browser automation:
npm run test:docker
test/docker-e2e.mjs performs the following steps automatically:
linuxserver/docker-obsidian containers (obsidian-entra-alice and obsidian-entra-bob), each running a full desktop Obsidian instance accessible over its web UI with the built plugin (main.js, manifest.json, styles.css) mounted into each user's vault.ShareVaultModal), and push initial notes./delta, and make concurrent edits alongside User 1 to verify HTTP 412 Precondition Failed handling and automatic 3-way diff3 conflict merging.VersionHistoryModal) in Obsidian to verify revision attribution and one-click version restore.For deep technical details on the Microsoft Graph /drives mapping, eTag + diff3 concurrency model, and .obsidian exclusion rules, see ARCHITECTURE.md.