Hi @Nathan V
Since the same package works correctly when the app is manually installed, the basic RSC and bot configuration appears to be correct.
The important point is that a Teams app deep link is documented as a way to open the app installation dialog. The RSC permission is granted when an authorized user completes the installation of the app in the target chat. Therefore, because the only difference in your testing is the installation method, I would focus the investigation on whether the deep-link installation produces the same app installation and RSC grant as the manual installation.
The two symptoms you are seeing are particularly relevant:
- Non-
@mention messages are not delivered, which suggests that ChatMessage.Read.Chat may not have been granted correctly for that chat.
- Adaptive Cards render, but their actions fail with "This action can't be performed since the app does not exist or has been uninstalled." This may indicate that Teams does not recognize the application as fully installed in that conversation when routing the card action.
I would recommend verifying the following:
1.Compare the app installation and RSC grant after each installation method.
Verify that the app appears as installed in the target group chat and that ChatMessage.Read.Chat is present in the RSC permissions granted for that chat. Microsoft Graph provides APIs for listing apps installed in a chat and retrieving the resource-specific permissions granted to an app as part of the installation.
References:
2.Check the deep-link app identifier.
Since the deep-link installation is the only variable producing different behavior, verify that the deep link resolves to the same Teams app/package used in the manual installation. Microsoft documents the identifier requirements for deep links here: Deep link to an application - Teams | Microsoft Learn
3.Perform a clean comparison if possible.
Remove the app from the group chat, reinstall it through the deep-link flow, and then immediately verify the RSC grant and test both message delivery and the Adaptive Card action.
If ChatMessage.Read.Chat is confirmed as granted in both cases, but the behavior still differs solely based on the installation method, I would recommend reporting the issue with a minimal reproducible example through GitHub. This will allow the Teams product/development team to determine whether the behavior is a product issue or an unsupported installation scenario.
Reference: Participating in a discussion - GitHub Docs