Introduction

Exchange Web Services (EWS) is a SOAP-based web service API that allows client applications to communicate with Exchange Online. It provides remote access to Exchange mailbox data like email, calendar, contacts, etc. 

It uses an "impersonation" model where client apps impersonate the end user to access their Exchange data. EWS is platform and device agnostic. Apps can use EWS to work with Exchange data on any platform - mobile, desktop, web, etc. Many third-party email services, apps, and tools are built on top of EWS to integrate with Exchange. Services like Zapier, IFTTT, and Zoho use EWS. It provides more extensive access and control than basic protocols like IMAP/POP3. Microsoft Graph API is the newer REST API that provides access to Exchange Online data along with other Microsoft 365 services. 

Benefits of Enabling EWS for Office 365 

Enable mail access for non-Outlook clients: EWS allows email access through various email clients like Gmail, Apple Mail, and Thunderbird. So, users are not limited to just using Outlook to access their Office 365 email.

Allow mail access through mobile apps: Many third-party mobile apps use EWS to access Office 365 email. So enabling EWS allows your users to use those mobile email apps to stay connected on the go.

Enable calendar access through other apps: Along with email, EWS helps to access calendar data. Users can view and edit their Office 365 calendar through various calendar apps on mobile and desktop.

Allow mail automation and integration: EWS access enables various email automation, synchronization, and integration capabilities. Services like Zoho Flow automate emails; while Zoho Mail and Zoho CRM can be integrated with Office 365 email.


To enable EWS for Office 365 users, follow these steps:

  1. Log in to the Microsoft 365 admin center and select the "Admin centers" menu. Click "Exchange" to open the Exchange admin center.
  2. In the Exchange admin center, go to "Permissions" and select "Application access" from the menu.
  3. Click "Add" to add a new application. Enter a name for the app and select "Exchange Web Services" as the API.
  4. Select the desired scopes/access permissions for the app. Choose options like "Read and write mail", "Read and write user calendars", etc. based on the specific needs.
  5. Select the desired users/groups who access Office 365 email through this application. Click "Add" to finish creating the application access.
  6. Note down the "Client ID", "Tenant URL" and "Client secret/key" for the app which will be needed by the third-party email services to connect to the Office 365 account.
  7. Share the credentials with the end users so they can configure the email apps/services to connect to their Office 365 email via EWS.


Recommended: Tools for testing EWS 


Things EWS users should have an eye on

  1. EWS provides access to sensitive data, so it is important to ensure that the connection is secure. 
  2. EWS users should ensure the use of strong authentication mechanisms such as OAuth or Basic authentication, and avoid using outdated authentication schemes like NTLM. 
  3. EWS has throttling limits to prevent overloading of the Exchange server. So users should design their applications to handle throttling errors gracefully. 
  4. Users should be aware of the version of EWS they are using and ensure that their applications are compatible with the version.
  5. EWS users should optimize their applications to minimize the impact of factors such as network latency, server load, and client processing time on performance.

Microsoft will soon discontinue Exchange Web Services (EWS). Developers are encouraged to migrate to Microsoft Graph to access Exchange Online data and gain access to the latest features and functionality. Microsoft is no longer actively investing in EWS and strongly suggests migrating to Microsoft Graph for Exchange Online data access. 

EWS will, most likely, be replaced by Microsoft Graph API. EWS users should be aware of this change and plan accordingly to migrate their applications to Microsoft Graph API. Microsoft wants to move developers from the less-secure basic authentication in Exchange Web Services to the more secure OAuth 2.0 used in Microsoft Graph

Visit our blog to gain more web technology insights 

Conclusion

EWS is a powerful API that unlocks access to Exchange Online data and functionality. It enables workflow automation between email and other business tools. However, with greater access comes greater responsibility. EWS access should be granted carefully with proper permission controls to avoid data leakage or unauthorized access. If you are looking forward to replacing legacy email systems or providing more connectivity options for your staff, EWS is a viable option worth exploring for your Office 365 environment. It can help migrate users to the platform with minimal disruption by allowing them to use their existing email clients.