1. Introduction
Microsoft recently announced that Exchange Web Services (EWS) in Exchange Online will be fully deprecated by October 1, 2026. This means that all applications, scripts, and integrations relying on EWS will stop working. You can react to EWS Deprecation Exchange Online with MS Graph API!
If your business still depends on EWS, it’s time to start planning a migration to Microsoft Graph API.
In this guide, we’ll cover:
Why EWS is being deprecated
What the impact is for businesses and IT admins
Step-by-step migration strategies to Microsoft Graph
Common challenges and how to overcome them
For a detailed guide on securing mailbox access with Microsoft Graph & Entra ID, check out my previous article:
➡ Secure Mailbox Access with Microsoft Graph & Entra ID
Let’s dive in!
2. What is Exchange Web Services (EWS)?
Exchange Web Services (EWS) is an API that allows applications to interact with Exchange Online and Exchange Server.
What Can EWS Do?
- Read and send emails
- Manage contacts, calendars, and tasks
- Automate mailbox configurations
- Handle message tracking and auditing
EWS has been widely used by businesses for custom workflows, automation, and integrations with third-party apps.
3. Why is Microsoft Deprecating EWS?
Microsoft is phasing out legacy APIs like EWS in favor of more modern, secure, and scalable solutions.
Security Issues: EWS still supports Basic Authentication, which is vulnerable to attacks.
Limited Features: Microsoft no longer updates EWS, meaning it lacks support for new Exchange Online capabilities.
Microsoft’s API Strategy: Microsoft is pushing developers to Microsoft Graph API, which integrates better with Microsoft 365 services.
💡 Important: EWS is only being deprecated in Exchange Online. It will still be available for on-premises Exchange Server deployments
4. Key Dates & Timeline for EWS Deprecation
April 2023 – Microsoft announces EWS deprecation plans.
October 1, 2026 – EWS will stop working completely in Exchange Online.
Ongoing – Microsoft will gradually throttle EWS usage to encourage migration.
If your organization still relies on EWS, you must migrate before 2026 to avoid disruptions.
5. How the EWS Deprecation Impacts Businesses
Who is Affected?
- Businesses using EWS-based automation and integrations
- IT admins managing mailboxes, calendars, and contacts via EWS
- Third-party apps that rely on EWS for Exchange Online connectivity
Potential Issues After EWS Deprecation
EWS-based applications will stop working in Exchange Online.
Custom scripts using PowerShell and EWS will fail.
Outlook add-ins and third-party tools relying on EWS may break.
6. What Are the Alternatives to EWS?
The best alternative is Microsoft Graph API, which is the modern API standard for Microsoft 365 services.
Microsoft Graph API vs. EWS
Feature | EWS | Microsoft Graph API |
---|---|---|
Authentication | Basic & OAuth | OAuth 2.0 (Modern Auth) |
Email Access | ✅ Yes | ✅ Yes |
Calendar & Contacts | ✅ Yes | ✅ Yes |
Streaming Notifications | ✅ Yes | ✅ Yes (via Webhooks) |
Room Finder | ✅ Yes | ❌ No (Workarounds exist) |
Performance | Slower | Faster |
Security | Legacy | Modern |
7. How to Migrate from EWS to Microsoft Graph API
Step 1: Identify Your EWS Dependencies
- List all applications and scripts that use EWS.
- Check logs and Exchange admin center for API usage.
Step 2: Evaluate Microsoft Graph API Endpoints
- Explore the Graph Explorer.
- Identify the Graph API equivalents for your EWS calls.
Step 3: Update Authentication to OAuth 2.0
- Microsoft Graph requires Azure AD authentication.
- Register your app in Azure AD and obtain an access token.
Step 4: Rebuild Workflows and Test
- Convert EWS-based PowerShell scripts to Graph API calls.
- Test integrations thoroughly before deployment.
Step 5: Monitor and Optimize
- Use Microsoft Graph API throttling limits effectively.
- Set up logging and monitoring.
8. Common EWS Use Cases and Graph API Replacements
EWS Use Case | Microsoft Graph API Replacement |
---|---|
Reading Emails | /me/messages |
Sending Emails | /me/sendMail |
Managing Calendars | /me/calendar |
Creating Events | /me/events |
Fetching Contacts | /me/contacts |
Subscription to Notifications | Webhooks |
Example: Sending an Email via Microsoft Graph API (PowerShell)
$accessToken = "YOUR_ACCESS_TOKEN"
$body = @{
"message" = @{
"subject" = "Hello from Graph API"
"body" = @{
"contentType" = "Text"
"content" = "This is a test email"
}
"toRecipients" = @(@{
"emailAddress" = @{
"address" = "recipient@example.com"
}
})
}
}
$uri = "https://graph.microsoft.com/v1.0/me/sendMail"
Invoke-RestMethod -Uri $uri -Headers @{Authorization = "Bearer $accessToken"} -Method Post -Body ($body | ConvertTo-Json -Depth 3) -ContentType "application/json"
9. Final Thoughts & Next Steps
Microsoft is deprecating EWS in Exchange Online to improve security and scalability. The best alternative is Microsoft Graph API, which offers modern authentication and better performance.
🚀 Next Steps:
Audit and identify EWS dependencies
Start migrating to Microsoft Graph API
Update authentication to OAuth 2.0
Test and optimize your new setup
For detailed guidance on securing mailbox access using Microsoft Graph and Entra ID, check out my guide:
➡ Secure Mailbox Access with Microsoft Graph & Entra ID
Need help with the migration? Drop a comment below or reach out for consulting! 🚀