NOTE: These samples are designed to help understand Microsoft Teams platform capabilities and scenarios. If you are looking for production ready apps then please visit App Templates for Microsoft Teams
Here are all the samples which are deployed on Microsoft Azure and you can try it yourself by uploading respective app packages (.zip files links below) to one of your teams and/or as a personal app. (Sideloading must be enabled for your tenant; see steps here.) These apps are running on the free Azure tier, so it may take a while to load (warm up) if you haven't used it recently and it goes back to sleep quickly if it's not being used. Rest assured, once it's loaded it's pretty snappy.
Sample Name | Description | Manifest | |
---|---|---|---|
1 | SSO Demo | Microsoft Teams app SSO for Tab, Bot, ME - search, action, linkunfurl | View |
2 | Complete sample Demo | Complete sample to showcase various capabilities including bots, tabs, messaging extension | View |
3 | Task Module Demo | Sample app showing off the Teams Task Module, a way to invoke custom code from a bot, a tab, or both | View |
4 | Connectors | Sample Office 365 Connector generating notifications to teams channel. | View |
5 | Tabs with Adaptive Cards | Microsoft Teams tab sample code which demonstrates how to Build tabs with Adaptive Cards. | View |
6 | Meetings Stage View Demo | Enable and configure your apps for Teams meetings to use in stage view. | View |
7 | Meeting Events | Microsoft Teams sample app to get real time meeting events. | View |
8 | Channel messages with RSC permissions | Demonstrating on how a bot can receive all channel messages with RSC without @mention. | View |
9 | Meeting Recruitment App | Sample app showing meeting app experience for interview scenario. | View |
10 | App installation using QR code | Sample app that generates a QR or installs app using the QR code. | View |
Sample Name | Description | C# | TypeScript | |
---|---|---|---|---|
1 | Hello World | Microsoft Teams hello world sample app. | View | View |
Sample Name | Description | C# | TypeScript | JavaScript | |
---|---|---|---|---|---|
1 | Personal tabs | Sample app showing custom personal Tab with ASP. NET Core | MVC, Razor | Yeoman Generator | |
2 | Personal tab quick-start | Sample personal tab quick-start app. | View | View | |
3 | Personal tab with SSO quick-start | Sample personal tab with SSO hello world app. | View | View | View |
4 | Channel and group tabs | Sample app showing custom group and channel Tab with ASP. NET Core | MVC, Razor | Yeoman Generator | |
5 | Channel and group tab quick-start | Sample channel and group tab hello world app. | View | View | |
6 | Channel and group tab with SSO quick-start | Sample channel and group tab with SSO hello world app. | View | View | View |
7 | SPFx Tab | Sample app showing Microsoft Teams tabs using SharePoint Framework | View | ||
8 | Tab SSO | Microsoft Teams sample app for tabs Azure AD SSO | View ,Teams Toolkit | ||
9 | Config Tab Authentication | Microsoft Teams sample app for config tabs Azure AD authentication | View | ||
10 | Deep Link consuming Subentity ID | Microsoft Teams sample app for demonstrating deeplink from Bot chat to Tab consuming Subentity ID | View | View | |
11 | Integrate graph toolkit component in teams tab | Microsoft Teams tab sample app for demonstrating graph toolkit component | View | ||
12 | Device permissions | Microsoft Teams tab sample app for demonstrating device permissions | View | ||
13 | Build tabs with Adaptive Cards | Microsoft Teams tab sample code which demonstrates how to Build tabs with Adaptive Cards | View | View | |
14 | Tab in stage view | Microsoft Teams tab sample app for demonstrating tab in stage view | View | View | |
15 | Create Conversational tab | Microsoft Teams tab sample app for demonstrating create conversation tab | View | View |
Bots samples (using the v4 SDK)
NOTE: Visit the Bot Framework Samples repository to view Microsoft Bot Framework v4 SDK task-focused samples for C#, JavaScript, TypeScript, and Python.
Sample Name | Description | .NET Core | JavaScript | Python | |
---|---|---|---|---|---|
1 | Teams Conversation Bot quick-start | Messaging and conversation event handling hello world. | View | ||
2 | Teams Conversation Bot SSO quick-start | Messaging and conversation event handling hello world with SSO. | View | View | |
3 | Teams Conversation Bot | Messaging and conversation event handling. | View | View | View |
4 | Message Reactions | Demonstrates how to create a simple bot that responds to Message Reactions | View | View | |
5 | Authentication with OAuthPrompt | Authentication and basic messaging in Bot Framework v4. | View | View | View |
6 | Teams File Upload | Exchanging files with a bot in a one-to-one conversation. | View | View | View |
7 | Task Module | Demonstrating how to retrieve a Task Module and values from cards in it, for a Messaging Extension. | View | View | View |
8 | Start new thread in a channel | Demonstrating how to create a new thread in a channel. | View | View | View |
9 | Universal bots | Teams catering bot demonstrating how to use Universal bots in Teams | View | ||
10 | Sequential workflow adaptive cards | Demonstrating on how to implement sequential flow, user specific view and upto date adaptive cards in bot. | View | View | |
11 | Channel messages with RSC permissions | Demonstrating on how a bot can receive all channel messages with RSC without @mention. | View | View |
Sample Name | Description | .NET Core | JavaScript | |
---|---|---|---|---|
1 | Proactive Messaging | Sample to highlight solutions to two challenges with building proactive messaging apps in Microsoft Teams. | View | |
2 | Sharepoint List Bot | This sample app shows the interaction between teams bot and SharePoint List, Bot saves the specified details in SharePoint List as back-end | View | |
3 | Teams Virtual Assistant | Customized virtual assistant template to support teams capabilities. | View |
Messaging Extensions samples (using the v4 SDK)
NOTE: Visit the Bot Framework Samples repository to view Microsoft Bot Framework v4 SDK task-focused samples for C#, JavaScript, TypeScript, and Python.
Sample Name | Description | .NET Core | JavaScript | Python | |
---|---|---|---|---|---|
1 | Messaging extensions - search quick-start | Hello world Messaging Extension that accepts search requests and returns results. | View | ||
2 | Messaging extensions - search | Messaging Extension that accepts search requests and returns results. | View | View | View |
3 | Messaging extensions - action quick-start | Hello world Messaging Extension that accepts parameters and returns a card. Also, how to receive a forwarded message as a parameter in a Messaging Extension. | View | ||
4 | Messaging extensions - action | Messaging Extension that accepts parameters and returns a card. Also, how to receive a forwarded message as a parameter in a Messaging Extension. | View | View | View |
5 | Messaging extensions - auth and config | Messaging Extension that has a configuration page, accepts search requests and returns results after the user has signed in. | View | View | |
6 | Messaging extensions - auth and config | Messaging Extension that has a configuration page, accepts search requests and returns results with SSO. | View | ||
7 | Messaging extensions - action preview | Demonstrates how to create a Preview and Edit flow for a Messaging Extension. | View | View | View |
8 | Link unfurling | Messaging Extension that performs link unfurling. | View | View | View |
Sample Name | Description | .NET Core | JavaScript | Python | |
---|---|---|---|---|---|
1 | Link unfurling demo of Reddit | Messaging Extension with Link Unfurling Samples for Reddit Links | View |
Sample Name | Description | C# | TypeScript | |
---|---|---|---|---|
1 | Connectors | Sample Office 365 Connector generating notifications to teams channel. | View | View |
2 | Generic connectors sample | Sample code for a generic connector that's easy to customize for any system which supports webhooks. | View | |
3 | Outgoing Webhooks | Samples to create "Custom Bots" to be used in Microsoft Teams. | View | View |
Sample Name | Description | C# | JavaScript | |
---|---|---|---|---|
1 | Resource Specific Consent (RSC) | This sample illustrates how you can use Resource Specific Consent (RSC) to call Graph APIs. . | View | View |
2 | Graph API Channel Life Cycle | This sample illustrates how you can use Graph API Channel Life Cycle to call Graph APIs. . | View | View |
3 | Graph API Teams App Installation Life Cycle | This sample illustrates how you can use Teams App Installation Life Cycle by calling Microsoft Graph APIs. . | View | View |
4 | Graph API Teams App Catalog Life Cycle | This sample illustrates how you programmatically manage lifecycle for your teams App in catalog by calling Microsoft Graph APIs. . | View | View |
5 | Graph API Chat Life Cycle | This sample illustrates how you can use Teams App Chat Life Cycle by calling Microsoft Graph APIs. . | View | View |
6 | Activity Feed Notification | Microsoft Teams sample app for Sending Activity feed notification using Graph API in a Teams Tab. | View | View |
7 | Proactive installation of App and sending proactive notifications | This sample illustrates how you can use Proactive installation of app for user and send proactive notification by calling Microsoft Graph APIs. . | View | View |
8 | Change Notification | This sample app demonstrates sending change notifications to user presence in Teams based on user presence status. | View | View |
Sample Name | Description | C# | |
---|---|---|---|
1 | Calling and Meeting bot | This sample app demonstarte how an Bot can create a call, join a meeting and transfer the call | View |
2 | Local Media Samples | Local media samples give the developer direct access to the inbound and outbound media streams. | View |
3 | Remote Media Samples | The Incident Bot sample is a Remote Media sample demonstrating a simple incident process workflow started by a Calling Bot.. | View |
Sample Name | Description | C# | JavaScript | |
---|---|---|---|---|
1 | Task Modules | Sample app showing off the Teams Task Module, a way to invoke custom code from a bot, a tab, or both! | View | View |
2 | Authentication | Sample illustrating seamless inline authentication for Microsoft Teams apps. | View | |
3 | Complete Samples | Sample covering multiple scenarios - dialogs, ME, and facebook auth. | View | View |
4 | Meetings Extensibility | Microsoft Teams meeting extensibility sample: token passing | View | View |
5 | Meetings Content Bubble Bot | Microsoft Teams meeting extensibility sample for iteracting with Content Bubble Bot in-meeting | View | View |
6 | Meetings SidePanel | Microsoft Teams meeting extensibility sample for iteracting with Side Panel in-meeting | View | View |
7 | Region Selection App | This app contains a bot and Tab which is helpful to set the region | View | |
8 | App Localization | Microsoft Teams app localization using Bot and Tab | View | View |
9 | Details Tab in Meetings | Microsoft Teams meeting extensibility sample for iteracting with Details Tab in-meeting | View | View |
10 | App SSO | Microsoft Teams app SSO for Tab, Bot, ME - search, action, linkunfurl | View | View |
11 | Meetings Stage View | Enable and configure your apps for Teams meetings to use in stage view | View | View |
12 | Meeting Events | Get real time meeting events | View | View |
13 | Meeting Recruitment App | Sample app showing meeting app experience for interview scenario. | View | View |
14 | App Installtion using QR code | This sample demos app installation using QR code of application's app id | View | View |
15 | Archive groupchat messages | Demonstrating on how a bot can archive groupchat messages and send it to user as a file. | View | View |
The issue tracker is for issues, in other words, bugs and suggestions. If you have a question, feedback or suggestions, please check our support page.
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.