Teams Connector Setup
Index Teams channels, chat, messages, and meeting transcripts by granting the necessary API Permissions in your App Registration.
Grant API Permissions for Microsoft Teams
After following the steps in Entra ID - Create New App Registration to create a new App Registration, you will need to add additional API permissions to index Teams resources.
In addition to the Entra ID permissions listed in the Microsoft Connector for the Microsoft Graph
, you will also need:
- Under
Microsoft Graph
API:- Channel.ReadBasic.All
- ChannelMember.Read.All
- ChannelMessage.Read.All
- Chat.Read.All
- ChatMember.Read.All
- ChatMessage.Read.All
- Team.ReadBasic.All
- TeamMember.Read.All
- To access Teams meeting transcripts:
- OnlineMeetings.Read.All
- OnlineMeetingTranscript.Read.All
- Calendars.Read
- Domain.Read.All
- Once added, select
Grant admin consent for ...
where...
is your tenant name. This link is beside theAdd a permission
link.
Application Access Policy for Teams Meeting Transcripts
In addition to Entra ID permissions above, you need to setup an application access policy for Atolio to access transcripts.
- Open PowerShell. Install the Microsoft Teams PS module:
Install-Module -Name MicrosoftTeams -Force -AllowClobber
- Connect to Teams module w/ an admin account on your shell. This will prompt a login page on your browser:
Import-Module MicrosoftTeams
Connect-MicrosoftTeams
- Create a new policy. Assuming the policy name is “Atolio-Transcript-Access-Policy”, and the previously registered application ID (client ID) is “some-app-id”, the shell command will be as follows:
New-CsApplicationAccessPolicy -Identity Atolio-Transcript-Access-Policy -AppIds "some-app-id" -Description "Access policy for teams transcripts"
- Associate users with the policy. You have two options:
- Option 1 - Grant tenant-wide access (recommended). This will allow Atolio to index transcripts owned by every user who does not have an application access policy assigned:
Grant-CsApplicationAccessPolicy -PolicyName Atolio-Transcript-Access-Policy -Global
- Option 2 - Grant user-specific access. This will allow Atolio to index transcripts owned by explicitly declared users only:
Grant-CsApplicationAccessPolicy -PolicyName Atolio-Transcript-Access-Policy -Identity "some-user-id"
- Option 1 - Grant tenant-wide access (recommended). This will allow Atolio to index transcripts owned by every user who does not have an application access policy assigned:
More details about the policy setup can be found in the official documentation:
- https://learn.microsoft.com/en-us/graph/cloud-communication-online-meeting-application-access-policy
Determine Indexing Scope
If you have many teams, it may be worth using the includes
feature explained in the Common Fields: Resources section to index only the relevant teams.
Limitations
- Only first 1000 replies to a channel post will be indexed, due to limitations with the Microsoft API.