Prerequisites
You also need permission to sideload or pin custom apps in Microsoft Teams. If custom app upload is disabled tenant‑wide, ask your Teams administrator to enable it (or distribute the Ravenna app via your tenant’s Teams admin center).Install Ravenna
Open Ravenna settings
Add Microsoft Teams integration
Authorize the connection
- Sign in with your Microsoft work account
- Review the requested permissions
- Click Accept to grant tenant‑wide admin consent
Complete setup
Download the app package
Before the Ravenna app can appear in Microsoft Teams, publish it to your tenant. Ravenna generates the Teams app package on demand: a.zip file containing the app manifest.json and icons that Microsoft Teams needs to install the Ravenna bot.
Open the Microsoft Teams integration
Download the app package
ravenna-teams-v<version>.zip file.Sideload the package in Microsoft Teams
Upload the downloaded.zip in the Microsoft Teams admin center to make the Ravenna app available in your organization.
Open the Teams admin center
Go to Manage apps
Upload the Ravenna package
ravenna-teams-v<version>.zip file you downloaded from Ravenna.Approve and publish
Install the Teams app
After the Ravenna app is approved in the Teams admin center, install it inside Microsoft Teams so the bot can receive messages and post into channels.Get the Ravenna app
Add to a team
ChannelMessage.Read.Group; without it the bot will only ever see messages that explicitly @-mention it.Pick a channel
Connect channels
After installing the Ravenna app, connect Teams channels to Ravenna to start receiving tickets.@-mention the Ravenna bot
Choose the channel type
Select a workspace and Ravenna channel
User synchronization
Ravenna provisions Teams users on demand from Microsoft Graph the first time they interact with the bot. Internal users (matching your organization’s verified domains) are provisioned as Members; external users are provisioned as Guests. Users are synchronized when they:- Post a message in a connected request channel
- DM the Ravenna bot
- Submit an Adaptive Card form
- React to a message with a configured reaction emoji
- Only read messages
- Are listed in a team’s roster but never interact with Ravenna
Tenant routing
Each Microsoft Teams integration is scoped to one Azure AD tenant. Ravenna routes inbound Bot Framework activities to the correct integration by reading the tenant ID from the activity’schannelData.tenant.id. You can connect at most one Microsoft Teams integration per tenant, per Ravenna organization.
Troubleshooting
The bot doesn't reply when I @-mention it
The bot doesn't reply when I @-mention it
- Confirm the Ravenna app is installed to the team (not just the channel).
- Re-install the app. RSC permissions are granted per team at install time.
- Ask a team owner to perform the install if you don’t have owner permissions.
The bot only sees @-mentions, not every message
The bot only sees @-mentions, not every message
ChannelMessage.Read.Group resource-specific consent permission.Solution:- Re-install the Ravenna app to the team. RSC permissions are granted at install time and can’t be added retroactively without re-install.
- Make sure a team owner approves the install. Only owners can grant RSC.
OAuth flow fails with a consent error
OAuth flow fails with a consent error
- Ask a Microsoft 365 global administrator (or a user with the Cloud Application Administrator role) to complete the connect flow.
- Alternatively, an admin can pre-consent to the Ravenna app in Enterprise applications so non-admin users can connect afterwards.