Course Overview

The Building applications and solutions with Microsoft 365 core services course is designed for persons who are aspiring to the Microsoft Teams Application Developer role. In this course, students will learn how to build collaboration solutions leveraging 4 central elements of the Microsoft 365 platform: implementing Microsoft identity, working with Microsoft Graph, and building applications for Microsoft Teams. In Implement Microsoft identity, students will learn to implement Microsoft identity including registering an application, implementing authentication, configuring permissions to consume an API, and creating a service to access Microsoft Graph. In Work with Microsoft Graph, students will learn how to access user data, explore query parameters, manage a group lifecycle, access files, and optimize network traffic using Microsoft Graph. In Build apps for Microsoft Teams, students will look at the components of a Teams App, work with webhooks, tabs, conversational bots, and other Microsoft Teams app capabilities. They will also learn to deploy Microsoft Teams apps.

Key Learning Areas

  • Getting Started with Microsoft Identity
  • Application types in Microsoft identity
  • Permissions and Consent Framework
  • Secure custom APIs with Microsoft Identity
  • Work with users, groups, and roles in custom apps and APIs
  • Optimize data usage when using Microsoft Graph with query parameters
  • Optimize network traffic with Microsoft Graph
  • Access User Data from Microsoft Graph
  • Manage Group Lifecycle with Microsoft Graph
  • Access Files with Microsoft Graph
  • Use Change Notifications and Track Changes with Microsoft Graph
  • Introduction to building apps for Microsoft Teams
  • Task-oriented interactions in Microsoft Teams with messaging extensions
  • Create embedded web experiences with tabs for Microsoft Teams
  • Create interactive conversational bots for Microsoft Teams
  • Collect Input in Microsoft Teams with Task Modules
  • Connect web services to Microsoft Teams with webhooks and Office 365 Connectors
  • Microsoft Teams – Use the teamwork Microsoft Graph endpoint
  • Microsoft Teams – Authentication and Single Sign-on
  • Create interactive meeting apps for Microsoft Teams
  • Distribute your Microsoft Teams app
  • Monitor and maintain Microsoft Teams solutions

Course Outline

Getting Started with Microsoft Identity

  • Explain the different types of tokens used in Microsoft Identity solutions
  • Compare and contrast the different account types
  • Compare and contrast the supported Microsoft Identity Topologies

Application Types in Microsoft identity

  • Compare and contrast different grant types (flows) in the OAuth 2.0 protocol
  • Evaluate which authentication protocol to use based on the app scenario
  • Implement different authentication protocols in different application types

Permissions and Consent Framework

  • Compare and contrast different permission types supported by the Microsoft identity platform
  • Compare and contrast the difference between static and dynamic consent in user permissions
  • Create an app that implements dynamic consent for incrementally obtaining permissions as needed from users

Secure Custom APIs with Microsoft Identity

  • Create a custom web API that is secured with Microsoft identity
  • Create a custom web app that calls a custom web API secured with Microsoft identity
  • Create a custom daemon app that calls a custom web API secured with Microsoft identity

Work with Users, Groups, and Roles in Custom Apps and APIs

  • Create a custom ASP.NET web app that is secured with Microsoft identity
  • Demonstrate how to obtain security groups as a claim in the token and use them in the app
  • Demonstrate how to use app roles to grant users access to an app

Optimize Data Usage When Using Microsoft Graph with Query Parameters

  • Demonstrate how to manipulate REST queries with query parameters
  • Create queries that expand complex entities
  • Demonstrate how to search for content with Microsoft Graph
  • Optimize Microsoft Graph queries with batching

Optimize Network Traffic with Microsoft Graph

  • Explain how Microsoft Graph maintains resource health
  • Identify when Microsoft Graph throttles requests
  • Decide the appropriate pattern to address throttled requests
  • Create queries that mitigate throttling scenarios

Access User Data from Microsoft Graph

  • Demonstrate how to get a list of users
  • Demonstrate how to get details, including a profile picture, of a user
  • Demonstrate how to manage the lifecycle of a user from creation to deletion

Manage Group Lifecycle with Microsoft Graph

  • Demonstrate how to get information about a group
  • Demonstrate how to get information about a user’s groups
  • Demonstrate how to manage the lifecycle of a group

Access Files with Microsoft Graph

  • Demonstrate how to retrieve a list of files OneDrive
  • Demonstrate to download a file from OneDrive using a unique ID
  • Get a list of files trending around the signed in user
  • Demonstrate how to upload a large file to OneDrive

Use Change Notifications and Track Changes with Microsoft Graph

  • Demonstrate how to use the Microsoft Graph .NET SDK
  • Demonstrate how to subscribe and receive notifications when entities change with Microsoft Graph
  • Demonstrate how to retrieve a list of all entities that have changed using delta query

Introduction to Building Apps for Microsoft Teams

  • Describe the components of a Microsoft Teams app
  • List the options for distributing a Microsoft Teams app
  • List the extensibility points available in Microsoft Teams
  • Choose the correct extensibility point(s) based on your scenario

Task-Oriented Interactions in Microsoft Teams with Messaging Extensions

  • Demonstrate how to create an action-based messaging extension for Microsoft Teams
  • Demonstrate how to create search-based messaging extension for Microsoft Teams
  • Demonstrate how to unfurl a URL with messaging extension for Microsoft Teams

Create Embedded Web Experiences with Tabs for Microsoft Teams

  • Evaluate the differences between personal and channel/group tabs
  • Create a channel/group tab with a configuration experience
  • Create a tab that uses authentication to call a protected REST API

Create Interactive Conversational Bots for Microsoft Teams

  • Demonstrate how to create a conversation bot for Microsoft Teams
  • Demonstrate how to subscribe to and respond to events in a conversation bot in Microsoft Teams
  • Demonstrate how to incorporate authentication in a conversation bot in Microsoft Teams

Collect Input in Microsoft Teams with Task Modules

  • Create a task module for a tab
  • Demonstrate how to create a task module that includes an adaptive card
  • Create a task module for a bot

Connect Web Services to Microsoft Teams with Webhooks and Office 365 Connectors

  • Demonstrate how to create and use an outgoing webhook for a Microsoft Teams channel
  • Demonstrate how to create and use an incoming webhook for a Microsoft Teams channel
  • Demonstrate how to create, register, and use an Office 365 Connector for Microsoft Teams

Microsoft Teams – Use the Teamwork Microsoft Graph Endpoint

  • Understand how to use Microsoft Graph to communicate with Microsoft Teams
  • Demonstrate how to get a list of all teams and a specific team with Microsoft Graph
  • Demonstrate how to configure build-in tabs within a Microsoft Teams team with Microsoft Graph
  • Demonstrate how to send a notification to a user or a channel using the Microsoft Teams activity feed with Microsoft Graph

Microsoft Teams – Authentication and Single Sign-on

  • Understand the authentication options available to developers creating custom Microsoft Teams tabs and bots
  • Create a Microsoft Teams tab that uses SSO authentication
  • Create a bot for Microsoft Teams that uses SSO authentication

Create Interactive Meeting Apps for Microsoft Teams

  • Understand the capabilities of Microsoft Teams meetings extensibility feature
  • Create a Microsoft Teams meetings app that meeting attendees can use before and during a meeting
  • Implement a summary view of the meeting after the meeting has concluded

Distribute Your Microsoft Teams App

  • Manage app definitions and packages in the Developer Portal for Teams
  • Upload a custom app to a single user or team
  • Upload an app to the App Catalog for your organization
  • Automate deployment of Microsoft Teams apps

Monitor and Maintain Microsoft Teams Solutions

  • Recommend audit settings using Microsoft 365 Audit logging
  • Review and evaluate performance using App Insights
  • Assess new SDK versions for impact to published apps
  • Analyze logs, usage data, and audit data

Who Benefits

Students in this course are interested in the Microsoft 365 development platform or in passing the Microsoft Teams Application Developer Associate certification exam. Students should also have 1-2 years experience as a developer. This course assumes students know how to code and have a basic understanding of REST APIs, JSON, OAuth2, OData, OpenID Connect, Microsoft identities including Azure AD and Microsoft accounts, Azure AD B2C, and permission/consent concepts.

Prerequisites

  • 1-2 years experience as a developer. This course assumes students know how to code and have a basic understanding of REST APIs, JSON, OAuth2, OData, OpenID Connect, Microsoft identities including Azure AD and Microsoft accounts, Azure AD B2C, and permission/consent concepts.
  • It is recommended that students have some experience developing solutions on Microsoft Teams through all phases of software development.