How to Update Teams to Send Meeting Invitations to All Members

Ongoing Frustration for Teams Users

A certain amount of frustration is evident in Teams users who schedule meetings and add teams as meeting attendees, only to find that the team members don’t receive individual meeting invitations. The same problem happens for channel meetings.

When you add a team as a meeting attendee (Figure 1), you add an Microsoft 365 group, and group settings dictate which (if any) of the members of that group receive meeting invitations. Creating a channel meeting adds the meeting to the group calendar, but team members don’t receive invitations unless they are explicitly added as a meeting participant.

Scheduling a Teams meeting with Microsoft 365 Groups
Figure 1: Scheduling a Teams meeting with Microsoft 365 Groups

As I explain in this post, the reason why this happens is due to the way Teams manages members of the Microsoft 365 group. Basically, Teams adds members to the membership list, which you expect, but it does not add the members to the group’s subscriber list. Because they are not subscribers, members do not receive copies of messages (like calendar events) sent to the group. There’s a lack of joined-up thinking between Teams and Microsoft 365 groups on this point that might be due to the fact that Groups were originally designed to serve Outlook before Microsoft changed their primary focus to be a membership and identity service for Microsoft 365 apps.

No doubt Microsoft is busily working out how to make things better. What seems clear is that people naturally assume that if they schedule a meeting with a team, the members of the team should receive invitations. This stance is eminently reasonable, even if it’s not currently implemented in Teams.

Scripting a Solution

What can you do about this? Well, as suggested in a response to Teams User Voice, you (in reality, a tenant administrator) can update group settings to automatically subscribe new users to receive event notifications and add existing users to the group’s subscriber list. Justin Horne contributed a script to do the job. I’ve taken the liberty of updating the script by:

  • Only process Microsoft 365 Groups enabled for Teams. Then filter to find the groups where members are not auto-subscribed or where members are not auto-subscribed to calendar events.
  • Update group settings to auto-subscribe new members to receive calendar events like meeting notifications. Note: guest members are always subscribed to groups.
  • Update the group subscriber list with existing members. You’ll see that I use the external directory object identifier to reference the group and the primary SMTP address to reference members. This is to ensure that the values are unique.
  • Reporting updates in a PowerShell list which is exported to a CSV file at the end of the script.

Updating subscriber lists for groups is not a swift process, so updating many groups will take time. You’ll also need to run the script on a regular basis to find and update new groups.

Code to Update Group Subscribers

Here’s the code. You can download a copy from GitHub. Feel free to improve it!

# UpdateSubscribersInGroupsUsedByTeams.PS1

CLS
Write-Host "Finding team-enabled Groups to process..."
$Groups = Get-UnifiedGroup -Filter {ResourceProvisioningOptions -eq "Team"} -ResultSize Unlimited
$Groups = $Groups | ? {$_.AutoSubscribeNewMembers -eq $False -Or $_.AlwaysSubscribeMembersToCalendarEvents -eq $False}

$Report = [System.Collections.Generic.List[Object]]::new() # Create output file 
#initialize progress bar
$ProgDelta = 100/($Groups.count)
$CheckCount = 0 ; $GroupNumber = 0 ; CLS
ForEach ($Group in $Groups) {
   $GroupNumber++
   $CheckCount += $ProgDelta
   $GroupStatus = "Processing " + $Group.DisplayName + " ["+ $GroupNumber +"/" + $Groups.Count + "]"
   Write-Progress -Activity "Updating subscriber information for group" -Status $GroupStatus -PercentComplete $CheckCount
   # Update group so that new members are added to the subscriber list and will receive calendar events
   Set-UnifiedGroup -Identity $Group.ExternalDirectoryObjectId -AutoSubscribeNewMembers:$True -AlwaysSubscribeMembersToCalendarEvents
   # Get current members and the subscribers list
   $Members = Get-UnifiedGroupLinks -Identity $Group.ExternalDirectoryObjectId -LinkType Member
   $Subscribers = Get-UnifiedGroupLinks -Identity $Group.ExternalDirectoryObjectId -LinkType Subscribers
   # Check each member and if they're not in the subscriber list, add them
   ForEach ($Member in $Members) {
     If ($Member.ExternalDirectoryObjectId -notin $Subscribers.ExternalDirectoryObjectId) { # Not in the list
    #    Write-Host "Adding" $Member.PrimarySmtpAddress "as a subscriber"
         Add-UnifiedGroupLinks -Identity $Group.ExternalDirectoryObjectId -LinkType Subscribers -Links $Member.PrimarySmtpAddress 
         $ReportLine = [PSCustomObject] @{
            Group      = $Group.DisplayName
            Subscriber = $Member.PrimarySmtpAddress
            Name       = $Member.DisplayName}
         $Report.Add($ReportLine) }   
     } #End ForEach
} #End ForEach
$Report | Export-CSV -NoTypeInformation c:\temp\SubscriberGroupUpdates.csv
Write-Host "All done. Details of updates are in c:\temp\SubscriberGroupUpdates.csv"

Remember that you’ll need to run this script periodically to update newly created teams. Alternatively, use a script to create teams and include the necessary code to update the group for each team. Also, while some team members will like to receive invitations for channel meetings, others will hate the idea. Be prepared to remove these users from the group’s subscribers list to stop them receiving invitations. You can do this by running the Remove-UnifiedGroupLinks cmdlet. For example, this command removes an account from a group’s subscribers list.

Remove-UnfiedGroupLinks -Identity "Group to Remove User from" -LinkType Subscriber -Links John.Smith@office365itpros.com

Optional and Required Attendees

Team members who receive invitations sent to channel meetings because they are subscribed to the group for calendar events are considered optional attendees. This is because they are not included in the set of required attendees and effectively only learn about the meeting because they are subscribers. If you want team members to be required attendees, you need to schedule a personal meeting and invite the team.


Describing solutions to problems in Office 365 tenants is what the Office 365 for IT Pros eBook is all about. Subscribe to support our project and allow us to continue helping people to probe the dark corners of Office 365.

8 Replies to “How to Update Teams to Send Meeting Invitations to All Members”

  1. Hi, sounds interesting. But even after setting this for a group via
    Set-UnifiedGroup -Identity “My Group” -AutoSubscribeNewMembers:$True -AlwaysSubscribeMembersToCalendarEvents
    the box for “send copies of group conversations and events to group members” is not ticked.
    Do these settings have the same meaning? It seems that hte box cannot be set through Set-UnifiedGroup…
    Thanks!

    1. You need to use Get-UnifiedGroupLinks -Id “My Group” -LinkType Subscribers to check if any users are subscribed to the group. If they are, run Remove-UnifiedGroupLinks to remove each user.

      1. Not sure if we are talking about the same thing.
        In the exchange admin center, I have three settings for a M365 group:

        o Allow external senders to email this group
        x send copies of group conversations and events to group member
        x Hide from my organization’s address list

        Getting the third option set is easy (-HiddenFromAddressListsEnabled:$True).
        I I understand correctly
        -AutoSubscribeNewMembers:$True -AlwaysSubscribeMembersToCalendarEvents
        does what the second option means.
        But the box will not be checked. Is that what you mean, that subscriptions have to be reset for it to appear checked?

      2. All of those points are valid, but what I think is happening is that some of the users have been automatically added to the group’s subscriber list and therefore receive updates, including calendar invitations, sent to the group. This often happens for older Teams.

  2. This is absolutely brilliant. We found out about the -AlwaysSubscribeMembersToCalendarEvents setting in order to get rid of the channel meeting spam, so we could consoladate meetings recordings into the channel onedrive site. However we had no way to understand or administrate this on a per user level. Some googling led me here and gave me the tools to complete the puzzle, we now have a viable way forward to get users off of streams recordings! Thank you so much for this post!

Leave a Reply

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