Connect Microsoft Teams to Teamwork Graph
Make all your messages searchable alongside your company knowledge.
Before you begin
This setting controls what data is synced from Microsoft Teams into Atlassian for indexing and search. When you access Microsoft Teams data through Rovo at runtime, your own Microsoft Teams access is used.
You need Microsoft Entra admin permissions to connect Teams to Teamwork Graph.
We encourage you to review your permissions in Microsoft Teams. By default, the Microsoft Teams connector will index every message in Teams, including private chats and private channels.
What is indexed?
The Microsoft Teams connector indexes these objects:
Chats (group chats, meeting chats, direct 1:1 chats)
Channels (public, private, and shared)
Meeting transcripts (additional setup required)
Team and channel membership
Metadata of file and link attachments shared in channels
Metadata of tabs
The full content of file attachments uploaded through Teams is indexed through the SharePoint connector.
Required permissions
Connecting Teams requires the Microsoft Graph API permissions listed in the table that follows. Your Microsoft Entra admin will be asked to grant these during connector setup.
Permission name | Type | Description | Admin consent required |
|---|---|---|---|
Calendars.Read | Delegated | Read user calendars | No |
Calendars.Read | Application | Read calendars in all mailboxes | Yes |
Channel.ReadBasic.All | Delegated | Read the names and descriptions of channels | No |
Channel.ReadBasic.All | Application | Read the names and descriptions of all channels | Yes |
ChannelMember.Read.All | Application | Read the members of all channels | Yes |
ChannelMessage.Read.All | Delegated | Read user channel messages | Yes |
ChannelMessage.Read.All | Application | Read all channel messages | Yes |
ChannelSettings.Read.All | Application | Read the names, descriptions, and settings of all channels | Yes |
Chat.Read | Delegated | Read user chat messages | No |
Chat.Read.All | Application | Read all chat messages | Yes |
Chat.ReadBasic | Delegated | Read names and members of user chat threads | No |
Chat.ReadBasic.All | Application | Read names and members of all chat threads | Yes |
Chat.ReadWrite | Delegated | Read and write user chat messages | No |
ChatMember.Read.All | Application | Read the members of all chats | Yes |
ChatMessage.Read.All | Application | Read all chat messages | Yes |
Directory.Read.All | Delegated | Read directory data | Yes |
Group.Read.All | Application | Read all groups | Yes |
GroupMember.Read.All | Delegated | Read group memberships | Yes |
OnlineMeetings.Read | Delegated | Read user's online meetings | No |
OnlineMeetings.Read.All | Application | Read online meeting details | Yes |
OnlineMeetingTranscript.Read.All | Application | Read all transcripts of online meetings | Yes |
Team.ReadBasic.All | Application | Get a list of all teams | Yes |
TeamMember.Read.All | Application | Read the members of all teams | Yes |
TeamsTab.Read.All | Delegated | Read tabs in Microsoft Teams | Yes |
User.Read | Delegated | Sign in and read user profile | No |
User.Read.All | Application | Read all users' full profiles | Yes |
Connecting Teams to Team work Graph
Who can do this? Role: Organization admin Atlassian Cloud: Standard, Premium, Enterprise Atlassian Government Cloud: Not available |
To connect Teams to Teamwork graph:
Go to Atlassian Administration. Select your organization if you have more than one.
Select Apps, then Connectors.
If you have more than one site, pick the site you want to connect, then select Add connector.
Select Microsoft Teams, then select Next.
Get your Tenant ID from your Microsoft Entra account.
In a new browser tab, log in to your Microsoft account at Entra at entra.microsoft.com.
In the side navigation, under Entra ID, select Overview.
Copy the Tenant ID to your clipboard.
Go back to Atlassian Administration, paste the copied tenant ID into the Microsoft Tenant ID field.
(Optional, but recommended) Enable meeting transcripts to configure your application access policy in Entra. See the “Enable meeting transcripts” section below on this page for detailed steps.
Select Authorize Microsoft Teams.
You will be directed to Microsoft to accept the permissions required for the Rovo app.
Complete the steps in the authorization flow.
Microsoft Teams should now be connected to Teamwork Graph.
Enable meeting transcripts
Meeting transcripts are not ingested by default, even if API permissions have been granted. To enable them, your Microsoft admin must configure an application access policy in Microsoft Entra. This lets Rovo crawl specific users' meeting transcripts.
Log into your Azure portal.
Open the Terminal.
Connect to Microsoft Teams:
Connect-MicrosoftTeamsCreate an application access policy. Run the following command, replacing the
AppIdsargument with your Rovo application ID for Microsoft Teams. Optionally, you can replace theDescriptionargument.New-CsApplicationAccessPolicy -Identity Transcripts-rovo-policy -AppIds "<rovo_application_id>" -Description "Enabling Transcripts Globally"Enable the policy globally (for the whole tenant). The
PolicyNameargument must be the same as theIdentityargument from Step 4.Grant-CsApplicationAccessPolicy -PolicyName Transcripts-rovo-policy -Global
Rovo ingests a user's transcripts only after the user has authorized themselves.
If a user authenticated to the Teams connector before the Microsoft admin enabled transcripts through the access policy, they must authenticate again.
The meeting organizer and all invitees (even if they did not attend) on the Microsoft Outlook calendar event can search for the transcript in Rovo.
Rovo only indexes meetings on the Outlook calendar. Rovo doesn’t index meetings created in Teams channels.
Required scopes for transcripts
Permission | Type | Admin consent required |
|---|---|---|
Calendars.Read | Delegated | No |
Calendars.Read | Application | Yes |
OnlineMeetings.Read | Delegated | No |
OnlineMeetings.Read.All | Application | Yes |
OnlineMeetingTranscript.Read.All | Application | Yes |
Adminstrator controls
When you initially set up the Teams connector, you can manage the following in Atlassian Administration:
Allowlist and blocklist — restrict which specific Teams and Channels are ingested through the connector.
This configuration can be modified after initial setup.
Limit by date — set a time window for how far back content is ingested.
This configuration can’t be modified after initial setup.
Next steps
After you’ve finished connecting Teams:
Messages, channels, and transcripts (if the administrator configured the application access policy) will start to show in Search incrementally over the next few hours.
Your team members will see Teams show up as a filter option in Search. If they haven’t connected to Teams from their Atlassian account, they may be asked to connect before they can see results. This is required so Teamwork Graph can make sure your teammates only see results they usually have access to.
Depending on the number of objects in Teams, it may take some time for all your objects to be indexed and appear in Search.
Was this helpful?