Exchange Online EWS shutdown: which apps stop on 1 April 2027?
Short answer: Microsoft is retiring Exchange Web Services (EWS) in Exchange Online. Tenants are being switched to EWS blocked from October 2026, and on 1 April 2027 EWS is turned off for everyone. Every mail client, backup tool, migration tool, signature tool or connector that still talks EWS stops then, unless its vendor has moved it to Microsoft Graph.
Deadline: Exchange Online blocks EWS by default from October 2026 (tenants are switched to
EwsEnabled False, rollout to late April 2027) and turns it off for good on 1 April 2027, with no exceptions.
Exchange Server on-premises is not affected.
App by app
What the tenant settings mean
EwsEnabled empty (Null) | EWS works for every app until Microsoft switches your tenant to False. The allow list has no effect yet. |
|---|---|
| False | EWS is blocked for every app. A mailbox set to True no longer overrides it (since 31 Mar 2026). |
| True, empty list | Every EWS app is blocked: since 10 Oct 2026 the allow list is required when EwsEnabled is True. |
| True + list | Only the listed Entra app IDs can use EWS, until 1 April 2027. |
Find the apps without a script
Microsoft 365 admin center → Reports → Usage → Exchange → EWS usage (7, 30 or 90 days, up to 10 days behind) shows app IDs, SOAP actions and call volume, and exports to CSV. Microsoft's Message center also sends "Action Required: Update active Exchange Web Services Applications" posts with app IDs. Microsoft pre-fills an allow list from the last 60 days if you have none, so a job that runs less than every two months can be missed.
Allow-list it safely
Setting EwsAllowedAppIDs replaces the whole list, so adding one ID on its own removes every other app.
Read the current list first, then write the merged list:
Get-OrganizationConfig -RetrieveEwsOperationAccessPolicy | Format-List EwsEnabled,EwsAllowedAppIDs
Set-OrganizationConfig -EwsEnabled $true -EwsAllowedAppIDs "<current IDs>,<new ID>"
Changes to the list take up to 24 hours. A blocked call returns HTTP 403 with the header X-EWS-Policy-Reason.
The free script prints the merged command for every app in use (it never runs it).
Sources
See the pack (from $49)