Power Pages  

πŸ” Power Pages: Fetch Data from a Dataverse Table and Display Using Liquid Template

In this blog post, we’ll explore how to fetch data from a Dataverse table (for example, Job Application) and display the records right on the Home page of your Power Pages site using Liquid templates.

This is a common requirement in real-world Power Platform projects where you need to display dynamic data like upcoming events, announcements, or courses on public-facing pages.

🧠 What You Will Learn

  • How to configure table permissions in Power Pages
  • How to write Liquid code to fetch records from Dataverse
  • How to render those records neatly on your Home page
  • Tips for working with dynamic content in a secure and readable way

πŸ“Œ Prerequisites

Before we begin, make sure you have the following in place:

  • βœ… A Dataverse table (in our case, Job Application)
  • βœ… Power Pages site connected to your Dataverse environment
  • βœ… Access to the Portal Management App
  • βœ… Basic knowledge of HTML and Liquid syntax

πŸ›  Step 1. Configure Table Permissions

Power Pages uses entity permissions to control access to Dataverse data.

πŸ‘‰ Go to Portal Management > Table Permissions

  • Create a new permission for your table (Job Application).
    New table permission
  • Give it Global Read access (or restrict with Web Roles as needed)
  • Add the appropriate Web Role (like Authenticated Users or Anonymous Users)

Or we can try like this,

Liquid Demo

Then

Table permission

πŸ” This is a mandatory step; otherwise, your data won’t load on the page.

πŸ›  Step 2. Write Liquid Code to Fetch Records

You can either place the code directly in your page or create a reusable Web Template.

Here’s a sample Liquid snippet to get all active events:

Source Code

<h1>Pages Test123</h1>

<div class="container">

  <div class="row">

    <div class="col-lg-12">

      <h3>Job Applications</h3>

      {% entityview logical_name: 'crdbc_jobapplication', name: 'Active Job Applications' %}

        {% if entityview.records.size > 0 %}

          {% for app in entityview.records %}

            <div class="card my-2">

              <div class="card-body">

                <h5 class="card-title">{{ app.crdbc_email }}</h5>

              </div>

            </div>

          {% endfor %}

        {% else %}

          <p>No applications found.</p>

        {% endif %}

      {% endentityview %}

    </div>

  </div>

</div>

Source code

πŸ“ Replace the table name and column name with your actual column schema names.

βš™οΈ Site Settings to Check

Ensure these are present under Portal Management > Site Settings:

Name Value
Site/EnableLiquid true
Site/EnableEntityPermissions true

βœ… Final Output

Once done, go to your Power Pages Home page, and you should see your list of Job Application records dynamically loaded from Dataverse.

Job application output

πŸ“£ Wrapping Up

That’s it! Using Liquid templates in Power Pages, we can pull real-time Dataverse data and show it directly on the site without writing any JavaScript or backend code.

Whether it’s an event list, employee directory, or course catalog, this pattern works great across scenarios.