๐ณ Recipe ยท Licensing & Cost Optimization
Count Assigned Microsoft Teams Premium Licenses in a Tenant
Quickly determine how many users have Microsoft Teams Premium assigned โ and confirm whether the license is even subscribed in your tenant.
Complexity
Beginner
Impact
read-only + licensing + audit + cost-visibility
Context
Why This Matters
Microsoft Teams Premium is an add-on license that unlocks advanced meeting features โ intelligent recap, advanced webinars, virtual appointments, meeting branding, and enhanced security controls. Because it's an add-on (not bundled with most E3/E5 plans), admins often need to verify how many seats are currently assigned for budgeting, renewal planning, or capacity reviews.
This recipe shows how to answer the common question "How many people in our tenant have Teams Premium?" using the subscribedSkus endpoint. It also handles the equally common case where the tenant hasn't purchased Teams Premium at all โ in which case the correct answer is zero.
Run this when:
- Finance or procurement asks for current Teams Premium seat utilization.
- You're evaluating whether to expand, reduce, or cancel a Teams Premium subscription.
- You're auditing add-on license usage across the tenant.
Expected Outcomes
- A definitive count of users with Microsoft Teams Premium assigned (
consumedUnits). - Total purchased seats (
prepaidUnits.enabled) and remaining available seats. - Clear confirmation if Teams Premium is not subscribed in the tenant (zero assigned).
- The SKU ID, useful for follow-up scripts that list or bulk-assign Teams Premium licenses.
Risks & Considerations
Gotchas
- SKU part number naming: Teams Premium typically appears as
Microsoft_Teams_Premium, but Microsoft has historically used variants likeTEAMS_PREMIUMor region-specific names. Match on a substring (TEAMS_PREMIUM) rather than an exact value. - Not subscribed โ error: If the SKU is absent from
subscribedSkus, the tenant simply doesn't own Teams Premium. Report zero and move on โ don't treat it as a failure. - consumedUnits vs. active users:
consumedUnitscounts assigned licenses, including licenses assigned to disabled or soft-deleted user accounts. If you need only active users, cross-reference with/usersand filter onaccountEnabled. - Group-based licensing: If Teams Premium is assigned via group-based licensing,
consumedUnitsstill reflects the correct total, but changing group membership can shift this number. Always pull fresh data. - No write operations here: This is a read-only query. It's safe to run repeatedly and requires no change management.
Required Permissions
| Permission | Why It's Needed |
|---|---|
| Organization.Read.All | Required to read subscribedSkus and view license inventory for the tenant. |
| Directory.Read.All | Alternative permission that also grants read access to subscribedSkus. |
The fastest way to get this done โ just ask Dex. Copy the prompt below and paste it into your Dex conversation.
For IT Admins
Paste into Dex CoAdmin