What Is Power Pages (Power Portal) and How to Use It with Dataverse?

Power Pages and Dataverse explained
Power Pages and Dataverse explained

Modern businesses need secure websites where customers, partners, or employees can interact with company data and services. Microsoft Power Pages, previously called Power Apps Portals (Power Portal), helps organizations build these websites easily and connect them with their internal systems.

Built on the Microsoft Power Platform, Power Pages allows organizations to create external-facing websites that connect directly to business data stored in Microsoft Dataverse.

In this guide, you’ll learn:

  • What Power Pages is
  • How Dataverse works
  • How Power Pages connects to Dataverse
  • How developers can use APIs and custom pages to extend functionality

This article is beginner-friendly while also providing practical developer insights and examples.

Introduction to Power Pages (Formerly Power Apps Portals)

What Is Power Pages?

Microsoft Power Pages is a low-code platform for building secure, external websites that connect directly to your business data.

It enables organizations to create portals where:

  • Customers can submit support requests
  • Partners can access shared data
  • Employees can interact with company resources

Unlike traditional website development, Power Pages allows developers and non-developers to build websites using low-code tools integrated with Microsoft services.

Key Features and Benefits

1. Low-Code Development

Power Pages provides visual tools for creating pages, forms, and data views without heavy coding.

2. Built-In Security

The platform includes role-based access control and table permissions, ensuring users only see allowed data.

3. Direct Dataverse Integration

Power Pages is tightly integrated with Microsoft Dataverse, allowing portal pages to display and update business data easily.

4. Developer Extensibility

Developers can extend functionality with:

  • JavaScript
  • Web APIs
  • Custom APIs
  • Liquid templates

How Power Pages Fits into the Microsoft Power Platform

Power Pages is part of the Microsoft Power Platform, which includes:

  • Microsoft Power Apps – Build internal business apps
  • Microsoft Power Automate – Automate workflows
  • Microsoft Power BI – Data analytics and dashboards
  • Microsoft Power Pages – External-facing websites

All these tools share a common data platform: Microsoft Dataverse.

Overview of Microsoft Dataverse

What Is Dataverse?

Microsoft Dataverse is a cloud-based data platform that securely stores business data used by Power Platform applications.

It acts as the central database for apps, automation, analytics, and portals.

Why Dataverse Is Used?

Dataverse provides several advantages:

  • Structured data storage
  • Built-in relationships between tables
  • Enterprise-grade security
  • API access for developers
  • Seamless integration with Microsoft services

How Dataverse Stores and Manages Data?

Dataverse stores data in tables (similar to database tables).

Example:

TableDescription
AccountsStores customer organizations
ContactsStores individual users
CasesCustomer support requests

Each table contains:

  • Columns (fields)
  • Records (rows)
  • Relationships with other tables

Power Pages can directly interact with these tables.

How Power Pages Connects with Dataverse?

Built-in Integration

Power Pages is natively connected to Dataverse.

This means:

  • Portal data automatically comes from Dataverse tables
  • Forms and lists update Dataverse records
  • Security is enforced through Dataverse permissions

How Tables Are Exposed in Portals?

Dataverse tables can be displayed in Power Pages using:

  • Lists – Display records in a table/grid
  • Forms – Create or update records
  • Liquid templates – Dynamically render data

Example:

A Support Portal may show:

  • Customer cases
  • Order history
  • Knowledge base articles

All of this data comes directly from Dataverse tables.

Role of Permissions and Security

Security is managed using Table Permissions.

These permissions control:

  • Who can read data
  • Who can create records
  • Who can update or delete records

Example:

Customers should only see their own support tickets, not other customers’ data.

Using Dataverse Data in Power Pages

Displaying Data in Portal Pages

The easiest way to display data is by using Lists.

Example:

Display a list of customer orders.

Steps:

  1. Create a List component
  2. Select the Dataverse table
  3. Configure columns and filters
  4. Publish the portal

Visitors can now see records directly from Dataverse.

Using Forms Connected to Dataverse

Forms allow users to:

  • Create records
  • Update data
  • Submit requests

Example:

A Contact Us form can create a record in the Cases table.

Benefits:

  • No backend coding required
  • Automatic data storage in Dataverse
  • Built-in validation

Using Dataverse APIs in Power Pages

Interacting with Dataverse Using Web API

Developers can interact with Dataverse using the Web API, which is based on REST.

Common operations include:

  • Retrieve records
  • Create records
  • Update data
  • Delete records

Authentication and Permissions

Power Pages uses portal authentication and table permissions.

Important considerations:

  • Users must have access to the table
  • API calls respect security roles
  • Anonymous users have limited access

Example: Retrieve Data from Dataverse

Example JavaScript call to fetch accounts:

fetch("/_api/accounts?$select=name,accountnumber", {
    method: "GET",
    headers: {
        "Accept": "application/json"
    }
})
.then(response => response.json())
.then(data => {
    console.log(data.value);
});

This request retrieves Account records from Dataverse.

Using Custom APIs with Power Pages

What Are Custom APIs in Dataverse?

Custom APIs allow developers to create custom server-side operations inside Dataverse.

These APIs can:

  • Execute business logic
  • Call external services
  • Process complex operations

When Should You Use Custom APIs?

Use Custom APIs when:

  • Business logic is complex
  • Multiple operations must be executed
  • External services must be called
  • Security must be enforced server-side

Example:

  • Creating a custom order validation service

Calling Custom APIs from Power Pages

Example request:

fetch("/_api/new_GetCustomerOrders", {
    method: "POST",
    headers: {
        "Content-Type": "application/json"
    }
})
.then(res => res.json())
.then(data => console.log(data));

This triggers a Custom API inside Dataverse.

Using Custom Pages in Power Pages for API Integration

What Are Custom Pages?

Custom pages allow developers to add JavaScript-based logic and UI customization to Power Pages.

They provide flexibility beyond built-in components.

Calling APIs from Custom Pages

Developers can use:

  • JavaScript
  • AJAX
  • Fetch API

to communicate with Dataverse APIs.

Example Workflow

Step 1: Create a Custom API in Dataverse

Example:

GetCustomerOrders

Returns all orders for a logged-in customer.

Step 2: Create a Custom Page in Power Pages

Add:

  • HTML layout
  • JavaScript script

Step 3: Call the API

async function loadOrders() {
    const response = await fetch("/_api/new_GetCustomerOrders");
    const data = await response.json();
    displayOrders(data);
}

Step 4: Display the Response

function displayOrders(data) {
    const container = document.getElementById("orders");

    data.forEach(order => {
        const div = document.createElement("div");
        div.innerText = order.name;
        container.appendChild(div);
    });
}

Practical Example: Fetch Customer Records from Dataverse

Scenario:

You want to display customer accounts on a portal page.

Step 1: Create a Portal Page

Add an empty HTML container.

<div id="customers"></div>

Step 2: Call the Dataverse API

fetch("/_api/accounts?$select=name")
.then(res => res.json())
.then(data => {
    const container = document.getElementById("customers");

    data.value.forEach(account => {
        const p = document.createElement("p");
        p.textContent = account.name;
        container.appendChild(p);
    });
});

Result

The portal will dynamically display customer names stored in Dataverse.

Best Practices

1. Use Table Permissions Carefully

Always configure table permissions to protect sensitive data.

Never expose tables publicly without restrictions.

2. Optimize API Performance

Best practices include:

  • Use $select to retrieve only required fields
  • Use pagination for large datasets
  • Cache results when possible

3. Use Built-in Components When Possible

Prefer:

  • Lists
  • Forms
  • Liquid templates

These are optimized for Power Pages.

Use APIs only when custom behavior is required.

4. Secure Custom APIs

Ensure that:

  • Only authorized users can call them
  • Inputs are validated
  • Sensitive operations run server-side

Real-World Use Cases

Organizations use Microsoft Power Pages with Microsoft Dataverse for:

  • Customer self-service portals
  • Partner collaboration portals
  • Supplier onboarding portals
  • Government service portals
  • Case management portals

These portals allow external users to interact securely with internal business systems.

References:

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *