There are lots of options to create a team in Microsoft Teams: the Microsoft 365 admin center when creating a group, the Teams admin center, from the Teams client, or using the Teams PowerShell module. However, as the title implies, not all teams are created equally. I recently became aware of some differences such as if the group is hidden from the address list and Outlook clients or how the email address is formatted.
Creating the Teams
First, let’s create a team in the Microsoft 365 admin center. When creating a Microsoft 365 group, you have the option of also enabling it as a team. Required inputs include the team name, an owner, the primary email address, the visibility, and finally the option to add it as a team. Here is what my final team created in the admin center looks like:
Next, let’s jump over to the Teams admin center under Teams > Manage teams > Add. Here I only need to specify the team name, owner, and visibility, but no option to set the email address:
We can create a team in the Teams client, which is probably the most common way people create teams. Here I will create a team from scratch, input a team name, and select create. After the team creation, I can select to add additional members but no option to add other owners or set the email address:
Finally, there is the Teams PowerShell module. Using the New-Team command, the only required parameters here are for DisplayName. To be consistent, I will make myself the owner, set the visibility to private, and enter a description:
New-Team -DisplayName "Team Created from Teams PowerShell" -Description "Example of a team created from PowerShell" -Visibility Private -Owner email@example.com
Comparing the Teams
Connecting out to Exchange Online PowerShell, I want to compare these four groups using the Get-UnifiedGroup cmdlet. I believe Microsoft 365 groups (formerly Office 365 groups) had their start as unified groups in Exchange. Let’s compare the properties of their Name (or MailNickName), PrimarySmtpAddress, and if they are hidden from the Exchange address list and clients:
Get-UnifiedGroup -Identity "Team Create*" | select DisplayName, Name, PrimarySmtpAddress, HiddenFromExchangeClientsEnabled, HiddenFromAddressListsEnabled
What’s in a group name?
Let’s look at the name property first. Teams created from both admin centers and the client have a consistent name property. This is the team name without spaces and adding a GUID. I must have hit a character limit for the team created from the M365 admin center.
However, the team created from PowerShell just appended “ms_teams_d60d57” before the GUID and did not use the team name. This is also apparent on the PrimarySmtpAddress field:
The New-Team cmdlet does have a MailNickname parameter, so let’s create another team specifying the mail nickname:
New-Team -DisplayName "Team Created from Teams PowerShell 2" -Description "Example of a team created from PowerShell" -Visibility Private -Owner firstname.lastname@example.org -MailNickName "teamcreatedfromteamspowershell2"
The resulting unified group now has a similar name, although I hit a character limit again:
So moral of the story with Teams PowerShell is to specify the MailNickName property so your email address and nickname can match the team name.
Where does the group appear?
Next is where the group and team appear. Originally, every team you are a member of was also added to the Groups section in the Outlook client. This ended cluttering Outlook with lots of groups added below their email folders.
Another issue was each group was showing up in the Exchange global address list. This meant people were sending emails to the groups thinking they were a distribution list and causing confusion. Microsoft responded to community requests to automatically hide these team-related groups from both the clients and the address list.
Going back to our examples in the screenshot above, creating teams from the client and in PowerShell will hide the group from the Exchange address list and also prevent it from appearing in Outlook.
However, teams created from the Microsoft 365 admin center and Teams admin center do NOT follow this convention. For some reason, these teams are not hidden from the address list or from email clients.
For the team created from the M365 admin center, I can sort of understand why it is not hidden. The primary focus there is going in and creating a Microsoft 365 Group, then you have the option to turn it into a team. Not every M365 Group will be a team, and you probably want it to automatically show up in the address list and email clients.
However, the behavior when creating the team in the Teams admin center should mimic the behavior when creating the team from the client or in PowerShell. It should automatically hide to give the same experience and expectations.
Creating Groups and Teams in Graph API
As for Microsoft’s Graph API, you can create an M365 group and turn it into a team, but this has the same behavior as creating from the admin centers. The group will show up in the address list and clients. However, Microsoft just released new support for Groups properties with hideFromOutlookClients and hideFromAddressLists. These can’t be specified during the group creation; instead, you have to issue the PATCH HTTP method after group creation to modify these values. Check out more on this announcement over at the Microsoft Graph: Developer Blog.
While many organizations lock down creating teams from their end users, hopefully this article will help you understand the nuances of how you (the admin) end up creating the team and the differences you’ll need to account for when doing so.