Trying to get an EWS appoint to show a "join online meeting" in outlook

Viewed 46

I am trying to create an exchance EWS appointment with a join teams link. I have the teams link generated already, now i want to create the exchange ews appointment with the teams link added to it. Up to now with no success

I have tried with these properties already:

appointment.SetExtendedProperty(new ExtendedPropertyDefinition(DefaultExtendedPropertySet.PublicStrings, "OnlineMeetingConfLink", MapiPropertyType.String), graphMeeting.JoinWebUrl);
                    appointment.SetExtendedProperty(new ExtendedPropertyDefinition(DefaultExtendedPropertySet.PublicStrings, "extendedUCMeetingSetting", MapiPropertyType.String), graphMeeting.JoinWebUrl);
                    appointment.SetExtendedProperty(new ExtendedPropertyDefinition(DefaultExtendedPropertySet.PublicStrings, "OnlineMeetingExternalLink", MapiPropertyType.String), graphMeeting.JoinWebUrl);

but these do not do anything at all

i have also tried this property:

appointment.SetExtendedProperty(new ExtendedPropertyDefinition(
                                        DefaultExtendedPropertySet.PublicStrings,
                                        "SkypeTeamsMeetingUrl",
                                        MapiPropertyType.String), graphMeeting.JoinWebUrl);

This actually generated a join meeting button in outlook, but when i double click the appointment it just throws an error, even though this is a valid join teams links. probably due to the fact that I am trying to add a teams link to a skype meeting url?

can anyone point me in the right direction?

1 Answers

After further extensive research and while using the MFCMAPI tool i found a few properties that looked like they could be needed.

I narrowed the combination down to these 2. Once these 2 are entered it is marked as an online meeting for outlook, and no error is generated:

appointment.SetExtendedProperty(new ExtendedPropertyDefinition(
                                        DefaultExtendedPropertySet.PublicStrings,
                                        "SkypeTeamsMeetingUrl",
                                        MapiPropertyType.String), graphMeeting.JoinWebUrl);
                    appointment.SetExtendedProperty(new ExtendedPropertyDefinition(
                                        DefaultExtendedPropertySet.PublicStrings,
                                        "SkypeTeamsProperties",
                                        MapiPropertyType.String), $@"{{""cid"":""{graphMeeting.ChatInfo.ThreadId}"",""private"":true,""type"":0,""mid"":0,""rid"":0,""uid"":null}}");
Related