Meeting app extensibility

Teams’ meeting app extensibility is based on the following concepts:

  • Meeting lifecycle has different stages such as pre-meeting, in-meeting, and post-meeting.
  • There are three distinct participant roles in a meeting: organizer, presenter, and attendee. For more information, see roles in a Teams meeting.
  • There are various user types in a meeting: in-tenant, guest, federated, and anonymous users.

This article covers information about meeting lifecycle and how to integrate tabs, bots, and messaging extensions in the meeting. It provides information to identify different participant roles and different user types to perform tasks.

Meeting lifecycle

Meeting lifecycle consists of pre-meeting, in-meeting, and post-meeting app experience. You can integrate tabs, bots, and messaging extensions in each stage of the meeting lifecycle.

Integrate tabs into the meeting lifecycle

Tabs allow team members to access services and content in a specific space within a meeting. The team works directly with tabs and has conversations about the tools and data available within tabs. In Teams meeting, users can add a tab by selecting Plus button, and choosing the app that they want to install.

Important

If you have integrated a tab with your meeting, then your app must follow the Teams single sign-on (SSO) authentication flow for tabs.

Note

  • Mobile clients support tabs only in pre and post meeting stages. The in-meeting experiences that is in-meeting dialog and panel are currently not available on mobile.
  • Apps are supported only in private scheduled meetings.

Pre-meeting app experience

With the pre-meeting app experience, you can find and add meeting apps and perform pre-meeting tasks, such as developing a poll to survey meeting participants.

To add tabs to an existing meeting

  1. In your calendar, select a meeting to which you want to add a tab.

  2. Select the Details tab and select Plus button. The tab gallery appears.

    Pre-meeting experience

  3. In the tab gallery, select the app that you want to add and follow the steps as required. The app is installed as a tab.

    Pre-meeting tab view

    Note

    • You can also add a tab using the meeting Chat tab in an existing meeting.
    • Tab layout must be in an organized state, if there are more than ten polls or surveys.

In-meeting app experience

With the in-meeting app experience, you can engage participants during the meeting by using apps and the in-meeting dialog box. Meeting apps are hosted in the top upper bar of the meeting window as an in-meeting tab. Use the in-meeting dialog box to showcase actionable content for meeting participants. For more information, see create apps for Teams meetings.

To use tabs during a meeting

  1. After entering the meeting, from the top upper bar of the chat window, select the app you want to use. An app is visible in a Teams meeting in the side panel or the in-meeting dialog box.

  2. In the in-meeting dialog box, enter your response as a feedback.

    Dialog box view

    Note

    • Apps can leverage the Teams Client SDK to access the meetingId, userMri, and frameContext to render the experience appropriately.
    • If the in-meeting dialog box is rendered successfully, you are notified that the results successfully downloaded.
    • Your app manifest specifies the places where you want them to appear. The context field is used for this purpose. It can also be part of a share-tray experience, subject to specified design guidelines.

    The following image illustrates the in-meeting side panel:

    In-meeting side panel

Post-meeting app experience

With post-meeting app experience, you can view the results of the meeting such as poll survey results or feedback. Select Plus button to add a tab and get meeting notes and results on which organizers and attendees must take action.

The following image displays the Contoso tab with results of poll and feedback received from meeting attendees:

Post meeting view

Note

Tab layout must be organized when there are more than ten polls or surveys.

Integrate bots into the meeting lifecycle

Bots enabled in groupchat scope start functioning in meetings. To implement bots, start with build a bot and then continue with create apps for Teams meetings.

Integrate messaging extensions into the meeting lifecycle

To implement messaging extensions, start with build a messaging extension and then continue with create apps for Teams meetings.

The Teams meeting app extensibility allows you to design your app based on participant roles in a meeting.

Participant roles in a meeting

Participants in a meeting

Default participant settings are determined by an organization's IT administrator. The following are the participant roles in a meeting:

  • Organizer: The organizer schedules a meeting, sets the meeting options, assigns meeting roles, and starts the meeting. Only users with M365 account and Teams license can be organizers, and control attendee permissions. A meeting organizer can change the settings for a specific meeting. Organizers can make these changes on the Meeting options web page.
  • Presenter: Presenters have same capabilities of organizers with exclusions. A presenter cannot remove an organizer from the session or modify meeting options for the session. By default, participants joining a meeting have the presenter role.
  • Attendee: An attendee is a user who has been invited to attend a meeting but is not authorized to act as a presenter. Attendees can interact with other meeting members but cannot manage any of the meeting settings or share content.

Note

Only an organizer or presenter can add, remove, or uninstall apps.

For more information, see roles in a Teams meeting.

After you design your app based on participant roles in a meeting, you can identify each user type for meetings and select what they can access.

User types in a meeting

Note

The user type is not included in the getParticipantRole API.

User types, such as, organizer, presenter, or attendee in a meeting can perform one of the participant roles in a meeting.

The following list details the different user types along with their accessibility and performance:

  • In-tenant: In-tenant users belong to the organization and have credentials in Azure Active Directory (AAD) for the tenant. They are usually full-time, onsite, or remote employees. An in-tenant user can be an organizer, presenter, or attendee.

  • Guest: A guest is a participant from another organization invited to access Teams or other resources in the organization's tenant. Guests are added to the organization’s AAD and have same Teams capabilities as a native team member with access to team chats, meetings, and files. A guest user can be an organizer, presenter, or attendee. For more information, see guest access in Teams.

  • Federated or external: A federated user is an external Teams user in another organization who has been invited to join a meeting. Federated users have valid credentials with federated partners and are authorized by Teams. They do not have access to your teams or other shared resources from your organization. Guest access is a better option for external users to have access to teams and channels. For more information, see manage external access in Teams.

    Note

    Your Teams users can add apps when they host meetings or chats with other organizations. The users can use apps shared by external users when your users join meetings or chats hosted by other organizations. The data policies of the hosting user's organization, as well as the data sharing practices of the third-party apps shared by that user's organization, will be in effect.

  • Anonymous: Anonymous users do not have an AAD identity and are not federated with a tenant. The anonymous participants are like external users, but their identity is not projected in the meeting. Anonymous users are not able to access apps in a meeting window. An anonymous user cannot be an organizer but can be a presenter or attendee.

    Note

    Anonymous users inherit the global default user-level app permission policy. For more information, see manage Apps.

A guest or anonymous user cannot add, remove, or uninstall apps.

The following table provides the user types and what features each user can access:

User type Tabs Bots Messaging extensions Adaptive Cards Task modules In-meeting dialog
Anonymous user Not available Not available Not available Interactions in the meeting chat are allowed. Interactions in the meeting chat from an Adaptive Card are allowed. Not available
Guest that is part of the tenant AAD Interaction is allowed. Creating, updating, and deleting are not allowed. Not available Not available Interactions in the meeting chat are allowed. Interactions in the meeting chat from an Adaptive Card are allowed. Available
Federated user. For more information, see non-standard users. Interaction is allowed. Creating, updating, and deleting are not allowed. Interaction is allowed. Acquiring, updating, and deleting are not allowed. Not available Interactions in the meeting chat are allowed. Interactions in the meeting chat from an Adaptive Card are allowed. Not available

See also

Next step