Notes from: Ignite 2020 OD250 – Build richer meetings experiences with Microsoft Teams apps using new meetings extensibility points
These are my notes from the Microsoft Ignite session Build richer meetings experiences with Microsoft Teams apps using new meetings extensibility points
Different types of meeting extensibility points:
Pre-Meeting Context Setting
Bots can send messages and cards to the Meeting chat channel,
Tab-style webpage
During Meeting Experience
Developers can add side-content pane. Notice how the additional icon (PagerDuty in this case) is shown along the top next to the Raise Hand feature to let people switch to it: that’s pretty cool
Post Meeting Experience
Bot Channel Chat, Tab-style webpage
Look out for examples of this experience coming from some selected partners:
How it works
for tabs, need to specify the groupchat scope:
Then, the context defines where your tab will show:
The various options for context (and you can have more than one are):
- channelTab: a tab in the header of a team channel.
- privateChatTab: a tab in the header of a group chat between a set of users not in the context of a team or meeting.
- meetingChatTab: a tab in the header of a group chat between a set of users in the context of a scheduled meeting.
- meetingDetailsTab: a tab in the header of the meeting details view of the calendar.
- meetingSidePanel: an in-meeting panel opened via the unified bar (u-bar).
To try and make it less confusing:
Before a meeting: meetingChatTab
During a meeting: meetingSidePanel (this makes it show during the meeting, and also signifies to the App Store that the app is “Optimised for Meetings”)
After a meeting: same as before meeting
Dialogs in Meetings
Separate to tabs, a way of surfacing content or getting feedback during the meeting:
Done by sending a POST call as part of the Teams Client SDK and Bot SDK:Â Â POST /v3/conversations/{id}/activities:
New field externalResourceURL which specifies what to show. This is the same as a regular Task Module, using the same technology.
Different Experiences for Different Roles
(see Roles in a Teams meeting)
Attendees can’t add/remove/uninstall apps in meetings. Same for Guest/Anonymous.
New Graph call:
/v1/meetings/{id}/participants/{id}?tenantID={tenantID}Â which will tell you the role of the participant in that meeting
Can get all these things from Tab SSO, Teams Client SDK or the Bot:
Also, new way to get these:Â FrameContext:
Admin Controls
New settings for controlling whether an anonymous user can interact with apps. By default it is turned ON:
Meetings Apps are also controlled by the normal App Policies that govern other Teams apps.
Note: only Organiser and Presenters can remove/uninstall apps.
More Resources
Read the technical documentation: aka.ms/create_apps_in_meetings
Review a sample app: Meeting Token Generator app
Get help designing your app with design guidelines:Â aka.ms/design_your_app_for_meetings