Introduction to Microsoft Power Platform for Developers

Completed

Microsoft Power Platform is a low-code platform for building business apps quickly. It includes four main components: Power Apps, Power Automate, Power BI, and Power Virtual Agents. Each component can be used individually or together. When used together, they are designed to interact with the others to achieve business objectives, be it building analytics, process automation, or data-driven productivity apps.

Image showing all the components of Microsoft Power Platform working together with Azure.

The platform uses a low-code approach to build solutions rapidly. It allows everyone in an organization, from frontline workers to professional developers, to participate in building apps that drive positive business outcomes. Developers can work seamlessly with the makers in an organization to help fill gaps and solve complex challenges using a rich extensibility model provided by the platform components. Using the native integration with Azure, developers can also use their cloud development skills to extend Microsoft Power Platform. This approach to low-code development is a transformative way to achieve application development objectives within an organization quickly.

To be an efficient developer on the platform, it is important to understand the basics of what the platform offers. The following is a high-level overview of each of the core components and their key extensibility points.

Power Apps applications

Apps created with Power Apps are consumed by users using their desktop or mobile devices. There are different types of Power Apps: canvas, model-driven, and portal.

Canvas applications provide the maker with complete control over the pixel-perfect screen contents and navigation between multiple screens. Canvas applications use connectors to work with data and services. Canvas applications can be embedded into SharePoint, Teams, Power BI, and Dynamics 365 applications.

Model-driven applications are data-driven applications that are built on top of Microsoft Dataverse. Other data sources and services can be used by model-driven applications by embedding a canvas application.

Power Apps portals are used to create external-facing websites that allow users outside their organizations to sign in with a wide variety of identities, create and view data from Dataverse, or even browse content anonymously.

The following are the key developer extensibility points for Power Apps:

  • Building custom visual controls using Power Apps Component Framework (PCF)

  • Implementing client business logic using JavaScript and the client API

  • Building custom connectors for external data sources and services using tools like Azure Functions and Azure API Management

  • Building HTML web resources

To learn about creating canvas apps, see the Create a canvas app in Power Apps learning path. For a high-level introduction on creating model-driven apps, see the Create a model-driven application in Power Apps learning path. For a high-level introduction to Power Apps portals, see the Get Started with Power Apps portals learning path.

Power Automate

Power Automate is used to automate tasks and orchestrate activities across various services that use connectors. Using Power Automate you can create cloud flows or desktop flows.

Cloud flows can be triggered manually, configured to run when specific events occur, such as when a record is created, or scheduled to run at a specific time. Power Automate is built on top of Azure Logic Apps but offers unique integration with Microsoft Power Platform.

Desktop flows, as the name suggests, are used to automate repetitive interactive tasks on the web or the desktop.

The following are the key developer extensibility points:

  • Building custom connectors using tools like Azure Functions and Azure API Management

  • Use workflow definition functions to build complex expressions

To learn more about building cloud flows with Power Automate, see the Automate a business process using Power Automate learning path. For an introduction to desktop flows, see the Get started with Power Automate Desktop learning path.

Power BI

Power BI is Microsoft's business analytics solution that provides interactive data visualization BI tools to help users visualize and share data and insights across their organization.

The following are the key developer extensibility points:

  • Embed Power BI in apps, websites, and portals

  • Create custom visuals using the open-source SDK

  • Use Power BI REST API to run automatic data refresh, augmentation, and transformation processes, autoscale the resources, automate application lifecycle management (ALM), and more

  • Develop Power Query custom connectors to connect to and access data from proprietary applications, services, or data sources

For an introduction on how to create Power BI reports, see the Create and use analytics reports with Power BI learning path.

Power Virtual Agents

Power Virtual Agents lets you create powerful chatbots that can answer questions from your customers, other employees, or visitors to your website or service. Power Virtual Agents is built on Microsoft Bot Framework and a provides a low-code experience to build and manage chatbots.

The following are the key developer extensibility points:

  • Build Bot Framework Skills

  • Extend bots with Bot Framework Composer

For an introduction on how to create Power Virtual Agent chatbots, see the Create bots with Power Virtual Agents learning path.

Connectors

Connectors are a key component allowing access to data and services. A connector is a proxy or a wrapper around an API that allows the underlying service to talk to Microsoft Power Automate, Microsoft Power Apps, and Azure Logic Apps. It provides a way for users to connect their accounts and use a set of pre-built actions and triggers to build their apps and workflows.

There are hundreds of pre-built connectors available for use in apps and flows. You can build custom connectors for any REST API.

You can learn more about custom connectors in the connectors documentation.

Dataverse

Dataverse is a cloud scale data store that build on Microsoft's data technologies and abstracts away data management complexity from the app maker. It lets you securely store and manage data that is used by business applications. Business data within Dataverse is stored within a set of data tables. Role-based security allows businesses to control access to the data tables and even individual records for different users within your organization. Developers can extend or customize Dataverse functionality by adding custom business logic. You can define calculated table columns, business rules, workflows, and business process flows to ensure data quality and drive business processes.

The following are the key developer extensibility points:

  • Create plug-ins, similar to event handlers, that customize or extend Dataverse data processing with custom business logic (code).

  • Use webhooks and Azure Service Bus to integrate with external systems.

  • Extend the Dataverse API with your own custom API that implements your business logic.

  • Use virtual tables to integrate data stored in external systems into Dataverse without replicating the data

For a more in-depth look at Common Data Service, see the Get started with Dataverse module.

Common Data Model

The Common Data Model is an open-sourced standard definition of entities that represent commonly used concepts and activities. When built with a Dataverse application, a core set of entities is provided upon which application builders can add their own custom entities to support specific business scenarios.

The following are the key developer extensibility points:

  • Use the Common Data Model Library to work with data stored in Azure Data Lake.

To learn more about how to use the Common Data Model, see The Common Data Model documentation in Microsoft Docs.