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
- Ready to try sample manifests
- Teams Toolkit samples
- Getting Started Samples and Tutorials
- Tabs samples
- Bots samples (using the v4 SDK)
- Messaging Extensions samples (using the v4 SDK)
- Webhooks and Connectors samples
- Graph APIs
- Calls and online meetings bots
- Scenario specific samples
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 |
11 | App checkin location | Demonstrating feature where user can checkin with current location and view all previous checkins. | View |
12 | Teams tab graph toolkit | This sample demos building teams tab using microsoft graph toolkit | View |
13 | Product inspection | Demonstrating a feature where user can scan a product and mark it as approved/rejected. | View |
14 | Bot with SharePoint file to view in Teams file viewer | This sample demos a bot with capability to upload files to SharePoint site and same files can be viewed in Teams file viewer. | View |
15 | Bot daily task reminder | This sample demos a feature where user can schedule a recurring task and get a reminder on the scheduled time | View |
16 | Message reminder setup through messaging extension | This sample demos a feature where user can schedule a task from messaging extension action command and get a reminder card at scheduled date and time. | View |
17 | Task approval using activity feed notification | Demonstrating a feature where user can raise the requests and manager will be notified about the requests and manager will be redirected to approve/reject the request from received notification. | View |
18 | Bot request approval | Demonstrating a feature where user can send task request to his manager using universal adaptive card and manager can approve/reject the request. | View |
19 | Incoming Webhook | This sample is used to send card using incoming webhook. | View |
20 | People picker control in Adaptive Cards | This sample shows the feature of people picker control in Adaptive Cards. | View |
21 | App complete auth | This sample demos authentication feature in bot,tab and messaging extension. | View |
22 | Meeting signing programmatic share to stage | Demonstrating the programmatic share to stage feature, by means of a document signing in a meeting. | View |
23 | Tab people picker | This is an tab app which shows the feature of client sdk people picker. | View |
The Teams Toolkit is an extension on Visual Studio Code and Visual Studio. It enable Teams developers to create and deploy Teams apps with integrated identity, access to cloud storage, data from Microsoft Graph, and other services in Azure and M365 with a "zero-configuration" approach to the developer experience. And Sample Apps are provided in Teams Toolkit. Download and try it by today! Learn more about Teams Toolkit.
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 | 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 | |
16 | Product inspection | Demonstrating a feature where user can scan a product and mark it as approved/rejected. | View | View | |
17 | Staggered Permission | This sample demos to get staggered graph api permissions. | View | View | |
18 | Tab people picker | This is an tab app which shows the feature of client sdk people picker. | View | View | |
19 | Tab channel context | This sample shows the contents of tab context object in a private and shared channel. | View | ||
20 | Tab meeting context | This sample shows the contents of meeting tab context object. | View | ||
21 | Tab app monetization | This sample shows how to open purchase dialog and trigger purchase flow using teams-js sdk. | 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 | |
12 | Bot with SharePoint file to view in Teams file viewer | This sample demos a bot with capability to upload files to SharePoint site and same files can be viewed in Teams file viewer. | View | View | |
13 | Type ahead search control on Adaptive Cards | This sample shows the feature of type ahead search (static and dynamic) control in Adaptive Cards. | View | View | |
14 | People picker control in Adaptive Cards | This sample shows the feature of people picker control in Adaptive Cards. | View | View | |
15 | Proactive Messaging sample | This sample shows how to save user's conversation reference information to send proactive reminder message using Bots. This uses Teams toolkit for Visual Studio Code to provide scaffolding experience. | View | ||
16 | Proactive Tab Conversations | Using a bot to create and store conversations that can be later used inside a sub-entity, tab conversation. This sample includes the details required to proactively message a channel from a bot, set-up and store details for channel tab conversations, and viewing channel conversations from a personal app. | View | ||
17 | Suggested Actions Bot | This sample shows the feature where user can send suggested actions using bot. | 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 | ||
2 | Link unfurling - setup a meeting | This sample illustrates a common scenario where a user shares a link to a resource with a group of users, and they collaborate to review it in a meeting. | View |
Sample Name | Description | C# | JavaScript | |
---|---|---|---|---|
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 |
4 | Authentication in todo Connector App | This is a sample app which shows connector authentication and sends notification on task creation. | View | |
5 | Incoming Webhook | This is a sample used to send card using incoming webhook. | 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 |
9 | Graph Pinned Message | This is a sample application which demonstrates how to pin messages in chat using Graph api. | View | View |
10 | Graph Bulk Meetings | This is an sample application which shows how to create Teams meetings in bulk using Graph api. | View |
Sample Name | Description | C# | |
---|---|---|---|
1 | Calling and Meeting bot | This sample app demonstrate how a 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 |
13 | Meeting Transcript App | This is a sample application which demonstrates how to get Transcript using Graph API and show it in the task module. | 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 |
16 | App check in location | Demonstrating feature where user can checkin with current location and view all previous checkins. | View | View |
17 | Message reminder setup through messaging extension | Demonstrating a feature where user can schedule a task from messaging extension action command and get a reminder card at a scheduled time | View | View |
18 | Bot daily task reminder | This sample demos a feature where user can schedule a recurring task and get a reminder on the scheduled time | View | View |
19 | Tab request approval | Demonstrating a feature where user can raise the requests and manager will be notified about the requests and manager will be redirected to approve/reject the request from received notification. | View | View |
20 | Bot request approval | Demonstrating a feature where user can send task request to his manager using universal adaptive card and manager can approve/reject the request. | View | View |
21 | Join the Team using QR code | This sample demos a feature where user can join a team using QR code containing the team's id. | View | View |
22 | Activity feed broadcast | Demonstrating a feature to notify any message to all members of the organisation using activity feed notification . | View | View |
23 | App complete auth | This sample demos authentication feature in bot,tab and messaging extension. | View | |
24 | App identity linking with sso | This sample demos mapping with aad id, facebook, and google account of user in bot, ME and tab. | View | |
25 | Meeting signing programmatic share to stage | Demonstrating the programmatic share to stage feature, by means of a document signing in a meeting. | View | |
26 | Live coding interview using Shared meeting stage | This sample demos a live coding in a teams meeting stage. | View | View |
27 | Release Management | This is a sample used to send workitem notification using Azure webhook. | View | View |
28 | Meeting Live Caption | This is a sample meeting side panel application which demonstrates how to enable live caption in the meeting and using the CART link how to send caption in live meeting. | View | View |
App Name | Description | Code | |
---|---|---|---|
1 | QBot | QBot is a solution designed for classroom teaching scenarios which allows teachers, tutors, and students to intelligently answer each other's questions within the Microsoft Teams collaboration platform. | 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.