Before fix (or issue): https://www.loom.com/share/87082087c5f64e368494ec6aea834a48?sid=4c3724fa-5c6a-4a57-8b25-d32e6989404d
After fix : https://www.loom.com/share/75f976cf3b6f4b27b5da3301089fb2fd?sid=fe926a95-9953-4797-a7f0-bc6524f35c83
Changes in /apps/msteams (MSTeams installation page with dependency added) https://www.loom.com/share/2881ab3bf573453585a029016c82b3ba?sid=478b4496-9112-43b0-a3db-f6050a2baaf3
Before Fix | After Fix |
---|---|
|
|
|
|
/onlineMeetings
endpoint was used to create MSTeam meetings in office365video/lib/VideoApiAdapter.ts. But as per microsoft Graph API doc -
https://learn.microsoft.com/en-us/graph/api/application-post-onlinemeetings?view=graph-rest-1.0&tabs=javascriptwith key properties set allowNewTimeProposals: true
, isOnlineMeeting: true
, onlineMeetingProvider: 'teamsForBusiness'
Also duplicate events or emails were generated because a event was created on outlook calendar using calendar service, and /onlineMeetings
also created an event on same calendar by office365video/lib/VideoApiAdapter.
Implemented a check in this PR -> to not create meeting using office365video/lib/videoApiAdapter, but the office365calendar/lib/CalendarService with /events endpoint will be used to create onlineMeeting by passing required parameters..
Also the body content should be of type HTML
and html content has to be input in body for /event endpoint , for the texts and content to look good along with Microsoft Teams
details at the end of the body with meeting details. This resolves content not looking good.
MSTeams automatically send mails to attendees with the body passed in /events
endpoint. Also appending its meeting details like url, passcode, id,…
Added a dependency to MSTeams installation in app-store, this suggests or warns user if they are trying to install MSTeams without outlook calendar and recommends to install outlook calendar first.
Also updated the updateEvent
in office365calendar/lib/CalendarService.ts
updateEvent
updates or moves the meeting without loosing its onlineMeeting
feature by getting the meeting blob first in the existing body and then patching it. Without this blob patch the updated meeting becomes non-onlineMeeting (or without msTeams feature)
https://learn.microsoft.com/en-us/graph/api/event-update?view=graph-rest-1.0&tabs=javascript
Fixed an issue where MS Teams events were not created as online meetings and prevented duplicate calendar events in Outlook when using MS Teams.
Vijay
@vijayraghav-io
Cal.com, Inc.
@cal