Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix Now×
Skip to content
Redmond desk6 min

How to Migrate an App from Exchange Web Services to Microsoft Graph

Move an Exchange Online app from EWS to Microsoft Graph by mapping its real operations, redesigning OAuth and mailbox access, and testing unsupported or changed workflows.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

For an app that accesses Exchange Online, migrating from Exchange Web Services (EWS) to Microsoft Graph means more than swapping endpoints: inventory the EWS operations the app actually uses, map each one to Graph or a documented alternative, redesign authentication and mailbox access, then test the changed behavior before cutover. Microsoft’s current schedule says Exchange Online EWS disablement begins globally in October 2026 and is complete in April 2027; Microsoft warns that roadmap estimates can change. Check Microsoft’s live deprecation page for the latest status.

First, confirm that Graph is the right target

Microsoft recommends Graph for applications that access Exchange Online data, including new applications. The migration overview covers Exchange Online and hybrid deployments, but Microsoft states that Graph is not supported for Exchange on-premises. If the app must call an on-premises Exchange server, Graph is not a direct replacement for that deployment. In a hybrid environment, identify which mailboxes and operations are in Exchange Online and which remain on-premises before choosing an API. See Microsoft’s EWS migration overview and Exchange development guidance.

As an Amazon Associate I earn from qualifying purchases.

Migration sequence

  1. Set the scope. Record the Exchange deployment and mailbox locations the app needs to support. Decide whether the target is Exchange Online only or a hybrid application with separate handling for on-premises mailboxes.
  2. Inventory live EWS use. Identify active applications and the EWS operations they call, including less visible background jobs and integrations. Microsoft recommends starting with EWS Usage Reports and provides EWS Analyzer and an AI-assisted migration tutorial to help analyze and refactor apps. Use logs and code inspection to establish which calls and data properties are genuinely required.
  3. Map each operation and its behavior. Use Microsoft’s EWS-to-Graph API mapping table as a cross-reference, then check that the mapped API returns the data and behavior the app depends on. A listed correspondence is not proof of complete feature or behavioral parity.
  4. Redesign identity and access. Choose delegated permissions if the app acts for a signed-in user, or application permissions if it runs as itself. Select only the Graph mailbox permissions needed, obtain the required consent, and define which mailboxes the application may access.
  5. Resolve unsupported capabilities. For each operation without a Graph equivalent, decide whether a supported alternative workflow meets the requirement or whether the app must change. Do not assume an unlisted capability will be added before EWS is disabled.
  6. Test and stage the cutover. Validate the app’s real mail, calendar, synchronization, notification, and permission scenarios in the target tenant. Stage deployment and rollback around the application’s architecture and operating requirements; Microsoft does not prescribe one universal cutover plan.

Map EWS operations to Graph carefully

Microsoft’s mapping guide lists representative correspondences. Treat these as starting points for implementation, not as a guarantee that every EWS option, response property, or edge case behaves identically.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
EWS operation or pattern Graph direction listed by Microsoft What to validate
FindItem List messages Confirm the required filters, sorting, paging, and returned properties.
GetItem Get message Check which item fields and formats the application consumes.
CreateItem Create message Verify the required message fields and whether the workflow creates a draft or sends.
MoveItem Move message Test target-folder behavior and any assumptions about item identifiers.
SendItem Send message or send mail Match the app’s send workflow and required message content.
SyncFolderHierarchy Mail folder delta Test how the app detects and applies folder changes.
SyncFolderItems Messages delta Validate incremental synchronization and the app’s handling of changed or removed items.
EWS push Subscribe/Unsubscribe Create/delete Graph subscription Graph subscriptions cover push notifications; this is not the same design as polling.
EWS pull notifications Messages delta Microsoft points to delta queries; replace the polling workflow rather than treating it as a subscription endpoint swap.
GetUserAvailability and FindAvailableMeetingTimes Get free/busy schedule Check the availability scenario and the calendar-sharing or shared-calendar behavior the app needs.
ConvertId Translate Exchange IDs Confirm how identifiers are used across the app and its integrations.
ResolveNames List people Verify that people lookup meets the app’s name-resolution needs.
GetServerTimeZones Get time zone choices Check that the available choices and app’s time-zone handling fit the workflow.

The mapping guide covers selected utility, mail, calendar, and groups APIs. For each call, compare required inputs, outputs, permissions, error handling, and workflow effects—not just the operation name. Microsoft’s mapping documentation also identifies calendar-sharing and group-related scenarios.

Change authentication and mailbox permissions

Both EWS and Graph use OAuth 2.0 through the Microsoft identity platform and support delegated and application permission types, but their access models differ. Microsoft’s authentication comparison describes EWS delegated access as having what the user can access and EWS application access as having what EWS can access. Graph offers more granular mailbox permissions, so an app can request mail access without also requesting calendar or contacts access.

Choose the identity model that matches the app

  • Delegated access: Use when the app operates in a signed-in user’s context and should be limited by that user’s access.
  • Application access: Use when the app runs unattended as itself, such as a background service. Microsoft says Graph has no service accounts for this pattern: the app uses its own identity with client credentials.

Application consent can grant broad access, and administrators can limit an application’s access to specific mailboxes. Plan effective access deliberately: grant only the Graph permissions required, obtain the appropriate consent, and configure mailbox access controls for the intended scope. EWS service-account impersonation does not transfer directly as a Graph design.

Basic authentication is not a bridge to Graph. Microsoft says Graph does not support Basic authentication; Graph applications must use OAuth 2.0.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Check parity gaps before committing to a cutover

Microsoft’s deprecation page distinguishes roadmap items from capabilities that will not be added to Graph. Roadmap entries are targets, not guaranteed delivery dates, and Microsoft says estimates may change. As of the page reviewed on October 4, 2026, the listed roadmap included archive, public-folder and group import/export; in-place archive access; mailbox notes; Exchange Admin API capabilities; sovereign-cloud availability; report-message support; non-draft MIME create/update; user-configuration objects; contact lists and properties; and marking all items in a folder as read. Several items had Q3 or Q4 calendar-year 2026 target estimates. Check the current roadmap and status rather than treating those targets as committed availability.

Capabilities Microsoft says will not be added to Graph

  • Generic Public Folder create, read, update, and delete operations: Microsoft lists Public Folder import/export separately as a roadmap item; that does not establish general CRUD support.
  • Generic Microsoft 365 Group mailbox folder and item CRUD: Microsoft points instead to supported Graph group conversations, threads, and posts. Group mailbox import/export is a separate roadmap item.
  • Generic access to legacy Discovery Mailboxes: Microsoft points to Microsoft Purview eDiscovery APIs and workflows for supported discovery capabilities.

For any uncovered operation, determine whether the requirement can be met by a supported alternative or must be redesigned. The existence of a related API or a roadmap entry does not establish a substitute for an app-specific EWS behavior.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Build tests around the app’s real dependencies

There is no universal EWS-to-Graph test suite or cutover recipe in the cited Microsoft guidance. Derive validation from the inventory and exercise the app in a non-production or controlled target tenant before shifting production traffic.

  • Verify each mapped operation with the data fields, folders, calendars, and mailboxes the app actually uses.
  • Test delegated and application access separately if the app supports both; confirm that consent and mailbox restrictions produce the intended access.
  • Exercise incremental synchronization across normal changes and removals, and validate notification behavior according to the redesigned push or delta workflow.
  • Check calendar availability, shared-calendar behavior, ID translation, and people lookup where those are part of the app’s inventory.
  • Test unsupported or altered scenarios explicitly, including how the app handles permissions failures, unavailable data, and any workflow moved to another Microsoft service.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.