React & Blazor framework + Fluent UI components for Dataverse

From zero to portal hero in under 15 minutes!

Build smarter, faster, and cleaner with Power Portals Pro—a framework of tools and components designed to supercharge Microsoft Dataverse. Skip the complexity and launch a fully working custom portal in record time, without sacrificing flexibility, scalability or performance.

  • React or Blazor + Fluent UI
  • Metadata-driven validation
  • Forms + sub-grids
  • ASP.NET Core Identity auth
  • No Power Pages required
React Blazor Fluent UI
Power Portals Pro portal screenshot showing a Dataverse-backed form and sub-grid
Power Portals Pro screenshot

Build custom Dataverse portals fast—with metadata-driven forms and grids.

Power Portals Pro gives you production-ready React and Blazor components that read and save form data back to Microsoft Dataverse. Controls configure themselves using Dataverse metadata (labels, tooltips, required/constraints), and the framework makes localization and translation straightforward.

From This:

{/* Metadata-driven fields (label/required/min/max/length from Dataverse) */}
<RecordContext>
  <Section>
    <SectionColumn headerText="Account Info">
      <ColumnEdit columnName="name" />
      <ColumnEdit columnName="telephone1" />
      <ColumnEdit columnName="websiteurl" />
      <ColumnEdit columnName="parentaccountid" />
      <ColumnEdit columnName="tickersymbol" />
    </SectionColumn>
    <SectionColumn headerText="Primary Contact">
      <LookupRecordContext columnName="primarycontactid">
        <Section>
          <ColumnEdit columnName="firstname" />
          <ColumnEdit columnName="lastname" />
          <ColumnEdit columnName="emailaddress1" />
          <ColumnEdit columnName="mobilephone" />
          <ColumnEdit columnName="jobtitle" />
        </Section>
      </LookupRecordContext>
    </SectionColumn>
  </Section>
  <SubGrid relationshipName="contact_customer_accounts" />
</RecordContext>

To This:

Power Portals Pro portal screenshot showing a Dataverse-backed form and sub-grid

See it in action

Real screens from the live demo — dashboards and charts, inline file previews, and built-in image viewing and editing. Click any screenshot to try it.

Dataverse-aware by default

Power Portals Pro components automatically configure themselves using Dataverse metadata—so you spend less time wiring labels, tooltips, required rules, and constraints, and more time shipping portal experiences.

React & Blazor + Fluent UI

Build on a modern React + Vite + TypeScript SPA or ASP.NET Core Blazor — both rendered with Microsoft's Fluent UI design system and both exposing the same metadata-driven components and Dataverse capabilities. Pick whichever stack matches your team's skills; the developer experience, theming, accessibility, and component coverage stay consistent across both.

Metadata-driven UI

Labels, tooltips, required flags, min/max ranges, and length limits come from Dataverse—so every editor on every page stays consistent with your data model without per-form configuration. Rename a column or tighten a constraint in Dataverse and every portal page that references it picks up the change on the next load, with no portal-side code edits or redeploy required.

Atomic saves + full framework flexibility

When users save, all changes—form fields plus grid and sub-grid edits—persist in a single Dataverse transaction, so updates are atomic: everything succeeds or everything rolls back. And because you're building a true custom portal on React + Vite or ASP.NET Core Blazor, the full npm and .NET ecosystems are yours: libraries, middleware, auth providers, logging, and background services.

Build internal portals, not just customer portals

Power Portals Pro isn't only for customer-facing sites—internal employee portals, departmental tools, and back-office apps are first-class use cases. Because staff sign in as their own Dataverse systemuser, your existing role assignments are the security model: no duplicate Contact records, no parallel permission system, and a single codebase can serve internal staff and external customers side by side.

Localization & translation ready

Localize every table label, tooltip, view name, and choice option into any language—you're never limited to the languages Dataverse ships a language pack for. Source translations from installed language packs, supply your own JSON files for any culture, or combine the two with JSON entries overriding anything Dataverse provides—and switch a user's language at runtime without a redeploy.

Machine translation in minutes

Translate your entire site into dozens of languages in minutes. From the built-in admin page, upload a localization file and pick your target languages, and every string is machine-translated through Azure Translator, DeepL, or Google—reusing anything already translated so you only pay for what's new. Download the results per language or as a single zip and drop them in to ship a fully localized portal, no translator in the loop.

Authentication & authorization included

Built on ASP.NET Core Identity with first-class support for two audiences at once. Staff sign in as their own Dataverse systemuser via Microsoft / Entra ID, and Dataverse security roles enforce row-, column-, and business-unit-level access through CallerId impersonation. Customer-facing users map to Dataverse contacts and accept local username/password plus Microsoft, Google, and any other ASP.NET Core provider.

Read + save forms to Dataverse

Build pages that load records from any Dataverse table and persist user edits back with a single save call. The framework handles dirty tracking, lookup resolution, related-record updates, and the FetchXML/Web API plumbing under the hood—so a typical edit page is a handful of declarative components, not pages of hand-written CRUD wired against the Dataverse SDK.

Validation that matches Dataverse

Required flags, min/max ranges, length limits, and option-set constraints flow straight from Dataverse metadata into the editors, so forms reject invalid input the same way Dataverse would on the server. No duplicate validation rules to maintain in two places—change a constraint in Dataverse and the portal enforces the new behavior on the next page load.

How it works

A clean flow from Dataverse metadata to a polished, working portal page.

1) Point at your table/columns

Bind editors to Dataverse entities and attributes (columns).

2) Let metadata drive the UI

Editors pull label/tooltips and enforce required + constraints automatically.

3) Save back to Dataverse

Submit changes reliably with patterns that match Dataverse expectations.

Power Portals Pro vs Power Pages

Both build portals on Dataverse — here's how they compare.

Feature Power Portals Pro Power Pages
Technology React (Vite SPA) or Blazor (Server, WebAssembly, or Auto) — C# + TypeScript Low-code / Liquid templates
UI Framework Microsoft Fluent UI (React & Blazor) Bootstrap (customizable)
Hosting Self-hosted (Azure, any cloud) Microsoft-hosted
Source Control Full codebase in Git Configuration-based
Form Components Metadata-driven typed editors Visual form designer
Data Grids MainGrid & SubGrid with inline editing, views, paging Lists with basic configuration
Charts ✓ Theme-aware charts with Dataverse data sources, click events, aggregates Basic Power BI embedding
Transactional Saves ✓ Multi-record atomic transactions
Record-Level Security ✓ Code-driven permission handlers Table permissions (config-based)
Internal Portals & Sites ✓ Build employee portals, internal tools, and back-office sites where staff sign in as their own Dataverse user — Dataverse security roles enforce access via CallerId impersonation, no parallel identity model needed Designed primarily for external-facing portals — internal staff sign in as Contacts (parallel identity)
Server-Side Interceptors ✓ Before/after hooks on all operations ✗ (requires plugins)
Localization ✓ Full control over tables, columns, views, choices, and custom strings Limited to Dynamics language packs; views and choices difficult to localize
N:N Relationship Editor ✓ ManyToManyLookupEdit component ✗ (requires custom development)
Offline Development ✓ Full local dev experience ✗ Requires cloud connection
CI/CD Pipelines ✓ Standard .NET build & deploy Power Platform pipelines
Custom Business Logic C# — unlimited flexibility Power Automate / Plugins
Pricing Model Flat monthly license fee Per-user / per-site with capacity packs

Simple pricing

$349 per month. One product, continuous updates.

Power Portals Pro

Framework + components for Dataverse portals

$349 USD • per month • per portal
  • React & Blazor components based on Fluent UI
  • Editors for common Dataverse field types
  • Grid + sub-grid for related records
  • Interactive charts with Dataverse data sources
  • Metadata-driven labels, tooltips & validation
  • Localization/translation-ready capabilities
  • Unlimited users (no "per user" licensing costs)
Purchase Now

Request a 30 day free trial

FAQ

Answers tailored to Dataverse portal builders.

What does "metadata-driven" mean here?

Editors and grids use Dataverse metadata to configure labels and tooltips, and to enforce constraints like required fields, min/max values, and length limits—so your portal stays consistent with your data model.

What UI technology is it built on?

Power Portals Pro ships as a React + Vite + TypeScript single-page app or as an ASP.NET Core Blazor app. Both are built on Microsoft's Fluent UI design system for a modern, consistent enterprise look and feel, and both expose the same metadata-driven components and Dataverse capabilities.

Does it support related records (sub-grids)?

Yes. The grid component can be configured as a sub-grid to display related records (for example, child contacts on an account).

How do localization and translation work?

The framework includes capabilities that make it easier to design for localization and translation from day one (labels/content can be planned to vary by language and region).

Does Power Portals Pro include authentication and authorization?

Yes — and it supports two audiences out of the box. Internal portals let staff sign in as their own Dataverse systemuser via Microsoft / Entra ID, and Dataverse security roles enforce row-, column-, and business-unit-level access automatically through CallerId impersonation. Customer-facing portals back users with Dataverse contacts and accept local username/password plus external providers (Microsoft, Google, etc.) via ASP.NET Core Identity. Both audiences can share a single portal at the same time.

What login providers are supported?

Power Portals Pro supports local authentication (username/password) and external identity providers such as Microsoft Entra ID (Azure AD), Google, and other providers supported by ASP.NET Core authentication.

Can I build an internal portal for my Dataverse users with Power Portals Pro?

Yes — that's a core use case, not an afterthought. Build internal employee portals, departmental tools, or back-office sites where staff sign in as their own Dataverse systemuser via Microsoft / Entra ID. The portal looks up the signed-in user against systemuser.azureactivedirectoryobjectid and, if it resolves, impersonates that user via ServiceClient.CallerId — so Dataverse security roles enforce row-, column-, and business-unit-level access without any portal-side permission code. Your existing Dataverse role assignments are the security model. If no matching systemuser is found, sign-in falls back to the contact-based flow, so the same portal can serve internal staff and external customers at once.

Can admins test the portal as a contact while keeping admin access?

Yes — link a single Microsoft sign-in to both a Dataverse systemuser (your internal account) and a contact (a test record, or your own customer-side record), and the portal will show a chooser on first sign-in and a Switch to contact / Switch to systemuser entry in the profile menu thereafter. This is the standard pattern for verifying the contact-side experience — rendering, hidden toolbar buttons, permission-driven content — without signing out of the admin account. The chooser pick is remembered in a small per-provider-key cookie so subsequent sign-ins go straight to the last-picked identity.

Do we need to enable Power Pages? Are there Power Pages costs?

No. Power Portals Pro does not require Power Pages to be enabled in your environment. Because you're not using Power Pages, there are no Power Pages-related licensing costs.

How is this different from Power Pages?

Power Portals Pro is a React + Blazor framework and component set, built on Fluent UI, for building a custom portal that integrates with Dataverse. It uses ASP.NET Core Identity (users as Contacts, using familiar Contact fields) and does not require Power Pages to be enabled—so you avoid Power Pages licensing costs.

Ready to build Dataverse portals with less plumbing?

Start Power Portals Pro for $349/mo.

Start now

Get in Touch

Whether you're looking for technical support, have a question about licensing, or want to discuss how Power Portals Pro can meet your needs, we're here to help.

Email: For general inquiries, contact us at support@powerportalspro.com

Support Tickets: For technical issues or bug reports, please open a support ticket on our GitHub repository.

We're committed to responding promptly and helping you succeed with Power Portals Pro. For more ways to reach us, visit our Support page.