The mental model: containers, rooms, corridors
Think of a team as a building: it owns the land (a Microsoft 365 Group, a SharePoint site, a group mailbox) and the member list on the front door. Channels are rooms in that building — you don't get separate keys to a standard room; the building key opens it. A chat is a corridor conversation — it belongs to no building at all, exists between exactly the people in it, and follows them wherever they work.
That one metaphor predicts almost everything:
| Team (building) | Channel (room) | Chat (corridor) | |
|---|---|---|---|
| Membership | Its own list — up to 25,000 members, 100 owners | Standard: inherits the building · Private/Shared: their own door list | Exactly the participants (group chats to 250) |
| Files live in | — | The team site; each channel = one folder (private/shared channels get their own separate site) | Sender's OneDrive (Microsoft Teams Chat Files) |
| Messages recorded to | — | Group mailbox (compliance copy) | Each participant's mailbox |
| Limit | 1,000 channels per team, all types combined | Private channels: now up to 1,000/team and 5,000 members (2025-26 uplift) | 1:1 forever; group chat 250 |
The three channel species
- Standard — visible to the whole team; the default; files in the team site.
- Private — a subset of the team; its own SharePoint site so files inherit the restricted membership. 2025-26 re-architecture: messages moved from user mailboxes to a channel-level store under the group's compliance scope — retention/eDiscovery behaviour changed underneath everyone (MC1134737).
- Shared — membership is decoupled from the team entirely: people (and whole teams, and external tenants via B2B direct connect) participate without joining the team. Also its own site. The most powerful and the most audit-confusing species.
Why admins get burned
- "Delete the channel" ≠ delete the data. Standard-channel files stay in the team site folder; messages stay in compliance storage until retention says otherwise.
- Private/shared channels are invisible in the team's site. Search the team site for a file that lives in a private channel's own site and you will conclude it doesn't exist.
- Chat is personal storage. A leaver's OneDrive deletion schedule silently takes every file they ever shared in chat with it — 30-odd days after offboarding, working links die across the org.
- A "team" in Graph is a group. Automation that filters groups without checking
resourceProvisioningOptionscontains "Team" will happily mangle Teams-backed groups.
What to watch (proofs)
Get-Team | Measure-ObjectvsGet-UnifiedGroupcounts — Teams-enabled vs plain groups.- Per-team channel census:
Get-TeamChannel -GroupId <id>showsMembershipType(Standard/Private/Shared) — your private/shared inventory, and the separate sites to govern. - The compliance location of a message: Purview eDiscovery search scoped to the group mailbox (channels) vs user mailboxes (chat) — run one of each and see where hits land.
- Private-channel sites:
Get-SPOSite -Template "TEAMCHANNEL#1"(admin) enumerates the hidden sites that never appear in the team's own site contents.