Build quality Microsoft Teams apps with these best practices: Part 3
We continue to share best practices for building high quality Microsoft Teams apps that will enable engaging experiences and delight users. In Part 1 and Part 2 of this series, we discussed best practices covering the multiple extensibility points, entry points and experiences within a Teams app that you should consider. Here we share some of the critical considerations that must be thought through before publishing your Teams app into our marketplace. Please note that while the public publishing of your app is relevant to ISVs and others desiring to make generally available – the performance considerations are still very relevant even for enterprise developers.
Publishing your app in App Source allows the app to be listed in the Teams Store to over 115 million daily Teams users. Customers who deploy the app will seamlessly receive any updates you make, without requiring hands-on deployment models.
Questions to ask yourself:
- Do the screenshots clearly convey the functionality of the app including all capabilities?
- Does the app description mention all the scenarios the app enables?
- Does the app list the correct categories in Partner Center?
- Does the store listing contain a video?
- Is there a landing page on my specific to this app?
- Am I planning to update my app at least every 6 months?
Prospective users review app listings in Microsoft App Source and the Teams Store when evaluating an app, and the content here can influence a decision to use an app. Ensure your description, images, and categories showcase the value of integrating your app in Teams. Add a video to clearly demonstrate Teams workflows to prospective users. Publish regular, iterative updates to your app to take advantage of the newest Teams Platform capabilities and to appear well-maintained and supported to users.
Performance and availability
Questions to ask yourself:
- Do tabs load in a performant way (5 seconds or faster)? Is a skeleton UI or loading indicator shown as the page is loading?
- Do bots respond within 3 seconds? If the time exceeds 3 seconds, do bots show a typing indicator?
- Has the app had zero service outages in the past 90 days?
Build user trust through performance and reliable apps – not only will it drive day-to-day engagement by preventing interrupted workflows, but it will influence the overall perception of your app. Showing animations like bot typing indicators or tab loading views will give users assurance that the app is working and their content will be shown soon.
Security and compliance
Questions to ask yourself:
- Have you completed publisher attestation?
- Have you completed Microsoft 365 Certification?
Microsoft offers a 3-tier compliance program to provide users the confidence they need while using apps in the Microsoft 365 ecosystem. Publisher certification and attestation are simple tasks which take less than an hour and provide customers the assurance that the listed app publisher is authentic. Microsoft 365 Certification gives the highest degree of assurance to customers of the privacy, security, and compliance of the data handling of your app.
Note that Publisher Attestation and Microsoft 365 Certification can only be completed after your app is published.
Use this list to check your app for our best practices guidance * Required if the corresponding app capability is used † Commonly-missed quality opportunities
|Collaboration and Scenarios||
|Perf and Availability||
|Security and Compliance||
Teams app submission overview
|Stage||Resource / Details||All Involved||Estimated Timeline|
|Prepare for Submission||Submission Overview||App Developer||Varies|
|Self-Assess and Self-Test||Validation Policies – review these guidelines and ensure your app adheres to them Validation Tool – use this tool to perform automated checks on your manifest file and catch issues early Tips and Tricks – details of common policy failures and examples of successful resolutions||App Developer||Varies|
|Create developer account in Partner Center||Creating Partner Center Account
Can be done concurrently with above steps.
|App Developer||1-2 weeks|
|Submit your App in Partner Center||Submit your package in the Partner Center||App Developer||1-2 days|
App Submission Review
|App Submission team will validate your app to ensure it meets guidelines. App validation phases are:
After each phase, App Submission team will provide list of validation issues and according policies.
App validation may take several rounds of addressing discovered issues and resubmitting. See FAQ on next page.
Time prediction for Submit to Publish
|App Developer, App Submission Team||3-6 weeks|
|Submission Approval and Rollout||Once approved, the following steps remain before all customers will see app in Teams Store:
||App Developer, App Submission Team||4 business days|
App Submission FAQ
How long does publishing take?
Publishing itself doesn’t take long – it’s just rollout of software. However, there is time between submitting and approval which is used to review your app and address any bugs or non-compliance with submission requirements.
How long does it take to fix bugs?
This is highly dependent on your team and the bug identified. If we assume it takes you ~3 days to respond back and fix the bugs that have been raised:
- If your app has less than 8 bugs, it usually takes 3 iterations ==> 3 weeks
- If your app has 10 – 20 bugs, it takes around 6 iterations ==> 6 weeks
Again, if you can fix the bugs quicker, the time shortens. We recommend you leave 1 – 1.5 months between app submission and desired publish date, to allow time for validation and bug fixing.
I am under a tight deadline. Can you speed up the process for me?
Please note that most of the time estimated is for partners to fix bugs. Our submission team has a 24 hour SLA which means they guarantee to finish checking your app and get back to you within 24 hours. If you need more context on a bug, you can meet with them to discuss.
Our best advice is to ensure your app is high quality (i.e. meets all validation criteria) and has no bugs. To help you better self-check your app, please use the below resources.
Helpful resource for app validation process
Here are some useful links to help you prepare your first app submission:
- Validation tool - automatically validates your app package
- Frequently failed cases
- Commercial marketplace policies – your app must pass all of these policies
Thank you and happy coding!