It’s finally here! Developers can now charge money for Microsoft Teams apps in the App Store
Nearly 2 months ago I blogged about a new roadmap item that would support chargeable Microsoft Teams apps. This roadmap item was preceded by some technical detail at Ignite 2020, which itself was preceded by an announcement at Build 2019. Clearly, this feature was complicated to put together and has been worked on for some time.
It’s an exciting milestone though, and (to my mind) well worth the effort that’s gone into it. And, it’s here at last! (well, almost anyway, read on for more about that).
Now that everything is in place we finally have some real detail about the commercial arrangements between Microsoft and developers, and how developers go about monetizing their apps.
James Skay is the Senior Product Marketing Manager, Microsoft Teams and has written the blog post announcing the new features coming to the Microsoft Teams App Store to support this. He outlines some reasons why developers should be thinking about building on Microsoft Teams:
- Microosft Teams has over 250 million monthly active users across 500,000 organisations. That’s a lot of potential users for any app.
- Microsoft charge 3% transaction fee for Teams apps – lower than many other marketplaces
- Microsoft has an ISV support program offering technical and financial support to help developers get starting and overcome issues.
In my September blog, I detailed some questions I still had. I’m going to try and answer them now, based on what we now know.
How do you set it up?
We now have a lot more detail about the setup process.
It’s a little complicated but involves creating a “normal” (free) Teams App first, integrating Microsoft’s fulfilment APIs with your own back-end, and then setting up a SaaS offer in the Microsoft Partner Center.
The Partner Center already has all the tooling in place for creating SaaS offers for Azure Marketplace – this is exactly the same.
At this point you have a Teams App, and a SaaS offer but they’re not joined. Linking them together is the next step, which you do by modifying the Teams App Manifest, adding the following:
The offerID is a unique identifier that includes your Publisher ID and Offer ID, both of which you get from the Microsoft Partner Center. You must format the string as
publisherId.offerId. Check the updated app manifest schema for more information.
Finally, you then submit your Teams app for publishing to the Teams App Store, as normal.
Is this worldwide launch, US only, or what?
Right now, it’s actually only available for developer preview. This is an opt-in program on a per-client basis, however, Skay notes that “we will soon provide these capabilities to everyone with a general release towards the end of the month”. Given that I’m writing this on the last day of the month I suspect that this has either already happened, or will happen over the next few days and form part of the Microsoft Ignite announcements.
However, because Teams is using an existing system – the Partner Center SaaS offer – which is available to multiple regions, this should mean that app monetization is also available worldwide. Right now, the commercial marketplace is available in 141 regions.
What controls will admins have around Teams App subscriptions?
Admins are able to purchase app subscriptions on behalf of users and can purchase multiple subscriptions to an application for use in the tenant. It’s not clear whether those subscriptions are then specifically allocated to users or available to users on a first-come, first-served basis (I suspect the latter).
Admins can see all purchased subscriptions in the tenant, and remove licenses or cancel subscriptions for any user.
However, it’s not possible to prevent users from signing up for subscriptions by globally blocking all apps that require them. It’s possible to individually block an app from the tenant, but if there are thousands of apps with subscriptions this is unlikely to be a good workaround.
What about monetization of Teams Apps on mobile?
One of the challenges here is that Microsoft has effectively created their own App Store inside Microsoft Teams, with chargeable apps available for purchase. That would seem to violate the existing policies of both Apple and Google app stores.
Microsoft advises in their documentation that an app can’t include any links to purchase subscription plans on mobile. Further, the Certification Policies state that app experiences on iOS and Android:
- Must not include any in-app purchases, trial offers, UI that aims to upsell to paid versions, or links to any online stores where users can purchase or acquire other content, apps, or add-ins.
- Must not show any UI or language or link to any other apps, add-ins, or websites that ask the user to pay. If the add-in requires an account, accounts may only be created if there is no charge; the use of the term “free” or “free account” is not allowed. You may determine whether the account is active indefinitely or for a limited time, but if the account expires, no UI, text, or links indicating the need to pay may be shown.
All of these rules also make it likely (to me, but I haven’t seen this confirmed anywhere) that you won’t be able to purchase any chargeable apps from the Teams mobile client.
How do I get started?
If you’ve not previously created a SaaS offer in the Partner Center, then this is likely going to be the part that takes the most time. The good news is that this is a well-established model with good documentation. Start with the Azure Commercial Marketplace Create a SaaS Offer page.
Once you’re happy with that process, there is a good overview page for the entire process, which details all the required steps: Include a SaaS offer with your Microsoft Teams app.