Rewrite for Microsoft Graph, or keep your EWS code?

Microsoft's advice is to rewrite EWS code for Microsoft Graph. For an application with a handful of calls that is a reasonable job. For code that has grown over years it is a project with a fixed deadline: April 1, 2027. This page compares the two routes, so you can decide for each application.

Rewriting for Microsoft Graph compared with Sunsetless EWS
What mattersRewrite for GraphSunsetless EWS
What you changeEvery EWS call and the code around it. Items, folders, IDs, paging, search and error handling all work differently in Graph.One package reference and three configuration values. Namespace, types and methods stay the same, so your code compiles unchanged.
How you know it behaves the sameYou write the comparison tests yourself, and you need to know what EWS returned in every case your application relies on.186 scenarios were run through live EWS and through the library and compared field by field. Every known difference is published.
After April 1, 2027Exchange Online no longer answers EWS, so there is nothing left to compare a rewrite against.The comparisons were recorded while EWS was still running, and they are replayed as regression tests on every build.
Mailboxes on-premises and in the cloudTwo code paths to build and keep in step: Graph for Exchange Online, EWS for Exchange Server.One code path. Calls for Exchange Online go to Graph, calls for on-premises Exchange stay on EWS.
When Microsoft Graph changesYour team follows the changes and fixes what breaks.Updates are included for 12 months, and renewing them is optional. The versions you have keep working.
What Graph cannot doYou find the gaps one by one while rewriting.The same gaps apply: public folders and online archives have no Graph API. They are listed before you buy, and the library answers them with a clear EWS error.
What it costsDeveloper time, in proportion to the number of call paths, plus the comparison tests above. From $899, paid once. No subscription. Free to try with your code for 14 days, and a 14-day money-back guarantee after you buy.

What about rewriting with an AI agent?

An agent drafts Graph code quickly, and it is a good way to start a rewrite. What it cannot supply is the reference: what EWS actually returned for your folders, your recurrence patterns and the IDs in your database.

Someone still has to compare the old behavior with the new one, path by path, and after April 1, 2027 the old behavior is gone. If you take that route, record your EWS responses while you still can.

When a rewrite is the better choice

  • Your application makes a few simple calls, such as sending mail or reading one inbox.
  • You are replacing or retiring the application anyway.
  • It is not a .NET application built on the EWS Managed API.
  • It depends on public folders or online archives in Exchange Online. No library can route those to Graph.

When Sunsetless EWS fits

  • Many EWS call paths: search filters, extended properties, sync, notifications, calendars.
  • Hybrid setups, where EWS has to stay for the on-premises mailboxes.
  • A product you ship to customers, whose tenants lose EWS at different times.
  • Code that works and that nobody wants to reopen before the deadline.

Choosing Sunsetless EWS does not close the door on Graph. You can still move one module at a time, while the rest keeps running.