Course Description
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.
Audience Profile
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.
About this course
Course Outline
Design collaborative app solutions and existing app integration (5-10%)
-
Assess current Teams adoption level using M365 Maturity Model
-
Identify opportunities for no-code or low-code development (Microsoft Power Platform, Azure Logic Apps, Dataverse for Teams)
-
Assess Teams integration opportunities with existing applications
-
Design test, acceptance, production, and deployment strategy to meet solution requirements
-
Design development environment by using Microsoft 365 developer tenant
-
Recommend Azure services for Teams app use cases (serverless compute workflows)
-
Specify app requirements for CI/CD integration
-
Develop an appropriate tooling strategy for a Teams solution, including the Teams Toolkit vs Yeoman Teams Generator
-
Select an appropriate development framework and runtime platform for a Teams solution (including Teams Toolkit for React or Teams Toolkit Blazor)
-
Select an appropriate runtime platform for a Teams solution (including Node.js, .NET, and/or SPFx)
-
Design authentication scenarios, including for guest users and multitenant authentication
-
Design UI by using Microsoft Teams UI Library, Fluent UI React Northstar, Adaptive Cards, and Microsoft Teams UI Kit for Figma
-
Determine the supported account type
-
Select authentication and client credentials for app type and authentication flow
-
Define app roles
-
Configure the JavaScript implementation of Microsoft Authentication Library (MSAL) for endpoint and token cache
-
Plan and configure scopes for dynamic or static permission
-
Use the MSAL (JavaScript) login method
-
Implement single sign-on authentication for a bot
-
Implement single sign-on authentication for a tab
-
Configure delegated permissions for the app
-
Configure application permissions for the app
-
Specify and implement consent requirements
-
Grant consent to an application
-
Configure incremental consent scopes
-
Grant scoped permissions to API
-
Call MSAL (JavaScript) using AcquireTokenSilent/AcquireToken pattern
-
Validate access token
-
Configure effective permissions for delegated scopes
-
Implement app permissions by using roles
-
Use a delegated access token to call a Microsoft API
-
Configure client credentials using a certificate
-
Consume certificates from Key Vault, including using managed identities
-
Configure application permissions for the app
-
Acquire an access token for Microsoft Graph using an application permission and client credential certificate
-
Determine whether to retrieve data using a Microsoft Graph SDK or the Graph REST API
-
Get the signed-in user's profile
-
Get a list of users in the organization
-
Get the user object based on the user's unique identifier
-
Access user data from Microsoft Graph
-
Create, read, update, and delete data
-
Traverse Microsoft Graph to retrieve data
-
Upload files larger than 10 mb to Teams
-
Implement Microsoft Graph Toolkit
-
Use query parameters, including $filter, $select, $orderby, $count, $skip, and $stop
-
Expand and retrieve resources using $expand query parameter
-
Search for resources using $search query parameter
-
Access paged date using $odata.nextLink, $skip, and $skiptoken parameters
-
Test queries and responses by using Microsoft Graph Explorer
-
Monitor for changes using change notifications
-
Combine multiple requests using $batch
-
Get changes using a delta query
-
Detect and handle throttling
-
Get the information on a team by ID
-
Get the list of members in a team
-
Get the list of owners of a team
-
Get the list of teams where the signed in user is a member
-
Provision a team using an existing Teams template
-
Delete or archive a team
-
Update an existing team
-
Enable resource-specific consent
-
Identify the appropriate tool to create an SPFx Web Part project
-
Describe properties of client-side web parts
-
Describe Office UI Fabric (Fluent UI) in client-side web parts
-
Explain when to use an app page
-
Differentiate between app page and web part
-
Describe rendering framework options
-
Describe branding and theming in SharePoint Online
-
Describe Adaptive Card Extensions
-
Describe Viva Connections and Viva dashboard
-
Describe the types of SPFx extensions (Application Customizer, Field Customizer, Command Set extension)
-
Describe the options for preparing a package for deployment
-
Describe the options for packaging a solution
-
Describe the requirements of tenant-scoped solution deployment
-
Describe the requirements of domain isolated web parts
-
Describe the options to deploy a SPFx solution
-
Describe how to build a Microsoft Teams tab by using SPFx
-
Manually create an app manifest to deploy a SPFx Web Part to Teams
-
Describe the purpose of the MSGraphClient object
-
Describe the methods for granting permissions to Microsoft Graph
Describe the consumption of third-party APIs secured with Microsoft Azure Active Directory (Azure AD), part of Microsoft Entra from within SPFx
-
Describe the purpose of the AadHttpClient object
-
Identify the methods for granting permissions to consume a third-party API
-
Describe the considerations for creating a SPFx Web Part to be a Teams Tab
-
Describe the options for deploying a SPFx Web Part as a Teams Tab
-
Configure an app manifest using the Developer Portal
-
Create an app package for a Microsoft Teams app
-
Create a card-based task module
-
Create an iframe-based task module
-
Invoke a task module from a tab
-
Invoke a task module from a bot
-
Chain task module invocations
-
Create an outgoing webhook
-
Create an incoming webhook
-
Create a personal tab
-
Implement device permissions in a personal tab
-
Create a channel/group tab
-
Create a tab with a deep link
-
Create an adaptive card tab
-
Create a search command extension
-
Create an action command extension using an adaptive card
-
Create an action command extension using parameters
-
Add link unfurling
-
Create a personal bot
-
Create a group/channel bot
-
Send actionable messages from a bot
-
Create a call bot
-
Create an online media bot
-
Handle incoming calls
-
Transfer incoming calls
-
Describe the capabilities of Microsoft Teams meeting apps
-
Enable and configure apps for Teams meetings
-
Create or integrate apps within the meeting lifecycle
-
Implement shared meeting stage
-
Design test plans, including Bots, Connectors, Messaging extensions, Meeting extensions, SSO, and Adaptive cards
-
Specify required sample data for testing
-
Deploy sample data by using M365 CLI or PowerShell scripts
-
Execute test plans, including Bots, Connectors, Messaging extensions, Meeting extensions, SSO, and Adaptive cards
-
Create or modify app definitions in the Developer Portal for Teams
-
Manage Teams apps packages by using the Developer Portal for Teams
-
Upload a custom app to a single user or team
-
Upload an app to the App Catalog
-
Upload an app to the Developer Portal for Teams
-
Automate deployment of Teams apps
-
Recommend audit settings using Microsoft 365 Audit logging
-
Review and evaluate performance using App Insights
-
Monitor Microsoft Graph API permissions by using the Microsoft 365 compliance center
-
Assess new SDK versions for impact to published apps
-
Analyze logs, usage data, and audit data
Prerequisites
Before attending this course, students should 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.
- It is recommended that students have some experience developing solutions on Microsoft Teams through all phases of software development.
Where
This will be a virtual event hosted on Microsoft Teams. In the Microsoft Teams platform and sessions, your name, email address, or title may be viewable by other participants. By joining this event, you agree to this experience.