Saas Subscription Landing page, Webhooks and License Assignments ?

Brass Contributor

I'm building and testing an Add-in for Excel that I'm trying to monetise by adding some 'pro' features that are unlocked through a Marketplace Saas subscription, following:




I'm confused about a few things, and need a little help, please:


1. Is it still true that transactable SaaS offers can only be done through Microsoft with a Work or School account?


2. If so, do all (non-School/Work) Microsoft Accounts have the same tenant id (or how else do I detect them)?


3. In the SaaS fulfillment lifecycle, when the purchaser gets to my landing page, I can resolve the token to get a subscription detail with the "Quantity", "Purchaser", "Beneficiary" etc. If this is a company Admin buying multiple licenses for their staff, I don't get any information about who will actually get the license (Purchaser and Beneficiary seem to both be the same, and would be the Admin). It seems that once the subscription has been activated, there's a further lifecycle process for the Admin to assign and unassign the license(s) to their users (in the MS Admin Center), which isn't shown in that page? So instead of my landing page saying "Your subscription is now active, please start using it", I should be saying "Your subscription is now active, please go back to the Admin Center and assign the license(s) to your users"?


4. When an admin assigns/unassigns licenses for my app to users, I was expecting to get a webhook notification of that, so I do any per-user config work I need to do. But there doesn't seem to be such a webhook notification, or did I miss something?


5. It seems that the only way for me to know if someone is licensed to use my add-in's Pro features is to use the (Beta?) Graph UsageRights API at startup every time - which surely defeats one of the points of having my own users database?


6. Reading further about the use of the Graph API with Office Js, it appears that if a Work/School user gets the subscription directly (not through an Admin), they're unable to consent to the full Graph  API access, so I would be unable to check their usage rights and would have to assume they're not licensed - leaving me with a user who's paid for a subscription they can't use?


6 Replies


You have a lot of questions here and most of them related to AppSource behavior. I am not expert in AppSource, but I suggest the following.


Join the ISV Success program. THis program will give you the ability to request a 1:1 persoanl consult to answer questions like these.

Thanks @David Starr, I'll join that program. I think the crux of the issue is:
"How do I find out, or get notified, when a license is assigned to a user for a transactable SaaS offer?" All the subscription webhooks and landing page tell me who bought the subscription and for how many seats - but not who actually gets the license.
License assignement is not handled by marketplace. Marketplace manages the plans, but it is up to your external license management serivce to track seats.

Since you are using per seat licensing on AppSource, you have 2 options for license management. 1 - Bring your own license management system and instegrate with marketplace. 2 - Use MS's licensing service for AppSOurce SaaS Apps.

Here is more on MS's license management solution.
Thanks David. As an ISV trying to get an end-to-end solution working for potential clients, the boundary between Marketplace, AppSource, Azure, License Mgmt etc is not that clear (nor really important to me - I need a fully usable stack). I'd like to use #2, plugging into MS's licensing service, so my clients have a familiar and standard service, but I see that page says the usageRights api is currently in Beta - any idea when it will be released in v1?

And it seems a little, erm.. inconsistent, that the Marketplace interaction model encourages me to have my own subscriptions/user database that I keep updated with webhooks (rather than calling the fulfillment API every time I want to see if someone has a subscription), but the Licensing interaction model suggests I should call in every time I want to check if some has a license - is there any intent to add webhooks to the license management solution so I can be notified when a license is issued/revoked?
I am much more conversant on Azure marketplace than AppSource, I'm afraid. And I've no idea the roadmap for the license service.

I have reached out to the SaaS PM to get more information and will come back when I know more about the license service futures.
Well said @CBullen. Much ink has been spilled on "Not shipping the Org Chart" in Microsoft's history. Example: