Frequently asked questions (Microsoft Teams developer platform)
What technology should I use to build my bot or tab?
Tabs are web content that you build and deploy, so you can use any technology you want.
Because bots must be built with the Bot Framework, we recommend you use one of the languages supported by the Bot Builder SDK: .NET/C# or Node.js. Although the Bot Framework also provides REST APIs usable by any language you choose, the SDK provides additional functionality and helper functions to simplify the development process.
We also provide Teams-specific .NET and Node.js extensions for the Bot Builder SDK to make integration with the Teams platform even easier.
Where do I sign up to start building Teams apps?
- You must have access to Microsoft Teams via an Office 365 subscription
- If you are building a bot you must register it with Bot Framework
- App publishing requires you register as a Microsoft app developer
Teams apps and authentication with guest users and Microsoft Teams free
On July 12, 2018, Microsoft announced a new edition of Microsoft Teams: Microsoft Teams free. This allows users to create their own Teams organizations of up to 300 users for free (not a free trial; free, period). You can find more information about Microsoft Teams free here.
There are no significant limitations in Microsoft Teams free in terms of how many apps you can use, what they can do or, for the most part, which apps are available. Some of the Teams apps are not available, for example, because they are designed to work with Office 365 services that aren't included in Microsoft Teams free.
Most apps will work in Microsoft Teams free with no modifications. However, apps which require users to log into Azure Active Directory (AAD) may need to make some minor changes. If you want to ensure your app works with Microsoft Teams free, and your app requires users to log into AAD, here's what to do:
- Ensure that the endpoint you call is in the form http://login.microsoftonline.com/TENANT_ID/oauth2/authorize?... and not https://login.microsoftonline.com/common/oauth2/authorize?...
- To obtain TENANT_ID, use the bot context or the tab context APIs
- This will also ensure Guest users can login using your app
For a more exhaustive discussion, see AAD tab authentication and AAD bot authentication. For a Node.js source code example of an app that does AAD authentication and will work on with Microsoft Teams free, see the Microsoft Teams Authentication Sample app.
How can my bot access the ID of a user in personal chat?
How can my bot access or listen to all messages in a channel?
Bots in channels receive messages only when they are explicitly @mentioned. There is no way to grant your bot access to conversations in which they are not mentioned.
How can I distribute my Microsoft Teams app?
Microsoft Teams apps can be distributed to end users via AppSource and the in-product app-discovery system. For more information, see Publish your Microsoft Teams app to AppSource.
Microsoft Teams app packages can be manually distributed to your colleagues or other end users and uploaded by them via the uploading process. Please note that apps distributed in this format are not tested, validated, or trusted by Microsoft.
What account do I use to create an AppSource or Dev Center account?
An AppSource developer account is based on a Microsoft account, so you should use an existing Microsoft account or create one for this purpose.
If you already have a Windows Store developer account, you must use the original owner Microsoft account for the Seller Dashboard experience. Although the Windows Store portal allows Azure Active Directory association, the Seller Dashboard is a separate system that works only with your original Microsoft account.
Not seeing your question? Submit your own; we listen to the developer community across several channels.