2

We are going to be integrating our own software system with Exchange using EWS (either Exchange 2016 or Exchange Online), meaning we intend to call out to Exchange for booking resources and people. We will then also store these events locally on our own system. What I am not sure how to do is how to ensure events are synchronized, should someone move events around directly in Exchange.

Does Exchange support notifying external systems on changes? For instance registering a webhook. We would typically need to be notified about the event id and we could then poll for more data if we know the event. Would love to avoid having to poll for changes ... Or maybe the general idea is to center this around the individual calendars themselves, instead of a general channel, by subscribing to the calendars? In the latter case, I am still not sure if I need to poll or if I can be notified on changes.

I am not intimate with the Microsoft sphere, LDAP or Exchange from earlier, but quite adept at software integration in general (WS*/SOAP, RMI, REST, GraphQL).

oligofren
  • 641
  • 2
  • 8
  • 23

2 Answers2

1

With Exchange Online and Microsoft Graph, it does look like you can subscribe to change notifications for events.

https://learn.microsoft.com/en-us/graph/api/resources/event?view=graph-rest-1.0 https://learn.microsoft.com/en-us/graph/webhooks?tabs=http

mfinni
  • 36,144
  • 4
  • 53
  • 86
  • Unfortunately, our main client uses Exchange 2016, which precludes using the Graph API AFAIK, so that is why I specified EWS, which is available for both. – oligofren Jan 24 '23 at 12:10
  • 1
    But your answer and terminology did lead me to find this, which seems very promising :) https://learn.microsoft.com/en-us/exchange/client-developer/exchange-web-services/notification-subscriptions-mailbox-events-and-ews-in-exchange?redirectedfrom=MSDN – oligofren Jan 24 '23 at 12:12
  • Ah - you wrote "either", when your requirements are "both". EWS is deprecated in O365 and they've already taken down some of the APIs. If you need to work with older on-prem plus O365, you might end up having to write this twice, once for each. – mfinni Jan 25 '23 at 00:35
1

You can monitor calendar changes by referring to this link to get appointments and meetings in your calendar and add a poll: Get appointments and meetings by using EWS in Exchange | Microsoft Learn

And I found a similar case here, you can refer to his advice: Getting started with setting up Exchange with users - Microsoft Q&A

HuiA
  • 36
  • 1
  • Yeah, that is my post. If you see the comments I made to @mfinni I found that you can be notified and avoid polling. – oligofren Jan 25 '23 at 16:13