Microsoft 365Deep dive

External access vs guest access in Microsoft Teams: configuring federation safely

How Teams external access (federation) differs from guest access, which Teams, Entra ID, Groups and SharePoint settings control each, and a safe baseline to apply.

Microsoft Teams gives you two ways to work with people outside your organization, and they are easy to mix up. External access (federation) lets your users chat, call and meet with people who stay in their own tenant; guest access adds people to your directory so they can join your teams, channels and files. In this deep dive I'll compare the two and walk through the settings that control each, ending with a safe baseline.

How this guide is organised: How it works → Step-by-step → Step-by-step → Verify → Tips & gotchasFlow diagram of the article's sections in reading order: 1. How it works. 2. Step-by-step (4 steps: Choose a domain model; Decide on unmanaged Teams accounts; Harden the tenant settings with PowerShell; Scope federation with external access policies). 3. Step-by-step. 4. Verify. 5. Tips & gotchas. Toolbox: Set-CsTenantFederationConfiguration, Get-CsTenantFederationConfiguration, Get-CsUserPolicyAssignment, Users › External access, Users › Guest access.1How it works2Step-by-step3Step-by-step4Verify5Tips & gotchas1Choose a domain model2Decide on unmanagedTeams accounts3Harden the tenantsettings with PowerShell4Scope federation withexternal access policiesTOOLBOXSet-CsTenantFederationConfigurati…Get-CsTenantFederationConfigurati…Get-CsUserPolicyAssignmentUsers › External accessUsers › Guest accessHow this guide is organised: How it works → Step-by-step → Step-by-step → Verify → Tips & gotchasFlow diagram of the article's sections in reading order: 1. How it works. 2. Step-by-step (4 steps: Choose a domain model; Decide on unmanaged Teams accounts; Harden the tenant settings with PowerShell; Scope federation with external access policies). 3. Step-by-step. 4. Verify. 5. Tips & gotchas. Toolbox: Set-CsTenantFederationConfiguration, Get-CsTenantFederationConfiguration, Get-CsUserPolicyAssignment, Users › External access, Users › Guest access.1How it works2Step-by-step1Choose a domain model2Decide on unmanaged Teams accounts3Harden the tenant settings with PowerShell4Scope federation with external access policies3Step-by-step4Verify5Tips & gotchasTOOLBOXSet-CsTenantFederationConfigurationGet-CsTenantFederationConfigurationGet-CsUserPolicyAssignmentUsers › External accessUsers › Guest access
At a glance: how this guide is organised · 4 steps · 5 key settings and tools

How it works: two models, two sets of controls#

FeatureExternal access (federation)Guest access
IdentityStays in the person's home tenant; nothing is created in yoursA Microsoft Entra B2B guest account is created in your directory
What they can do1:1 and group chats, calls, meetings, presenceWhat a member can do in the teams they join, within your guest settings
Your teams, channels and filesNo accessAccess to the teams they're added to
Where they workTheir own organizationThey switch to your organization
Where you control itTeams admin center: organization settings plus external access policiesFour layers: Entra ID, Microsoft 365 Groups, Teams and SharePoint
Clean-upNothing to removeGuest accounts accumulate and need reviews

A third option, shared channels, uses Microsoft Entra B2B direct connect: people stay in their own tenant but get access to one channel, if both organizations allow it in cross-tenant access settings. Rule of thumb: to chat and meet, use external access; to work in your files over time, use guest access.

Step-by-step: external access#

1. Choose a domain model#

In the Teams admin center, open Users › External access. On the Organization settings tab, Teams and Skype for Business users in external organizations offers four choices: allow all external domains (the default), allow only specific external domains, block only specific external domains, or block all external domains. Federation is mutual: if the other organization doesn't allow you too, its users can't chat with yours and join your meetings as anonymous participants.

An allow list is the tightest model (external chat is a well-known phishing route), but every new partner then needs an admin change. Otherwise, keep federation open with a block list and apply step 3.

2. Decide on unmanaged Teams accounts#

People in my organization can communicate with unmanaged Teams accounts covers people using Microsoft Teams (free) with a personal Microsoft account. If you need it, clear External users with Teams accounts not managed by an organization can contact users in my organization: your users can still start those chats, but unmanaged accounts can't look up or message your users first.

Consumer Skype is no longer a separate case. Microsoft ended Skype consumer interoperability with Teams on 5 May 2025 and deprecated the related policies, and the AllowPublicUsers parameter of Set-CsTenantFederationConfiguration can no longer be used. Drop it from scripts and baselines, even where older guidance still describes a setting for Skype users. People who moved from Skype to Teams (free) are unmanaged Teams accounts, so the two settings above decide whether they can reach you.

3. Harden the tenant settings with PowerShell#

Some protections are PowerShell-only (MicrosoftTeams module 6.4.0 or later for the trial-tenant setting):

PowerShell
Connect-MicrosoftTeams

Get-CsTenantFederationConfiguration |
    Format-List AllowFederatedUsers, AllowedDomains, BlockedDomains, BlockAllSubdomains,
                AllowTeamsConsumer, AllowTeamsConsumerInbound, ExternalAccessWithTrialTenants

# Keep trial-only tenants blocked and extend domain blocks to subdomains
Set-CsTenantFederationConfiguration -ExternalAccessWithTrialTenants "Blocked" -BlockAllSubdomains $true

# Add a domain to the block list
$d = New-CsEdgeDomainPattern -Domain "fabrikam.com"
Set-CsTenantFederationConfiguration -BlockedDomains @{Add=$d}

Trial-only tenants (no purchased licences) are cheap for attackers to create, so ExternalAccessWithTrialTenants defaults to Blocked; safelist a genuine partner with -AllowedTrialTenantDomains instead of allowing all trials. Without BlockAllSubdomains, blocking fabrikam.com leaves sales.fabrikam.com open.

4. Scope federation with external access policies#

Organization settings define what's possible; external access policies decide who can use it, and both must allow it. On the Policies tab, edit the Global (Org-wide default) policy or add custom policies for users or groups. A custom policy can carry its own domain list (up to 100 domains) that replaces the organization list for the people assigned to it; this needs AllowFederatedUsers set to True.

PowerShell
New-CsExternalAccessPolicy -Identity "Finance-PartnersOnly" -EnableFederationAccess $true `
    -CommunicationWithExternalOrgs "AllowSpecificExternalDomains" `
    -AllowedExternalDomains @("contoso.com","fabrikam.com")

Grant-CsExternalAccessPolicy -Identity "anna@yourtenant.com" -PolicyName "Finance-PartnersOnly"

Status (October 2026): Message center post MC1423114 announced two tenant settings for federated group chats, EnableExternalAccessRestrictionsForChatParticipants and EnableMutualFederationForChatParticipants, due by late September 2026. They check every participant in a federated group chat, not only the person being added, and can remove those who no longer qualify. Both are off by default, and the Set-CsTenantFederationConfiguration reference still lists them as reserved for future use with no effect, so don't build on them until Microsoft releases them; re-check the post for rollout status.

Step-by-step: guest access across four layers#

Guest access works only when all four layers allow it, and the most restrictive one wins.

LayerWhereWhat to set
Microsoft Entra IDEntra ID › External Identities › External collaboration settingsThe most restrictive guest user access option, no invitations from guests, and a domain allow or deny list if needed
Microsoft 365 GroupsMicrosoft 365 admin center › Settings › Org settings › Microsoft 365 GroupsLet group owners add people outside your organization to Microsoft 365 Groups as guests and Let guest group members access group content
TeamsTeams admin center › Users › Guest accessAllow guest access in Teams, then the calling, meeting and messaging permissions for guests
SharePointSharePoint admin center › Policies › Sharing, plus each team's siteAt least Existing guests on the team's site; guests added in Teams already exist in your directory

If Entra ID lets only admins invite guests, team owners can add only existing guests. For the SharePoint layer, see SharePoint and OneDrive external sharing explained.

Verify#

  • Rerun Get-CsTenantFederationConfiguration. Good looks like ExternalAccessWithTrialTenants : Blocked, AllowTeamsConsumerInbound : False, BlockAllSubdomains : True and domain lists that match your design.
  • See which policy a user gets: Get-CsUserPolicyAssignment -Identity anna@yourtenant.com -PolicyType ExternalAccessPolicy.
  • Chat from a pilot account with an allowed partner; a test account in a blocked domain shouldn't be able to message your users.
  • If a partner can't reach you, run the Teams Trusted Organizations diagnostic in the Microsoft 365 admin center with the user's SIP address and the partner's domain.
  • Add a test guest to a test team: after redeeming the invitation they should switch to your organization, post and open files. Access denied on files points to the SharePoint layer.

Tips & gotchas#

  • A blocked domain can still attend meetings anonymously if anonymous join is allowed, so pair domain blocks with lobby settings.
  • Block one sender, not the whole domain. Block specific users from communicating with people in my organization on the same page takes up to 200 addresses.
  • Let security block domains. Allow my security team to manage blocked domains lets security admins block Teams domains in the Tenant Allow/Block Lists in the Microsoft Defender portal (Defender for Office 365 Plan 1 or 2; documented as a preview).
  • Review guests regularly. Guest accounts outlive projects; see access reviews and entitlement management basics. Sensitivity labels for groups and sites can also keep guests out of specific confidential teams.

References#

Revision history: Oct 2026 — updated for recent Microsoft changes and re-checked against Microsoft Learn.

Written and checked against current Microsoft Learn documentation. Test changes with a pilot group before rolling them out to everyone, and if an admin center path has moved since, search for the setting name instead.

Spotted a mistake, or did this fix work differently for you? Email me or message me on LinkedIn — corrections are credited in the article.

Written by

Omer Eltayeb

Intune Subject Matter Expert in Cairo, Egypt, former Microsoft Cloud Solutions Architect, Microsoft Certified Trainer and Microsoft Innovative Educator Expert (2024–26) and Microsoft Elevate Educator Expert (2026–27). I share practical, step-by-step guides, study plans, scripts and toolkits for Microsoft Intune, Configuration Manager, Microsoft Entra ID, Microsoft Defender, Exchange and Microsoft 365 with the community.

Microsoft Certified Trainer (MCT) 2026Microsoft Innovative Educator Expert 2025–2026Microsoft Elevate Educator Expert 2026–2027ISC2 Certified Information Systems Security Professional (CISSP)Microsoft 365 Certified: Enterprise Administrator Expert (MS-102)