MS-PL400T00: Microsoft Power Platform Developer

Course Code: MS-PL400T00

The Microsoft Power Platform helps organizations optimize their operations by simplifying, automating and transforming business tasks and processes. In this course, students will learn how to build Power Apps, Automate Flows and extend the platform to complete business requirements and solve complex business problems.

  • Duration: 5 Days
  • Level: Advanced
  • Technology: Power Platform
  • Delivery Method: Instructor-led
  • Training Credits: NA

In this course you will learn to build solutions using Visual Studio and Visual Studio Code that include the following: Microsoft Power Platform services, JavaScript, JSON, TypeScript, C#, HTML, RESTful Web APIs, and Microsoft Azure. As a training attendee you must have previous software developer experience using code techniques with modern programming languages such as C# and JavaScript.

Before attending this course, learners need to have the following skills or experience:

- Developing a data model in Microsoft Dataverse

- Creating tables, columns, and relationships in Microsoft Dataverse

- Building Power Apps canvas apps

- Building Power Apps model-driven apps

- Building Power Automate cloud flows

After completing this course, students will be able to:

- Create a technical design

- Configure Common Data Service

- Create and configure Power Apps

- Configure business process automation

- Extend the user experience

- Extend the platform

- Develop Integrations

This course will prepare delegates to write the PL-400: Microsoft Power Platform Developer exam.

Download our course content

Click Here

Modules

In this module, students will learn about different development methods and different variables in Power Apps.

Lessons:

- Imperative versus declarative development

- The three types of variables in Power Apps

- Global variables

- Contextual variables

- Collections

- Additional variable concepts

- Exercise - Using the variables and collections

- Module assessment

- Summary

This module explains how to:

- Understand imperative vs. declarative development.

- Understand the variables in Power Apps.

- Understand when to utilize each of the three different types of variables.

In this module, students will focus on how to perform custom updates when your data isn't in a form.

Lessons:

- Sometimes you need something more than forms

- Use the Patch function to create and edit records

- Delete records from data sources and collections

- Use the Patch function to update a Gallery

- Module assessment

- Summary

This module explains how to:

- Use the Patch function to update your data.

- Understand how the Defaults function is used to create new records with Patch.

- Use the Remove and RemoveIf functions to delete records.

- Determine whether to use Clear and Collect or ClearCollect in their scenario.

In this module, students will learn how to use Power Fx formulas to work with the Choice column in Microsoft Dataverse. These column data types present the user with a fixed list of values that are defined by the maker.

Lessons:

- Introduction

- Filter Dataverse choice columns with Power Fx formulas

- Modify choice and choices values

- Exercise - Dataverse choice columns

- Check your knowledge

- Summary

In this module, you will:

- Discover the Choice field basics.

- Learn when to use choice or lookups.

- Filter data on choice values.

In this module, students will learn how to use Dataverse relationships in canvas apps from Power Apps. As real-life objects are related to each other, the relationships are used in Dataverse to link rows in one table to another. Using the relationships properly means that apps can hide unnecessary complexities of the data model.

Lessons:

- Introduction

- Work with one-to-many relationships

- Work with many-to-many relationships

- Exercise - Work with Dataverse relational data

- Check your knowledge

- Summary

In this module, you will:

- Discover various Microsoft Dataverse relationship types.

- Learn how to use one-to-many relationships.

- Learn how to use many-to-many relationships.

In this module, students will learn how to work with relational data to provide a good experience for app users.

Lessons:

- What is relational data?

- Work with relationships in Power Apps

- Exercise - Work with relational data

- Microsoft Dataverse for apps makes relationships even easier

- Module assessment

- Summary

This module explains how to:

- Understand relational data

- Use relational data to improve an app user's experience in Power Apps

- Understand how to use relational data in Microsoft Dataverse

After completing this module, students will understand the various limits and variables that go into those limits to best work with data in Power Apps. This will help you chose the best data source for an app to meet your requirements.

Lessons:

- Delegation overview

- Functions, predicates, and data sources combine to determine delegation

- Delegation warnings, limits, and non-delegable functions

- Module assessment

- Summary

This module explains these concepts:

- Understand the different limits of different data sources

- Understand how functions, predicates, and operators all play roles in the limits

- Use this new understanding to choose the best data source for an app

After completing this module, students will understand how to test an app and improve performance.

Lessons:

- The importance of thinking about performance

- Improve performance with data sources

- Testing and troubleshooting your app

- Exercise - Use the Concurrent function to test performance

- Module assessment

- Summary

This module explains how to:

- Use best practices to improve the performance of your app.

- Understand how to best test an app.

- Use fiddler for troubleshooting.

In this module, students will learn how they can evaluate and improve app load times. By regularly reviewing and measuring your app, you can proactively identify and remediate startup performance problems.

Lessons:

- Introduction

- Use Monitor to troubleshoot app start performance issues

- Optimize App.OnStart

- Data load strategies

- Check your knowledge

- Summary

In this module, you will:

- Evaluate your app startup performance.

- Optimize OnStart app load time.

- Implement a data load strategy.

In this module, students will learn how to use the Monitor tool from Power Apps Studio can help you proactively identify, troubleshoot, and resolve issues within your app.

Lessons:

- Introduction

- Identify and resolve common problems

- Collaborate by using Monitor

- Exercise - Debug and collaborate with Monitor in Power Apps

- Module assessment

- Summary

In this module, you will learn how to:

- Identify common problems when working with Power Apps and how to troubleshoot by using Monitor.

- Collaborate remotely.

- Interpret events logged.

- Use trace to log custom events.

In this module, students will learn how they can set up Power Apps canvas app to send telemetry to Application Insights.

Lessons:

- Introduction

- Set up an app for Application Insights

- View Application Insights data

- Custom logging with trace

- Exercise - Collect and analyze telemetry data

- Check your knowledge

- Summary

In this module, you will:

- Set up your Power Apps canvas app for Application Insights.

- Evaluate analytics and app usage in Application Insights.

- Log custom events to Application Insights.

Power Automate is an online workflow service that automates actions across the most common apps and services.

Lessons:

- Introducing Power Automate

- Create your first flow

- Exercise - Create recurring flows

- Exercise - Monitor incoming emails

- Exercise - Share flows

- Troubleshoot flows

- Module assessment

- Summary

In this module, you will:

- Create a flow that automatically saves email attachments.

- Learn how to create a button flow to send yourself a reminder.

Get the most out of your data using functions to create expressions.

Lessons:

- Introduction to expressions

- Get started with expressions

- Notes make things easier

- Types of functions

- Write complex expressions

- Exercise - Creating a manual flow and using expressions

- Check your knowledge

- Summary

This module explains how to:

- Use one or more functions to create expressions.

- Use functions to retrieve data, change data, evaluate data, and more.

This module introduces the triggers and actions that you can use to build flows in Power Automate with Dataverse.

Lessons:

- Introduction

- Dataverse triggers

- Query data

- Create, update, delete, and relate actions

- Exercise - Create a cloud flow with a Dataverse connector

- Check your knowledge

- Summary

This module explains the following concepts:

- Dataverse triggers and actions in Power Automate.

- Other available inputs.

In this module, students will get a broad-scoped overview of the developer experience as it relates to Microsoft Power Platform. It will cover a high-level introduction how the ecosystem is represented, with the intended audience being a software developer with limited experience in working with Microsoft Power Platform.

Lessons:

- Introduction to Microsoft Power Platform for developers

- Overview of Dataverse and the Common Data Model

- Extending Power Platform with Azure

- Power Platform environments

- Exercise - Prepare development environment

- Check your knowledge

- Summary

In this module you'll be able to:

- Explain what solution components exist within Microsoft Power Platform.

- Explain key components of Microsoft Dataverse and the Common Data Model.

- Explain what Azure solution elements relate to Microsoft Power Platform.

- Explain what AI Solutions exist as it relates to Microsoft Power Platform.

- Navigate the Developer Guide successfully in support of their Microsoft Power Platform development efforts.

This module focuses on the available developer tools that can help students perform development activities with Microsoft Power Platform.

Lessons:

- Introduction to developer Power Platform tooling

- Exercise - Use the Power Apps CLI

- Solutions overview

- Deploy apps with Package Deployer

- Exercise - Install and use developer tools

- Check your knowledge

- Summary

In this module, you will:

- Install NuGet packages available for Microsoft Power Platform development

- Work with the Configuration Migration tool

- Work with Package Deployer

- Leverage Solution Packager to isolate features

- Run the Plugin Registration Tool

This module will focus on the underlying solution architecture from a technical perspective and what extensibility options exist. It will also cover the ever-important element of Microsoft Power Platform development, which is the decision-making process of determining when to use configuration versus code.

Lessons:

- Introduction

- User experience extensibility

- Dataverse extensibility

- Exercise - Create a custom API

- Determine when to configure or when to code

- Check your knowledge

- Summary

In this module, you will:

- Identify which elements architecturally comprise Microsoft Power Platform.

- Learn about the areas of extensibility that are available to customize Microsoft Power Platform through code.

- Discover different approaches to common business scenarios in respect to achieving extensibility with configuration versus code.

The goal of this module is to review how to achieve common user experience automation procedures through Client Script. This module is intended to serve as a practical guide for how to solve real-world scenarios that are frequently encountered during Microsoft Power Platform implementations.

Lessons:

- Introduction to client-side scripting

- Upload scripts

- Event handlers

- Context objects

- Client scripting common tasks

- Exercise - Use client script to hide a form section

- Check your knowledge

- Summary

This module explains how to:

- Write client scripts to perform common actions as listed in the module units.

This module focuses on educating developers on how to perform common techniques in regard to automating business processes using client scripting, along with explaining the context of when these scenarios might be applied.

Lessons:

- Introduction to conducting global operations with the client API Xrm object

- Client scripting best practices

- Debugging client script

- Exercise - Use table data from client script

- Check your knowledge

- Summary

This module explains how to:

- Automate business processes using JavaScript/TypeScript API methods.

In this module, students will learn how to implement actions for customized commands on the command bar in Power Apps.

Lessons:

- Introduction

- Create or edit modern commands

- Work with classic commands

- Use Power Fx

- Exercise - Customize the command bar

- Check your knowledge

- Summary

In this module, you will:

- Create or edit modern commands

- Work with classic commands

- Use Power Fx

- Customize commands

In this module, students will learn to learn how to get started with Microsoft Power Apps component framework.

Lessons:

- Introduction to Power Apps component framework

- Power Apps component framework architecture

- Power Apps component tooling

- Component manifest

- Demo of the Power Apps code component

- Check your knowledge

- Summary

This module explains the following concepts:

- Power Apps component framework architecture

- Power Apps component tooling

In this module, students will learn how build a custom Power Apps component, create a code component solution package, and then test and debug a code component.

Lessons:

- Introduction to creating a code component

- Create a code component solution package

- Test and debug code components

- Check your knowledge

- Summary

In this module, you will:

- Create a custom Power Apps component.

- Create a code component solution package.

- Test and debug a code component.

- Learn key concepts of Dataverse auditing

The goal of this module is to give an introductory overview of Microsoft Power Platform SDKs that are available from Microsoft via NuGet.

Lessons:

- Introduction to developing with Microsoft Dataverse

- Microsoft Dataverse extensibility model

- Event framework

- Check your knowledge

- Summary

In this module, you will:

- Explain what functions can be executed against Microsoft Power Platform via Microsoft Power Platform SDKs.

- Perform basic operations against Microsoft Power Platform such as create/read/update/delete operations.

In this module students will be provided with an in-depth overview of plug-ins as it relates to Microsoft Power Platform development. This module will review how and when plug-ins are implemented, how they're registered and deployed, and the various configuration options that are available during plug-in registration.

Lessons:

- Introduction

- Plug-ins usage scenarios

- Plug-in execution context

- Exercise - Write your first plug-in

- Check your knowledge

- Summary

In this module, you will:

- Learn how to extend plug-ins.

In this module, students will learn about working with the Dataverse Web API.

Lessons:

- Introduction to the Microsoft Dataverse Web API

- Insomnia

- Authenticate against Microsoft Dataverse using OAuth

- Use OData to query data

- Use FetchXML to query data

- Call Power Automate actions from the Web API

- Use the Web API to impersonate another user

- Track entity data changes with change tracking and the Web API

- Check your knowledge

- Summary

This module explains how to:

- Authorize against Dataverse with OAuth.

- Use OData to query data.

In this module, students will gain an in-depth overview of options available within Dataverse to integrate data and events to Azure.

Lessons:

- Microsoft Dataverse Azure Solutions overview

- Expose Microsoft Dataverse data to Azure Service Bus

- Write a Service Bus Event Listener that consumes Microsoft Dataverse messages

- Publish Microsoft Dataverse events with webhooks

- Write an Azure Function that processes Microsoft Dataverse events

- Check your knowledge

- Summary

This module explains how to:

- Publish Dataverse events to Microsoft Azure Service Bus.

- Write a Service Bus Event Listener that consumes Dataverse events.

Learn how Azure Functions can be a great solution for data processing, systems integration, and building simple APIs and microservices.

Lessons:

- Introduction

- Discover Azure Function

- Compare Azure Functions hosting options

- Scale Azure Functions

- Module assessment

- Summary

After completing this module, you will be able to:

- Explain functional differences between Azure Functions, Azure Logic Apps, and WebJobs

- Describe Azure Functions hosting plan options

- Describe how Azure Functions scale to meet business needs

Learn how to create and deploy Azure Functions.

Lessons:

- Introduction

- Explore Azure Functions development

- Create triggers and bindings

- Connect functions to Azure services

- Exercise - Create an Azure Function by using Visual Studio Code

- Module assessment

- Summary

After completing this module, you will be able to:

- Explain the key components of a function and how they are structured

- Create triggers and bindings to control when a function runs and where the output is directed

- Connect a function to services in Azure

- Create a function by using Visual Studio Code and the Azure Functions Core Tools

Connectors help make it easier for app and flow makers to connect to other apps, data, and devices in the cloud. Learn how to configure and use custom connectors with Microsoft Power Apps, Microsoft Power Automate, and Microsoft Azure Logic Apps.

Lessons:

- Introduction

- Demo of the maker portal experience

- Explore custom connector configuration options

- Exercise - Create a new connector in a solution

- Use a custom connector

- Exercise - Use a connector from Power Automate

- Check your knowledge

- Summary

This module explains how to:

- Learn about the role of custom connectors.

- Build a connector and use it in a Power Automate flow.

Has your organization developed a web API and need to use it within a Power Apps application? In this module, you'll learn how you can build custom connectors to have your Power Apps applications interact with your web APIs.

Lessons:

- Introduction

- What are custom connectors

- Exercise - Create a custom connector from Visual Studio

- Exercise - Create a custom connector from Azure API Management

- What is OpenAPI and why you should use it

- Exercise - Create a custom connector from an OpenAPI document

- Test the custom connector

- Exercise - Test the custom connector

- Exercise - Use the custom connector in Power Apps canvas app

- Module assessment

- Summary

This module explains how to:

- Create a custom connector using Visual Studio

- Create a custom connector using Azure API Management

- Create a custom connector using an OpenAPI document

- Use a custom connector in a Power Apps app to call a web API

Custom connectors can provide access to custom or third-party APIs that are accessible via public endpoints. In this module, learn how to configure custom connectors with authenticated APIs in Microsoft Power Platform.

Lessons:

- Introduction

- Authentication options

- Use APIs with Azure AD

- Configure Microsoft Entra ID authentication

- Exercise - Use graph API from a custom connector

- Share and move between environments

- Check your knowledge

- Summary

In this module, you will:

- Learn about authentication options.

- Learn how to use APIs with Microsoft Entra ID.

- Use a graph API from a custom connector.

- Share and move between environments.

Policies allow you to modify the behavior of a custom connector at runtime. You can use policies to perform data conversion, route requests, set parameter values, and more. You can configure policies directly in the custom connector API properties file before import, or you can do it from the maker portal in the custom connector designer by applying policy templates.

Lessons:

- Introduction

- Use expressions to access runtime values

- Use policies for data conversion

- Configure host URL and routing

- Add or update values

- Exercise - Use a policy template to dynamically set the host URL

- Check your knowledge

- Summary

In this module, you will:

- Discover how policies can modify the behavior of custom connectors at runtime.

- Apply policy templates to a custom connector.

You can define extensions to OpenAPI to configure specific features that are supported by custom connectors in Microsoft Power Platform. This module covers authentication, actions, and triggers that are used with OpenAPI connectors.

Lessons:

- Introduction

- Use OpenAPI extensions

- Use the dynamic list of values extension

- Use dynamic schema

- Exercise - Use OpenAPI extensions

- Check your knowledge

- Summary

In this module, you will:

- Learn about OpenAPI extensions.

- Use OpenAPI extensions.

Microsoft Power Apps and Power Automate include such package features as apps from Microsoft Power Apps, site maps, flows, entities, customer connectors, and more. In this module, you'll learn how to manage solutions with Power Automate.

Lessons:

- Introduction

- Add and remove apps, flows, and entities in a solution

- Edit a solution-aware app, flow, and table

- Exercise - Import and export solutions

- Build and deploy a complex solution with flows, apps, and entities

- Automate solution management

- Check your knowledge

- Summary

In this module, you will:

- Package existing items into a solution.

- Create solutions.

- Edit existing solution-aware apps, flows in a solution.

- Import and export solutions.

- Deploy complex solutions with many components.

- Learn about component dependency on other components.

Solutions for Microsoft Power Platform can help you transport an existing app and components from one environment to another. Additionally, solutions will help you apply a set of customizations to existing apps. This module will share solution basics and best practices.

Lessons:

- Introduction

- Solution layering

- Solution architecture tools and techniques

- Use version control for solutions

- Check your knowledge

- Summary

In this module, you'll: 

- Learn about solutions and how they work.

- Discover the concept of solution layering.

- Learn about version control for solutions.