Microsoft Graph API Webhooks - How to find who deleted calendar event - microsoft-graph-api

We are subscribing(using Graph API Webhooks) to calendar events that are deleted by the user. When the listener receive notification payload, is there a way to find our who(which user) deleted the calendar event?

To recap the conversation in the comments. It is not possible today to retrieve details for a deleted event. There is an existing uservoice entry for which you can vote to help prioritize it. Voting for it will also keep you posted of updates.

Related

MS Graph API - Patching Group Event Description does not send update to Attendees

I am updating a group calendar event using Graph API.
PATCH https://graph.microsoft.com/v1.0/groups/{group-id}/events/{event-id}
When I update the start or end date the update is correctly send to
all attendees.
When I only update the description of the event, the
update is not sent to the attendees.
The organizer (a group) gets the update in his inbox.
The attendee (also an O365 group) does not get the update in his inbox.
When I update the location, the update also gets send to all attendees.
What is the issue here?
My current workaround is, to generate a random number which I pass as location - as fortunately, I don't need the location field in the event. But I might need it in the future and thats the most stupid workaround ever.
Summarize the comment here so that the question can be treated as answered.
You are right. The update of body/content won't be sent to the O365 group attendee.
Attendee who is a user or shared mailbox will receive the update of body/content.
However, as this requirement is reasonable, you could post your idea in Microsoft Graph User Voice.

How to notify users when calendar event is updated via Microsoft Graph API

Currently I've been developing a web application that takes advantage of Office 365 Graph API. In my application, it calls the following Update event in Graph API
https://learn.microsoft.com/en-us/graph/api/event-update?view=graph-rest-1.0&tabs=http
The expected behavior of the API was that each attendee already attending this event should get a notification mail that represents such as "Your calendar event was updated." when the event is updated with the API above. However, the actual behavior was that none of attendees get the notification mail when the event is updated with the API.
I'm wondering if there is a way of getting notification mails for attendees when the calendar event is updated.
FYI: I think if a calendar event organizer manually updates calendar event, attendees can get the notification mail. I would like to realize the same behavior in case of calling Graph API
I test it in my side by graph api explorer, the attendees received the notifications success. So I think you may not meet the conditions which the document mentioned below:

Subscribing to all calendars of a user, only getting updates for a single one

When I register a webhook for a users events as described here in the official docs and then insert an event in the non-default calender of that account (which I created before registering the webhook) I do not get a notification on the webhook url.
Only the "main calendar" (just named "Calendar") seems to have the hook attached.
My questions are:
How do I sync to all calendar events, or if this is not possible
How can I sync to specific calendar events
Turns out I interpreted the API docs wrong. I thought with the graph API, calendar webhooks were reworked, so you only subscribet to all calendars once and no longer to individual ones. So yeah.
Subscribing to specific calendars looks like this:
{
"resource": "/me/calendars/{id}/events"
}

Microsoft Graph SDK not providing draft/send status of appointment/event in rich notification

When adding any data from outlook add-in in a new outlook event's Extended properties, outlook saves the event as a draft and also sends a create event notification to all its subscribers.
Here when I try to find the state of Event when fetching the information about the event, I do not find any details weather user actually click on Send button or it is just a draft event.
Get event information from graph SDK
graphEvent = await graphServiceClient
.Users[eventData?.CalendarEmailId]
.Events[eventData?.Id]
.Request()
.Expand($"SingleValueExtendedProperties({_extendedPropertyFilter})")
.GetAsync();
Note: Outlook only save as draft and send notifications in The new Outlook mode.
Is there any way to find out if the user actually saves the appointment yet or not?
Can you use IsDraft property of the eventmessage to detect the event is still in Drafts folder? Expecting this property in the notification seems unreal, notification is a way to tell something has changed. You should go back to graph API and get details about a meeting item and use IsDraft property.
https://learn.microsoft.com/en-us/graph/api/resources/eventmessage?view=graph-rest-1.0

How do we suppress notification emails for events created through MS Outlook Calendar event REST API

We have an Office 365 add in for Outlook in which, events created in our system are pushed into Outlook through the MS Outlook Calendar Event API. Since we already send the participants - notifications when we create the event in our system, the subsequent push to Outlook Calendar through the API - also generates a similar such notification - causing all the participants to be notified again.
I wanted to check if there is a way to suppress these notifications during Outlook create Event calls - either through a property setting in the payload ("sendNotifications" : false) or through any general mailbox/Calendar setting at the user level or admin level.
The Calendar API by design will notify attendees of new meetings and send updates to attendees for existing meetings. This is to ensure that all attendees have the same version (latest update) of the meeting.

Resources