Set up Microsoft license management

Independent software vendors (ISVs) can configure Microsoft license management for third-party SaaS apps in Partner Center as part of the offer publishing. This allows Teams admins or users to easily assign, unassign, use, and track SaaS licenses for their third-party app subscriptions within Teams.

To enable license management for a third-party app in Teams, follow the steps:

  1. Create an offer in Partner Center
  2. Update your Teams app
  3. Post purchase
  4. Integrate with Graph usageRights API

Create an offer in Partner Center

  1. Sign in to Partner Center and select Partner Center.

    The screenshots shows how to login to the Partner Center account.

  2. In the Home page, select Marketplace offers tab to define commercial marketplace offers.

    The screenshots shows the home page and Marketplace offer tab in the Partner Center.

  3. Select Overview from the left pane.

  4. Select New Offer > Software as a Service.

    The screenshots shows the marketplace offer page where you can select new offer.

  5. Enter Offer ID and Offer alias and select Create.

    Note

    If you're creating an offer for testing purpose, add the text -ISVPILOT to the end of your offer alias. This indicates the certification team that the offer is for testing purposes. Microsoft delete offers with -ISVPILOT periodically. So, don't use this tag for reasons other than testing the license management capability.

    The screenshots shows how to enter Offer ID and Offer alias in the Partner Center.

  6. In the Offer setup page, under setup details, select the checkbox Yes, I would like Microsoft to manage customer licenses on my behalf.

    The screenshots shows the offer setup page to setup license to manage for your app within Teams.

    Note

    • This is a one-time setting and you can't change it once your offer is published. This allows the customer to manage licenses for your app within Teams.
    • The App manifest supports only one offer for an app. Choose an appropriate license management solution for all the plans available in your offer and you can't change this option after the offer is pushed to live.
  7. Select Save draft.

  8. Select Plan overview from the left pane, and then select Create new plan.

    Note

    You need to add at least one plan.

    The screenshots shows plan overview to create a new plan for your apps in the Partner Center.

  9. Enter Plan ID and Plan name, and then select Create.

  10. Enter the Plan name and Plan description.

    Note

    The plan information displays on Teams marketplace and AppSource under offer listing (plans section).

    The screenshots shows plan page to add plan name and plan description for your app.

  11. Select Save draft.

  12. Select Pricing and availability from the left pane.

  13. Add pricing and availability details.

    The screenshots shows pricing and availability page to add SaaS offer for your app.

  14. Select Save draft.

  15. Select Plan overview at the top of the page to go to the listing page that shows all the plans you've created for this offer.

    The screenshots shows plan listing page with service ID, pricing model, availability, status and action.

  16. Copy the service ID of the plan you created to integrate with Microsoft Graph usageRights API.

Update your Teams app

Update your Teams app to map to the paid functionality and Map your Teams app to your offer and publish.

Post purchase

  1. After activation, customer is redirected from landing page to Teams License Management.

  2. Upon successful completion of subscription purchase, the customer is redirected to the app landing page for subscription activation. This is the existing experience for user purchasing Monetized apps in Teams.

  3. After the customer activates the subscription purchase on landing page, customer is redirected to subscriptions page in Teams via a redirect URL link or button that the customer selects on the publisher landing page.

Integrate with Graph usageRights API

Integrate with Graph usageRights API to manage user permissions at the time of app launch by a customer who has a purchase license. You're required to determine the user’s permissions for the app with a Graph call to the usageRights API.

You can call Graph APIs to determine if the logged in user with a valid subscription of the plan has access to your app. To call Graph usageRights API to check user permissions, follow the steps:

  1. Get user OBO token: Get access on behalf of a user.

  2. Call Graph to get user’s object ID: Use the Microsoft Graph API.

  3. Call usageRights API to determine the user has License to the plan: List user usageRights API.

    Note

    • You need to have minimum User.Read permissions to call usageRights. The usageRights API is in beta version. After the version is updated to V1, users must upgrade from beta to V1 version.
    • If the Microsoft Entra app is used for both SaaS Fulfillment APIs and usageRights API, ensure that the tenant under which the Microsoft Entra app is created is either the publishing tenant or the associated tenant in the Partner Center.

To determine if the tenant for the Microsoft Entra app is part of the Partner Center setup, follow these steps:

  1. Sign in to Microsoft Partner Center with the publisher account that is used to publish the SaaS offer.
  2. On the upper-right corner, select the Settings icon.
  3. Select Account Settings.
  4. On the left pane, select Tenants. You can see all tenants associated with the Microsoft Cloud Partner Program (CCP) account. The tenant, who is the owner of the Microsoft Entra app, must be available in the list. If the tenant isn’t on the list, you can use the Associate Azure ID button to link the tenant.

Check license usage in Partner Center analytics

  1. Sign in to Partner Center.
  2. In the left pane, go to Commercial Marketplace > Analyze > Licensing.
  3. Select Plan and Tenant in the reporting widget to see the month wise usage.