cal.com icon indicating copy to clipboard operation
cal.com copied to clipboard

MS Teams + MS Calendar Bad Implementation

Open ldpg-dev opened this issue 9 months ago • 2 comments

Issue Summary

Microsoft Teams + Microsoft Outlook Calendar Meetings are not being created as online meetings, and have unprofessional description.

Steps to Reproduce

  1. Install MS Teams app from the app marketplace
  2. Setup MS Outlook as your main Calendar
  3. Create a Booking and set MS Teams as the meeting software
  4. Book a meeting
  5. Atendees will receive 2 emails: 1 from Cal.com + 1 from MS Calendar

Actual Results

  • Attendees will get 2 emails. 1 from Cal.com and 1 from MS Calendar

  • The one from MS Calendar looks like this: image

  • When I go to MS Teams to check this is what I see: image

Expected Results

  • This is what that email would normally look like when I create a meeting through Calendly or MS Teams directly: image

Notice how the location is Not the Meeting Link but an arbitrary URL, in this case Calendly's event, and the "Online Meeting" switch is turned on, letting Microsoft handle the link creation, instead of creating a link and then attaching it to the calendar event image

ldpg-dev avatar Apr 26 '24 08:04 ldpg-dev

To address the issue with Microsoft Teams meeting invitations not being created as online meetings and having an unprofessional description, it's essential to ensure that the meetings are created through the Microsoft Graph API as online meetings. This approach will enable Microsoft Teams to handle the invitation layout and details, ensuring a professional appearance.

Here's a more direct solution to implement:

  1. Use Microsoft Graph API: Ensure your integration creates the meeting as an online Teams meeting directly through the Microsoft Graph API. This action will automatically set the meeting as an online event and allow Teams to manage the invitation details.

  2. Customize Email Invitations: If you're sending additional emails through your application, use the AttendeeScheduledEmail class as a reference for generating professional-looking email content. Include the joinWebUrl prominently in your email template to make it easy for attendees to join the meeting.

  3. Automate and Customize: Integrate the email sending functionality into your meeting creation workflow. After creating the meeting and obtaining the joinWebUrl, generate a customized email invitation using your template and send it to all attendees.

  4. Error Handling and Localization: Implement error handling for a smooth user experience and use localization and time zone information to ensure the email content is relevant and correctly formatted for all recipients.

By following these steps, you can improve the professionalism of your Microsoft Teams meeting invitations and ensure they are recognized as online meetings. This approach leverages the capabilities of the Microsoft Graph API and custom email templates to enhance the overall user experience.

Details

Sources


About Dosu This response is meant to be useful and save you time. It is not meant to be a precise solution, but rather a starting point for your own research.

Help me be more useful! Please leave a 👍 if this is helpful and 👎 if it is irrelevant.

To continue the conversation, mention @dosu.

dosubot[bot] avatar Apr 26 '24 08:04 dosubot[bot]

@joeauyeung

milospuac avatar Apr 26 '24 16:04 milospuac

Is this matter of permissions? Or bad implementation?

buzzard10 avatar Jun 03 '24 19:06 buzzard10

@buzzard10 This is a bad implementation of the MS Teams integration with Outlook/MS Calendar

ldpg-dev avatar Jun 04 '24 07:06 ldpg-dev

@ldpg-dev, it was functioning for me a few weeks ago; I had a link to the meeting, but now it's not working. What has changed?

buzzard10 avatar Jun 04 '24 07:06 buzzard10

I honestly don't know, @milospuac and @joeauyeung have you been able to take a look at this? @ciaranha Not sure why it's not labeled as a bug anymore.

ldpg-dev avatar Jun 04 '24 07:06 ldpg-dev

The Microsoft Graph API doesn't support suppressing invitation mails when creating an event object.

  • https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/ability-to-update-or-create-an-event-without-sending-a/idi-p/2335070
  • https://learn.microsoft.com/en-us/answers/questions/1074414/create-an-event-but-dont-send-invitations
  • https://learn.microsoft.com/en-us/answers/questions/997970/msgraph-api-event-creation-suppress-email-feature

The only way I see for solving the duplicate mail issue is disabling Cal.Com notification mails, if an event was created using the office365calendar app.

krakowski avatar Jun 18 '24 10:06 krakowski

This issue is the invalid email. If you look at the screenshots in the original post of this issue, you see there is an invalid email address. Cal.com keeps adding that "invalid email address" to the Microsoft Teams meetings. If that email is removed and the meeting updated. then it works just fine. But that would mean, after each meeting is created you have to go in and edit it, and when you do, it sends an update notification to the client which doesn't look professional. I had to switch to Calendly because of this issue. I'm waiting till it gets fixed to switch back to cal.com. I opened a ticket a long while ago, but it went nowhere.

SecureCPU avatar Jul 15 '24 15:07 SecureCPU

Also the description is poorly formatted, you can see there are no line breaks. Again, I'm not sure why this is labeled as "Improvement" and not as "bug", this is certainly a bug.

ldpg-dev avatar Jul 15 '24 15:07 ldpg-dev

Any updates on this? I really don't want to, but I'm going to have to migrate my entire team back to Calendly because of this issue. I work in Customer Onboardings, and we send an AI recorder into the meetings and give the video links to the customers to review later, but because the Online Meeting isn't checked, the recorder isn't scheduled to enter the meeting and we have to manually send it in, which also doesn't auto trigger the video to send to the customer later. It's becoming a major problem.

jbcameraguy avatar Aug 09 '24 05:08 jbcameraguy

Yeah, Microsoft Teams become a really popular service in COVID, and we're using this every day. Unfortunately, based on my last tests i can say that:

  1. It doesn't generate link to meeting automatically
  2. Calcom doesn't support webhook MEETING END for Microsoft Teams.

buzzard10 avatar Aug 09 '24 06:08 buzzard10

How about adding an option not to provide Microsoft's API with the attendee's email addresses? We also don't like the current behavior (of MS, that is!), but couldn't find any other workaround yet.

herzkerl avatar Aug 22 '24 15:08 herzkerl