When I created an event using Microsoft Graph Calendar API, I pushed the request body with "reminderMinutesBeforeStart": "1440", which is reminder alert 48 hrs before the event. I sent invitation to multiple people, people with Microsoft calendar gets reminder alert but people with gmail account/google calendar, they are not getting reminder alert in the day before the even as set in the body request. How can I resolve it?
Related
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:
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"
}
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
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.
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.