I have an event that has isOnlineMeeting set to true, a PATCH request with the below content to update the event
{"Subject":"Test Online Event 2025 a","Body":{"ContentType":"html","Content":"test note note"},"reminderMinutesBeforeStart":60,"isOnlineMeeting":true,"onlineMeetingProvider":"teamsForBusiness","responseRequested":true}
submitted to API Endpoint - graph.microsoft.com/v1.0/users/[12345]/events/[67890]
, it would changed the flag isOnlineMeeting from "true" to "false". Basically, it disconnects the Event from the original OnlineMeeting ties to it. If I submit the same request again, it will set the isOnlineMeeting flag to "true" and add a new Online Meeting back. Next submit will be false then true. It seems like every other submits set to false an other will be true.
Any thought on why this pattern is happening? and how can I update the event subject and other settings without messing the assigned OnlineMeeting up?
Note: If I take the flag isOnlineMeeting out of the request, it would set isOnlineMeeting to false and stay as false on all submits.
Note that: You need to pass only the values for properties to update. Refer this MsDoc
Initially I created an event with isOnlineMeeting
as true:
POST https://graph.microsoft.com/v1.0/me/events
{
"subject": "Plan summer company picnic",
"body": {
"contentType": "HTML",
"content": "Let's kick-start this event planning!"
},
"start": {
"dateTime": "2025-03-30T11:00:00",
"timeZone": "Pacific Standard Time"
},
"end": {
"dateTime": "2025-03-30T12:00:00",
"timeZone": "Pacific Standard Time"
},
"attendees": [
{
"emailAddress": {
"address": "User@xxx.onmicrosoft.com",
"name": "usere"
},
"type": "Required"
},
{
"emailAddress": {
"address": "user@xxx.onmicrosoft.com",
"name": "user"
},
"type": "Required"
}
],
"location": {
"displayName": "Conf Room 3; Fourth Coffee; Home Office",
"locationType": "Default"
},
"locations": [
{
"displayName": "Conf Room 3"
},
{
"displayName": "Fourth Coffee",
"address": {
"street": "4567 Main St",
"city": "Redmond",
"state": "WA",
"countryOrRegion": "US",
"postalCode": "32008"
},
"coordinates": {
"latitude": 47.672,
"longitude": -102.103
}
},
{
"displayName": "Home Office"
}
],
"isOnlineMeeting": true,
"isOnlineMeeting": true,
"allowNewTimeProposals": true
}
Now get the event by passing the Event ID:
GET https://graph.microsoft.com/v1.0/me/events/EventID
Now to update the event make sure to pass only the values for properties to update in the request body:
PATCH https://graph.microsoft.com/v1.0/me/events/EventID
{
"subject": "Updated Summer Company Picnic Plan",
"body": {
"contentType": "html",
"content": "<html><body><p>Let's get the planning for the summer company picnic going!</p></body></html>"
},
"reminderMinutesBeforeStart": 30,
"isOnlineMeeting": true
}
The event successfully updated with isOnlineMeeting
as true.
If the issue still persists, when updating the body of an event with an associated online meeting, first retrieve the event's Body property, modify the content as needed, and ensure that the meeting blob (which contains the online meeting details) is preserved.
Removing the meeting blob will unintentionally disable the online meeting functionality. This behavior is intentional and expected within Outlook.
Reference:
IsOnlineMeeting Becomes False When Updating Event via Microsoft Graph API - Microsoft Q&A by Yakun Huang-MSFT