Assign Teams add-on licenses to users
Add-on licenses are licenses for specific Teams capabilities like Audio Conferencing, Phone System, and Calling Plans. This article describes how to assign add-on licenses to individual users and large sets of users in bulk.
Note
See Teams add-on licensing for Teams capabilities that are available with add-on licenses. You'll also find information about which licenses you need to buy and how to buy them, depending on your plan. After you decide which capabilities you want for your users, assign the licenses to them.
You can use the Microsoft 365 admin center or PowerShell to assign licenses to users in your organization. You must be a User management admin to manage licenses.
What you need to know before you assign Phone System, Calling Plan, and Communication Credits licenses
Before you get started, review the following requirements:
If you're using on-premises Public Switched Telephone Network (PSTN) connectivity for users, you only need to assign a Teams Phone Standard license. Do NOT assign a Calling Plan license.
After assigning a Microsoft Calling Plan to a user, it can take up to 24 hours before they'll see the dial pad in their Teams client. If the dial pad isn't shown in 24 hours, check your dial pad configuration. If necessary, you can also contact support.
You'll get an error message if you haven't purchased the correct number of licenses. If you need to buy more Calling Plan licenses, choose the option to buy more.
Even if your users are assigned Enterprise E5 licenses, you still need to connect them to the PSTN. You have several PSTN connectivity options, including Microsoft Teams Calling Plans, Direct Routing, or Operator Connect.
After you assign Calling Plan or Communication Credits licenses to your users, you'll need to get phone numbers for your organization, and then assign those numbers to users. For step-by-step instructions, see Set up Calling Plans.
Using the Microsoft 365 admin center
Use the Microsoft 365 admin center to assign licenses to individual users or small sets of users at a time.
You assign licenses on the Licenses page (for up to 20 users at a time) or the Active users page (for up to 40 users at a time). The method you choose depends on whether you want to manage product licenses for specific users or manage user licenses for specific products.
For step-by-step instructions, see Assign licenses to users.
If you need to assign licenses for a large number of users, such as hundreds or thousands of users, use PowerShell or group-based licensing in Microsoft Entra ID.
Using PowerShell
Use PowerShell to assign licenses to users in bulk. To learn more, see Assign licenses to user accounts with PowerShell.
Example script
Here's an example of how to use a script to assign licenses to your users.
At the Windows PowerShell command prompt, run the following script to assign licenses to your users, where
CompanyName:License
is your organization name and the identifier for the license that you want to assign. For example,litwareinc:MCOMEETADV
.The identifier is different than the friendly name of the license. For example, the identifier for Audio Conferencing is
MCOMEETADV
. To learn more, see Product names and SKU identifiers for licensing.
# Create a text file with a single column that lists the user principal names (UPNs) of users to assign licenses to. The MSOL service uses the UPN to license user accounts.
# Example of text file:
# [email protected]
# [email protected]
# Import Module
Import-Module Microsoft.Graph.Users.Actions
# Authenticate to Microsoft Graph
Connect-MgGraph
# File prompt to select the userlist txt file
[System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") | Out-Null
$OFD = New-Object System.Windows.Forms.OpenFileDialog
$OFD.filter = "text files (*.*)| *.txt"
$OFD.ShowDialog() | Out-Null
$OFD.filename
If ($OFD.filename -eq '')
{
Write-Host "You did not choose a file. Try again" -ForegroundColor White -BackgroundColor Red
}
# Create a variable of all users
$users = Get-Content $OFD.filename
# License each user in the $users variable
$EmsSku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq ''
$addLicenses = @(
@{SkuId = $EmsSku.SkuId}
)
foreach ($user in $users){
Write-host "Assigning License: $user"
Set-MgUserLicense -UserId $user -AddLicenses $addLicenses -ErrorAction SilentlyContinue
}
For example, to assign Microsoft 365 Enterprise E1 and Audio Conferencing licenses, use the following syntax in the script:
Connect-Graph -Scopes User.ReadWrite.All, Organization.Read.All
$EmsSku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'ENTERPRISEPACK'
$FlowSku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'MCOMEETADV'
$addLicenses = @(
@{SkuId = $EmsSku.SkuId},
@{SkuId = $FlowSku.SkuId}
)
Set-MgUserLicense -UserId $user -AddLicenses $addLicenses -RemoveLicenses @()
To assign a Teams Phone with Calling Plan license, use the following syntax in the script:
Connect-Graph -Scopes User.ReadWrite.All, Organization.Read.All
$EmsSku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'MCOTEAMS_ESSENTIALS'
Set-MgUserLicense -UserId $user -AddLicenses @() -RemoveLicenses @()
Product names and SKU identifiers for licensing
Important
Starting April 1, 2024, all new Enterprise customers who wish to provide workers with both Microsoft Teams and the value in existing Microsoft 365 or Office 365 Enterprise suites (E1/E3/E5) will need to purchase two SKUs: one E1/E3/E5 (no Teams) suite and one Teams standalone (Microsoft Teams Enterprise or Microsoft Teams EEA). Microsoft 365 Business suites (up to 300 users) and Frontline worker suites will be available in versions both with and without Teams.
For Enterprise customers in the European Economic Area (EEA) and Switzerland, this change became effective on October 1, 2023.
Enterprise customers already subscribed to Microsoft 365 or Office 365 suites that include Teams prior to April 1, 2024 will continue to be able to use, renew, upgrade, and otherwise adjust their subscriptions that include Teams as before.
For more information on this licensing change in the EEA and Switzerland, see New subscription structure for Microsoft 365 in Europe.
For more information on this licensing change for all other global regions, see Microsoft Teams licensing announcement.
Here's a partial list of product names and their corresponding SKU part names that you can reference when you use PowerShell to manage licenses in Teams.
To learn more, see View licenses and services with PowerShell, Product names and service plan identifiers for licensing, and Education SKU reference.
Product name | SKU part name |
---|---|
Microsoft Enterprise E5 (with Phone System) | ENTERPRISEPREMIUM |
Microsoft Enterprise E5 (without Audio Conferencing) | ENTERPRISEPREMIUM_NOPSTNCONF |
Microsoft Enterprise E5 (with Audio Conferencing) | ENTERPRISEPREMIUM |
Microsoft Enterprise E3 | ENTERPRISEPACK |
Microsoft Enterprise E1 | STANDARDPACK |
Microsoft 365 Business Basic | O365_BUSINESS_ESSENTIALS |
Microsoft 365 Business Standard | O365_BUSINESS_PREMIUM |
Microsoft 365 Business | SPB |
Audio Conferencing | MCOMEETADV |
Audio Conferencing Pay Per Minute (pay as you go) Requires Communications Credits to be set up and enabled.* | MCOMEETACPEA |
Teams Phone Standard and Teams Phone Standard for Frontline Workers | MCOEV |
Teams Phone with Calling Plan | MCOTEAMS_ESSENTIALS |
International Calling Plan | MCOPSTN2 |
Domestic Calling Plan (3000 minutes per user/month for US/PR/CA, 1200 minutes per user/month for EU countries/regions) | MCOPSTN1 |
Domestic Calling Plan (120 minutes per user/month for each country/region) This plan isn't available in the United States. |
MCOPSTN5 |
Domestic Calling Plan (240 minutes per user/month for each country/region) This plan isn't available in the United States. |
MCOPSTN6 |
Communications Credits | MCOPSTNPP |
Pay-As-You-Go Calling Plans (Zone-1 Countries) | MCOPSTN_PAYG_1 |
Pay-As-You-Go Calling Plans (Zone-2 Countries) | MCOPSTN_PAYG_2 |
Microsoft Teams Rooms Basic | Microsoft_Teams_Rooms_Basic |
Microsoft Teams Rooms Basic without Audio Conferencing | Microsoft_Teams_Rooms_Basic_without_Audio_Conferencing |
Microsoft Teams Rooms Pro | Microsoft_Teams_Rooms_Pro |
Microsoft Teams Rooms Pro without Audio Conferencing | Microsoft_Teams_Rooms_Pro_without_Audio_Conferencing |
Microsoft Teams Shared Devices | MCOCAP |
Microsoft Teams Premium | Microsoft_Teams_Premium |
Microsoft Teams Enterprise EEA | Microsoft_Teams_EEA |
Microsoft Teams Enterprise | Microsoft_Teams_Enterprise |