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

Mohammed-MSFT/Microsoft-Teams-Samples

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Microsoft Teams Samples

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.

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

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
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

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
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 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

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

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

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published