Teams Supports 1,000 Channels

New Teams Channel Limit Supports Any Combination of 1,000 Regular and Shared Channels

On July 19, Microsoft announced (MC649926) an increase in the current per-team channel limits. Instead of 200 regular channels, 200 shared channels, and 30 private channels, the new limit is any combination of regular, shared, and private channels up to the 1,000 maximum. A team can have up to 30 private channels. The update is covered in Microsoft 365 Roadmap ID 127496 and deployment to Teams preview tenants (targeted release) starts in late July (now). Standard release tenants and GCC will receive the update in mid-August.

A Thousand Teams Channels Creates Greater Flexibility or a Bigger Mess

According to Microsoft, the new limit allows “teams to have greater flexibility when creating a new channel.” That’s certainly true, if you define flexibility in terms of being able to create large numbers of channels in a team. I’m not convinced that this is the case. I see too many examples of unwanted, unused, and desolate channels in the tenants I work in. Any channel that hasn’t been used in the last two months falls into this category, unless it’s deliberately kept as an archive of some activity.

The simple fact is that once you give people a lot of choice, you create the opportunity for bad choices. In the case of Teams, a team with 20 channels, each with a clear purpose and intent, is more likely to keep conversations together in the most appropriate channel than if team members had 200 channels to choose from. My experience is that it takes huge discipline for team members to take the time to select the best channel for a new conversation. But I’ve been known to be wrong.

Creating a Thousand Channels in a Team

To see what a team looks like with a thousand channels, I wrote some PowerShell using cmdlets from the MicrosoftTeams module to create a team and populate it with 999 extra channels (a new team always has a General channel). Here’s the code:

Connect-MicrosoftTeams

$Team = (New-Team -DisplayName "Test Team with 1000 channels" -MailNickName 'Test.Team.1000' -Description "Team with 1,000 channels" -Visibility Private -Owner James.Ryan@office365itpros.com -RetainCreatedGroup:$True)

For ($i=2; $i -le 1000; $i++) { 
    $ChannelName = ("Channel Number {0}" -f $i)
    Write-Host ("Creating {0}" -f $ChannelName)
    $ChannelDescription = ("Channel {0} created on {1}" -f $i, (Get-Date -format g))
    New-TeamChannel -GroupId $Team.GroupId -DisplayName $ChannelName -Description $ChannelDescription
    Sleep -Seconds 10
}

Figure 1 shows the code in action. My first attempt failed after creating 51 channels, probably due to throttling. Adding the ten seconds delay between the creation of each channel allowed the script to complete.

Creating 1,000 channels for a team
Figure 1: Creating 1,000 channels for a team

I used V5.4 of the Teams PowerShell module to test cmdlets against the team with a thousand channels,. Some cmdlets need some tweaking to deal with the extra channels. The Get-TeamChannel cmdlet failed to complete:

[array]$Channels = Get-TeamChannel -GroupId $Team.GroupId -MembershipType Standard

Get-TeamChannel : Error occurred while executing
Code: BadGateway
Message: Failed to execute backend request.

The Get-TeamAllChannel cmdlet also errored out:

Get-TeamAllChannel -GroupId $Team.GroupId -MembershipType Standard

Get-TeamAllChannel : Error occurred while executing
Code: UnknownError

All of which means that my script to report all channels for every team in a tenant won’t work until Microsoft upgrades the Teams cmdlets. The good news is that the Teams cmdlets in the Microsoft Graph PowerShell SDK work (as do the clients)

[array]$Channels = Get-MgTeamChannel -TeamId $Team.GroupId
$Channels.count
1000

The Teams admin center has a problem too (Figure 2).

The Teams admin center can't display details of 1,000 channels
Figure 2: The Teams admin center can’t display details of 1,000 channels

But remember, this is a preview for now and I expect the issues to be resolved with an update for the Teams admin center and the next monthly update for the Teams PowerShell module.

Teams Channel Client Experience

Listing a thousand channels works in the Teams desktop (including 2.1 beta), browser, and mobile clients. Figure 2 shows the browser client listing a bunch of channels and a new conversation being created in Channel 999.

Creating a new conversation in Channel 999

Teams channels
Figure 3: Creating a new conversation in team channel 999

As you can imagine, navigating through a thousand channels is a painful experience. Users soon learn that they need to be selective and hide all but the channels they use frequently.

Someone Needs a Thousand Channels

I’m sure that some customer demand exists for thousand-channel teams. Right now, I can’t think of any scenario where I’d use so many channels, but Microsoft doesn’t tend to expand features without a reason, especially updates that impact clients. In any case, prepare to have the ability to equip teams with more channels in an update landing soon.


Learn how to exploit the data available to Microsoft 365 tenant administrators through the Office 365 for IT Pros eBook. We love figuring out how things work.

5 Replies to “Teams Supports 1,000 Channels”

  1. Hey Tony,
    interesting info. Thanks for sharing. We’ve hit the limit of 30 private channels in some of our groups. Do you have more insight if that bar is raised as well? Possibly you could amend your test script and create private channels, since my tenant is not upgraded yet.
    Would appreciate a feedback on this. Thanks much and keep up the good work.
    Thanks Sebastian

    1. I believe the 30 limit for private channels will stay as such for the immediate future. Microsoft is focused on shared channels rather than private channels.

  2. Hi Tony,
    Thanks for sharing. You mention that the channels will list/display in the client 2.1, but do you know if the restriction of auto-showing a channel will still be restricted to 10 channels, or if this has changed too?
    Thanks Anna

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.