Reference

Microsoft Teams permissions

The Conclude app for Microsoft Teams asks for the permissions listed here. This page is for tenant admins who review app permissions before they approve them. Resource-specific consent (RSC) permissions are declared in the app manifest, and Teams grants them when the app is installed in a team or chat. Delegated scopes come through Microsoft Graph. The signed-in user grants them, or an admin grants them for the whole tenant.

RSC permissions that Conclude uses to connect platforms

The current app manifest, version 1.4.0, declares these permissions. An installation holds the set that its own manifest version declared, from the install or the last upgrade. Older installations may therefore hold fewer.

ScopeDescriptionUse case
ChannelSettings.ReadWrite.GroupRetrieve and modify channel informationConclude lists and modifies the channels in a team
Channel.Create.GroupCreate channelsConclude creates new channels in a team
ChannelMessage.Read.GroupRead all channel messagesConclude reads all channel messages in a team
ChannelMember.ReadWrite.GroupRead and add members of a private or shared channelConclude lists and adds members of private and shared channels. Standard channels follow team membership. This permission replaced ChannelMember.Read.Group in manifest 1.3.2
ChatMessage.Read.ChatRead all chat messagesConclude reads all messages in a chat
ChatSettings.ReadWrite.ChatRead and write settings for a chatConclude reads and writes chat settings such as the topic
Chat.Manage.ChatManage a chatConclude adds members to a chat and removes them
Chat.ManageDeletion.ChatDelete and recover a chatConclude deletes a chat when the chat is removed from Conclude. Added in manifest 1.3.4
TeamMember.Read.GroupList all members in a teamConclude lists all members in a team
TeamSettings.Read.GroupRead team settingsConclude reads a team’s name, settings and photo. Added in manifest 1.3.4
TeamsAppInstallation.Read.GroupRead the apps installed in a teamConclude reads its own installation in a team and the permissions granted to it. Added in manifest 1.4.0
TeamsTab.ReadWrite.GroupRead and write tabs in a channelConclude lists its own tabs in channels and removes them. Added in manifest 1.3.4
TeamsTab.Create.GroupCreate tabs in a channelConclude adds its own tabs to channels. TeamsTab.ReadWrite.Group does not cover creating a tab. Added in manifest 1.3.4
TeamsTab.ReadWrite.ChatRead and write tabs in a chatConclude adds its own tabs in a chat and removes them. Added in manifest 1.3.4
TeamsTab.Read.ChatRead tabs in a chatConclude lists the tabs in a chat. TeamsTab.ReadWrite.Chat does not cover listing. Added in manifest 1.3.4

Installations made with a manifest version before 1.3.2 also hold ChatMember.Read.Chat and ChannelMember.Read.Group. The current manifest no longer declares these two permissions, and Conclude does not use them.

Delegated scopes that Conclude requests for User Sync

When someone signs in to Conclude with a Microsoft account, Conclude requests only the standard OpenID Connect scopes, User.Read and offline_access. It requests the scopes below when a workspace is added or authorized. The user grants them, or an admin grants them through the tenant-wide admin consent link that Conclude provides.

ScopeDescriptionUse case
Chat.ReadWriteCreate chats and read/write messages in chatsConclude creates new direct messages and group chats. It also reads and edits messages
Channel.CreateCreate channelsConclude creates channels in selected teams. The RSC permission Channel.Create.Group will replace this scope
ChannelMessage.ReadWriteRead and write user channel messagesConclude edits messages in channels and soft deletes them
ChannelMessage.Read.AllRead all messages in a channelConclude reads hosted content and batches of replies in channel messages. The RSC permission ChannelMessage.Read.Group covers the other channel message reads
ChannelMessage.SendSend messages to a channel on behalf of a userConclude sends messages to a Teams channel on behalf of the user
ChannelMember.ReadWrite.AllAdd and remove members from all channelsConclude lists the members of a channel and adds new members
ChannelSettings.ReadWrite.AllList channels in a team and modify their settingsConclude lists channels and sets channel topics. The RSC permission ChannelSettings.ReadWrite.Group will replace this scope
Team.ReadBasic.AllRead the names and descriptions of teamsConclude gets the list of teams that the signed-in user has joined
TeamMember.Read.AllRead members of teamsConclude lists all members of a team. The RSC permission TeamMember.Read.Group will replace this scope
TeamsAppInstallation.ReadWriteAndConsentSelfForChatAllow Conclude to install itself into a chatOnce Conclude is installed in a chat, it can subscribe to the messages in that chat and post messages
TeamsAppInstallation.ReadWriteAndConsentSelfForTeamAllow Conclude to install itself into a teamOnce Conclude is installed in a team, it can subscribe to the messages in that team and post messages
User.ReadBasic.AllRead basic info about all usersConclude reads basic information about all users, including their name and profile picture
User.ReadSign in and read user profileConclude reads the signed-in user’s profile to identify the user
offline_accessMaintain access to data you have given it access toConclude keeps the access token refreshed after a successful sign-in

Conclude adds two more groups of scopes, but only when your configuration needs them.

ScopeDescriptionUse case
Files.Read.AllRead all files the user can accessRequested when attachment copying is enabled for Connect Internal, External or Bridge. Conclude reads files shared in synced conversations
Files.ReadWrite.AllHave full access to user filesRequested together with Files.Read.All. Conclude uploads a file on behalf of the signed-in user and sends an invitation to another user
TeamsTab.ReadWriteSelfForTeamManage Conclude’s own tabs in teamsRequested when Apps or Connected Apps are enabled. Conclude adds its own tabs to team channels and removes them
TeamsTab.Read.AllRead tabs in teams and chatsRequested when Apps or Connected Apps are enabled. Conclude finds its existing tabs

AppCatalog.Read.All appeared in older versions of this list. Conclude now requests it only outside production. There it uses the scope to find its own app ID in the organization’s app catalog.

Some tenant admins curate Conclude’s permissions themselves. This is called custom tenant authentication, and Conclude handles it differently. Conclude requests offline_access and https://graph.microsoft.com/.default. The .default scope resolves to whatever delegated permissions the tenant has consented to. Conclude therefore never asks again for a scope that an admin has removed. Conclude does not provide an admin consent link for these organizations.

For the equivalent list for Slack, see Slack permissions. For how Conclude handles data more broadly, see the Security page.