Study guide for Exam MS-600: Building Applications and Solutions with Microsoft 365 Core Services
Warning
This exam is only available if you are part of the Microsoft Cloud Partner Program and have a private access code. This code can be obtained through the partner portal if you are eligible to take the exam. For code holders, the last day to take this exam is December 31, 2023. Learn more about this retirement in this blog post.
Purpose of this document
This study guide should help you understand what to expect on the exam and includes a summary of the topics the exam might cover and links to additional resources. The information and materials in this document should help you focus your studies as you prepare for the exam.
Useful links | Description |
---|---|
Review the skills measured as of October 31, 2022 | This list represents the skills measured AFTER the date provided. Study this list if you plan to take the exam AFTER that date. |
Review the skills measured prior to October 31, 2022 | Study this list of skills if you take your exam PRIOR to the date provided. |
Change log | You can go directly to the change log if you want to see the changes that will be made on the date provided. |
How to earn the certification | Some certifications only require passing one exam, while others require passing multiple exams. |
Certification renewal | Microsoft associate, expert, and specialty certifications expire annually. You can renew by passing a free online assessment on Microsoft Learn. |
Your Microsoft Learn profile | Connecting your certification profile to Learn allows you to schedule and renew exams and share and print certificates. |
Passing score | A score of 700 or greater is required to pass. |
Exam sandbox | You can explore the exam environment by visiting our exam sandbox. |
Request accommodations | If you use assistive devices, require extra time, or need modification to any part of the exam experience, you can request an accommodation. |
Take a practice test | Are you ready to take the exam or do you need to study a bit more? |
Updates to the exam
Our exams are updated periodically to reflect skills that are required to perform a role. We have included two versions of the Skills Measured objectives depending on when you are taking the exam.
We always update the English language version of the exam first. Some exams are localized into other languages, and those are updated approximately eight weeks after the English version is updated. Other available languages are listed in the Schedule Exam section of the Exam Details webpage. If the exam isn't available in your preferred language, you can request an additional 30 minutes to complete the exam.
Note
The bullets that follow each of the skills measured are intended to illustrate how we are assessing that skill. Related topics may be covered in the exam.
Note
Most questions cover features that are general availability (GA). The exam may contain questions on Preview features if those features are commonly used.
Skills measured as of October 31, 2022
Audience Profile
Microsoft Teams application developers design, build, test, and maintain modern enterprise-grade applications and solutions with Microsoft Teams that are optimized for the productivity and collaboration needs of organizations using the Microsoft 365 platform.
Candidates for this exam are proficient in designing collaboration solutions using the Microsoft identity platform, Microsoft Graph, SharePoint Framework, and Microsoft Power Platform to build custom apps that extend Microsoft Teams, SharePoint, and Viva Connections.
Candidates should have a working knowledge of developing solutions with Microsoft Teams, Microsoft Power Platform, Dataverse for Teams, and/or SharePoint Framework through all phases of software development. They should have a basic understanding of modern web development technologies, source control and CI/CD strategies, Azure compute, data, and messaging workloads, and the Microsoft identity platform, including OAuth2, OData, OpenID Connect, and permission/consent concepts.
Design collaborative app solutions and existing app integration (5-10%)
Implement Microsoft identity (15-20%)
Build apps with Microsoft Graph (10-15%)
Extend and customize Microsoft 365 with SharePoint Framework (15-20%)
Extend Microsoft Teams (30-35%)
Test, deploy, monitor, and maintain modern enterprise-grade app solutions (5-10%)
Design collaborative app solutions and existing app integration (5-10%)
Assess Microsoft Teams and existing app integration opportunities
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 development and production environments
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 solution based on technical and business requirements
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
Implement Microsoft identity (15-20%)
Register an application
Determine the supported account type
Select authentication and client credentials for app type and authentication flow
Define app roles
Implement authentication
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 permissions to consume an API
Configure delegated permissions for the app
Configure application permissions for the app
Specify and implement consent requirements
Grant consent to an application
Implement authorization to expose or consume an API
Configure incremental consent scopes
Grant scoped permissions to API
Call MSAL (JavaScript) using AcquireTokenSilent/AcquireToken pattern
Implement authorization in an API
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
Create a service to access Microsoft Graph
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
Build apps with Microsoft Graph (10-15%)
Access data from Microsoft Graph
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
Customize responses by using query parameters
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
Optimize usage of Microsoft Graph resources
Monitor for changes using change notifications
Combine multiple requests using $batch
Get changes using a delta query
Detect and handle throttling
Manage a team lifecycle by using Microsoft Graph
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
Extend and customize Microsoft 365 with SharePoint Framework (15-20%)
Describe the components of a SharePoint Framework (SPFx) solution
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 process to package and deploy an SPFx solution
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 consumption of Microsoft Graph
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 Web Parts as Teams Tabs
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
Extend Microsoft Teams (30-35%)
Create a Microsoft Teams app manifest
Configure an app manifest using the Developer Portal
Create an app package for a Microsoft Teams app
Create and use task modules
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 a webhook
Create an outgoing webhook
Create an incoming webhook
Implement custom Teams tabs
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 messaging extension
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 conversational, call, and online media bots
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
Create a meeting extension
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
Test, deploy, monitor, and maintain modern enterprise-grade app solutions (5-10%)
Test apps and solutions
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
Deploy apps and solutions
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
Monitor and maintain published 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
Study resources
We recommend that you train and get hands-on experience before you take the exam. We offer self-study options and classroom training as well as links to documentation, community sites, and videos.
Study resources | Links to learning and documentation |
---|---|
Get trained | Choose from self-paced learning paths and modules or take an instructor led course |
Find documentation | Microsoft 365 developer documentation Microsoft 365 documentation Microsoft Graph documentation |
Ask a question | Microsoft Q&A | Microsoft Docs |
Get community support | Microsoft 365 - Microsoft Tech Community SharePoint - Microsoft Tech Community Teams Developer - Microsoft Tech Community |
Follow Microsoft Learn | Microsoft Learn - Microsoft Tech Community |
Find a video | Exam Readiness Zone |
Change log
Key to understanding the table: The topic groups (also known as functional groups) are in bold typeface followed by the objectives within each group. The table is a comparison between the two versions of the exam skills measured and the third column describes the extent of the changes.
Skill area prior to October 31, 2022 | Skill area as of October 31, 2022 | Changes |
---|---|---|
Audience Profile | - | Minor |
Design collaborative app solutions and existing app integration | Design collaborative app solutions and existing app integration | No change |
Assess Microsoft Teams and existing app integration opportunities | Assess Microsoft Teams and existing app integration opportunities | No change |
Design development and production environments | Design development and production environments | No change |
Design solution based on technical and business requirements | Design solution based on technical and business requirements | No change |
Implement Microsoft identity | Implement Microsoft identity | No change |
Register an application | Register an application | No change |
Implement authentication | Implement authentication | No change |
Configure permissions to consume an API | Configure permissions to consume an API | No change |
Implement authorization to expose or consume an API | Implement authorization to expose or consume an API | No change |
Implement authorization in an API | Implement authorization in an API | No change |
Create a service to access Microsoft Graph | Create a service to access Microsoft Graph | No change |
Build apps with Microsoft Graph | Build apps with Microsoft Graph | No change |
Access data from Microsoft Graph | Access data from Microsoft Graph | No change |
Customize responses by using query parameters | Customize responses by using query parameters | No change |
Optimize usage of Microsoft Graph resources | Optimize usage of Microsoft Graph resources | No change |
Manage a team lifecycle by using Microsoft Graph | Manage a team lifecycle by using Microsoft Graph | No change |
Extend and customize Microsoft 365 with SharePoint Framework | Extend and customize Microsoft 365 with SharePoint Framework | No change |
Describe the components of a SharePoint Framework (SPFx) solution | Describe the components of a SharePoint Framework (SPFx) solution | No change |
Describe the process to package and deploy an SPFx solution | Describe the process to package and deploy an SPFx solution | No change |
Describe the consumption of Microsoft Graph | Describe the consumption of Microsoft Graph | No change |
Describe the consumption of third-party APIs secured with Azure AD from within SPFx | Describe the consumption of third-party APIs secured with Microsoft Azure Active Directory (Azure AD), part of Microsoft Entra from within SPFx | Minor |
Describe Web Parts as Teams Tabs | Describe Web Parts as Teams Tabs | No change |
Extend Microsoft Teams | Extend Microsoft Teams | No change |
Create a Microsoft Teams app manifest | Create a Microsoft Teams app manifest | No change |
Create and use task modules | Create and use task modules | No change |
Create a webhook | Create a webhook | No change |
Implement custom Teams tabs | Implement custom Teams tabs | No change |
Create a messaging extension | Create a messaging extension | No change |
Create conversational, call, and online media bots | Create conversational, call, and online media bots | No change |
Create a meeting extension | Create a meeting extension | No change |
Test, deploy, monitor, and maintain modern enterprise-grade app solutions | Test, deploy, monitor, and maintain modern enterprise-grade app solutions | No change |
Test apps and solutions | Test apps and solutions | No change |
Deploy apps and solutions | Deploy apps and solutions | No change |
Monitor and maintain published apps | Monitor and maintain published apps | No change |
Skills measured prior to October 31, 2022
Audience profile
Microsoft Teams Application Developers design, build, test, and maintain modern enterprise-grade applications and solutions with Microsoft Teams that are optimized for the productivity and collaboration needs of organizations using the Microsoft 365 platform.
Candidates for this certification are proficient in designing collaboration solutions using the Microsoft Identity Platform, Microsoft Graph, SharePoint Framework, and Microsoft Power Platform to build custom apps that extend Microsoft Teams, SharePoint, and Viva Connections.
Candidates should have a working knowledge of developing solutions with Microsoft Teams, Microsoft Power Platform, Dataverse for Teams, and/or SharePoint Framework through all phases of software development. They should have a basic understanding of modern web development technologies, source control and CI/CD strategies, Azure compute, data, and messaging workloads, and the Microsoft Identity Platform, including OAuth2, OData, OpenID Connect, and permission/consent concepts.
Design collaborative app solutions and existing app integration (5-10%)
Implement Microsoft identity (15-20%)
Build apps with Microsoft Graph (10-15%)
Extend and customize Microsoft 365 with SharePoint Framework (15-20%)
Extend Microsoft Teams (30-35%)
Test, deploy, monitor, and maintain modern enterprise-grade app solutions (5-10%)
Design collaborative app solutions and existing app integration (5-10%)
Assess Microsoft Teams and existing app integration opportunities
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 development and production environments
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 solution based on technical and business requirements
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
Implement Microsoft identity (10-20%)
Register an application
Determine the supported account type
Select authentication and client credentials for app type and authentication flow
Define app roles
Implement authentication
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 permissions to consume an API
Configure delegated permissions for the app
Configure application permissions for the app
Specify and implement consent requirements
Grant consent to an application
Implement authorization to expose or consume an API
Configure incremental consent scopes
Grant scoped permissions to API
Call MSAL (JavaScript) using AcquireTokenSilent/AcquireToken pattern
Implement authorization in an API
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
Create a service to access Microsoft Graph
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
Build Apps with Microsoft Graph (10-15%)
Access data from Microsoft Graph
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
Customize responses by using query parameters
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
Optimize usage of Microsoft Graph resources
Monitor for changes using change notifications
Combine multiple requests using $batch
Get changes using a delta query
Detect and handle throttling
Manage a team lifecycle by using Microsoft Graph
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
Extend and Customize Microsoft 365 with SharePoint Framework (15-20%)
Describe the components of a SharePoint Framework (SPFx) solution
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 process to package and deploy an SPFx solution
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 consumption of Microsoft Graph
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 Azure AD from within SPFx
Describe the purpose of the AadHttpClient object
Identify the methods for granting permissions to consume a third-party API
Describe Web Parts as Teams Tabs
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
Extend Microsoft Teams (30-35%)
Create a Microsoft Teams app manifest
Configure an app manifest using the Developer Portal
Create an app package for a Microsoft Teams app
Create and use task modules
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 a webhook
Create an outgoing webhook
Create an incoming webhook
Implement custom Teams tabs
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 messaging extension
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 conversational, call, and online media bots
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
Create a meeting extension
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
Test, deploy, monitor, and maintain modern enterprise-grade app solutions (5-10%)
Test apps and solutions
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
Deploy apps and solutions
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
Monitor and maintain published 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