Pages Menu
TwitterRssFacebook

Posted by on Sep 22, 2020 in Development, Microsoft Teams

Notes from: Ignite 2020 OD250 – Build richer meetings experiences with Microsoft Teams apps using new meetings extensibility points

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

Written by Tom Morgan

Tom is a Microsoft Teams Platform developer and Microsoft MVP who has been blogging for over a decade. Find out more.
Buy the book: Building and Developing Apps & Bots for Microsoft Teams. Now available to purchase online with free updates.

Post a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.