Forum Discussion
Bot not receiving message events in shared channels (RSC)
Hi folks,
Running into an issue with a bot in Microsoft Teams shared channels.
I've configured RSC permissions to listen for new messages. This works as expected in standard channels - I receive events for every new message.
However, in shared channels, the behavior is different:
- I only receive events when the bot is explicitly tagged
- Regular messages in the channel don’t trigger any events
Permissions currently granted:
- Channel.ReadBasic.All (Application)
- ChannelMember.Read.All (Application)
- ChannelMessage.Read.All (Application)
Has anyone faced this with shared channels? Is this expected behavior or am I missing something in setup?
Thanks!
5 Replies
- Nivedipa-MSFT
Microsoft
Hello deepak_nayak,
Currently, there are no real-time change notifications available for shared channel messages, as neither RSC nor Graph subscriptions provide this functionality.
Recommended approach: Poll for updates using Graph delta queries every 60 seconds:
GET /teams/{id}/channels/{id}/messages/delta
You can combine this with InvalidUsername processing to support real-time interactions. At this time, no event-based solution is available.
- Yash-ClearFeedCopper Contributor
Nivedipa-MSFT Thanks for confirming the polling approach using the delta API.
Could you also share if there are any defined or recommended rate limits for /messages/delta and /replies APIs? Since we may need to poll across a large number of channels, any guidance on safe polling intervals or throughput (per app/tenant) would be really helpful to avoid throttling.
Thanks!- Nivedipa-MSFT
Microsoft
Hello Yash-ClearFeed,
Teams message APIs (/messages/delta, /replies) share a limit of 60 requests/min per app per tenant.
- Under 60 channels: Polling every 60s is feasible
- 60+ channels: Use Graph change notifications (webhooks) as the primary method, with delta queries as periodic catch-up
- Always handle HTTP 429 with Retry-After and exponential backoff
- anandjo
Microsoft
Deepak, to make the app work in shared channels, you need to do the following:
1. Update the manifest to declare support for shared channels. Instructions can be found here:https://learn.microsoft.com/en-us/microsoftteams/platform/build-apps-for-shared-private-channels?tabs=tabs%2Cexternal-users%2Csharedchannel#apps-with-no-dependence-on-specified-parameters:~:text=Add%20supportsChannelFeatures%3A%20tier1%20to%20your%20app%20manifest
2. Enable the app in the shared channel once the app has been installed in the parent team.
- deepak_nayakCopper Contributor
Thanks - I’ve already done both of those:
- Updated the manifest with supportsChannelFeatures: tier1
- Added/enabled the app in the shared channel after installing it in the host team
The issue I’m seeing is different: even after setup, I don’t receive regular message events in shared channels - only messages where the bot is explicitly @mentioned.
From the shared/private channels documentation, it seems message change notifications for /channels/{id}/messages are not supported for shared channels with RSC, and the suggested fallback is on-demand reads.
Can you confirm if this is an expected limitation?
Also, what is the recommended pattern for near real-time processing in shared channels in this case? For example:
- Is periodic polling via Graph the only supported approach?
- Are there any event-based alternatives or roadmap plans for this?
Trying to understand how others are building reliable message ingestion for shared channels.