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

cincom/Microsoft-Teams-Samples

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

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 NameDescriptionManifest
1SSO DemoMicrosoft Teams app SSO for Tab, Bot, ME - search, action, linkunfurlView
2Complete sample DemoComplete sample to showcase various capabilities including bots, tabs, messaging extensionView
3Task Module DemoSample app showing off the Teams Task Module, a way to invoke custom code from a bot, a tab, or bothView
4ConnectorsSample Office 365 Connector generating notifications to teams channel.View
5Tabs with Adaptive CardsMicrosoft Teams tab sample code which demonstrates how to Build tabs with Adaptive Cards.View
6Meetings Stage View DemoEnable and configure your apps for Teams meetings to use in stage view.View
7Meeting EventsMicrosoft Teams sample app to get real time meeting events.View
8Channel messages with RSC permissionsDemonstrating on how a bot can receive all channel messages with RSC without @mention.View
9Meeting Recruitment AppSample app showing meeting app experience for interview scenario.View
10App installation using QR codeSample app that generates a QR or installs app using the QR code.View
11App checkin locationDemonstrating feature where user can checkin with current location and view all previous checkins.View
12Teams tab graph toolkitThis sample demos building teams tab using microsoft graph toolkitView
13Product inspectionDemonstrating a feature where user can scan a product and mark it as approved/rejected.View
14Bot with SharePoint file to view in Teams file viewerThis sample demos a bot with capability to upload files to SharePoint site and same files can be viewed in Teams file viewer.View
15Bot daily task reminderThis sample demos a feature where user can schedule a recurring task and get a reminder on the scheduled timeView
16Message reminder setup through messaging extensionThis 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
17Task approval using activity feed notificationDemonstrating 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

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 NameDescriptionC#TypeScript
1Hello WorldMicrosoft Teams hello world sample app.ViewView
Sample NameDescriptionC#TypeScriptJavaScript
1Personal tabsSample app showing custom personal Tab with ASP. NET CoreMVC, RazorYeoman Generator
2Personal tab quick-startSample personal tab quick-start app.ViewView
3Personal tab with SSO quick-startSample personal tab with SSO hello world app.ViewViewView
4Channel and group tabsSample app showing custom group and channel Tab with ASP. NET CoreMVC, RazorYeoman Generator
5Channel and group tab quick-startSample channel and group tab hello world app.ViewView
6Channel and group tab with SSO quick-startSample channel and group tab with SSO hello world app.ViewViewView
7SPFx TabSample app showing Microsoft Teams tabs using SharePoint FrameworkView
8Tab SSOMicrosoft Teams sample app for tabs Azure AD SSOView ,Teams Toolkit
9Config Tab AuthenticationMicrosoft Teams sample app for config tabs Azure AD authenticationView
10Deep Link consuming Subentity IDMicrosoft Teams sample app for demonstrating deeplink from Bot chat to Tab consuming Subentity IDViewView
11Integrate graph toolkit component in teams tabMicrosoft Teams tab sample app for demonstrating graph toolkit componentViewView
12Device permissionsMicrosoft Teams tab sample app for demonstrating device permissionsView
13Build tabs with Adaptive CardsMicrosoft Teams tab sample code which demonstrates how to Build tabs with Adaptive CardsViewView
14Tab in stage viewMicrosoft Teams tab sample app for demonstrating tab in stage viewViewView
15Create Conversational tabMicrosoft Teams tab sample app for demonstrating create conversation tabViewView
16Product inspectionDemonstrating a feature where user can scan a product and mark it as approved/rejected.ViewView

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 NameDescription.NET CoreJavaScriptPython
1Teams Conversation Bot quick-startMessaging and conversation event handling hello world.View
2Teams Conversation Bot SSO quick-startMessaging and conversation event handling hello world with SSO.ViewView
3Teams Conversation BotMessaging and conversation event handling.ViewViewView
4Message ReactionsDemonstrates how to create a simple bot that responds to Message ReactionsViewView
5Authentication with OAuthPromptAuthentication and basic messaging in Bot Framework v4.ViewViewView
6Teams File UploadExchanging files with a bot in a one-to-one conversation.ViewViewView
7Task ModuleDemonstrating how to retrieve a Task Module and values from cards in it, for a Messaging Extension.ViewViewView
8Start new thread in a channelDemonstrating how to create a new thread in a channel.ViewViewView
9Universal botsTeams catering bot demonstrating how to use Universal bots in TeamsView
10Sequential workflow adaptive cardsDemonstrating on how to implement sequential flow, user specific view and upto date adaptive cards in bot.ViewView
11Channel messages with RSC permissionsDemonstrating on how a bot can receive all channel messages with RSC without @mention.ViewView
12Bot with SharePoint file to view in Teams file viewerThis sample demos a bot with capability to upload files to SharePoint site and same files can be viewed in Teams file viewer.ViewView

Additional samples

Sample NameDescription.NET CoreJavaScript
1Proactive MessagingSample to highlight solutions to two challenges with building proactive messaging apps in Microsoft Teams.View
2Sharepoint List BotThis sample app shows the interaction between teams bot and SharePoint List, Bot saves the specified details in SharePoint List as back-endView
3Teams Virtual AssistantCustomized 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 NameDescription.NET CoreJavaScriptPython
1Messaging extensions - search quick-startHello world Messaging Extension that accepts search requests and returns results.View
2Messaging extensions - searchMessaging Extension that accepts search requests and returns results.ViewViewView
3Messaging extensions - action quick-startHello 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
4Messaging extensions - actionMessaging Extension that accepts parameters and returns a card. Also, how to receive a forwarded message as a parameter in a Messaging Extension.ViewViewView
5Messaging extensions - auth and configMessaging Extension that has a configuration page, accepts search requests and returns results after the user has signed in.ViewView
6Messaging extensions - auth and configMessaging Extension that has a configuration page, accepts search requests and returns results with SSO.View
7Messaging extensions - action previewDemonstrates how to create a Preview and Edit flow for a Messaging Extension.ViewViewView
8Link unfurlingMessaging Extension that performs link unfurling.ViewViewView

Additional samples

Sample NameDescription.NET CoreJavaScriptPython
1Link unfurling demo of RedditMessaging Extension with Link Unfurling Samples for Reddit LinksView
Sample NameDescriptionC#TypeScript
1ConnectorsSample Office 365 Connector generating notifications to teams channel.ViewView
2Generic connectors sampleSample code for a generic connector that's easy to customize for any system which supports webhooks.View
3Outgoing WebhooksSamples to create "Custom Bots" to be used in Microsoft Teams.ViewView
4Authentication in todo Connector AppThis is a sample app which shows connector authentication and sends notification on task creation.View
Sample NameDescriptionC#JavaScript
1Resource Specific Consent (RSC)This sample illustrates how you can use Resource Specific Consent (RSC) to call Graph APIs. .ViewView
2Graph API Channel Life CycleThis sample illustrates how you can use Graph API Channel Life Cycle to call Graph APIs. .ViewView
3Graph API Teams App Installation Life CycleThis sample illustrates how you can use Teams App Installation Life Cycle by calling Microsoft Graph APIs. .ViewView
4Graph API Teams App Catalog Life CycleThis sample illustrates how you programmatically manage lifecycle for your teams App in catalog by calling Microsoft Graph APIs. .ViewView
5Graph API Chat Life CycleThis sample illustrates how you can use Teams App Chat Life Cycle by calling Microsoft Graph APIs. .ViewView
6Activity Feed NotificationMicrosoft Teams sample app for Sending Activity feed notification using Graph API in a Teams Tab.ViewView
7Proactive installation of App and sending proactive notificationsThis sample illustrates how you can use Proactive installation of app for user and send proactive notification by calling Microsoft Graph APIs. .ViewView
8Change NotificationThis sample app demonstrates sending change notifications to user presence in Teams based on user presence status.ViewView
Sample NameDescriptionC#
1Calling and Meeting botThis sample app demonstarte how an Bot can create a call, join a meeting and transfer the callView
2Local Media SamplesLocal media samples give the developer direct access to the inbound and outbound media streams.View
3Remote Media SamplesThe Incident Bot sample is a Remote Media sample demonstrating a simple incident process workflow started by a Calling Bot..View

Scenario specific samples

Sample NameDescriptionC#JavaScript
1Task ModulesSample app showing off the Teams Task Module, a way to invoke custom code from a bot, a tab, or both!ViewView
2AuthenticationSample illustrating seamless inline authentication for Microsoft Teams apps.View
3Complete SamplesSample covering multiple scenarios - dialogs, ME, and facebook auth.ViewView
4Meetings ExtensibilityMicrosoft Teams meeting extensibility sample: token passingViewView
5Meetings Content Bubble BotMicrosoft Teams meeting extensibility sample for iteracting with Content Bubble Bot in-meetingViewView
6Meetings SidePanelMicrosoft Teams meeting extensibility sample for iteracting with Side Panel in-meetingViewView
7Region Selection AppThis app contains a bot and Tab which is helpful to set the regionView
8App LocalizationMicrosoft Teams app localization using Bot and TabViewView
9Details Tab in MeetingsMicrosoft Teams meeting extensibility sample for iteracting with Details Tab in-meetingViewView
10App SSOMicrosoft Teams app SSO for Tab, Bot, ME - search, action, linkunfurlViewView
11Meetings Stage ViewEnable and configure your apps for Teams meetings to use in stage viewViewView
12Meeting EventsGet real time meeting eventsViewView
13Meeting Recruitment AppSample app showing meeting app experience for interview scenario.ViewView
14App Installtion using QR codeThis sample demos app installation using QR code of application's app idViewView
15Archive groupchat messagesDemonstrating on how a bot can archive groupchat messages and send it to user as a file.ViewView
16App check in locationDemonstrating feature where user can checkin with current location and view all previous checkins.ViewView
17Message reminder setup through messaging extensionDemonstrating a feature where user can schedule a task from messaging extension action command and get a reminder card at a scheduled timeViewView
18Bot daily task reminderThis sample demos a feature where user can schedule a recurring task and get a reminder on the scheduled timeViewView
19Tab request approvalDemonstrating 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.ViewView

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