How to receive app mentions only from a channel, while having the consent to read user messages?

Digvendra Singh Tomar 0 Reputation points
2026-09-23T07:04:02.03+00:00

We're building a Teams bot (Azure Bot + Entra app) that a customer adds into a standard Teams channel. Members @mention the bot and it replies in the same thread. To make replies useful, when the bot is mentioned we want to read recent messages in that thread for context, including messages where the bot was not mentioned.

We have two requirements that appear to be in tension, and we'd like your guidance on the best-supported way to satisfy both:
a. Delivery: we want Teams to send our bot only the activities where it is @mentioned (not every channel message), to avoid unnecessary inbound load and Bot Framework rate-limit pressure in busy channels.
b. Context read: on those mention turns, we want to read recent thread messages via Microsoft Graph (/teams/{team}/channels/{channel}/messages/{id}/replies).

We've identified two approaches, each with their drawbacks:
a. RSC (ChannelMessage.Read.Group) - all channel messages; team-scoped & consented by team owner at install (low friction) Concern: RSC forces delivery of every channel message; heavy backend filtering + bot framework rate-limit risk
b. App permission (ChannelMessage.Read.All) - @mention-only; tenant-wide consent; tenant-admin consent Concerns: setup friction (admin consent URL, per app per tenant); read grant spans all standard channels, including ones the app isn't a member of

Our core question: Option 1 gives the delivery we don't want but the scoping we like; Option 2 gives the delivery we want but a tenant-wide read grant we'd prefer to avoid. Specifically:

  1. Is there any supported way to keep @mention-only delivery and a channel-scoped (RSC-style) read grant, i.e. decouple RSC's message delivery from its read authorization?
  2. Can the tenant-wide read in Option 2 be narrowed to specific teams/channels (e.g., via a Teams application access policy or any resource-scoping mechanism), so the app can only read where it's intended to operate?
  3. Given our two requirements, which approach does Microsoft recommend, and is there any option we've missed?

TIA!

Microsoft Teams | Microsoft Teams for business | Teams and channels | Manage a team or channel
0 comments No comments

1 answer

Sort by: Most helpful
  1. Roebe Ta 1,545 Reputation points Independent Advisor
    2026-09-23T07:44:33.2+00:00

    Hello @Digvendra Singh Tomar,

    Based on the current documentations I reviewed, a Teams bot in a channel only receives messages when it is directly @mentioned. If the app uses the RSC permission ChannelMessage.Read.Group, the permission not only grants access to channel messages within the scoped team, but also enables the bot to receive channel messages without being @mentioned.

    The documentations describes filtering non-mentioned messages within the bot after delivery, but I could not find any documented option to retain @mention-only delivery while using ChannelMessage.Read.Group. Likewise, I could not find documentation indicating that tenant-wide application permissions such as ChannelMessage.Read.All can be scoped down to specific teams or channels in the same way that RSC permissions are scoped.

    For your reference:

    If you need a definitive product-team answer on whether there are any undocumented roadmap items, design recommendations, or alternative architectures, I'd recommend posting on Microsoft Tech Community, where questions are more likely to be reviewed by engineers and community experts focused on Teams platform development: https://techcommunity.microsoft.com/

    User's image

    These forums are actively monitored by specialists and community experts who can provide more in-depth guidance, including tailored examples for your scenario.

    Thank you for your understanding!

    Was this answer helpful?


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.