Create a Dynamic Teams Broadcast Group

Teams Broadcast Group

Dynamic Teams Broadcast Group (Sort of)

You would think with the creation of AAD Dynamic Groups you would be able to create a Dynamic Teams Broadcast Group. Well, it is not the case. One thing Microsoft Teams does not do well is integrate into the rest of the M365 ecosystem. I do not know why that is but what I do know is that it is a huge pain point with M365 Administration.

What I can do in this article is show you a way to achieve something like a dynamic Teams Broadcast Group but not. It is very similar to a post I wrote about MS Teams contact Provisioning. Spoiler alert, it uses AAD Dynamic groups to help!

Creating a Dynamic Teams Broadcast Group

The first thing you will need to do is get a dynamic list of the users you would like to be in this group. A good example is a group with all licensed users in your organization. As users enter or leave, this group will grow or shrink accordingly. This article should get you started.

Here is an example of a rule you would put in your AAD Dynamic Group to get all active users:

Teams Broadcast Group

This is how you can get your dynamic list of users who will be part of the team’s broadcast group. Unfortunately, there isn’t a way to put them into the Microsoft team directly, but in the next step I can show you how to do it relatively quickly.

Adding Users to the Microsoft Team

Now I will assume that this Team has just been created and has no members in it. We are going to create a list from the dynamic group we created from the last step in CSV format. You will need to go to the AAD Dynamic group you created and download the user list:

Teams Broadcast Group

Create it like this using two Column’s (Email and Role):

Teams Broadcast Group

You will need to get the MS Teams Group ID for the PowerShell script you will need in the next step. Login to Teams in PowerShell:

Connect-MicrosoftTeams

Then run this command:

Get-Team | Where {$_.DisplayName -eq "Enter you Team Name Here"} | Select -ExpandProperty GroupID

Once you get this information you can put it into the following script:

$TeamID = "ID you got from last step"

#Get users from the CSV

$TeamUsers = Import-Csv -Path "<Path to CSV File> "

#Iterate through each user from the CSV and add to Teams

$TeamUsers | ForEach-Object {

       Add-TeamUser -GroupId $TeamID -User $_.Email -Role $_.Role

       Write-host "Added User:"$_.Email -f Green

Now that each user in the group has been added to the Team your list has been completed. What if the list changes? On to the next step.

Changing Users in the Teams Group

You can do these one of two ways. You can user the Add-TeamUser or Remove-Teamuser cmdlet if you plan on keeping close tabs on this group. Or if you let it get away a bit, you can do the following – reset the group. Do the following and run this script:

Connect-MicrosoftTeams

$TeamGUID = "<Your Team ID>" # this is the group team ID #

$users = Get-TeamUser -GroupId $TeamGUID | where-object {$_.role -eq "member"}

Foreach ($user in $users) {

    $UPN = $user.User

    Remove-TeamUser -groupid $TeamGUID -user $UPN

    Write-Host $UPN

Then run the script at the beginning of the article to add all the members back.

Final Thoughts on Dynamic Teams Broadcast Group

I know it seems a bit tedious to execute the steps to achieve a Dynamic Broadcast Group in Microsoft Teams but until they integrate Teams with the rest of M365, you will probably have to more administration this way. Here’s hoping.

Avatar photo

I am an IT professional with over twenty years experience in the field. I have supported thousands of users over the years. The organizations I have worked for range in size from one person to hundreds of people. I have performed support from Help Desk, Network / Cloud Administration, Network Support, Application Support, Implementation and Security.

Pin It on Pinterest