Skip to content

Teams External Access & Federation

The question it answers: Can users in other organisations, or personal Teams accounts, chat with and call users in this tenant?

Can anyone in any Microsoft 365 organisation - or any personal Teams account - start a chat with your users? That open door is how Teams phishing and fake help-desk calls reach people. This checks external access, personal accounts, trial tenants and who walks straight into meetings.

Where in the appTenant › Teams External Access
WorkloadTeams and collaboration
KindFindings list · dashboard tile
DataRead from Microsoft 365 when someone first opens it, then kept for the report cache lifetime (Settings > Data & cache, 1 hour unless changed). It reads through PowerShell (Exchange Online or SharePoint Online), so the first load takes longer than a Graph report.
LicenceThe MicrosoftTeams PowerShell module must be installed on the web server (Install-Module MicrosoftTeams).
Report id (API and MCP)tenant.teams.external-access
ColumnKeyType
SeveritySeverityStatus
AreaCategoryText
SubjectSubjectLink
SettingSettingText
Current valueValueText
AssessmentFindingText
DetailDetailText
DateWhenDate
CountNumberNumber

A findings list hides columns that no row fills. Severity is Critical, Serious, Warning, OK or Info; rows rated Critical, Serious or Warning need attention (Working with findings).

Licence: The MicrosoftTeams PowerShell module must be installed on the web server (Install-Module MicrosoftTeams).

Application permissions on the IntensiveReports app registration (all permissions):

PermissionAPIWhat it allowsNote
Organization.Read.AllMicrosoft GraphRead organization information

Roles and other setup:

  • Directory role for the app: Teams Administrator (Global Reader may be enough for the Get-Cs cmdlets)
Data sources it reads
  • Connect-MicrosoftTeams (certificate)
  • Get-CsTenantFederationConfiguration
  • Get-CsTeamsMeetingConfiguration
  • Get-CsTeamsMeetingPolicy -Identity Global
  • Get-CsTeamsClientConfiguration
GET /ir-api/v1/reports/tenant.teams.external-access?size=100

An AI assistant reads it with the MCP tool get_report and the id tenant.teams.external-access. The client needs the Read grant for Teams and collaboration. See Using the API.