Controlling settings, permissions, and membership within Teams and channels
Hi Clemens,
Thank you for the detailed explanation.
Based on your sharing, your understanding is generally correct as RSC is the appropriate permission model when an application needs app-only access to Teams resources without receiving access to the entire tenant.
However, I want to mention that the permissions ChannelMessage.Read.Group and ChannelMessage.Send.Group apply to a specific Team and the channels within that Team. There is currently no equivalent permission such as ChannelMessage.Read.Channel or ChannelMessage.Send.Channel that can restrict the application permission to only one standard channel.
This means that installing the Teams app in a Team grants the declared .Group permissions for that Team. Your application can still be configured to use only one specific channel ID, but that restriction would be enforced by your own application rather than by the Graph permission itself.
For this situation, the best option depends on whether you need the application do:
1/ If the application only needs to send messages
Use a Teams Workflow webhook:
- Open the required Teams channel.
- Create a Workflow that starts when a webhook request is received.
- Configure the Workflow to post the received content to that channel.
- Call the generated webhook URL from your application.
2/ If the application needs to read and send messages
- Use ChannelMessage.Read.Group RSC for application-only reading.
- Use a Teams bot or a Teams Workflow webhook for sending.
- Install the app in the required Team.
- Configure the backend to accept only the approved Team ID and channel ID.
If you want to use Graph for both reading and sending, unfortunately, there is currently no fully supported Graph-only, application-only method that can both read and send normal messages while being restricted by Microsoft Graph permissions to one individual Teams channel.
Hope this information helps you move forward smoothly. If you have any other question, please feel free to reach out on the comments of this post. I'll be happy to assist you further.
Thank you for your understanding and I hope your concern will get resolved soon.
If the answer is helpful, please click "Yes" and kindly upvote it.
Note: Please follow the steps in the forum documentation to enable e-mail notifications if you want to receive the related email notification for this thread.