Microsoft 365 Connector
Connect DatumOS to your Microsoft 365 account to search OneDrive files, Outlook emails, and manage calendar events directly from AI conversations.
Overview
The Microsoft 365 connector integrates with Microsoft Graph API to provide access to:
- OneDrive - Search personal and shared files across OneDrive and SharePoint
- Outlook - Search emails with advanced query filters
- Calendar - View and create calendar events with Microsoft Teams integration
- Email Attachments - Retrieve and analyze email attachments
Prerequisites
Before connecting Microsoft 365, ensure you have:
- Microsoft 365 Account - Personal, business, or education account
- Active Subscription - Valid Microsoft 365 license
- Browser Access - Modern web browser with cookies enabled for OAuth
- Admin Consent (Business accounts) - May require IT administrator approval for certain permissions
Connecting Your Microsoft Account
Step 1: Navigate to Settings
- Click your profile icon in the top-right corner
- Select Settings from the dropdown menu
- Go to the Connectors tab
Step 2: Initiate Connection
- Find Microsoft 365 in the connector list
- Click the Connect button
- You’ll be redirected to Microsoft’s login page
Step 3: Sign In and Authorize
- Sign in with your Microsoft account credentials
- Review the requested permissions (see OAuth Scopes)
- If using a work/school account, you may see an Admin Consent Required message
- Click Accept to grant DatumOS access to your Microsoft 365 data
- You’ll be redirected back to DatumOS Settings
Step 4: Verify Connection
Once connected, the Microsoft 365 connector will show a Connected status with a green indicator. You can now use Microsoft 365 data in your conversations.
Admin Consent (Business Accounts)
If you’re using a Microsoft 365 work or school account, certain permissions require administrator approval:
When Admin Consent is Required
- Files.Read.All - Access to SharePoint shared files
- Mail.Read - Reading emails from shared mailboxes
- Calendars.Read.Shared - Viewing other users’ calendars
How to Request Admin Consent
- During the OAuth flow, you’ll see an Approval Required notice
- Click Request Approval to send a notification to your IT administrator
- Your admin will receive an email with the permission request
- Once approved, reconnect the Microsoft 365 connector
For IT Administrators
Administrators can pre-approve DatumOS for their organization:
- Go to Azure AD Admin Center
- Navigate to Enterprise Applications → All Applications
- Find DatumOS in the application list
- Review and grant admin consent for requested permissions
Supported Services
OneDrive
Search files stored in OneDrive for Business or personal OneDrive:
Supported File Types:
- Microsoft Office files (Word, Excel, PowerPoint)
- PDF documents
- Images and photos
- Text files and code
- SharePoint documents (if shared)
Search Capabilities:
- Full-text search across file names and content
- Filter by file type, date range, or owner
- Access recently modified files
- Search shared files from teams and colleagues
Example Questions:
- “Find the Q4 budget spreadsheet in my OneDrive”
- “Search for PowerPoint presentations about product roadmap”
- “Show me Word documents shared by Sarah last week”
Outlook
Search and retrieve emails from your Outlook mailbox:
Search Capabilities:
- Full-text search across subject, body, and sender
- Filter by date range, sender, or folder
- Search by importance or read/unread status
- Access email attachments
Example Questions:
- “Find emails from John about the construction project”
- “Show me unread messages from last Friday”
- “Search for emails with PDF attachments from this week”
Note: The sendEmail tool is currently disabled due to Microsoft tenant delivery issues. Email reading and search remain fully functional.
Email Attachments
Retrieve and analyze attachments from Outlook emails:
Supported Attachment Types:
- PDF documents
- Microsoft Office files (Word, Excel, PowerPoint)
- Images and photos
- Text files
Example Questions:
- “Download the invoice attachment from Sarah’s email yesterday”
- “Show me the project timeline spreadsheet attached to the last email from the PM”
Calendar
View and create calendar events with Microsoft Teams meeting integration:
Capabilities:
- Search Events - Find meetings by title, attendee, or date range
- View Details - See event time, location, attendees, and description
- Create Events - Schedule meetings with automatic Teams links
- Timezone Support - Handle multiple timezones with IANA identifiers
Example Questions:
- “What meetings do I have tomorrow?”
- “Show me all-day events next week”
- “Create a meeting with the design team for Thursday at 2 PM”
- “Schedule a Teams call with John on Friday afternoon”
Teams Meeting Integration:
When creating calendar events, you can automatically generate Microsoft Teams meeting links:
- Set
isOnlineMeeting: truein event parameters - Teams link is generated automatically
- Meeting join info included in calendar invite
- Works for internal and external attendees
OAuth Scopes
The Microsoft 365 connector requests the following permissions:
| Scope | Description | Usage |
|---|---|---|
openid | User identity | Authentication |
profile | User profile information | Display name and avatar |
email | User email address | Unique identifier |
offline_access | Refresh tokens | Long-term access without re-login |
Files.Read.All | Read files in OneDrive/SharePoint | File search and retrieval |
Mail.Read | Read emails | Email search and attachments |
Calendars.Read.Shared | Read calendar events | View meetings and availability |
Calendars.ReadWrite | Create/modify calendar events | Schedule meetings with Teams links |
User.Read | Read user profile | Display user information |
Disabled Scopes
The following scope is not requested due to known issues:
| Scope | Status | Reason |
|---|---|---|
Mail.Send | Disabled | Microsoft tenant email delivery failures (see Known Issues) |
Sync Frequency
The Microsoft 365 connector operates in real-time mode:
- No Background Sync - Data is fetched only when you ask questions
- Always Current - Every search retrieves the latest data from Microsoft 365
- No Data Storage - DatumOS does not cache or store email or file contents
- Live Connection - Requires active internet connection
Connection Status
Monitor your Microsoft 365 connector status in Settings → Connectors:
- Connected (Green) - Authentication valid, ready to use
- Expired (Yellow) - OAuth token expired, click Reconnect
- Error (Red) - Connection failed, check credentials or network
Token Expiration
OAuth tokens for Microsoft 365 refresh automatically using offline_access scope. However, if unused for 90 days, tokens may expire. When your token expires:
- Go to Settings → Connectors
- Click Reconnect next to Microsoft 365
- Complete the OAuth flow again
- Resume using Microsoft 365 data immediately
Timezone Handling
Calendar events use IANA timezone identifiers (e.g., America/New_York, Europe/London, UTC).
Timezone Resolution Priority
When creating or searching calendar events, DatumOS determines timezone in this order:
- Explicit timezone - Provided in your question or tool parameters
- User preference - Stored in your DatumOS Settings
- Browser timezone - Detected from your browser
- Fallback - UTC
Example:
- “Schedule a meeting at 2 PM Eastern” → Uses
America/New_York - “What meetings do I have tomorrow?” → Uses your browser timezone
- “Create an event at 9 AM UTC” → Uses
UTC
Rate Limits
Microsoft Graph API enforces rate limits per user:
- Search Operations - 100 requests per minute
- Write Operations (Calendar) - 30 requests per minute
- Attachment Downloads - 50 requests per minute
If you encounter rate limiting:
- DatumOS automatically retries with exponential backoff
- Rate limit errors include
retryAfterSecondsfor client backoff - Wait indicated time before retrying manually
Known Issues
Email Sending Disabled
The sendEmail tool was disabled on December 5, 2025 due to Microsoft tenant-level email delivery failures.
Symptoms:
- API returns HTTP 202 Accepted (success)
- Emails appear in Outlook Sent Items
- Recipients do not receive emails
Root Cause:
The issue is at the Microsoft tenant/transport level, not application code. Possible causes:
- SPF/DKIM/DMARC policies on receiving domains
- Microsoft tenant mail flow rules blocking external sends
- IP reputation of Outlook.com shared sending infrastructure
- Transport layer policies applied after API acceptance
Status: Under investigation with Microsoft support.
Workaround: Use the Calendar Event feature with Teams meetings to send meeting invites, which use a different mail flow path and work correctly.
Troubleshooting
Common Issues
| Issue | Cause | Solution |
|---|---|---|
| ”Microsoft account not connected” | Not authenticated | Connect Microsoft 365 in Settings → Connectors |
| ”Connection has expired” | Token expired or refresh failed | Click Reconnect in Settings |
| ”Permission is missing” | Scope not authorized | Reconnect and authorize required permissions |
| ”Admin consent required” | Business account requires IT approval | Request admin consent (see above) |
| “Invalid recipient” | Bad email address in event creation | Verify email format and domain |
| ”Invalid time range” | Event end time before start time | Check start/end times and timezone |
| ”Rate limited” | Too many API requests | Wait indicated seconds and retry |
OneDrive Access Issues
If you can’t find files you know exist:
- Check Permissions - Verify you have access in OneDrive web portal
- Refresh Connection - Disconnect and reconnect to refresh permissions
- SharePoint Files - Ensure Files.Read.All scope is authorized
- File Type - Verify file type is supported for content search
- Indexing Delay - New files may take 1-2 minutes to appear in search results
Calendar Issues
If calendar events aren’t showing or creation fails:
- Timezone Validation - Ensure timezone is valid IANA identifier
- Time Format - Use ISO 8601 format (YYYY-MM-DDTHH:mm:ss)
- Required Fields - Subject, start time, and end time are required
- Attendee Emails - Verify all attendee emails are valid
- Calendar Permissions - Ensure Calendars.ReadWrite scope is authorized
Admin Consent Troubleshooting
If admin consent fails or times out:
- Contact IT - Reach out to your IT administrator directly
- Application ID - Provide DatumOS application ID to your admin
- Permission List - Share the OAuth Scopes table
- Azure AD Logs - Admins can check Azure AD sign-in logs for errors
Security & Compliance
Data Privacy
- No Content Storage - DatumOS does not permanently store email or file contents
- Metadata Only - Only filenames, properties, and search results are cached temporarily
- User Isolation - You can only access data you have permission to view
- Token Security - OAuth tokens are encrypted at rest and in transit
Audit Logging
All Microsoft 365 connector operations are logged for compliance:
- User ID and timestamp
- Operation type (search, retrieve, create)
- Resource IDs accessed (file IDs, email IDs, event IDs)
- Response times and result counts
- Success/error status
Logs are retained for 90 days and available to account administrators.
Compliance Certifications
DatumOS follows Microsoft’s security best practices:
- OAuth 2.0 - Industry-standard authentication
- Least Privilege - Requests only required permissions
- Token Refresh - Automatic token rotation
- Revocation Support - Disconnect at any time
Next Steps
Further Reading
Was this page helpful?