One of the most common requests we receive in UserVoice is for resource-specific consent (RSC). Developers want to build apps that can read messages and manipulate channels, without needing to beg an admin for access to the entire tenant. We are pleased to announce the general availability of resource-specific consent and the APIs to read channel messages.
The resource-specific consent (RSC) permissions model enables team owners to grant consent for an application to access and/or modify a specific team’s data. These permissions include:
Permission | Action |
TeamSettings.Read.Group | Get the settings for this team. |
TeamSettings.ReadWrite.Group | Update the settings for this team. |
ChannelSettings.Read.Group | Get the channel names, channel descriptions, and channel settings for this team. |
ChannelSettings.ReadWrite.Group | Update the channel names, channel descriptions, and channel settings for this team. |
Channel.Create.Group | Create channels in this team. |
Channel.Delete.Group | Delete channels in this team. |
ChannelMessage.Read.Group | Get this team’s channel messages. |
TeamsAppInstallation.Read.Group | Get a list of this team’s installed apps. |
TeamsTab.Read.Group | Get a list of this team’s tabs. |
TeamsTab.Create.Group | Create tabs in this team. |
TeamsTab.ReadWrite.Group | Update this team’s tabs. |
TeamsTab.Delete.Group | Delete this team’s tabs. |
TeamMember.Read.Group | Get this team’s members. |
Owner.Read.Group | Get this team’s owners. |
The APIs to read channel messages are also now generally available with both RSC and delegated permissions. These APIs allow you to read channel messages, replies, reactions, attachments, and cards. These APIs include:
- GET /teams/{id}/channels/{id}/messages
- GET /teams/{id}/channels/{id}/messages/{id}
- GET /teams/{id}/channels/{id}/messages/{id}/replies
- GET /teams/{id}/channels/{id}/messages/{id}/replies/{id}
- GET /teams/{id}/channels/{id}/messages/delta
- Subscribe to /teams/{id}/channels/{id}/messages
We look forward to seeing what you build!