Power Pages SPA Templates Arrive in Copilot and Claude CLI
Building a modern front end on Power Pages has always involved an awkward compromise. You either stayed inside the lines with standard Liquid templates, content snippets, and out-of-the-box form components, or you fought the platform to host a custom React bundle inside web files while manually plumbing anti-forgery tokens for the Dataverse Web API. The middle ground rarely felt comfortable.

A recent update changes how professional developers scaffold those modern portal interfaces. Microsoft announced that its Power Pages plugin for both the GitHub Copilot CLI and Claude Code now supports single-page application (SPA) templates through the /create-site skill. Instead of asking a generative agent to draft an entire site layout tag by tag from raw prompts, the tool pulls down an engineered baseline template. That distinction matters far more than the marketing suggests.
What actually changed in the tooling
Until this change, invoking site creation through the terminal-based developer assistants forced the model to compose individual pages, site markers, and styling from scratch. If you have spent five minutes watching an LLM write Liquid and CSS simultaneously, you know the outcome. You get mismatched closing tags, broken layout grids, and hallucinated portal Web API methods that fail the moment you deploy them into a runtime environment.
As detailed on the Microsoft Power Platform Blog, the /create-site skill now points directly to structured SPA templates. The agent provisions the site backbone against an established architectural scaffold. The client-side application structure, standard build configuration, and the necessary integration points for the Power Pages runtime are established immediately, rather than synthesized on the fly.
This release follows Microsoft's broader strategy of feeding smaller, modular capabilities through modern developer surfaces between major semi-annual releases. You can monitor the timing and availability of these developer tooling rollouts directly on the Dynamics 365 and Power Platform release schedules page. The key operational shift is that developers no longer have to build custom Webpack or Vite configurations by hand just to mount a React component to a Power Pages web template.
Why scaffolding beats generative generation every time
Generative AI is great at writing algorithmic utility functions. It is notoriously bad at setting up strict enterprise web application boilerplate. Power Pages is particularly unforgiving here. To make a modern JavaScript application behave correctly inside a portal runtime, you need several discrete layers to align:
- Proper loading order of the platform core scripts before your bundle boots.
- Session authentication state shared cleanly between the portal authentication cookie and your client-side data calls.
- Request verification headers injected into every
POST,PATCH, andDELETEcall directed at the/_api/endpoint. - Page permissions and table permissions aligned so anonymous and authenticated web roles do not run into silent 403 errors.
When an LLM attempts to fabricate this entire architecture from a single prompt, it frequently invents workarounds. We have seen generated code that bypassed table permissions by calling unsecured external cloud flows, or code that failed to handle expired session tokens. By anchoring the /create-site command to a predefined SPA template, the agent configures variables inside a verified skeleton instead of inventing system architecture.
What it means for different roles
For pro-developers and solution architects
If your team builds customer-facing portals, this significantly lowers the overhead of starting a greenfield portal project. You can stay in your terminal of choice (whether running Claude Code or Copilot CLI) and get a working SPA shell linked to your target Dataverse instance in minutes. You get standard npm scripts, a clean component structure, and predictable routing.
The trade-off is architectural discipline. A SPA hosted on Power Pages shifts the application weight heavily toward client-side rendering. If your architecture requires server-side rendering for heavy search engine indexing, a purely client-rendered SPA inside a portal wrapper might still pose indexing hurdles. You also need to maintain the node dependencies inside your source repository, which changes how your Application Lifecycle Management (ALM) pipeline builds release packages.
For Power Platform makers and admins
For low-code makers who live purely in the Power Pages Design Studio, this feature is not built for your daily workflow. In fact, if developers on your team start deploying SPA templates into shared environments, you might find that the Design Studio canvas becomes less useful. Rich SPA bundles typically compile into static distribution assets hosted across web files. The standard visual page canvas cannot parse complex React component states for in-line drag-and-drop editing.
Tenant administrators must consider security boundaries. Terminal plugins running in local developer shells need authenticated access to Dataverse environments. If your organization restricts command-line access or monitors service principal usage, you must establish clear rules regarding which environments developers can point these AI agent skills toward.
What I would check in a sandbox first
Before adopting this workflow for your next client sprint, spend an afternoon validating these practical checkpoints in an isolated sandbox:
- Test Dataverse Web API header handling: Check how the generated template handles the request verification token. Run a quick form submission against a custom table and inspect the network tab. Ensure the token is dynamically extracted from the page wrapper and attached to the request payload properly.
- Inspect bundle asset size: Compile the default SPA template and check the output directory. Power Pages has specific file size limits for individual web files stored in Dataverse tables. If your production build generates a single massive bundle instead of chunked outputs, you will hit import errors during automated solution deployments.
- Review table permissions mapping: Run the site under an authenticated Web Role and an anonymous profile. Confirm whether the template gracefully surfaces table permission restrictions or if unauthenticated calls simply fail with an unhandled exception.
- Verify Git and ALM integration: Download the created portal metadata using the PAC CLI (
pac pages download). Make sure the generated SPA source code and the Dataverse site configuration records sit in logical folders inside your repository without stepping on each other.
Caveats and unresolved details
There are several critical questions Microsoft's announcement does not answer. First, the documentation does not clarify how customizable the underlying SPA templates are for enterprise teams. Most enterprise consultancies already possess their own hardened React boilerplates complete with corporate design systems, telemetry, and pre-approved accessibility components. Can internal platform teams substitute Microsoft's standard SPA template with their own private corporate template inside the /create-site skill? The announcement doesn't spell this out yet.
Second, caching behavior remains a concern. The Power Pages edge cache and Dataverse metadata caching can occasionally serve stale JavaScript bundles to end users following a solution deployment if cache invalidation is not triggered cleanly. We do not yet know whether the CLI plugin injects automated cache-busting hashes into the page templates or leaves that maintenance burden to developers.
Finally, keep an eye on licensing and CLI tooling quotas. Running generative skills via Claude Code or GitHub Copilot CLI incurs usage tokens on those respective services, completely independent of your Power Platform licensing. Teams adopting this across dozens of developers will need to account for CLI agent subscription costs.
Practical takeaway
This update is a welcome nod to developers who need the governance, identity integration, and security of Dataverse, but refuse to write applications like it is 2014. Scaffolding structured SPA templates through developer-focused terminal agents eliminates hours of boilerplate plumbing.
Do not convert your existing production portals over to SPA architectures overnight. Instead, spin up a trial or sandbox environment, configure your CLI tooling, run the /create-site skill, and inspect the code layout. Test how your CI/CD pipelines handle the compiled assets before committing your team to this pattern on an active project deliverable.
Sources and further reading
- Create Power Pages sites in minutes with SPA templates — Microsoft Power Platform Blog
- Dynamics 365 and Power Platform Release Schedules - Dynamics 365 — MS Learn - Dynamics 365 release plan
- Copilot in Dynamics 365 Sales overview — MS Learn - Dynamics 365 release plan
- Connect to Microsoft Dataverse - Power Apps — MS Learn - Dataverse docs
Written for the MaloomatAI editorial desk and checked against Microsoft's own announcements on 14 October 2026. Product names and trademarks belong to their respective owners.
Spotted something that has changed since publication? Leave a comment and it will be corrected.