Skip to content

Welcome to the Microsoft Teams samples repository. Here you will find task-focused samples in C#, JavaScript and TypeScript to help you get started with the Microsoft Teams App!

License

Notifications You must be signed in to change notification settings

HieuJoe/Microsoft-Teams-Samples

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Microsoft Teams Samples

Sample code build status

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

Sample lists

  1. Ready to try sample manifests
  2. Teams Toolkit samples
  3. Getting Started Samples and Tutorials
  4. Tabs samples
  5. Bots samples (using the v4 SDK)
  6. Messaging Extensions samples (using the v4 SDK)
  7. Webhooks and Connectors samples
  8. Graph APIs
  9. Calls and online meetings bots
  10. Scenario specific samples

Try it yourself - experience the Apps in your Microsoft Teams client.

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.

Note: Required admin consent for samples marked with asterisk (*). Please follow the link to provide admin consent.

Sample Name Description Manifest
1 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
2 Meeting Recruitment App Sample app showing meeting app experience for interview scenario. View
3 Product inspection Demonstrating a feature where user can scan a product and mark it as approved/rejected. View
4 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
5 Tab Channel Goup Config Page Auth Configurable Tab using AAD and Silent Authentication. View
6 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
7 People picker control in Adaptive Cards This sample shows the feature of people picker control in Adaptive Cards. View
8 App complete auth* This sample demos authentication feature in bot,tab and messaging extension. View
9 Tab people picker This is an tab app which shows the feature of client sdk people picker. View
10 App Hello World Feature of this sample to display Hello Word. View
11 Graph RSC how you can use Resource Specific Consent (RSC) to call Graph APIs. View
12 Meetings Details Tab Microsoft Teams meeting extensibility sample for iteracting with Details Tab in-meeting. View
13 Tab Channel Group Sample app showing custom group and channel Tab with ASP. NET Core. View
14 Tab App Monetization This sample shows how to open purchase dialog and trigger purchase flow using teams-js sdk. View
15 Tab UI Templates This sample demonstrates @fluentui/react-teams library in Microsoft Teams apps. View
16 Tab Conversations This Teams tab app provides a way to allow users to have conversations about sub-entities in the tab Create conversational tabs. View
17 Typeahead Search AdaptiveCards This Teams tab app provides a way to allow users to have conversations about sub-entities in the tab Create conversational tabs. View
18 Personal tabs This Teams app showing the custom personal Tab with ASP. NET Core. View
19 Channel and group tab quick-start This Teams app showing the channel and group tab hello world app. View
20 Device permissions This Teams app demonstrating the device permissions. View
21 Tab in stage view This Teams app demonstrating the tab in stage view. View
22 Staggered Permission* This Teams app demonstrating to get staggered graph api permissions. View
23 Teams Conversation Bot This Teams app demonstrating messaging and conversation event handling. View
24 Authentication with OAuthPrompt This Teams app demonstrating authentication and basic messaging in Bot Framework v4. View
25 Messaging extensions - search quick-start This Teams app demonstrating hello world Messaging Extension that accepts search requests and returns results. View
26 Messaging extensions - action quick-start This Teams app demonstrating 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
27 Messaging extensions - action This Teams app demonstrating Messaging Extension that accepts parameters and returns a card. Also, how to receive a forwarded message as a parameter in a Messaging Extension. View
28 Message Extension - Message Reminder This Teams app demonstrating Messaging Extension that performs link unfurling. View
29 Messaging extensions - search This sample app demonstrate how to use search based Messaging Extension. View
30 Messaging extensions - Link unfurling This sample app demonstrate how to use link unfurling in Messaging Extension using Bot Framework v4. View
31 Messaging extensions - action preview This sample app demonstrate how to use action preview in Messaging Extensions using Bot Framework v4 View
32 Proactive installation of App and sending proactive notifications This Teams app demonstrating how you can use Proactive installation of app for user and send proactive notification by calling Microsoft Graph APIs. View
33 Meetings Extensibility This Teams app demonstrating Microsoft Teams meeting extensibility sample: token passing. View
34 Meetings Content Bubble Bot This Teams app demonstrating Microsoft Teams meeting extensibility iteracting with Content Bubble Bot in-meeting. View
35 Live coding interview using Shared meeting stage This Teams app demonstrating a live coding in a Teams meeting stage. View
36 App Localization This Teams Microsoft Teams app localization using Bot and Tab. View
37 Region Selection App This app show Microsoft Teams app show end user region selection using Bot and Tab. View
38 Sequential workflow adaptive cards This Teams app demonstrating the contents of meeting tab context object in a meeting tab. View
39 Meetings-Context-app This Teams app demonstrating the contents of meeting tab context object in a meeting tab. View
40 Teams File Upload This sample app demonstrate the file upload with bot using Bot Framework v4. View
41 Message Reactions This sample app demonstrate how to use message reactions bot. View
42 bot-initiate-thread-in-channel This sample app demonstrate how to start a thread in a specific Team's channel using Bot Framework v4. View
43 Bot Suggested Action Demonstrating the feature where user can send suggested actions using bot. View
44 Bot Task Module This sample app demonstrate how to use Task Module using Bot Framework v4. View
45 Bot Request approval This sample shows a feature where user can send task request to his manager and manager can approve/reject the request in group chat.. View
46 Channel messages with RSC permissions Demonstrating on how a bot can receive all channel messages with RSC without @mention. View
47 Meeting Events This sample app Get real time meetings events. View
48 App check in location This sample app Demonstrating feature where user can checkin with current location and view all previous checkins. View
49 App Installtion using QR code This sample demos app installation using QR code of application's app id. View
50 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
51 Complete Samples Sample covering multiple scenarios - dialogs, ME, and facebook auth. View
52 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
53 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
54 App SSO Microsoft Teams app SSO for Tab, Bot, ME - search, action, linkunfurl. View
55 Tabs with Adaptive Cards Microsoft Teams tab sample code which demonstrates how to Build tabs with Adaptive Cards. View
56 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
57 Meetings Stage View Enable and configure your apps for Teams meetings to use in stage view. 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
22 Personal Tab with Nav-Bar menu Add multiple actions to the upper right in Nav-Bar and build an overflow menu for extra actions in an app. 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 Java
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 View
4 Message Reactions Demonstrates how to create a simple bot that responds to Message Reactions View View View
5 Authentication with OAuthPrompt Authentication and basic messaging in Bot Framework v4. View View View View
6 Teams File Upload Exchanging files with a bot in a one-to-one conversation. View 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 View
8 Start new thread in a channel Demonstrating how to create a new thread in a channel. View 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
18 Adaptive Card Actions Bot This sample shows the feature where user can send adaptive card with different actions using bot. View View

Additional samples

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 Java
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 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 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 View
8 Link unfurling Messaging Extension that performs link unfurling. View View View View

Additional samples

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 View
11 Graph Meeting Notification This is a sample application which demonstrates the use of online meeting subscription and sends you the notifications in chat using bot. View View
12 Change Notifications Team/Channel This sample application which demonstrates use of Team/Channel subscription that will post notifications when user create/edit/delete team/channel using Graph api. View 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

Scenario specific samples

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 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
15 App Installtion using QR code This sample demos app installation using QR code of application's app id View View
16 Archive groupchat messages Demonstrating on how a bot can archive groupchat messages and send it to user as a file. View View
17 App check in location Demonstrating feature where user can checkin with current location and view all previous checkins. View View
18 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
19 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
20 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
21 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
22 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
23 Activity feed broadcast Demonstrating a feature to notify any message to all members of the organisation using activity feed notification . View View
24 App complete auth This sample demos authentication feature in bot,tab and messaging extension. View
25 App identity linking with sso This sample demos mapping with aad id, facebook, and google account of user in bot, ME and tab. View
26 Meeting signing programmatic share to stage Demonstrating the programmatic share to stage feature, by means of a document signing in a meeting. View
27 Live coding interview using Shared meeting stage This sample demos a live coding in a teams meeting stage. View View
28 Release Management This is a sample used to send workitem notification using Azure webhook. View View
29 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

Application templates

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
2 Resource Hub Resource Hub is a solution designed for all the help you need to use Teams, all in one place. View

Submitting issues

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.

Contributing

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 [email protected] with any additional questions or comments.

About

Welcome to the Microsoft Teams samples repository. Here you will find task-focused samples in C#, JavaScript and TypeScript to help you get started with the Microsoft Teams App!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published