Overview
What Gets Indexed
| Source | Content |
|---|---|
| OneDrive | Files and documents from user drives |
| SharePoint | Documents from site libraries |
| Outlook Mail | Email subjects, bodies, senders, and recipients |
| Outlook Calendar | Calendar events with titles, descriptions, and attendees |
How It Works
- You register an Entra ID application with the required Microsoft Graph API permissions
- The connector syncs content from all four services in a single setup
- Group membership-based permissions ensure users only see content they have access to
- Supports both full and incremental sync modes
The connector uses read-only access. Omni cannot modify, delete, or create any content in your Microsoft 365 tenant.
Prerequisites
Before setting up the Microsoft 365 connector, ensure you have:- Entra ID admin access to register applications and grant admin consent
- Microsoft 365 tenant with the services you want to index
- Omni deployment with the Microsoft connector service running
Setup
Step 1: Register an Entra ID Application
- Go to the Azure Portal
- Navigate to Microsoft Entra ID → App registrations
- Click New registration
- Set the name: Omni MS365 Connector
- Supported account types: Single-tenant (this directory only)
- Leave Redirect URI blank
- Click Register
- Note the Application (client) ID and Directory (tenant) ID
Step 2: Configure API Permissions
- Go to API permissions in your app registration
- Click Add a permission → Microsoft Graph → Application permissions
- Add the following permissions:
| Permission | Purpose |
|---|---|
Files.Read.All | Read files in OneDrive and SharePoint |
Mail.Read | Read mail in all mailboxes |
Calendars.Read | Read calendars in all mailboxes |
Sites.Read.All | Read SharePoint site content |
User.Read.All | Read user profiles (for permission mapping) |
Group.Read.All | Read groups (for permission resolution) |
GroupMember.Read.All | Read group memberships (for permission inheritance) |
- Click Grant admin consent and confirm
Step 3: Create a Client Secret
- Go to Certificates & secrets
- Click New client secret
- Set an expiry period and click Add
- Copy the secret value immediately — it won’t be shown again
Step 4: Connect in Omni
- Navigate to Settings → Integrations in Omni
- Find Microsoft 365 and click Connect
- Enter your Tenant ID, Client ID, and Client Secret
- Click Connect
- Click Sync Now to start the initial sync
All four source types (OneDrive, SharePoint, Outlook Mail, Calendar) are created automatically in a single setup flow.
Your Microsoft 365 connector is now configured. Initial indexing may take a while depending on the amount of content in your tenant.
Managing the Integration
Viewing Sync Status
Navigate to Settings → Integrations to view:- Last sync time for each of the four source types
- Number of indexed items per source
- Any sync errors
Sync Modes
The Microsoft 365 connector supports two sync modes:| Mode | Description |
|---|---|
| Full | Syncs all content across OneDrive, SharePoint, Mail, and Calendar (used for initial sync) |
| Incremental | Syncs only items modified since last sync (used for updates) |
Removing the Integration
- Navigate to Settings → Integrations → Click Configure against the source you wish to remove
- Click Delete Permanently
- Optionally, delete the app registration from Entra ID
Troubleshooting
Content not appearing in search
Content not appearing in search
Common causes:
- Admin consent was not granted for all required permissions
- Sync has not completed yet for the relevant source type
Authentication failed
Authentication failed
The credentials may be incorrect or the client secret may have expired.Solution:
- Verify the Tenant ID, Client ID, and Client Secret are correct
- Check if the client secret has expired in Entra ID
- If expired, create a new client secret and update it in Omni via Settings → Integrations → Microsoft 365
Permission denied errors
Permission denied errors
API permissions may be missing or admin consent was not granted.Solution: Go to your app registration in Entra ID, verify all required API permissions are added, and ensure Grant admin consent has been clicked and confirmed for each permission.
Missing user content
Missing user content
The connector uses application permissions. If a user’s content is not appearing, the issue may be related to group membership sync.Solution: Check group membership sync status and verify the user exists in the tenant. Ensure
User.Read.All and GroupMember.Read.All permissions are granted.Security Considerations
- Read-only access: The connector only has read permissions
- Application permissions: Uses app-level access (not delegated), requiring admin consent
- Group-based permissions: Users only see content based on their Microsoft 365 group memberships
- Secret rotation: Monitor client secret expiry and rotate before it expires
- Encrypted storage: Credentials are encrypted at rest in Omni
What’s Next
Search Your Data
Learn how to search across Microsoft 365 content
AI Assistant
Ask questions about your documents and emails
Add More Connectors
Connect additional data sources