Share via

Graph API not creating online meeting despite isOnlineMeeting being set true

Shashwat Dixit 25 Reputation points
2025-09-19T09:54:32.75+00:00

I'm using Microsoft Graph API v1.0 to create calendar events with online meetings for a Outlook account (@outlook.com). Despite setting isOnlineMeeting: true and onlineMeetingProvider: "skypeForConsumer", the API consistently ignores these properties and returns isOnlineMeeting: false with onlineMeeting: null.

Permission: Calendars.ReadWrite (granted and working for event creation)

Request Payload -


{

"subject": "Test Meeting",

"start": {

"dateTime": "2025-10-04T06:45:00+00:00",

"timeZone": "Asia/Kolkata"

 },

"end": {

"dateTime": "2025-10-04T07:45:00+00:00",

"timeZone": "Asia/Kolkata"

 },

"isOnlineMeeting": true,

"onlineMeetingProvider": "skypeForConsumer",

"attendees": [/* attendee objects */]

}

Response Payload -


{

"isOnlineMeeting": false,

"onlineMeetingProvider": "unknown",

"onlineMeeting": null,

"onlineMeetingUrl": null

// ... other event properties created successfully

}

The same issue happens if I set the onlineMeetingProvider value to teamsForBusiness.

Also, the calendar event is created in all the cases, only the meeting details are never sent in the response. This was working fine before.

Expected Behavior:

According to the Microsoft Graph documentation, setting isOnlineMeeting: true should create an online meeting and return the meeting details in the onlineMeeting object.

Microsoft 365 and Office | Development | Other
0 comments No comments

Answer accepted by question author

Jack-Bu 6,770 Reputation points Microsoft External Staff Moderator
2025-09-19T15:17:03.8666667+00:00

Hi Shashwat Dixit

Thank you for posting your inquiry on Microsoft Q&A forum

I dug into this issue, and unfortunately, it's a known limitation of the Microsoft Graph API for personal Outlook.com accounts (consumer Microsoft accounts). The API does not support creating online meetings (Skype or Teams) directly as part of calendar events for these accounts, even when you correctly set isOnlineMeeting: true and specify a valid onlineMeetingProvider. This results in the properties being silently ignored, with the response showing isOnlineMeeting: false and onlineMeeting: null. Why This Happens:

  • Account Type Restriction: Personal accounts have limited Graph API support for online meetings compared to work/school accounts (e.g., Microsoft 365 business/enterprise). While the docs list providers like "skypeForConsumer" and "teamsForBusiness", they don't actually initialize for personal accounts.
  • Provider Check: You can verify this by querying GET /me/calendar and looking at allowedOnlineMeetingProviders—personal accounts typically only show "skypeForConsumer" (if anything), but even that doesn't work for event creation.
  • Historical Note: If it "worked before," it might've been a temporary gap or enforcement change. Microsoft has been deprecating Skype for Business in favor of Teams, with API updates in early 2025 (e.g., Teams live events endpoints). Community reports confirm this behavior since at least 2022.

For work/school accounts, this works fine, onlineMeeting populates with the join URL.

Quick Troubleshooting

  1. Inspect Providers: Run GET /me/calendar?$select=allowedOnlineMeetingProviders,defaultOnlineMeetingProvider to confirm what's available.
  2. Omit Provider: Try your payload without onlineMeetingProvider (let it default)—still won't work for personal accounts.
  3. Beta Endpoint: Test POST /beta/me/events just in case, but expect the same result.
  4. Permissions: Calendars.ReadWrite is fine; no additional scopes needed (or available) for this.

Workarounds

  • Switch Account Types: Use a Microsoft 365 work/school account, if possible, this fully supports the feature.
  • Standalone Meetings: Create meetings separately via POST /communications/onlineMeetings (requires OnlineMeetings.ReadWrite), then link the URL manually to your event. But heads up: This endpoint also isn't supported for personal accounts.
  • Manual Fallback: For now, create events via API and add online meetings manually in the Outlook/Teams/Skype app.

Hope this information help you clarify the situation, if you have any additional concern, feel free to comment below. I be more than happy to assist.  


If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".      

Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread. 

Was this answer helpful?

2 people found this answer helpful.

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.