# Which EWS operations does Cronofy utilize?

Cronofy utilizes Exchange Web Services (EWS) to access Exchange and Office365 calendars. This is through a URL, which usually looks like [https://mail.example.com/EWS/Exchange.asmx](https://mail.example.com/EWS/Exchange.asmx)

When a user is authenticating themselves, whether via username and password or OAuth token, Cronofy requests full access to the mailbox and the calendars within it.

Similarly, when using Enterprise Connect, the default recommendation is to use a service account and apply the `ApplicationImpersonation` role, which effectively grants the same access.

The `ApplicationImpersonation` role allows us to create and read events within a calendar, and register for push notifications to inform us of changes so we can keep their schedule as up-to-date as possible.

Information on how to configure `ApplicationImpersonation` can be found in our documentation, [Configuring ApplicationImpersonation](/calendar-admins/enterprise-connect-office365-exchange/configuring-application-impersonation/index.md).

## EWS Operations
With access configured using `ApplicationImpersonation`, Cronofy utilizes the following EWS Operations:

- [ResolveNames](https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/resolvenames-operation) to understand how the person may be mentioned in events

- [Subscribe](https://docs.microsoft.com/en-us/previous-versions/office/developer/exchange-server-2010/aa566188%28v%3dexchg.140%29) to be informed of changes to calendars and the events within them

- [FindFolder](https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/findfolder-operation) to enumerate the persons calendars

- [FindItem](https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/finditem-operation) to retrieve the events within calendars

- [SyncFolderItems](https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/syncfolderitems-operation) to fetch the events that have changed

- [GetFolder](https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/getfolder-operation) to get a specific calendar

- [GetItem](https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/getitem-operation-calendar-item) to get a specific event

- [CreateItem](https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/createitem-operation-calendar-item) to create new events

- [UpdateItem](https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/updateitem) to update a specific event

- [DeleteItem](https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/deleteitem-operation) to delete a specific event

- [ConvertId](https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/convertid-operation) to fetch calendar identifiers for migration scenarios

For those who want to implement more restrictive set of permissions, there are numerous methods for doing so. They include [restricting access to certain mailbox folders](/calendar-admins/enterprise-connect-office365-exchange/adding-mailbox-folder-permissions/index.md), and
[restricting impersonation access using DistributionGroups](/calendar-admins/enterprise-connect-office365-exchange/access-via-distribution-groups/index.md).

Finally, if those permissions are still too permissive, Cronofy also supports free/busy only access, which you can read more about in our documentation, [configuring free/busy only access](/calendar-admins/enterprise-connect-office365-exchange/free-busy-access/index.md).

## Further reading
For more information on enabling, or configuring Exchange Web Services, please see Microsoft's documentation, [Explore the EWS Managed API, EWS, and web services in Exchange](https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/explore-the-ews-managed-api-ews-and-web-services-in-exchange).


---
[Read in HTML](/calendar-admins/enterprise-connect-office365-exchange/which-ews-operations-does-cronofy-utilize/)
