Microsoft Teams Development Overview
This module will introduce you to the different options and platforms to pick from when starting with Microsoft Teams development.
You will learn about the extensibility points of Teams and the way you can use them to enrich the user experience.
- Teams Development introduction
- Creating Microsoft Teams Apps with Node and .NET
- Yeoman Generator for Microsoft Teams
- Microsoft Teams Toolkit for Visual Studio Code
- App elements: Tabs, Bots, Connectors, Messaging Extensions
- Using Teams App Studio
Creating embedded experiences with Tabs
Tabs are Teams-aware webpages embedded in Microsoft Teams.
They are simple iframes that point to domains declared in the app manifest and can be
added as part of a channel inside a team, a group chat, or as a personal app for an individual user.
- Channel/Group vs Personal tabs
- Building Tabs using ASP.NET (Core)
- Building Tabs using Node.js and React
- Building Tabs using SharePoint Framework (SPFx)
- Embedded experiences with Power Apps in a Teams Tab
- Authentication options for your Teams Tabs
- LAB: Developing Tabs with .NET Core and Node.js
Style Teams app content using Fluent UI
Using the Fluent UI framework, we can ensure that our custom Teams content has the look & feel of it's environment.
Also used in all of the Microsoft 365 interface, this framework offers a set of styles and visual components to use in your app.
- Using Fluent UI
- Styling your apps with Fluent UI framework
- Integrating Fluent UI components
Cards and Task Modules
Whenever our code posts content to Teams chats or channels, we can use the Cards formatting to make it look good.
This chapter will show you how Cards are composed and provide some advanced samples.
Task modules are similar to Cards, but allow you to collect input from a user, even using multiple pages to create a workflow.
- Designing Teams Cards
- Responding to Card actions
- Create interactive workflows with Task Modules
- LAB: Designing a Lunch Card
Building rich conversations with Bots
Conversational bots allow users to interact with your web service through text, interactive cards, and task modules.
In this module, you’ll learn how to create and add bots to custom Microsoft Teams apps.
- Creating a bot compatible web service
- Debugging your bot with the bot Emulator
- Turns, Messages and Activities
- Conversations and Channels
- Registering your bot with Microsoft Azure's Bot Framework
Bots for Microsoft Teams
A "regular" bot can be exposed through multiple channels (Facebook, Slack, Teams,...), but you can also create a bot specifically for Teams.
This will allow your bot to react to Teams-specific events, like the adding of a channel, and to use your bots for messaging extensions.
- Creating a bot for Teams
- Registering your bot with App Studio
- Adding bot capabilities in the app manifest
- Creating simple bots with Power Virtual Agents
- LAB: Creating a Lunch-bot
Enrich messages with Messaging Extensions
Messaging extensions allow us to extend the content of a chat or conversation message in Teams.
These extensions come in three flavours, allowing us to take action, search for content or unfurl a URL based on the user's input.
- Request user input with Action Commands and Tasks
- Provide search results based on Search Commands
- Enrich URL rendering with Link Unfurling
- LAB: Creating a Query Messaging Extension
Office 365 provides you with one single endpoint allowing you to communicate with all Office 365 services. This
API is known as the Microsoft Graph and allows developers to access data, intelligence and insights
coming from the Microsoft cloud, including Microsoft Teams
- Microsoft Graph API
- Discovering the different APIs: Mail, Contacts, Calendar, People, Teams...
- Microsoft Graph SDK
Webhooks and connectors
Webhooks and connectors are a simple way to connect your web services to channels and teams inside Microsoft Teams.
Outgoing webhooks allow your users to send text messages from a channel to your web services.
Connectors allows to receive notifications and messages in teams from your web services.
- Basic webhook concepts
- Receive updates from a channel with an outgoing webhook
- Publish card content to a channel in Teams using incoming webhooks
- Use Office 365 Connectors to publish content to Teams or Outlook
- LAB: Creating an outgoing webhook
- LAB: Creating an Office 365 Connector
Deploying Teams Apps
This chapter will explain how we can test and debug our Teams App and then deploy it.
We will see how to build a manifest and app package, which we will then deploy to Teams directly or to the organization's App Catalog.
- Creating a Teams App Manifest
- Composing a Teams App Package
- Using App Studio for Microsoft Teams
- Testing and Debugging your Teams app
- Deploying directly or through an app catalog
- Adding your app to AppSource
Teams administration options
Learn what options you have for administering Teams and Apps and how Teams administration can be automated.
- Teams admin center
- Configuring App Setup Policies.
- Configuring Settings for Apps, bots & Connectors.
- Managing Teams with PowerShell
- Managing Teams with the Office365 CLI