Introduction
As a Power Platform developer, you face a growing menu of extension options long before any code gets written: client scripts, component frameworks, plug-ins, cloud flows, connectors, and agents. Choosing where logic runs shapes performance, maintainability, and governance for years to come, so you need a mental model for comparing options before you start building.
Consider an internal equipment-provisioning system built as a custom Dataverse solution. Four tables, employee, device, request, and allowance, track who requests replacement equipment, whether they're eligible, and how approvals and fulfillment proceed. An external service reports current device availability, and a coordinator follows each request through to completion.
Before writing a single line of code, you decide where each piece of logic belongs. Does it run in the browser or on the server? Does it call out to cloud services, or get packaged as a reusable solution component?
Throughout this module, you use the equipment-provisioning scenario to explore where extension code runs and how each type of logic starts. You compare client and application-level options such as client scripts, Power Apps component framework (PCF) controls, code apps, and generative pages.
You also examine server, cloud, connector, and agent options. These include plug-ins, custom APIs, cloud flows, Azure Functions, custom connectors, Model Context Protocol (MCP) servers, and agents built with Copilot Studio or Microsoft Foundry. You also learn how solutions, publishers, and components package these extensions for distribution and lifecycle management.
By the end of this module, you can compare Power Platform extension options and choose the right one for a given scenario. These decisions help your architecture hold up as the solution grows.