Moving Off Exchange Web Services (EWS) to the Microsoft Graph

Our OnePlaceMail App uses the Microsoft Graph API wherever possible and any new developments we undertake we will use the Microsoft Graph API unless there are valid reasons not to such as lack of support for certain features at present.
When we initially developed our OnePlaceMail app the only way to operate with emails at an API level was to use Exchange Web Services (EWS). We developed all email operations in our app calling EWS and this worked successfully to a point.
EWS Issues
We use Azure Application Insights to monitor our app for any issues and usage patterns on a continual basis. What we noticed was that there would be random errors accessing emails/attachments/email properties and category information for users at different times. When using the app, during the majority of sessions users experienced no issues, however, we were determined to eliminate these issues as best as possible so the experience for end-users was improved even more.
In addition, Microsoft does not see a future for EWS with no enhancements to be released. Their advice was to move to the Microsoft Graph API - read about it here.
Moving to the Microsoft Graph API
Over time, Microsoft started to extend the email capabilities of the Microsoft Graph, when we analyzed what was possible we realized we could effectively stop using EWS and move to the Microsoft Graph for all email-based operations in our app. Backing our decision to commit to the Microsoft Graph was the future direction of EWS mentioned previously. In addition, the hope was that moving to the Microsoft Graph API endpoint would help reduce the errors and random issues we were seeing in Application insights for end-users using the app.
We took the decision to move off EWS to the Microsoft Graph API and identified all calls we made to EWS and ran a project to move them to the Microsoft Graph API. This project came together really quickly and the result is that the majority of API calls in our OnePlaceMail app are now made to the Microsoft Graph API endpoints. In terms of email operations, we use the Microsoft Graph API for:
- Saving emails and attachments to SharePoint / Teams / OneDrive:
SharePoint
Teams
OneDrive
- Adding an email category to the master category list in Exchange
- Setting an email category on an email in Exchange:
The Results
In the first few weeks since moving to the Microsoft Graph for email operations in the app, we have noticed a significant reduction in issues overall in our analysis of Azure Application Insights. There are fewer random errors so it looks like we made the right decision to move to the Microsoft Graph which will lead to happy customers! We will look to continue to replace all remaining calls we make in our App to different endpoints to call the Microsoft Graph API when the capabilities are fully supported.
Latest news & blogs
Webinar: Be Copilot ready - Simplify work processes and improve productivity in Microsoft 365
Join us for an exclusive webinar designed for Office 365 users looking to streamline operations and boost efficiency.
DWConference 25
Join us at the Digital Workplace Conference for two days of learning about tools in the Digital Workplace. Immerse yourself in knowledge, expertise and experience and challenge your thinking by acquiring new skills and building your network.
Auckland, New Zealand | 18-19 March
Future trends in record management and how to stay ahead
Organizations are digitizing their documents and records to ensure data safety and accessibility. Accurate data is crucial for business growth, and digitization provides secure storage and easy access to important documents from anywhere. Managing digital data systematically protects records and reduces the risk of misplacement or loss. Companies can scan documents through data conversion services to streamline information, further enhancing productivity and efficiency.