Learn how to check why you cannot schedule webinars from your Teams client. Some of the reasons are undocumented in Microsoft docs.
To go through the steps below, you'll need a few tools and the required level of access:
PowerShell - see the installation guide if you don't have it yet
Microsoft Teams module and SharePoint Online Management Shell
An account with Global Admin or at least the roles listed below:
Before we start - let's check whether you're able to schedule webinars:
There might be several reasons why the webinar option is missing in the Teams client. Let's break them down.
The first reason might be that the new webinar functionality is not yet available for your organization. Let's check the Microsoft 365 Roadmap for the capabilities of the webinar.
At the moment of writing, webinars are not available for GCC tenants, as you can see in the red below. It's unclear whether we should expect it for GCC High and DoD tenants.
Conclusion: if you're not in US Government tenancy, webinars are already available for you.
Based on Introducing Webinars in Microsoft Teams the availability of webinars might be different based on the license you use:
These new capabilities will be available in Microsoft 365 E3/E5, Microsoft 365 A3/A5, and Microsoft 365 Government G3/G5 plans.
Microsoft 365 Business Standard and Microsoft 365 Business Premium plans will include all the features above for up to 300 attendees.
And the last sentence from it is also interesting
And for the rest of 2021, we are offering a promotional period where all Teams users can try the features with their existing subscription.
What does it exactly mean? There's a thread on Microsoft Tech Community that has the explanation: Teams Webinar Feature availability in Business Plans. One of the replies quotes the reply from Microsoft Support (credits to Andrés Gorzelany for pointing this out):
We confirm that the webinar is included on the Business Standard and Business Premium licenses however it does not have the fancy button that you will see on the enterprise license. We acknowledge that there is a room for improvement especially on documentation and we also apologize for any confusion.
So in reality, the only thing you miss is the button. You still have the registration capability.
Note
It's unclear whether in non-enterprise plans you still have the ability to escalate the webinar to a Live Event if it gets more than 1000 attendees.
The options for registration should be visible on the meeting schedule window:
Ok, we already checked that our organization should have webinars. Let's now check Set up for webinars in Microsoft Teams article. We'd like to see if we met the prerequisites.
After checking the article we can see that we should check the following parameters in Teams meeting policy:
We don't need to check WhoCanRegister value. The option to schedule webinars should be available regardless of the value set.
To check the values set in the Teams meeting policy, we need to use PowerShell. The settings we're looking for are not visible from the Teams Admin Center. Let's check it then, shall we?
Connecting to Microsoft Teams
To manage the policies we need to sign in with our administrative account. Note that administrative means Microsoft 365/Teams administrator. No elevated permissions to the machine are needed.
Open PowerShell and run:
Connect-MicrosoftTeams
Follow the instructions to sign in with your account.
Check which Teams meeting policy is assigned to your account. To do this, run:
Get-CsOnlineUser firstname.lastname@contoso.com |
Select-Object -ExpandProperty TeamsMeetingPolicy
If you get empty output, it means the account has the global policy assigned. If you get any name, save it. You'll need it in a second.
List the policies with their required properties. Run the following cmdlet:
Get-CsTeamsMeetingPolicy |
Select-Object identity, AllowMeetingRegistration, AllowPrivateMeetingScheduling
Check for either the global policy or the one with the name you noted. If both properties have
True
If any of the properties says
False
Set-CsTeamsMeetingPolicy
Warning
Be careful. If you change global policy you're changing the settings for the entire organization!
# Set policy name
# Skip tag: for custom policies
# For global policy use empty string ''
$policyName = 'PolicyNameGoesHere'
Set-CsTeamsMeetingPolicy -Identity $policyName -AllowMeetingRegistration $true -AllowPrivateMeetingScheduling $true
Another prerequisite for webinars is to have Microsoft Lists turned on. Webinars' registration data is stored in personal lists on the organizer's account. Therefore, our tenant must have it turned on.
Let's check our tenant settings based on Control settings for Microsoft Lists article:
Open PowerShell windows and run the cmdlet to connect to SharePoint Online Management Shell.
Replace
contoso
.onmicrosoft.com
Follow the instructions to sign in with your account.
Run the following cmdlet to see if Lists are disabled:
Get-SPOTenant | Select-Object -ExpandProperty DisablePersonalListCreation
If the result is
False
If you don't see anything, that might mean that your SharePoint Online shell is outdated. Update it with:
Update-Module 'Microsoft.Online.SharePoint.PowerShell'
If the value of
DisablePersonalListCreation
True
Warning
Be careful, as you're changing the settings for the entire organization!
Set-SPOTenant -DisablePersonalListCreation $true
Some of the requirements for webinars are undocumented. I mentioned that at the beginning of my article. Now it's time to learn more about it.
You might have heard that webinars might be escalated to Live Events. This happens when you hit 1000 participants in the call. But would you expect, that disabling Live Events would hide the button to schedule webinars?
If you're not capable to schedule Live Events, you won't see the button to schedule webinars. However, the registration capability will still be enabled from the meeting schedule window.
The behavior is similar to what happens if we're on a non-enterprise license:
Let's check if our organization has the correct Live Event settings.
We should already be connected to Microsoft Teams PowerShell. If not, let's reconnect by using:
Connect-MicrosoftTeams
Check which Teams meeting broadcast policy is assigned to your account. To do this, run:
Get-CsOnlineUser firstname.lastname@contoso.com |
Select-Object -ExpandProperty TeamsMeetingBroadcastPolicy
If you get empty output, it means the account has the global policy assigned. If you get any name, save it. You'll need it in a second.
List the policies with their required properties. Run the following cmdlet:
Get-CsTeamsMeetingBroadcastPolicy |
Select-Object identity, AllowBroadcastScheduling
Check for either the global policy or the one with the name you noted. If AllowBroadcastScheduling is set to
True
If AllowBroadcastScheduling says
False
Set-CsTeamsMeetingBroadcastPolicy
Warning
Be careful. If you change global policy you're changing the settings for the entire organization!
# Set policy name
# Skip tag: for custom policies
# For global policy use empty string ''
$policyName = 'PolicyNameGoesHere'
Set-CsTeamsMeetingBroadcastPolicy -Identity $policyName -AllowBroadcastScheduling $true
The lack of a button to schedule webinars might be caused by multiple factors. Even by checking Microsoft documentation, you might not be aware of all of the requirements.
Things are getting more complicated if you're on a non-enterprise license. The experience you receive is different from what you see in the help articles.