Model or dataset
microsoft/PowerAppsCodeApps avatar
microsoft/PowerAppsCodeApps

PowerAppsCodeApps is a set of templates and samples for apps inside Power Apps

Create custom web applications to run within Power Apps!

518 stars145 forksTypeScriptMIT

At a glance

What is it?
PowerAppsCodeApps is the Microsoft repository for code apps, web applications built with React, TypeScript and Vite that run natively inside Power Apps and use the platform's connectors and data sources. It holds two scaffold templates, seven end-to-end samples covering Dataverse, connectors and routing, and Playwright tests, and it suits teams delivering on the Power Platform rather than standalone web apps.
Who is it for?
Teams delivering applications on the Microsoft Power Platform, particularly those reaching Dataverse either natively or through a connector, are the people this repository is for, and the seven samples cover both data access paths plus routing and a full CI/CD example. It is the wrong choice for a standalone web application, since everything here assumes the app runs inside the Power Apps host and draws its data through the platform.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 3 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 20, 2026, and from our analysis. They are not legal advice.

Editorial analysis

Code apps put a React front end inside Power Apps

PowerAppsCodeApps is the Microsoft repository for code apps, which it defines as custom web applications that run natively within Power Apps, built with standard web technologies like React, TypeScript and Vite alongside Power Platform connectors and data sources. That definition carries the important constraint in it. A code app is not a separate product you host and link to, it is a web application that runs inside the Power Apps host, so it inherits the platform's identity, its connector model and its data sources. The readme states that code apps are generally available and points to the full documentation at aka.ms/pacodeapps, which is where the platform side lives.

The repository is TypeScript by primary language and MIT licensed, with the last push on 2026-10-20 and tags for the Power Apps SDK at v0.0.4 from 2025-08-01, v0.0.3 and v0.0.2. The tags are worth noting for what they say about the shape of the project: the version numbers are still at zero, which suggests the packages inside are treated as experimental even though the code apps feature itself is generally available. The top level of the tree is a documentation repository with samples, templates, tests and session content in it, rather than a single publishable package.

The starter template is four commands from a blank directory

The quick start path uses degit to pull the starter template into a directory of your choosing, and then the usual npm cycle. The whole sequence is in the readme.

bash
npx degit microsoft/PowerAppsCodeApps/templates/starter my-app
cd my-app
npm install
npm run dev

After that the readme says to connect to data, build it, and deploy it to Power Apps following the code apps documentation. The three verbs are separate steps, and that is the part worth pausing on, since a code app is not finished when it compiles in a browser. It has to be connected to the platform's data, built, and then deployed so that the Power Apps host can run it. The degit step is a deliberate choice rather than a package install, because the template is a directory of files in the repository rather than a published npm package, and degit is the tool for copying such a directory without the git history.

Two templates, and the choice is mostly about how much you want

The templates directory holds two starting points, and the difference between them is small enough that the readme can describe it in a sentence each. The starter template is marked as recommended and is pre-configured with React, Vite, Tailwind CSS, Tanstack Query and React Router, described as best for most apps. The vite template is a minimal Vite plus React setup pre-configured for Code Apps, described as good for lightweight or custom stacks.

The distinction is about defaults. The starter template gives you a data-fetching library, a router and a styling system already chosen, which means a team can go straight to the connector work. The vite template gives you the build tool and the framework and leaves the rest to you. The readme points at templates/README.md for setup instructions rather than repeating them here, which is the right call for a repository that intends the templates to be read as projects. There is also a tests directory with an end-to-end spec per template, a starter.spec.ts and a vite.spec.ts, plus a Playwright configuration, so both paths are exercised in continuous integration rather than only documented.

The samples are the real documentation for the platform

Seven samples are described in a table, and reading the table is the fastest way to understand what the platform can actually do. HelloWorld is the one the readme recommends as a first read, a basic starter showing Power Platform SDK integration on React, Vite and TypeScript. Dataverse shows native Dataverse CRUD with lookups, files, functions and actions. DataverseConnector reaches the same data through the Microsoft Dataverse connector instead, and DataverseContextRouting selects the initial Dataverse page from getContext() query parameters, which is how a code app knows where it was launched from.

The FluentSample is the full-featured one, with React, Fluent UI v9, SQL, Office 365, connectors, a custom API, a SQL backend and CI/CD. StaticAssetTracker is an asset tracking app demonstrating management workflows with Tailwind CSS. The tanstack-app sample is routing-focused, built on React with TanStack Router and Vite. Between them they cover the two data access paths the platform offers, which is the axis that matters most when you are deciding whether a code app is a good fit, because reaching data natively in Dataverse and reaching it through a connector have different performance and different permission models.

Session content and documentation assets are published alongside

The sessions directory holds workshop and conference content, currently the files from the Power Platform Community Conference 2025 under ppcc2025. That is worth a sentence of its own, because conference content tends to be the first place a new capability shows up in a usable form, with the mistakes already made by whoever presented it. The docs/assets directory holds images and static assets used in documentation, which is a sign that the repository doubles as the source for the published documentation rather than keeping them elsewhere.

There is also a SECURITY.md and a CODE_OF_CONDUCT.md at the top level, and the code of conduct is the Microsoft Open Source Code of Conduct with its own FAQ linked. One directory at the top of the tree is not described in the readme, powercat/, which is the Power Platform CLI tooling, and the samples and templates both reference the platform SDK for talking to the host.

The AI assistant plugin has moved out of this repository

The first section of the readme is a relocation notice, and it is the kind of detail that saves time. The plugin for AI coding assistants, and the readme names Claude and GitHub Copilot, has moved to a new home at microsoft/power-platform-skills. The instruction is to visit that repository to install and use the plugin with your AI assistant. So the repository that holds the templates and samples no longer holds the assistant plugin, and the .claude-plugin directory at the top of the tree is a leftover of the old arrangement or a configuration stub rather than the plugin itself.

This matters for anyone automating against this repository, because a script that installs the plugin from here will get the wrong thing. It is also a small example of a broader pattern in Microsoft's open source work, where tooling that is specific to one product gets split out so that it can be used with the rest of the platform.

Where PowerAppsCodeApps is the wrong choice

The first wrong case is an application that is not a Power Platform application. Everything here is shaped around running inside Power Apps, using its connectors and its data sources, and a standalone React app with its own backend has no use for any of it. The second is a team that wants a hosted deployment outside the platform, because a code app is deployed into the platform and its data access runs through the platform's own model, which is the feature and also the constraint. The third is a shop that has standardised on a different build setup, since the vite template is minimal but still assumes Vite and React, and a team whose pipeline is built around another bundler will spend time fighting the template rather than using it. The fourth is anyone who needs the sample applications to be production code, since they are examples showing patterns, with the Dataverse samples using the platform SDK in ways that a real application would need to extend rather than copy. The fifth is a team that needs a stable version of the Power Apps SDK, since the tags sit at v0.0.x and the readme does not describe a versioning promise for the packages inside, which is a reason to pin what you depend on.

Editorial conclusion

Teams delivering applications on the Microsoft Power Platform, particularly those reaching Dataverse either natively or through a connector, are the people this repository is for, and the seven samples cover both data access paths plus routing and a full CI/CD example. It is the wrong choice for a standalone web application, since everything here assumes the app runs inside the Power Apps host and draws its data through the platform. Check three things before you commit: which template suits your build setup, since the starter template arrives with Tailwind, TanStack Query and React Router already chosen while the vite template leaves those to you, whether the Power Apps SDK version you depend on is one you have pinned, since the published tags sit at v0.0.4 and the readme describes no versioning promise for the packages, and that the code apps feature itself meets your availability needs, since the readme says it is generally available while the SDK tags remain on a zero major version. The licence is MIT, the repository publishes no GitHub releases, and the last push was on 2026-10-20.

Frequently asked questions

What are Power Apps code apps?

Code apps let you build custom web applications that run natively within Power Apps, using standard web technologies like React, TypeScript and Vite alongside Power Platform connectors and data sources. The readme states that code apps are generally available and points to the full documentation at aka.ms/pacodeapps.

How do I start a new Power Apps code app?

Use the starter template with degit, then install and run it. The commands are npx degit microsoft/PowerAppsCodeApps/templates/starter my-app, then cd my-app, npm install and npm run dev. After that you connect to data, build it and deploy it to Power Apps following the code apps documentation.

What is the difference between the starter and vite templates?

The starter template is the recommended one and comes pre-configured with React, Vite, Tailwind CSS, Tanstack Query and React Router, best for most apps. The vite template is a minimal Vite plus React setup pre-configured for Code Apps, good for lightweight or custom stacks.

Which samples show how to work with Dataverse?

Three do. The Dataverse sample shows native Dataverse CRUD, lookups, files, functions and actions, the DataverseConnector sample reaches the data through the Microsoft Dataverse connector, and DataverseContextRouting selects the initial Dataverse page from getContext() query parameters.

Where is the AI assistant plugin for Power Apps code apps?

It has moved to a separate repository, microsoft/power-platform-skills. The plugin for AI coding assistants such as Claude and GitHub Copilot is installed and used from there rather than from this repository.

Official sources

  1. Issues
  2. License: MIT
  3. microsoft/PowerAppsCodeApps on GitHub
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/microsoft-powerappscodeapps.svg)](https://hysenlabs.com/projects/microsoft-powerappscodeapps)

Was this useful?