0% found this document useful (0 votes)
387 views410 pages

Power Pages

Uploaded by

Muhammad Latif
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
387 views410 pages

Power Pages

Uploaded by

Muhammad Latif
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 410

Tell us about your PDF experience.

Microsoft Power Pages documentation


Use Power Pages to create external-facing websites that allow users outside their organizations to
sign in with a wide variety of identities, create and view data in Dataverse, or even browse content
anonymously.

OVERVIEW GET STARTED


Introducing Power Pages Try Power Pages

VIDEO TRAINING
Getting started videos Power Pages training

Getting started Tutorials


Overview of Power Pages Follow step-by-step tutorials with videos to learn
about Power Pages
e What is Power Pages
e Tutorials and training videos overview
i Power Pages capabilities
i Create and manage Power Pages sites g Design your home page
g Set up your brand kit
f How Power Pages security works
g Create a page with a list
a Architecture and security white papers
g Create a page with a simple form
i Power Pages community
g Configure site authentication

Design and build Connect to Dataverse


Create sites using Power Pages Extend Dataverse capabilities with Power Pages

c Use the new design studio g Dataverse and Power Pages


b Pages workspace: Create and design pages g Use the data workspace
b Styling workspace: Theme and style your site g Add lists to pages
b Create Power Pages sites with templates g Add basic forms to pages
i Use the Portal Management app g Add multistep forms on pages

c g
c Use Visual Studio Code and Power Platform CLI g Secure your data with table permissions

i Plan your Power Pages project g Create, update, and view Dataverse information

Customize and extend Security


Use professional developer tools and methods Protect your sites and data

i Use Liquid i Power Pages security overview


c Web templates c Set up authentication
c Portals web API c Configure web roles
i Code components c Configure table permissions
i Advanced configuration a Architecture and security white papers

Go live Administer and monitor


Launch your site Administer and monitor your Power Pages sites

` Go live checklist i Use the portals admin center


c Assign licensing i Troubleshooting and diagnostics
c Overview of Power Pages ALM i Maintain and update Power Pages
c Review consumption

Other Microsoft Power Platform products

Power Apps Power Automate


Quickly build low-code apps that modernize Create automated workflows between your favorite
processes and solve tough business challenges in apps and services to synchronize files, get
your organization using Power Apps. notifications, collect data, and more.

Power BI Power Virtual Agents


Turn your unrelated sources of data into coherent, Create powerful bots using a guided, no-code
visually immersive, and interactive insights. graphical interface without the need for data
scientists or developers.
What is Power Pages?
Article • 01/27/2023 • 2 minutes to read

Microsoft Power Pages is a secure, enterprise-grade, low-code software as a service


(SaaS) platform for creating, hosting, and administering modern external-facing
business websites. Whether you're a low-code maker or a professional developer, Power
Pages enables you to rapidly design, configure, and publish websites that seamlessly
work across web browsers and devices.

Power Pages provides you with rich, customizable templates, a fluid visual experience
through a reimagined design studio, and a new, integrated learning hub to quickly build
sites that suit your unique business needs.

Power Pages is the newest member of the Microsoft Power Platform family. With Power
Pages, you can build sites by using the same shared business data stored in Microsoft
Dataverse that you use for building apps, workflows, intelligent virtual agents, reports,
and analytics with other Microsoft Power Platform components in your organization.
Try for free
You can try Power Pages for free to explore the features and capabilities to build your
own business websites.
Power Apps portals and Dynamics 365 portals
Power Apps portals and Dynamics 365 portals are now referred to as Power Pages. There
is no migration or upgrade process. You can use the new Power Pages design studio to
edit sites created in Power Apps. Existing tools such as the Portals Management app and
Power Platform CLI will continue to work with Power Pages.

We are currently migrating and merging the Power Apps portals documentation with
Power Pages documentation. You may continue to see some Power Pages features
referred to as Power Apps portals during this transition.

Read next
Power Pages capabilities
Power Pages capabilities
Article • 12/02/2022 • 3 minutes to read

You can quickly create and design professional and secure sites for your business with
Power Pages. This article provides an overview of key Power Pages capabilities.

Simplified authoring experience for makers


Quickly create new sites directly from the Power Pages home page by using the default
template, or choose existing industry-based starter templates.

More information: Create a site

Design studio
Makers can build powerful and engaging sites without writing a single line of code.
The new and enhanced design studio provides the following workspaces:

Pages workspace for creating, designing, and arranging webpages


Styling workspace for applying styles and themes to your site
Data workspace for creating and modifying Microsoft Dataverse tables used in
data-driven web applications
Set up workspace for administration and site management

Responsive rendering
Power Pages is based on Bootstrap, which natively provides support for building
websites that are responsive, mobile-friendly, and available in various form factors.
Advanced development capabilities for pro
developers
Makers can work with pro developers in fusion teams to extend the functionality using
Visual Studio Code and the Microsoft Power Platform CLI to create powerful business
application websites.

Read more:

Using Visual Studio Code and Power Platform CLI


Use the code editor
Add code components

Security and governance


Power Pages inbuilt security is its core. It allows organizations to securely enable access
of their business data to their users (internal or external) through Power Pages
authorization rules. More information: Power Pages security

Organizations using Power Pages can choose from various authentication


providers or allow access to site content anonymously. More information:
Configure authentication

Power Pages is hosted as Azure App Service, which has International Organization
for Standardization (ISO), System and Organization Controls (SOC), and Payment
Card Industry Data Security Standards (PCI DSS) compliance. More information:
Microsoft Trust Center
Power Pages supports modern TLS crypto standards (TLS 1.2) and has built-in
Azure DDoS protection. It also supports dynamic IP restriction to limit traffic from
bad actors and provides secure, configuration-driven mechanisms for admins to
address top web security vulnerabilities such as injection attacks, cross-site request
forgery, and server-side request forgery.

You can also configure Power Pages to use edge caching and web application
firewall (WAF) capabilities. More information: Set up Azure Front Door with portals.

Power Pages provides some helpful tools for administrators to manage the
administration and lifecycle of their sites and environments. More information: Power
Pages governance

Integration with other Microsoft Power


Platform components
Power Pages provides deep integration with other Microsoft Power Platform
components.

Dataverse enables users to securely store and manage data that's used by
business applications and your Power Pages sites. Use model-driven app constructs
like forms, views, charts, and dashboards to easily surface Dataverse data.

Power Apps enables anyone to create no-code/low-code custom mobile and web
apps to share and collect data and streamline business processes. Using Power
Apps to create an app that uses SharePoint to store content is a popular way to
quickly build basic intranet sites. Power Pages is ideal for websites focused on
external audiences that require more secure access to your business information.

Power Automate simplifies the creation of automated workflows. With Power


Pages, use Power Automate for plug-ins, workflows, automated cloud flows, or to
extend business logic and interact with data and events coming and going in and
out of Dataverse.

Power BI allows anyone to access visually immersive and interactive insights from
business data. With Power Pages, integrate with Power BI to access components
like reports, dashboards, and tiles. Use the embed capability to surface data that
sits outside of Dataverse.

Power Virtual Agents enables teams to easily create and publish AI-driven chatbot
experiences. With Power Pages, add chatbots to your external-facing websites for a
myriad of business purposes.
Sign up for a free Power Pages trial
Article • 02/14/2023 • 2 minutes to read

Power Pages offers a free 30-day trial. After a quick sign-up, you'll have access to many
of the key features of Power Pages. You can use the trial to create trial sites and test
them by using sample data, and even try out your own customer data. Learn more
about Power Pages.

To sign up for the trial

1. Go to https://powerpages.microsoft.com , and then select Try it for free.

2. Follow the onscreen guidance to enter the work or school email address, backed
by Azure Active Directory. And then, enter your country/region and phone number.
A new Microsoft Power Platform trial environment will be created for you.

3. (Optional) Choose an option that best matches your experience creating websites
for a personalized learning experience.

4. Review the available templates. For more details about each template, you can also
hover over the template, and choose Preview template. And then, follow different
views across devices to preview the template experience.

 Tip

Prefer a template that best aligns to what you want to use your site for. If
none of the business need templates match what you're looking for, choose
one of the Starter layout templates with cross-industry solutions, or choose
Blank page to customize the website from scratch.
5. After you finalize the template of your choice, select Choose this template.

6. You can provide a name for your site and site web address as needed. We make a
unique name suggestion, but you can edit the name and URL to suit your needs.

7. After you've added all required details, select Done.

8. The process will take a few moments to set up your site. After the site is created,
you'll see your new site in the design studio, where you're provided with a short
tour of the design studio features.

9. As soon as you make changes to your site, you can select Preview to preview your
site by using a web browser or by scanning a QR code on a mobile device.

10. If you revisit https://powerpages.microsoft.com and select Sign-in, you'll be


redirected to the Power Pages home page . You'll see your site listed on the
Power Pages home page.
 Tip

Your organization settings may redirect you to the organization's default


environment where you might not see the first site you created with the
above steps. If that happens, review and switch to the trial environment using
the Environment option from the top-right side of the screen.

You can either edit or preview the site right from here.

What to try
Your trial environment includes many of the same features as the paid version. The links
below guide you through some of the key features.

Use the design studio


Create and design pages
Style your site
Create a data driven web application

Additional info
To speed up the process when you create a site with a new trial environment, the site
metadata for all the templates will be preloaded and appear as website records in the
Portal Management app.
Getting started with Power Pages
The following video provides an overview of how to get started using Power Pages.
https://www.microsoft.com/en-us/videoplayer/embed/RE559Pe?postJsllMsg=true

Additional resources
Explore training resources for Power Apps portals
Watch videos on the product playlist
Power Pages Tutorials
Trial FAQ
Power Pages trial FAQ
Article • 10/12/2022 • 4 minutes to read

The Power Pages trial offers a simple and easy experience for sign-up, sign-in, and
usage. This page contains answers to frequently asked questions.

To sign up for the trial, go to the Power Pages overview page , and select Start free.

Can I convert the trial to a paid license?


Yes, you can purchase licenses through direct, credit card purchase at
https://admin.microsoft.com . Or, you can work with the Microsoft sales team to
establish a volume licensing or enterprise agreement. Visit our pricing page for more
information on pricing and purchasing.

To purchase the license using an existing account, work with the administrator of the
account to apply for licenses.

After you've applied for the license to your tenant, you can publish your environment to
production. You can remove the sample data installed in your trial environment.
However, you have to manually reset the configuration and remove any test data that
you've added. We recommend that you create a fresh environment to use for your
production environment and add the configurations you'd like to move forward with.

What are the trial limits and quotas?


The following limitations apply for the trial:

The trial environment is available to you for 30 days. After that, you can request an
extension for another 30 days.
A Power Pages site is always created as a trial. A trial site, which expires after 30
days, is useful for trying out its capabilities at no cost. After it expires, the site is
suspended and shut down. Seven days after it's suspended, the trial site is deleted.
The trial site can be converted into a production site from the Power Pages admin
center if you have the required licenses. More information: Convert a site from trial
to production
If your trial site is created in a trial environment, your trial site will only be available
until your trial environment is available. If your environment expires before the trial
site expires, you'll lose access to your trial site.
What email address can I use?
You can use a work or school email associated with your Microsoft account . To use a
personal email to start a new trial, you'll need to set up a new work or school account.
You can set up a new work or school account by signing up for a new Microsoft 365 E3
or Dynamics 365 Sales or Customer Service Trial with your personal email.

Is Power Pages available in my location?


Power Pages is available for these geographic locations:

Asia Pacific
Australia
Brazil
Canada
Europe
France
Germany
India
Japan
Switzerland
United Kingdom
United States
United States Government

I got a message "Your company doesn't allow


team members to sign up with their work
email" while signing up for a trial with my work
account. Why?
This message is shown when an administrator of a tenant has blocked users from being
able to start a new trial with their organization account. To sign up for a trial, you'll need
to set up a new work or school account. You can set up a new work or school account by
signing up for a new Microsoft 365 E3 or Dynamics 365 Sales or Customer Service Trial
with your personal email.

How do I start using the trial?


After you sign up for the trial, you'll arrive on the app's main screen. The main screen
provides links to user guides and tutorials. To learn more, visit the links in the Additional
resources section on the trial setup page.

What features are available in the trial?


Your trial includes a trial environment. You can create secure, scalable business websites
using low-code and pro developer experiences inside the trial environment.

Can I create a trial site inside my existing


environments?
If you already have necessary privileges to create or edit a site in an environment, you
can create a trial site inside of the existing environments too.

How long does the trial last?


The Power Pages trial lasts 30 days. You can convert the trial site into a production site.

Will I have to use this experience every time I


come to Power Pages?
The sign-up experience is a one-time experience to get you started with Power Pages.
After you create a site successfully the first time, in your next visit you'll be redirected to
the Power Pages home page. You can continue to create a new trial site as needed from
the home page by using Create a Site.

Can I edit an existing site by using the new


Power Pages experience?
During the first run of the sign-up experience, you need to create a trial site. After
you've successfully created the site, you can access an existing trial site (provided you
have the necessary permissions).

How long will it take for the trial site to get


created?
Creating a trial site in a new trial environment takes a few minutes. This is because the
environment created is optimized and preinstalled with the site templates. Creating a
trial site in an existing environment that doesn't have the preinstalled site templates
takes 15 to 30 minutes because the site template has to be installed before the site itself
is created.

I signed up for the trial, but I can't see the trial


site in the Power Pages home?
If you don't see your site created when you sign up for a Power Pages trial, the site
creation may have failed due to your company's tenant being in a different region than
your chosen environment. You can attempt to create another site by selecting the
Create a Site button on the Power Pages home page.
Preview features in Power Pages trial
Article • 10/12/2022 • 2 minutes to read

This article lists the upcoming preview features that will be enabled by default in your
Power Pages trial. Review the information in this page to understand what's coming up.

The following preview feature will be automatically enabled in your trial app when they
become available:

) Important

Features listed in this article are preview features.


Preview features aren’t meant for production use and may have restricted
functionality. These features are available before an official release so that
customers can get early access and provide feedback.

Visual Studio Code for Web to edit Power


Pages websites
We’ll remove the current inline code editing experience and replace it with Visual Studio
Code for Web . Developers will be able to open code in Visual Studio Code for the
Web and make changes with zero footprint experience for editing page code. This
feature will also enable paging—making changes to pages, custom CSS, inline content
snippet, header and footer template through a code editing experience.
Create a site with Power Pages
Article • 02/14/2023 • 2 minutes to read

Power Pages provides a list of templates to choose from to quickly build your site.
Customize and design your site using the new Power Pages design studio. Choose a
default template to build your site or use scenario-based templates to accelerate
creating your site.

 Tip

We've created a series of tutorials and videos for you to learn to use Power Pages,
where you start with a simple site and progressively add components and features
as your business requires. For more information, go to Power Pages tutorials.

1. Go to Power Pages .

The first time you visit the site, you'll be presented with a Try it for free button and
be able to sign up for a free, 30-day trial.

2. Select the Microsoft Dataverse environment in which to create a site.

7 Note

It is not recommended to create a site in the default environment as it is


shared across all the users in the tenant, and has a risk of sharing data with
unintentional users.

3. On the home page, select + Create a site.

4. Review the available templates. For more details about each template, you can also
hover over the template, and choose Preview template. And then, follow different
views across devices to preview the template experience.

 Tip

Prefer a template that best aligns to what you want to use your site for. If
none of the business need templates match what you're looking for, choose
one of the Starter layout templates with cross-industry solutions, or choose
Blank page to customize the website from scratch. More information: Power
Pages templates

5. After you finalize the template of your choice, select Choose this template.

6. Validate the default site name and web address that have been created, and then
select Done.
7 Note

It might take a few moments for your new site to be provisioned. You'll be
able to modify the name and web address later.

7. After the site is created, you can begin to edit or preview your site.

Additional info
To speed up the process when you create a site with a new trial environment, the site
metadata for all the templates will be preloaded and appear as website records in the
Portal Management app.
Discover Power Pages for website creation
The following video is an overview of using Power Pages to create websites.
https://www.microsoft.com/en-us/videoplayer/embed/RE557dn?postJsllMsg=true

Next steps
Use design studio
Use design studio
Article • 12/17/2022 • 2 minutes to read

The Power Pages design studio is an intuitive interface that enables low-code makers to
build and configure rich business web apps.

7 Note

To use the design studio, you will need to be assigned the system administrator
role in the same Microsoft Dataverse environment as your site.

1. Go to Power Pages .

The first time you visit the site, you'll be presented with a Get started button and
be able to sign up for a free, 30-day trial.

2. Select your site, and select Edit to launch the design studio.

3. If you don't have a site created, select Create a site to create your website.

The design studio has four marquee experiences—called workspaces—that focus on


specific user jobs:

Pages workspace enables you to design and build webpages with in-context
editing and add content with no-code and low-code widgets such as text, image,
video, Power BI reports, lists, forms, and others. Learn more about the Pages
workspace.

Styling workspace lets you apply global site styles. You can apply corporate
branding updates, and review the changes in the preview on the right side of the
app window. Styling offers 13 preset themes. For each theme, you can customize
the color palette, background color, font styles, button styles, and section margins.
Learn more about the Styling workspace.

Data workspace lets you easily model, visualize, and manage business data for the
site with tables, forms, and lists. You can create and edit Dataverse tables for the
site and create new or edit existing model-driven forms and views. Changes made
in the Data workspace are stored in the Common data store. Learn more about the
Data workspace.

Set up workspace enables site administrators to configure site settings such as


identity providers, security and permissions, go-live configurations, and
progressive web app (PWA) settings. Learn more about the Set up workspace.

Page editing options


While working on designing and building your page, you can switch to the code editor,
zoom in (+), zoom out (-), or Reset the zoom to default size of the page in the design
studio.

Preview your site


When you're done building, preview your site by using the Preview option. You can
preview on desktop or mobile. Selecting Desktop opens the site in a new web browser
tab. Scanning the QR code with your mobile device opens the site on the mobile web
browser.

Accessing the Portal Management app and


sync
For advanced configurations that aren't available in the Power Pages design studio, the
Portal Management app is accessible from the overflow menu.
To reflect changes made to the site from the Portal Management app to the Power
Pages design studio, select Sync in the upper-right corner of the screen.

Next steps
Create and manage pages
Customize pages
Style your page
Power Pages templates
Article • 02/14/2023 • 2 minutes to read

When you create a new Power Pages site, you can choose a starter layout template to
build your site, or you can choose scenario-based templates to accelerate creating your
site.

Starter layout templates


The starter layout templates provide building blocks for you to create custom sites.
There are multiple variations of this template, each with different layout, images, and
colors that can be used as-is or customized to meet your needs.

More information: Starter layout templates

After school program registration template


The after school program registration template is designed to show you the
capabilities of a registration site to create events and allow stakeholders to register.

More information: After school program registration template

Schedule meetings with a financial institution


template
The schedule meetings with a financial institution template is designed to show you
the capabilities of a scheduling template. View availability and schedule a meeting
online.

More information: Schedule meetings with a financial institution template

Building permit application template


The building permit application template is designed to show you the capabilities of an
application submission site to allow customers to submit applications and receive email
notifications on the status of their application.

More information: Building permit application template

Blank page template


The blank page template allows you to create a custom website. This template includes
a home page with a header, footer, and a single section. Use this template to build a site
to your exact specifications.

More information: Blank page template


Starter layout templates
Article • 02/14/2023 • 2 minutes to read

The starter layout templates provide building blocks for you to create custom sites. Each
template has different layout, images, and colors that can be used as-is or customized
to meet your needs.

Makers
Makers are able to use the design studio to modify the templates for their specific
needs.

The following are the pages, forms, and customizable tables provided in each starter
layout template. These components can be modified to align with your specific project
needs.

Pages
All starter layout templates contain the following pages.

Page Description

Home page Customer homepage

Subpages Customer pages with standard components

Contact us Contains a feedback form

Search results Contains a keyword-based search

Forms and tables


The templates use the following forms linked to Dataverse tables.

Table Table form name* Page form name**

Feedback simple contact us form Contact us

* The form name as it appears associated to the table in data workspace.

** The form name as it appears when added to a page as a component.

Table information

Table name Schema name Description

Feedback Feedback Feedback form

Professional developers
This template includes custom code and has been styled to follow best-in-class UX
patterns. For custom code editing, use the Microsoft Power Platform CLI to download
the site metadata, and use Visual Studio Code to view and modify the source code.

See also
Tutorial: Add a page to your Power Pages site
Create and design pages
After School template
Article • 12/17/2022 • 2 minutes to read

The After School Program template is designed to show you the capabilities of a
registration site. We've chosen the example of registering for after school classes. This
template might be useful for any industry or organization wishing to create a
registration portal.

Users
The template is designed for two key users:

The parent who wants to register their children for after-school classes.

The school representative who's looking to maintain a list of courses, edit existing
courses, and add new courses to the catalog.

Parents
As a parent who is looking to register for classes, you can:

Register for an after-school class from the list of available classes.

Modify the schedule.

Add and edit attendee information.

Receive emails with information about the class, which you can use to modify your
registration.
School representatives
As a representative of the school, you can:

Maintain the course catalog.

Add and modify existing classes.

Makers
Makers are able to use the design studio to modify the template for specific needs.

The following are the pages, basic forms, and customizable tables provided in the
template. These can be modified to align with your specific project needs.

Pages

Customer pages
The following pages are used by parents.

Page Description

Home Search for an event, and view courses and course details based on specified
criteria.

Unregister Unregister a previously registered child.


Attendee

Add Attendee Set up a profile for a child.


Profile

Attendee Input a child's information for the purposes of setting up an attendee


Information profile.

My Registrations View registration for an attendee profile.

Registration Confirm that a child is successfully registered for a course.


Success

View Course View selected course details.


Details

Admin pages
The following pages are used by School Representatives:

Page Description

Courses Home A list view of the courses based on the filters specified.

Create Course Create a course.

Duplicate Course Duplicate a course from an existing course.

Delete Course Delete a course.

Edit Course Edit a course.

Forms and tables


The template uses the following forms linked to Dataverse tables.

Table Table form name* Page form name**

contact Add child profile Add Attendee

msdynce_course Portal Course Form ASP Create Course

msdynce_course Portal Course Form ASP Edit Form

msdynce_course Delete a course form Delete Course Form

contact Edit child profile Edit Attendee

msdynce_registration Registration unregister form Unregister Attendee

*The form name as it appears associated to the table in data workspace.

**The form name as it appears when added to a page as a component.

Table information

Table Schema name Description


name

Contact contact Contact details for the child's profile.

Course msdynce_course Course details such as course name, description, type,


instructor, category, grade level, start date, start time, end
date, end time, registration deadline, capacity, % filled,
status.
Table Schema name Description
name

Registration msdynce_registration Course registration details.

Professional developers
This template includes custom code and has been styled to follow best-in-class UX
patterns. For custom code editing, use the Microsoft Power Platform CLI to download
the site metadata, and use Visual Studio Code to view and modify the source code.
Book a Meeting template
Article • 12/17/2022 • 3 minutes to read

Book a Meeting is designed to show you the capabilities of a scheduling template.


We've chosen the example of scheduling with a bank representative. The scheduling
principle will apply to any industry or organization looking to stand up a scheduling
portal.

Users
The template is designed for two key users:

The banking customer who wants to book an appointment with the bank
representative.

The bank representative who's looking at the list of appointments and managing
their calendars and appointments.

Bank customers
As a customer of a bank, you can do the following seamlessly:

Book an appointment with a specific bank representative at a specific bank branch


and select your preferred time.

Cancel and reschedule your appointments via links provided in the email booking
confirmation.
Bank representatives
As a bank representative, you can do the following seamlessly:

Manage your schedule.


Create, update, and manage appointments.
Block your schedule to indicate time away and other commitments.
Receive email notifications for appointment changes.

Makers
Makers are able to use the design studio to modify the template for specific needs.

The following are the pages, basic forms, and customizable tables provided in the
template. These components can be modified to align with your specific project needs.

Pages

Customer pages
The following pages are used by bank customers.

Page Description

Home Customer homepage. Provides a link to book a meeting with a financial


consultant.

C2 Book an Book an appointment with a financial consultant using a multi-step process by


Appointment inputting service(s) desired, location, and availability.

C2 Cancel Cancel appointment with a financial consultant.


Appointment

C2 Cancel Confirmation page for successfully canceled appointment(s).


Confirmation

C2 Reschedule Reschedule a previously booked appointment with a financial consultant.


Appointment

Search Keyword-based search.

Admin pages
The following pages are used by bank representatives.
Page Description

C1 Home Sign in to view schedule of appointments by day or by week.

C1 Specialties Select specialties that bank customers can schedule an appointment


to discuss.

C1 Cancel Appointment Cancel an appointment with a customer.

C1 Edit Appointment Edit an appointment with a customer.

C1 Edit Unavailability Edit availability to meet with customers.

C1 Reschedule Reschedule a previously booked appointment with a customer.


Appointment

Create Unavailability Create unavailability via a calendar block.

Profile Details about a bank representative, such as specialties.

getAllAppointments Query for a bank representative to retrieve all appointments.

Access Denied Displayed when a bank representative doesn't have access.

Page Not Found Displayed when the user's search criteria isn't matched.

Forms and tables


The template uses the following forms linked to Dataverse tables.

Table Table form name* Page form name**

contact BAM C1 Specialties Subgrid BAM C1 Select Specialties

appointment C1 Appointment Create C1 Appointment Create

appointment Appointment C1 Cancel Appointment

appointment C1 Appointment Create C1 Cancel Calendar Block

msdyn_appointmentrequest Calendar Block C1 Create Calendar Block

appointment Appointment C1 Edit Appointment

appointment Appointment C1 Reschedule

appointment Appointment C1 Reschedule Appointment

contact BAM C1 Simple Specialties C1 Simple Specialties

contact BAM C1 Specialties Subgrid C1 Specialties


Table Table form name* Page form name**

contact BAM C1 Image Upload C1 UploadImage

msdyn_appointmentrequest Cancel Appointment C2 Cancel Appointment

feedback simple contact us form simple contact us form

account Account testform

*The form name as it appears associated to the table in data workspace.

**The form name as it appears when added to a page as a component.

Table information

Table display name Schema name Description

Appointment Appointment Scheduling for bank representatives.

AppointmentRequest msdyn_appointmentrequest Capture appointment request and actions


(canceling, editing appointment) for
customers.

Contact contact Capture contact information of bank


representative.

Feedback feedback Capture feedback from customer.

Account Account Capture customer information.

Professional developers
This template includes custom code and has been styled to follow best-in-class UX
patterns. For custom code editing, use the Microsoft Power Platform CLI to download
the site metadata, and use Visual Studio Code to view and modify the source code.

See also
Tutorial: Add a page to your Power Pages site
Create and design pages
Building permit application template
Article • 12/17/2022 • 3 minutes to read

The Building Permit Application template is designed to show you the capabilities of an
application submission site. We've chosen the example of a building permit application
site. This template might be useful for any industry or organization wishing to create an
application submission portal.

Users
The template is designed for three key users:

A resident customer user who wants to view the permit types and requirements.
A resident customer who has created a profile and wants to apply for a permit.
Web role assigned to this user: "[Building Permit] C2 – User (Default)"
A government permit administrator who is responsible for managing the status of
the building permits. Web role assigned to this user: "[Building Permit] C1 - Admin
Unauthenticated Resident"

Resident customer
Resident customers' capabilities vary based on whether or not they've created a user
profile. Residents without a user profile are unauthenticated users and residents who
have created user profiles are authenticated users.
Unauthenticated
As an unauthenticated resident, you can:

View the different permit types.


View the description and timeline for each permit type.
View the application process information​.

Authenticated
As an authenticated resident, you can:

View the detailed requirements for submitting the application online.


Submit a permit application online.
Track the status of a submitted application.
View (read-only) submitted permits.
Withdraw submitted permits.
Receive email notifications.

Government permit administrator


As a government permit administrator, you can:

View the submitted applications.


View a snapshot that summarizes the statuses of the submitted applications.
Edit the status of the submitted applications.
Provide status updates to residents on the status of their application using an
automatic email that gets triggered when the application status changes.

Makers
Makers are able to use the design studio to modify the template for specific needs.

The following are the pages, basic forms, and customizable tables provided in the
template. These components can be modified to align with your specific project needs.

Pages

Customer pages
The following pages are used by resident customers.
Page Description

Home Resident homepage. Contains links to common permits, the associated permit
application, and the option for the residents to sign-in.

Default Contains the application steps for a permit.


Permit

Summary Contains the sections of the permit application.

View My Contains a summary of applications submitted by a resident and the associated


Permits status.
Allows a resident to view their permit application or withdraw their submitted
application.

Admin pages
The following pages are used by the government permit administrators.

Page Description

[Admin] Contains a snapshot summarizing the status of each submitted application.


Home Page Contains a table view of the submitted applications so the administrator
can edit the statuses accordingly.

Access Displayed when an administrator doesn't have access.


Denied

Page Not Displayed when the user's search criteria isn't matched.
Found

Forms and tables


The template uses the following forms linked to Dataverse tables.

Table Table form Page form name** Form Description


name*

Application Default [Building Permit] Default - Contains the application questions of


Permit View Permit the permits that include:
User Information
Permit Description
Document Upload
Acknowledgment
Review Request
Table Table form Page form name** Form Description
name*

Application View Permit [Building Permit] C1 Admin - Submitted permit applications


View Default Permit

Application Permit [Building Permit] C1 Admin - Status update of submitted


Status Update Status applications
Update

Permit Information N/A N/A

Permit Information N/A N/A


Steps

* The form name as it appears associated to the table in data workspace.

** The form name as it appears when added to a page as a component.

Table information

Table Schema name Description


name

Application bp_DefaultApplication Contains the application steps for the default permit

Permit bp_Permit Contains the list of common permits

Permit bp_PermitSteps Contains an overview of the sections of the permit


Steps application

Professional developers
This template includes custom code and has been styled to follow best-in-class UX
patterns. For custom code editing, use the Microsoft Power Platform CLI to download
the site metadata, and use Visual Studio Code to view and modify the source code.

See also
Tutorial: Add a page to your Power Pages site
Create and design pages
Dynamics 365 templates
Article • 02/23/2023 • 2 minutes to read

Dynamics 365 templates are available for your Power Pages sites in environments
containing Dynamics 365 applications, including:

Dynamics 365 Sales


Dynamics 365 Customer Service
Dynamics 365 Field Service
Dynamics 365 Marketing
Dynamics 365 Project Operations
Dynamics 365 Supply Chain Management
Dynamics 365 Intelligent Order Management

7 Note

Editing capabilities in Power Pages design studio are not available for
Dynamics 365 templates, see known issues for alternatives.

Customer self-service
The customer self-service site gives customers access to self-service knowledge and
support resources. Customers can also view the progress of their cases and provide
feedback.

More information:

Manage knowledge categories


Partner
The partner site template allows organizations with resellers, distributors, suppliers, or
partners to have real-time access to every stage of shared activities.

7 Note

Field Service and Project Operations packages must be installed in your Dynamics
365 environment to enable respective options. For more information, see Integrate
Project Service Automation and Integrate Field Service.

) Important

There's a limit of only one site for this type of template that can be created per
Dynamics 365 environment.

More information:

Site limits for site template type


Use Opportunity record in Partner site
Configure web roles for a Partner site
Field Service integration
Project Service Automation integration

Employee self-service
An employee self-service site creates an efficient and well-informed workforce by
streamlining common tasks and empowering employees with a definitive source of
knowledge.
Community
The community site template uses peer-to-peer interactions between customers and
experts. Use this template to organically grow the catalog of available knowledge via
knowledge base articles, forums, and blogs, and the feedback provided through
comments and ratings.

More information:

Engage with Community


Manage forums with Community
Manage blogs with Community
Manage ideas with Community

Supply chain management customer portal


The supply chain management customer portal site template lets you build externally
facing business-to-business (B2B) websites for sales order processing. Your customers
can create and view orders to the associated Dynamics 365 for Supply Chain
Management environment. You can modify this template to represent the company's
brand, add more functionality, and change the user experience.

) Important

There's a limit of only one site for this type of template that can be created per
Dynamics 365 environment.

More information:

Customer portal for Dynamics 365 Supply Chain Management application.


Site limits for site template type

Modern community
The modern community site template invites customers to provide suggestions, creating
crowd sourced portfolios of outside-in ideas. Customers can collaborate on a social
scale, rallying behind suggestions from others to shape the future of the products they
use.
More information:

Customer Service Community

Field service customer


The field service customer site template allows your customers to book new
appointments, manage existing appointments, track their technician, and provide
feedback.

This template provides your customers with automated service reminders and
notifications that include estimated technician arrival times, so that customers can better
plan for their time around service visits.

) Important

There's a limit of only one site for this type of template that can be created per
Dynamics 365 environment.

More information:

Field Service customer portal

Order returns

7 Note

This template is a preview offering.


This template integrates with the Dynamics 365 Intelligent Order Management
application. Add this template to an existing customer website or use it to create a new
site. Customers can return their orders, view the status of their return request, view
return history, and monitor their refund status.

More information:

Dynamics 365 Intelligent Order Management


Blank page template
Article • 12/17/2022 • 2 minutes to read

The blank page template allows you to create a custom website. This template includes
a home page with a header, footer, and a single section. Use this template to build a site
to your exact specifications.

Makers
Makers are able to use the design studio to modify the templates for their specific
needs.

See also
Tutorial: Add a page to your Power Pages site
Create and design pages
Manage sites
Article • 10/12/2022 • 2 minutes to read

Your Power Pages home serves as the central hub for managing all your sites. Here you
can view a list of all sites in your selected environment and take action for each website.

For each website in your environment, the site card provides you details about the site
such as:

Site name and web address

Site creator's name

Suggested next steps, as you build and edit your site

A thumbnail that captures a snapshot of your site. If your website is authenticated,


this thumbnail will show the sign-in page that your users will see.

Each site card also links to actions such as:

Edit, which redirects you to the design studio experience.

Preview, which gives you a glimpse of how your users will view the website.

Share, which creates a link you can send others to preview the site.
Manage, which links you to the Power Apps portals admin center for the site.

Delete, which deletes the site and removes it from the site list.
How to use the learning hub
Article • 10/12/2022 • 2 minutes to read

With the learning hub, you can explore documents, videos, and other resources that will
help make it easier for you to create the website you want.

To access the learning hub, go to the Power Pages home page and select Learn on the
left pane.
Power Pages community
Article • 06/15/2022 • 2 minutes to read

Join the Power Pages Community , where you can interact with other users, the
Microsoft Community team, and discover what’s new and next. With blogs, videos, app
samples, technical forums, the latest news and announcements, and more, it’s your way
to ask questions, get answers, and stay connected.

See also
Power Pages ideas
Plan your Power Pages project
Article • 12/17/2022 • 5 minutes to read

This article serves as guidance for enterprise teams working on projects and may go
beyond the scope of a maker creating a site for a specific business need. Creating a plan
with clear outcomes and expectations is always good practice regardless of the size of
your project.

7 Note

Power Pages is built on a foundation of Power Apps portals. Many of the tools and
methods used to configure Power Pages utilize the functionality of Power Apps
portals. For more information, see Introduction: Planning a Power Apps project.

As you begin to plan your first Power Pages project, consider the following questions:

Who will use my site?


What will my users do?
What text and content the site will have?
What is shown publicly and what is secured?
What will users use to sign in or register?
How the data will be segmented after users sign in?
How will my users find my site?

Answering these questions will help guide discussions as you embark on your project.

Audience
Our default template has basic web pages configured to help you get started. These
template pages aren't secured and contain sample text and images for inspiration only.
As you develop content and data experiences, you may wish to require authentication to
access certain pages. Customize your Power Pages site to meet your organization's
unique needs.

Anonymous users
Pages that don't require a sign-in are referred to as anonymous or unauthenticated.

Authenticated users
Authenticated pages allow you to specify the exact data your customer sees or modifies.
To make a site Authenticated-only, set page permissions on the home page properties.
This setting will require users to register and sign in before seeing content on any page
of the site. For more information, see Page permissions.

Any authenticated user on your site is tied to a contact record in Dataverse. Remember,
your site authentication doesn't dictate your authorization. Your authentication is simply
a digital identifier, which grants access to specific pages.

Access
Many sites today include a sign- in or register experience where users either create a
new sign-in profile or use an existing sign-in to access site pages. These sign-in
credentials could be tied to their social accounts or their corporate credentials. These
credentials are examples of Identity Providers(IdP). Power Pages works with many
industry standard Identity Providers.

Power Pages utilizes the Power Apps portals capabilities for authentication. View the full
list here: Overview of authentication in Power Apps portals in the Power Apps portals
documentation.

Internal users
Users within your organization should use Azure Active Directory (Azure AD). Using
Azure AD provides a seamless sign-in experience via use of an active session. Using
Azure AD also aids in site security. When a user leaves the organization, their Azure AD
account is disabled and they can no longer access the protected pages on your site. For
your convenience, all Power Pages sites come with Azure AD pre-configured.

 Tip

Rename the login button from Azure AD to something more friendly like "Contoso
Employees" or "Contoso Work Account". Create a Site Setting named
"Authentication/OpenIdConnect/AzureAD/Caption" and specify the value you wish
to display. Use the Portal Management app to create and modify Site Settings.

External users
External users should be using an external identity provider. Having a single external
identity provider can help onboard users consistently across multiple sites or apps. Your
users can access these using a single set of credentials for their convenience. Power
Pages offers several options.

Azure Active Directory B2C (Azure AD B2C) is one option you might consider for an
identity provider. Integrate your custom or corporate identity systems. You can enable
the use of existing social accounts like Microsoft Account, LinkedIn, Google, including an
option you set to allow a sign-in profile based on an email address.

You can also customize the look and feel to match your needs, see more in: Customize
the Azure AD B2C user interface in the Power Apps portals documentation.

7 Note

We recommend that you disable local sign-in providers. For more information, see
Get started with configuring your authentication in the Power Apps portals
documentation.

Security
Power Pages allows you to create secure sites.

You can protect any page and data on your site. For more information, see Power Pages
Security.

You can set table permissions to configure web roles for authenticated and
unauthenticated audiences. For more information, see Assign table permissions.

7 Note

Consider other scope types before using global scope for table permissions.

You can allow open registration or use identity providers to validate email addresses. For
more information, see Provide access to external audiences.

Data modeling
The data workspace allows you create tables, views and forms which are used to create
pages with list and form components that allow users to interact directly with data
stored in Microsoft Dataverse. You will need to configure the appropriate table
permissions for users to be able to interact with the data.
Anonymous users data design
You don't need to do anything specific in the data design to grant read access. If you
assign global table permissions for the anonymous web role, all the data will display in a
list or form when they access the page.

Contextual authentication users data design


Authenticated users on your site are represented by a corresponding contact record
once they sign in. There's a native, built-in relationship between the accounts table and
each contact record. You can make modifications to this association if you choose. For
more information about contextual data security, see Power Pages security.

Recommendations for your first project

Separate development from production


While Power Pages offers the ability to install more than one site in each environment,
we recommend creating a separate environment from production to create and test
new features. For more information, see Go live checklist.

Conduct user testing


We strongly recommend creating a stable test site for internal stakeholders and early
external testers. A test site will allow you to fine tune your development efforts.

Secure a custom domain


Creating a custom domain for your go live is recommended. Reach out to your internal
teams to secure one in advance of your go live date.

Requirements for the SSL Certificate that will be required in order to set up your custom
domain. For more information, see Custom Domains in the Power Apps portals
documentation.

Use our Go Live Checklist


We've created a Go live checklist as guidance to plan for a successful live launch of your
site.
See also
Introduction: Planning a Power Apps project
Overview of designing and building
sites
Article • 12/17/2022 • 2 minutes to read

The Power Pages design studio allows you to quickly create and edit powerful websites.

The design studio has four marquee experiences—called workspaces—that focus on


specific user jobs:

Pages workspace enables you to design and build webpages with in-context
editing and add content with no-code and low-code widgets such as text, image,
video, Power BI reports, lists, forms, and others. Learn more about the Pages
workspace.

Styling workspace lets you apply global site styles. You can apply corporate
branding updates, and review the changes in the preview on the right side of the
app window. Styling offers 13 preset themes. For each theme, you can customize
the color palette, background color, font styles, button styles, and section margins.
Learn more about the Styling workspace.

Data workspace lets you easily model, visualize, and manage business data for the
site with tables, forms, and lists. You can create and edit Dataverse tables for the
site and create new or edit existing model-driven forms and views. Changes made
in the Data workspace are stored in the Common data store. Learn more about the
Data workspace.

Set up workspace enables site administrators to configure site settings such as


identity providers, security and permissions, go-live configurations, and
progressive web app (PWA) settings. Learn more about the Set up workspace.

Sites created using Power Apps


Sites that were created using Power Apps can be edited using the design studio. More
information: Power Pages design studio and Power Apps portals Studio.

Easily edit sites in Power Pages design studio


The following video provides an overview of using the various workspaces to build a
powerful website.
https://www.microsoft.com/en-us/videoplayer/embed/RE557dy?postJsllMsg=true
Dataverse and Power Pages
Article • 01/12/2023 • 2 minutes to read

When creating a site, makers often use a database to store records related to business
information. Microsoft Power Platform's cloud-based data service, Dataverse, stores
information like a traditional database, but with added benefits such as security features,
analytics, and automation.

You can build applications—including Power Pages sites—that are connected to


Dataverse.

Data workspace
Makers are able to create and modify Dataverse tables directly in the design studio by
using the data workspace.

Dataverse gives makers the ability to use Power Apps to create model-driven apps and
to work with data using a view of data records in a grid or list. Makers can then use a
form to add, update, and view each record.

Power Pages sites are unique, but they have components that use these model-driven
app views and forms as a foundation to build interactive, data-driven webpages.

In data workspace, a maker can use pre-existing or new Dataverse model-driven app
views to build list components and pre-existing or new Dataverse model-driven app
forms to create basic or multistep form components on pages.

See also
Create and modify tables
Create and modify views
Create and modify forms
Create and design pages
Article • 12/17/2022 • 2 minutes to read

A page in Power Pages is a webpage: a container for content that's identified by a


unique URL in a website. A page is one of the core objects of the website. The parent
and child relationships between pages build the hierarchy of a website.

Create a page
The Pages workspace enables you to design and build webpages with in-context editing
and add content with no-code and low-code widgets such as text, image, video, Power
BI reports, lists, forms, and others.

1. Open the design studio to edit the content and components of your Power Pages
site.

2. On the left pane, select Pages, and then select + Page.


3. Choose a page from standard layouts, or choose a custom layout.

4. By default, the new page will appear in the Main navigation section and there will
be a link on the default navigation of the site. If you unselect the add page to
main navigation option, the page will appear the Other pages section. The page
will be accessible from a URL but will not have a link on the default navigation.

For detailed information on how to create custom page templates, go to Create


and manage page templates and Store source content by using web templates in
the Power Apps documentation.

5. Add content and components to your page. For more information, go to


Customize pages.

Preview a page
You can preview your site by selecting Preview from the command bar. Select Desktop
to preview your page in a browser, or scan the QR code to view the page on a mobile
device.
Next steps
Customize pages

See also
Tutorial: Add and design a page
Customize webpages with design studio
page editor
Article • 02/03/2023 • 2 minutes to read

After adding the webpages you need and managing their hierarchy in the site map, you
can add various components. The WYSIWYG design studio page editor is part of the
Pages workspace. Use the editor to add and edit the components you need within the
canvas.

Using the editor


To use the editor:

1. Open the design studio to edit the content and components of the portal.

2. Go to the Pages workspace.

3. Select the page where you'd like to add the component or section.

4. To add a section, hover over any editable section area, and then select the plus
sign (+). You can then choose between six section layout options.

5. To add a component, hover over the section where you'd like to place the
component, and then select +. You can then choose between the available
components.
6. To delete a component, choose the component on the canvas and then select
Delete.

For a more immersive editing experience, you can use the full-screen editing mode by
selecting the double arrow icon in the upper-right corner of the editor. You can also
switch to Visual Studio Code, zoom in (+), zoom out (-), or Reset the page design
canvas view back to 100%.

All sections and components allow for in-context editing. You can edit any section or
component directly from the canvas.

7 Note

You cannot delete the header or footer in the Pages workspace. See Web
templates for information on creating custom page layouts.
For sites created using Power Pages prior to September 23, 2022 there is a
known issue related to themes. More information: Adjusting the background
color for your Power Pages site

See also
Add text
Add button
Add image
Add video
Add spacer
Add Power BI
Add list
Add form
Add IFrame
Add multistep form
Edit code with Visual Studio Code for the Web
Structure site map
Edit site header
Article • 02/03/2023 • 2 minutes to read

Makers can establish their Power Pages site's brand by modifying their site's header
using the Edit site header feature. Using this feature, makers can:

Update the site's title and logo.


Provide accessible alt text for logo images.
Change colors and fonts to reflect their organization's branding.
Preview their site's responsive layout.

From the Pages workspace, hover over the header component and select the Edit Site
Header button.

Editing options will appear within a pop-up window inside the Pages workspace.

Title and logo


In the Title + logo section of the Edit site header pop-up window, makers can modify
their site's title and update or remove the site logo.
Enter your text in the text box under the Site title label to edit the site's title.
Use the toggle switch next to the Site logo label to remove the logo from the
header completely.
Select the Upload image button under the Site logo label and follow the prompts
to add the image of your choice.
Use the text box under the Alt text label to provide alternative text for your site
logo.

Styling
To style your header, select the Styling menu option from the side navigation links
inside the Edit site header pop-up window.

Update brand colors


Makers can choose from various options to add brand colors to their site's header.
Choose the colors for your site's header by selecting each of the circles under the
Brand colors label.
Select the colored square next to the Header background label to choose which
brand color will serve as your header's background.
Choose the > symbol next to Title and Site Navigation below the Fonts label to
expand the section and choose a weight, font, color, and size for each element.

Layout
To preview your site's responsive layout, select the Layout menu option from the side
navigation links inside the Edit site header pop-up window.
Use the + and - controls to modify the display size.

Customize the site header


The header contains three underlying content snippets, which use Liquid.

Content snippet Liquid syntax

Site name {{ snippets['Site name'] }}

Logo URL {{ snippets['Logo URL'] }}

Logo alt text {{ snippets['Logo alt text'] }}

For more information on content snippets, see Content snippets.

When customizing the header, if someone has modified the Liquid code, these changes
must be synchronized. Changes won't reflect in studio until the attribute values in the
underlying content snippets are updated to reflect these changes.

7 Note

If the values for any of these snippets aren't modified, makers will see the following
message in the studio:
Your updates may not show on the site because of customizations to the code
made by someone in your org.

For information on how to update the Liquid code and resolve this issue, see
Modifying the header in Portal Management App.

See also
Add text
Add button
Add image
Add video
Add spacer
Add Power BI
Add list
Add form
Add IFrame
Add multistep form
Edit code with Visual Studio Code for the Web
Structure site map
Sections
Article • 12/17/2022 • 2 minutes to read

Use sections to define a structure for your page and arrange portal components. Add
portal components inside the sections you create to meet your requirements.

Adding a section
1. Open the design studio to edit the content and components of your page.

2. Select the page you want to add the section to.

3. Hover over any editable canvas area, and then select the plus sign (+).

You can then select between the following six section layout options.

Editing a section
After you've added a section, selecting the section will open the properties bar and
allow you to configure the section's properties.

Property Description

Background Change the color of the background according to the color palette for the selected
styling template.

Layout Change the layout of the section after you add it to the page. You can select a new
layout pattern from a predefined set of columns and widths.

Alignment Align the content in the section.


Property Description

Others Choose an option to duplicate the section, move it up or down within the page, or
delete the section entirely.
Add text
Article • 02/21/2023 • 2 minutes to read

Use a text box component to add text to your page.

Add a text component


1. Open the design studio to edit the content and components of your page.

2. Select the page you want to edit.

3. Select the section you want to add the text component to.

4. Hover over any editable canvas area, then select the Text icon from the component
panel.

5. Enter your custom text in the box.

Edit a text control


After a text control is added, selecting the text control will open the properties bar
where you can configure its properties.

Property Description

Style Choose the following text styles for the text box:

Title
Heading 1
Heading 2
Heading 3
Subheading 1
Subheading 2
Paragraph
Small text

Format Style the selected text as bold, italics, or underlined.

Alignment Align the text in the component.

Hyperlink Link selected text to a URL or a page within the same site.

Color Select the text color based on the defined color palette.

Others Choose an option to duplicate the section, move it up or down within the page, or
delete the text component entirely.

Create a link within a Text Component


1. Select the text you'd like to link.

2. Choose the link button from the Text Component toolbar.

3. Fill out the fields.

Field Description

Display The text to display. The selected text is populated by default.


Text
Field Description

Destination Link to a URL - provide a URL.


Link to a page - select a page within the site.

Link Style Overrides the global link styles (set in the Styling workspace) for a specific
link. By default, the link style matches the styles of the surrounding Text
Component.

Edit or remove a link


To edit an existing link, select the link and choose Edit Link.

To remove an existing link, select the link and choose Remove Link.
Add a button
Article • 12/17/2022 • 2 minutes to read

Use a button to provide an interactive area to redirect the user to.

To add a button:

1. Open the design studio to edit the content and components of the portal.

2. Select the page you want to edit.

3. Select the section you want to add the button component to.

4. Hover over any editable canvas area, then select the Button icon from the
component panel.

5. Specify the button label. This label will show up on the button component itself.

6. Select whether the button will redirect a user to a specified URL or to a page within
a Power Pages site.

7. Select the button, and editing options will appear.

Using the editing options, you can:

Edit the button label and destination of a URL or another page.

Select a style between a primary or secondary button style.


Select the horizontal alignment you want.

Define the minimum width and height of button.

Duplicate the button, move it up or down within the section, or delete the
button.
Add an image
Article • 12/17/2022 • 2 minutes to read

Use the image component to add images to your portal page.

To add an image:

1. Open the design studio to edit the content and components of your page.

2. Select the page you want to edit.

3. Select the section you want to add the image component to.

4. Hover over any editable canvas area, then select the Image icon from the
component panel.

5. You can now upload an image, use an external URL, or use template images (if
available).

Option Description

Upload Select this option if you want to select an existing image or upload a new one. If
image you want to select a previously uploaded image, choose it from the Select image
list. To upload a new image, select Upload image. All the uploaded images are
included in the image library, which you can select again through the Select
image list.

External Select this option if you want to upload an image from an external URL. Enter the
URL URL in the External URL field. Only secured links are accepted—that is, https:// is
mandatory. If you have images stored in your content delivery network, you can
provide the link in this field.

6. To format your image, select it and a menu with editing options will appear:

Select a new image


Configure the alignment

Add alt text

Duplicate the image, move it up, move it down, or delete it

7. You can also adjust the size of the image by selecting it and adjusting the height
and width.
Add a video
Article • 12/17/2022 • 2 minutes to read

Use the video component to embed videos on your page.

Adding a video
1. Open the design studio to edit the content and components of your page.

2. Select the page you want to edit.

3. Select the section you want to add the video component to.

4. Hover over any editable canvas area, then select the Video icon from the
component panel.

5. You can select the video origin and enter the URL.

7 Note

Some videos might be configured to disallow being embedded on external sites.


These videos might not be displayed on your page.
Editing a video component
After a video component is added, selecting the video component will open the
properties bar, where you can:

Change video source

Change the alignment

Format the video by using the following options.

Option Description

Start time Defines the start time of the video.

Show player Enables a user to see the video player control buttons, including start,
controls stop, and forward controls.

Autoplay Allows the video to automatically play when the page is rendered.

Loop Allows the video to run in a continuous loop.

You can select the video component and drag to resize height and width.

You can choose other options to duplicate the video control, move it up or down
within the section, or delete the video.
Add a spacer
Article • 12/17/2022 • 2 minutes to read

Use a spacer to add space between sections on your page to allow for different layout
and design options.

1. Open the design studio to edit the content and components of your page.

2. Select the page you want to edit.

3. Select the section you want to add the spacer component to.

4. Hover over any editable canvas area. From the component panel, select ... to
display other component options, then select the Spacer icon.

5. To format the spacer, select the spacer object.

Option Description

Background Changes the color of the background according to the color palette for the
selected styling template.

Spacer Modifies the spacer height. By default, spacer width is set to the column
height width of the section.

Ellipsis Provides options to duplicate the spacer, move it up or down within the
section, or delete it entirely.
Add a Power BI component
Article • 12/17/2022 • 2 minutes to read

You can add a Power BI component on a page to display Power BI dashboards and
reports on your portal.

Power BI must be enabled before you begin adding Power BI components. For more
information, see: Set up Power BI integration.

To add a Power BI component to a page


1. Open the design studio to edit the content and components of your page.

2. Select the page you want to edit.

3. Select the section you want to add the Power BI component to.

4. Hover over any editable canvas area, then select the Power BI icon from the
component panel.

5. Select Edit to configure the appropriate properties to display your Power BI


dashboard.
For detailed information, go to Add Power BI in the Power Apps documentation.

6. You can select More options (...) you to duplicate the component, move it up or
down within the section, or delete it.
Add a list
Article • 02/03/2023 • 3 minutes to read

A list is a data-driven configuration used to render a list of records without the need for
a developer to surface the grid in the portal. Lists use Dataverse views to display records
on the portal.

A list displays data in a grid view on Power Pages sites. Lists on pages are created from
Dataverse table views. Dataverse table views can be created by using the Data
workspace or from model-driven apps created in Power Apps. You can use them on
pages or with forms to build a complete web application.

 Tip

We've created a series of tutorials and videos for you to learn to use Power Pages
and how create a view and add a list to a page. For more information, go to
Tutorial: Add a list to a page.

To add a list:

1. Open the design studio to edit the content and components of the page.

2. Select the page you want to edit.

3. Select the section you want to add the list component to.

4. Hover over any editable canvas area, then select the List icon from the component
panel.

5. You can choose either to create a new list or use an existing list.

If you choose to create a new list, you'll need to enter the following criteria.
List Description

Choose a table The name of the table the views are loaded from.

Select Dataverse The view of the target table that will be rendered. To modify the
views columns within the view, you'll need to access the Data workspace.

Name your copy The name of the list.


of the selected list

Data Description

Create a Allows the user to create a new record. You'll need to select the target
new record webpage, form, or URL that contains the new record.

View Allows the user to view details. You'll need to select the webpage, form, or
details URL that contains the details.

Delete Allows the user to delete the record.


record

Settings Description

Number of Determines how many records will be displayed per page. If the table contains
records more records, navigation controls will appear for the user to view the next or
per page previous set of records.

Enable Turns on the search feature for the list.


search in
list
7 Note

You'll need to enable table permissions to ensure that users will be able to
view the data on the lists.

6. You can select the ellipsis (...) to duplicate the list, move it up or down within the
section, or delete it.

Add list filters


Makers can add list filters to their Power Pages site from the design studio.

Filter types
All types of metadata filters supported in Portal Management app are configurable
within Power Pages studio and each one has a simplified name, which matches its
visualization. Makers can also edit/delete the filters when working with list component
inside the design studio.

Filter Description
Visualization

Text Filters the list by using a text box to search for matching text in a selected
attribute of the given table.

Checkbox, Makers can choose between checkboxes, dropdowns, and radio buttons as
Dropdown, visualizations for their filter type. More options to configure the filter will appear
and Radio once makers pick the column. These options vary based on the column's data
Button type.

Custom Filters the list by using a FetchXML filter condition. When a maker selects custom,
a text box appears. Makers will enter their XML statement in this field.

Add a list filter


To add a list filter, select the list component you previously added and configured.

1. choose the Add filter menu item from the toolbar.


A pop-up window will display in the Pages workspace with list filter options.

2. Select the type of filter you'd like to use from the drop-down selector under the
Type label.

3. Choose the column you'd like to filter from the drop-down selector under the
Column label.

7 Note

The studio will display the different options for makers to filter their data
based on the filter type and column they choose.

4. Select the OK button to save your selections.

See also
Create and modify views
Tutorial: Add a list to a page
Add a form
Article • 01/18/2023 • 3 minutes to read

A form is a data-driven configuration that collects data in Power Pages sites. Forms on
pages are created from Dataverse table forms. Dataverse table forms can be created by
using the Data workspace or from model-driven apps created in Power Apps. You can
use them on pages or with lists to build a complete web application.

 Tip

We've created a series of tutorials and videos for you to learn to use Power Pages
and how create and add a form to a page. For more information, go to Tutorial:
Add a form to a page.

To add a form:

1. Open the design studio to edit the content and components of the site.

2. Go to the Pages workspace.

3. Select the page you want to edit.

4. Select the section you want to add the form component to.

5. Hover over any editable canvas area, then select the Form icon from the
component panel.

6. You can choose either to create a new form or use an existing form (if a maker has
created one previously).

If you choose to create a new form, you'll need to enter the following criteria.
Option Description

Choose a table Choose the table where data will be stored.

Select a form Select one of the Dataverse forms available for the selected table.

Name your copy Give your copy of the form a name.


of the selected
form

Data You can choose to have the data that's entered by a user create a new
record, update existing records, or make the data read-only.

On submit You can choose optionally to show a success message. You must enter
the options to redirect to a webpage and redirect to a URL.

CAPTCHA You can choose to show a captcha to anonymous users, authenticated


users, or both.

Attachments Allows you to enable and configure attachments for the form.

7 Note

You'll need to enable table permissions to ensure that users will be able to
interact with the data on the forms.

7. You can select the ellipsis (...) to duplicate the form, move it up or down within the
section, or delete it.
Edit a text field on the form
You can edit text fields, including email, form title, and title section.

To edit a text field on the form:

1. Hover and select the text field from the canvas.


2. Edit the text field and style it as needed (bold, underline, or italic).

Edit and validate form fields


To edit a form field:

1. Hover over and select the field from the canvas.


2. Choose Edit field in the tool bar.

3. From the Field Edit modal:

Update the field's label/display name.


Mark the field as required, then customize the error message to be shown
when the field is required.
Add a description to the field and adjust its position (choices include above
the field, below the field, and above the label).
Set the validation rules for the field.
Use the options to configure out-of-the-box validations.
Use the Regex option to enter custom validation using regular expressions.

Enable attachments on a form


Users can upload an attachment with form submission.

To enable attachments on a form:

1. Add a form or edit an existing form.

2. In the Add a form modal, choose Attachments from the left panel.

Configure the following options:


Turn on/off the Enable attachments toggle.
Turn on/off the Attachment is required toggle.
Turn on/off the Allow multiple files toggle.
Max file size allowed
7 Note

The following file types are allowed:


All
Audio
Document
Image
Video
Specific (comma separated values)

Once configured, the file upload placeholder will show in the canvas.
Enabling table permissions
When you add a new form, you'll be prompted to set permissions to allow site users to
interact with the form. The settings for table permissions will be pre-populated (create
and append to), but you'll still need to assign web roles and save the settings. The
process will automatically create the child table permissions for the note (annotations)
table, which contain the attachments.

You can also adjust the permissions and assign web roles based on your requirements in
the Set up workspace.

For more information, see Configuring table permissions.

Enable code components on form fields


If a Dataverse form field has been configured to use a code component using the Data
workspace or a model-driven app, you can enable the code component to be used
when a form is used on a webpage.

To enable the code component:


1. Select the field and choose Edit field.

2. Select Enable custom component field.

3. Select OK.

The code component will now be available on the form.

See also
Create and modify forms
Tutorial: Add a form to a page
Add a multistep form
Article • 12/17/2022 • 3 minutes to read

While you can use a form to collect data in Power Pages sites, a multistep form allows
you to create a form with multiple steps. Use multistep form when you want to collect
user input through multiple forms that use different components.

7 Note

Multistep forms were called advanced forms earlier.


Some features of multistep forms still need to be configured using the Portal
Management app. More information: Define advanced form steps for
portals.

Create new multistep form


1. Go to Power Pages .

2. Select Edit on the site you want to add a page to.

3. Add a section on any page.

4. Choose Multistep form from component library.

5. Select on + New multistep form. Alternatively, you can also choose an existing
multistep form (if a maker has created one previously).
6. If necessary, edit the form name, and configure the form options with the
following criteria.

Option Description

Show progress Enable or disable progress indicator when submitting a multistep form.
indicator More information: Progress indicator
Option Description

Add multiple When enabled, allows the form to be submitted multiple times by same
entries per person.
person

On submit You can choose optionally to show a success message. You must enter
the options to redirect to a webpage and redirect to a URL.

Captcha You can choose to show a captcha to anonymous users, authenticated


users, or both.

More options From here, you can launch the form in Portal Management app for more
settings.

7. Select + Add the first step or + Add step.

8. Enter a name for the step, and then select a table and the form.
Option Description

Step name Name of the step.

Choose a Select the table where the data will be stored.


table

Select a Select one of the Dataverse forms available for the selected table.
form

Attachments Configure attachments for the step. More information: Enable attachments

More Allows you to change step mode, enable or disable back button, and launch
options the Portal Management app from here for more settings. More information:
Configure more options

 Tip

If you want to create a new table or a new form, use Data workspace.

9. Select Ok.

10. Add more steps by selecting + Add step from the toolbar.
7 Note

Conditions and redirect steps are not supported in maker studio. Go to the
Portal Management app to create or view conditions and redirect steps.

Preview steps
You can preview all steps inside the design studio by selecting the step from the step
dropdown in the toolbar.

Enable attachments
You can enable notes attachment for any step. To enable notes attachment, go to Step
settings > Attachments > select Enable attachments.
Option Description

Enable attachments Enables or disables attachments on the multiform step.

Attachment is Makes attachments mandatory or optional.


required

Allow multiple files Allor more than one file to the multistep form

Attachments Label that appears on the form for attachment upload


display label

Max file size File size in KB allowed for the upload. Maximum limit is determined by the
allowed (in KB) value set in the Dataverse.

File types allowed Select one or more file types from the available options that you want to
allow for upload

Configure more options


You can configure form mode, back button and open the step in Portal Management
app for more configuration.
Change step mode
Form can be added to a step in create, update or read-only mode. Step mode defines if
the user can give inputs to submit a form, or edit an existing form, or open a form in
read-only mode.

You can change the mode for a step when adding it, or from the Step settings > More
options in the toolbar once the step is created.
7 Note

By default, the first step is added in create mode and additional steps are
added in edit mode.
Different steps within a single multistep form can have different step modes.

Display back button


Enables or disables the back button when moving through different multistep form
steps.

Open Portal Management app


Opens Portal Management app for more configuration.

Progress indicator
A progress indicator shows you the step that you're currently on within a multistep
form. You can change the progress indicator type and position.

Select Edit indicator to modify the progress indicator.


Enable table permissions
When you add a new form, you'll be prompted to set permission to allow users to
interact with the form.
Table permissions settings default to create and append to, but you'll need to assign
web roles and save the settings. Child table permission for the note (annotations) table,
which contains the attachments, will be created automatically.

See also
Tutorial: Add a multistep form to your page
Add an IFrame
Article • 12/17/2022 • 2 minutes to read

Add an iFrame component to your page to embed a page from any other website.

To add an IFrame:

1. Open the design studio to edit the content and components of the portal.

2. Select the page you want to edit.

3. Select the section you want to add the IFrame component to.

4. Hover over any editable canvas area. From the component panel, select ... to
display other component options, then select the IFrame icon.

5. Enter the URL target.

6. To format your IFrame, select it and a menu will appear where you can:

Change the IFrame URL

Adjust the alignment

Duplicate the IFrame, move it up/down within the section, or delete the
IFrame.
Edit code with Visual Studio Code for
the Web (preview)
Article • 10/07/2022 • 4 minutes to read

[This topic is pre-release documentation and is subject to change.]

From the design studio, you can edit site code using Visual Studio Code for the Web.
This feature allows you to edit a single page's content, custom CSS, and custom
JavaScript.

Visual Studio Code for the Web provides a free, zero-install Microsoft Visual Studio
Code experience running entirely in your browser, allowing you to browse site code and
make lightweight code changes quickly and safely. More information: Visual Studio
Code for the Web experience.

) Important

This is a preview feature.


Preview features aren’t meant for production use and may have restricted
functionality. These features are available before an official release so that
customers can get early access and provide feedback.

7 Note
First time Visual Studio Code for the Web load may take some time as it will
be installing required extensions for this feature.
File Create, Delete and Rename operations are not supported.
This feature utilizes Power Platform Tools web extension. Web extensions are
restricted by the browser sandbox and therefore have limitations compared to
normal extensions.
Power Platform CLI is not supported.
Power Platform Tools web extension features are limited to Power Pages
code editing experience.
This feature is not available in Government Community Cloud (GCC),
Government Community Cloud (GCC High), and Department of Defense
(DoD). Users in these regions will use the code editor in design workspace
to make their changes. More information: Using the code editor

Edit code available in design studio


Edit code feature will allow users to edit code in following areas:

Edit web page code from Pages workspace


Header template code from Pages workspace
Edit custom CSS code from Styling workspace

Let's take a look how to edit code using these areas.

Edit web page code from Pages workspace


When you open Power Pages design studio, you'll see Edit code option in Pages menu1
and upper-right corner of the screen2.
Header template code from Pages workspace
Select site header and then select Edit code to open code editor.

Edit custom CSS code from Styling workspace


Go to Styling workspace and select available custom CSS Edit code menu to open code
editor.
Tutorial: Edit site code using Visual Studio Code
for the Web
In this tutorial, you'll walk through editing the site code using Visual Studio Code for
Web.

Step 1: Edit site code using Visual Studio Code


1. Open your site in Power Pages design studio

2. On the top right corner, select Edit code


3. Select Open Visual Studio Code from the confirmation dialog.

4. Sign in to Visual Studio Code using your environments credentials.

5. Wait for Power Platform Tools web extension to initialize, and web page code to
load in left-pane.

Step 2: Update web page code


1. The explorer on the left-side of the screen will load respective customs CSS and
custom JS files along with the web page copy content.

2. Make changes to the respective files and press Ctrl+S to save the changes.

3. Go to design studio and select Sync to pull all the updates in your current design
studio session.
4. Select Preview to see changes on the Power Pages site.

Using Visual Studio Code for Web or Visual


Studio Code desktop
Users can edit, debug, and preview changes to page edits using Visual Studio Code for
the Web without needing to use external tools. Visual Studio Code for desktop provides
other advanced features for editing all site metadata and integrating with GitHub,
frameworks, and continuous integration/continuous development (CI/CD) processes.

Feature Visual Studio for Visual Studio


Web Code desktop

Direct site editing Yes No

Site metadata editing Limited to Custom All power pages


CSS and Web configuration
pages entities

Site preview Planned Planned

Power Platform CLI support No Yes

Advanced CPU and storage bound workflow - No Yes


ReactJS or other framework build tool support

GitHub integration with capabilities such as code No Yes


check-in, check-out, managing conflicts, and merge.

Using the code editor

7 Note

Using Visual Studio Code for the Web to edit websites is not supported in
Government Community Cloud (GCC), Government Community Cloud (GCC
High), and Department of Defense (DoD). Users in these regions can use the
code editor in design studio to make their changes.
Regions that support the Visual Studio Code editor will not see the design
studio code editor.

To view the source code of the page on the canvas, select the code editor icon </> in
the command bar.
The source code is displayed in the code editor pane at the bottom of the screen. Any
changes you made previously will be updated in the source code. To make changes,
update the source code and then select Save. The changes will be reflected on the
canvas.

The code editor supports three docking options: docked on the bottom, docked on the
right side, or full-screen edit mode.

The code editor canvas supports HTML editing. To edit JavaScript or custom CSS, select
Edit CSS & JS, which will take you to the Portal Management app. From there, select the
Advanced tab to make any edits you want in the JavaScript and CSS sections.

See also
Use Visual Studio Code and Microsoft Power Platform CLI
Create site structure
Article • 12/17/2022 • 2 minutes to read

When you've created a few pages, the page hierarchy is displayed in a nested structure
on the Main navigation menu.

To change page hierarchy:

1. Select the ellipsis (...) on the page you want to move.

2. In the menu that appears, choose the action you want.

Action Description

Move to Moves the page into the Other pages section.


other
pages

Move to Shows the page in the header of the home page.


main
navigation
Action Description

Move up Moves the page up in the hierarchy.

Move Moves the page down in the hierarchy.


down

Add a new Adds a child page to the selected page. The child page inherits the page
subpage template of its parent page.

Promote Decreases the indent and moves the child page to the level of the previous
this page in the hierarchy.
subpage

Make this Increases the indent and makes the page a child page of the previous page in
a subpage the hierarchy.

Page Update page name, partial URL, and Page permissions.


Settings

Edit code Allows you to edit the page in Visual Studio Code for the Web.

Duplicate This will create a copy of the webpage. Note that form, multistep form, and list
components will not be duplicated but will be referenced from the duplicated
page.

Delete Deletes the page.


Style your pages site
Article • 12/17/2022 • 2 minutes to read

Power Pages contains a robust set of themes and tools to use to style your site. Choose
from several preset themes that you can apply to your portal. Use these themes as a
starting point and apply further customization with the styling menu.

The Styling workspace lets you apply global site styles. You can apply corporate
branding updates, and review the changes in the preview on the right side of the app
window. Styling offers 13 preset themes. For each theme, you can customize the color
palette, background color, font styles, button styles, and section margins.

1. Open the design studio.

2. On the left pane, select Styling.

Note the list of themes in the Styling workspace. Further customization can
be done with the styling menu.

3. Select one of the preset themes to see how the style is reflected on the canvas
workspace to the right.

Each theme has its own color palette.

You can adjust the styling menu to make adjustments to each theme. Text
options include font, weight, size, and color.
4. Choose between Save Changes or Discard Changes after you've made your edits.

A modified theme will be noted next to the theme name unless or until a theme is
reset to preserve changes.

Resetting a theme
To reset a theme to its original state, select the ellipsis (...) and then select the Reset to
default option.

Viewing your page


To see the full page in the design studio, select the full page icon.
To see the site as it will appear in production, select the preview icon.

You can also use the viewport selector to choose from web, tablet, and mobile views of
the workspace.

Theme mapping
Each color on the palette maps to a specific element on the page. The preset theme
consists of nine colors and three slots for user-selected colors. If you customize
elements, the mapping won't be correct unless the theme is reset.

To add a new color or to change an existing color, select the plus sign (+) in the color
palette and choose your color using the color picker, hexadecimal value, or RGB values.
After a new color is added to the color palette, it can be used to color components in
the context menu.

7 Note

For sites created using Power Pages prior to September 23, 2022 there is a known
issue related to themes. More information: Adjusting the background color for
your Power Pages site

See also
Use design studio
Create and design pages
Customize pages
Manage CSS files
Article • 10/12/2022 • 4 minutes to read

Cascading Style Sheets (CSS) allows you to control the formatting and styling of your
site.

By default, new Power Pages sites will have bootstrap.min.css, theme.css and
portalbasictheme.css files installed as part of the site templates.

You can modify the style using the Styling workspace or you can upload your own
custom CSS files.

When you upload a new custom CSS file, it will be available as a web file in the Portal
Management app.

7 Note

Power Pages sites use Bootstrap 3.3.x. Site developers should not replace Bootstrap
3 with other CSS libraries as some of the scenarios in Power Pages are dependent
on Bootstrap 3.3.x. For more information, see Understanding Bootstrap framework
and Customize Bootstrap sections in this article.

Manage custom CSS files in the Styling


workspace
1. Go to Power Pages .

2. Select Edit on the site you want to add a page.

3. Select the Styling workspace.

4. Select the Manage CSS option under more options in Styling Workspace.
Upload CSS files
In the Manage CSS panel you'll see a list of the default CSS files:

bootstrapmin.css
theme.css
portalbasictheme.css

To upload your custom CSS file, select Upload and choose your custom CSS file.
7 Note

You can upload custom CSS files of a size up to 1 MB.


Once the custom CSS file is uploaded the preview will reflect on right side.
The uploaded custom CSS files will be applicable for all themes.

More options
Select the ... (ellipse) to right of the custom CSS file, where you can move the file higher
or lower in precedence and disable the custom CSS file.

7 Note

CSS files listed at bottom take higher precedence, meaning that if two files contain
an update the same property, the update contained in the file lower in the list will
be applied.
Architecture
Any custom CSS file is at lower priority than the default portalbasictheme.css and higher
than theme.css. This prioritization is to encourage customizing styles using style panel
for out of box styling options.

7 Note

We recommend custom CSS should be used to format only styles which aren't
provided out of box in style pane.

2 Warning

Do not deactivate, delete or change the display order of any of the default CSS files
(bootstrap.min.css, theme.css, or portalbasictheme.css). You will see an error in the
design studio.

Open the Portal management app and to restore the default state and display
order of the default CSS files to resolve the issue.

Delete a custom CSS file


1. The CSS files are stored as web files. To remove the custom CSS file, go to the
Portal Management app and select Web Files.

2. Locate the custom CSS file record. You may need to filter on the Name and
Website values to locate the correct record.

3. Once the web file record is selected, select Delete.

4. In the design studio, select Sync configuration to clear the styling changes from
the custom CSS.

Understanding Bootstrap framework


Bootstrap is a front-end framework that includes CSS and JavaScript components for
common web application interface elements. It includes styles for navigation
elements , forms , buttons , and a responsive grid layout system that allows site
layouts to dynamically adjust to devices that have different screen sizes, such as phones
and tablets. By using the Bootstrap layout system, you can develop a single site that
presents an appropriate interface to all devices your customers might use.

The templates included with Power Pages are implemented by using standard Bootstrap
components with minimal additional custom styles. So when you implement the
templates, you can take advantage of Bootstrap customization options. You can quickly
customize the theme (fonts, colors, and so on) in a way that's applied consistently across
the site.

Customize Bootstrap
Bootstrap supports customization through a set of variables. You can set any or all of
these variables to custom values and then download a custom version of Bootstrap that
is compiled based on these values.

The power of Bootstrap variables is that they don't dictate the style of a single element.
All styles in the framework are based on and derived from these values. For example,
consider the variable @font-size-base . This specifies the size that Bootstrap assigns to
normal body text. However, Bootstrap also uses this variable to indicate the font size for
headings and other elements. The size for an H1 element might be defined as 300
percent of the size of @font-size-base . By setting this one variable, you control the
entire typographic scale of your portal in a consistent way. Similarly, the @link-color
variable controls the color of hyperlinks. For the color you assign to this value, Bootstrap
will define the hover color for links as 15 percent darker than your custom value.

The standard way to create a custom version of Bootstrap is through the official
Bootstrap site . However, due to the popularity of Bootstrap, many third-party sites
have also been created for this purpose. These sites might provide an easier-to-use
interface for Bootstrap customization or predesigned versions of Bootstrap for you to
download. The official Bootstrap customizer site has more information about
Bootstrap customization.

When you download a customized version of Bootstrap, it contains the following


directory structure.

css/
|-- bootstrap.min.css
img/
|-- glyphicons-halflings-white.png
|-- glyphicons-halflings.png
js/
|-- bootstrap.min.js

Or, depending on the customizer application used, it might only contain


bootstrap.min.css. Regardless, bootstrap.min.css is the file that contains your
customizations. The other files are the same for all custom versions of Bootstrap and are
already included in your portal.

See also
Microsoft Training: Advanced CSS in Power Apps portals
Microsoft Training: Advanced client-side development
Overview of the Data workspace
Article • 01/12/2023 • 2 minutes to read

With the Data workspace, you can easily visualize and manage business data for the site
with tables, forms, and lists. All the data and changes are stored in Microsoft Dataverse.
You can create and edit tables for the site, and create new (or edit existing) model-
driven forms and views.

Makers can create basic forms, advanced forms, and lists by using forms and views
created in the Data workspace.

Solutions
Data workspace left pane settings feature allows you to select any unmanaged solution
where changes made in Data workspace get added. Newly created table, column, forms,
and views will get added to the selected solution. Newly created tables and columns will
get the prefix of the selected solution's publisher. By default, all changes are saved in
the Common Data Services Default Solution. To change this setting, choose the
dropdown and select any unmanaged solution in the environment.
For more information, go to Solution concepts.

Tables
On the Data workspace left pane, Tables in this site contextually displays all tables being
used in the site. Other tables displays Dataverse tables in the environment and the
tables used in basic forms created in the site. You can also create a new table or open an
existing one in the table designer to add new columns and rows on the Table data tab.

For more information, go to Create and modify tables using Data Workspace.

Views
Views are a subset of table data. Create a view to select specific table columns and rows
that you want to display in a site. The Views tab displays views being used in the site
lists and all other views in the environment associated with the respective table. It only
shows view types that are supported in portals. Selecting an existing view (or creating a
new one) opens the Power Apps view designer, where you can define the view. Views
are a foundation of the list component that can be added to pages.

For more information, go to Create and modify views by using the Data workspace.
Forms
The Forms tab displays the forms being used in the basic forms used in the site and all
other forms in the environment associated with the respective table. It only shows the
main form type that's supported in portals. Selecting an existing form (or creating a new
one) opens the Power Apps form designer, where you can add form fields, components,
and much more. The form designer only provides features and properties that are
supported in portals. To access all form features, go to the Power Apps form designer
from the command bar.

Forms created here can be used to add a form to a page, or to create multistep forms.

For more information, go to Create and modify forms by using the Data workspace.

Next steps
Create and modify tables by using the Data workspace
How to create and modify Dataverse
tables by using the Data workspace
Article • 12/17/2022 • 2 minutes to read

You use the data workspace to create and modify Microsoft Dataverse tables directly in
the Power Pages design studio.

Use the Data workspace


1. Go to Power Pages .

2. Select a site, and then select Edit.

3. On the left tool belt, select Data.

Table designer
On the left pane of the Data workspace, the Tables in this site section lists tables that
are used in basic forms created in the site. The Other tables section lists all Dataverse
tables in the environment.

Create a new table


1. Next to Data, select + Table.
2. In the window that appears, enter a name for your table. By expanding Advanced
settings, you can modify the plural name of your table.

7 Note

The table will be created as part of the default solution.

3. Select Create.

The table will be created in Dataverse. You can now begin to configure your table.

Configure a table
1. From the Tables in this site or Other tables section, select the table you want to
edit.

2. In the table designer, modify any existing data rows. In addition, the following
options are available.

Action Description

New row Create a blank row and enter in a new data row.

New Create a new data column for the table. You'll need to specify the name, data type,
column and format along with other column configuration options. For a complete list of
Dataverse column types, go to Types of columns.

Show/hide Select which columns you want to be visible or invisible in the table designer.
columns

Refresh Reload the table data.

Edit table Change the name and other advanced properties of the table.
properties

Next steps
Create and modify Dataverse views by using the Data workspace
Create and modify forms by using the Data workspace

See also
Tables in Dataverse
Create and modify Dataverse views by
using the Data workspace
Article • 12/17/2022 • 3 minutes to read

Views are a subset of table data. Create a view to select specific table columns and rows
that you want to display in a site. The Views tab displays views used in the lists that are
embedded in the site and all other views in the environment that are associated with the
respective table. It only shows view types that are supported in portals. Selecting an
existing view (or creating a new one) opens the Power Apps view designer, where you
can define the view. Views are a foundation of portals lists.

You use the data workspace to create and modify Dataverse table views directly in the
Power Pages design studio.

7 Note

You'll need to ensure that the changes you make to views are published before you
used them to create list components on pages.

 Tip

We've created a series of tutorials and videos for you to learn to use Power Pages
and how create a view and add a list to a page. For more information, go to
Tutorial: Add a list to a page.

Use the Data workspace


1. Go to Power Pages .

2. Select a site, and then select Edit.

3. On the left tool belt, select Data.

View designer
On the left pane of the Data workspace, the Tables in this site section lists the tables
that are used in basic forms created in the site. The Other tables section lists all
Dataverse tables in the environment.
Create or modify a view
1. From the Tables in this site or Other tables section, select the table that you want
to either create or modify a view for.

2. In the table designer, select the Views tab.

3. Do one of the following steps:

a. To create a new view, select New View.

i. Enter a name and a description for your view.

ii. Select Create.

b. To modify an existing view, select the view from Views in this site or Views
available for this table.

4. The view will appear in the view designer, where you can configure it by using the
following features.

Action Description

Back Return to the previous screen.

Add Display the list of table columns where you can search for, select, or create a new
column table column and add it to the view.

Undo Undo your last update.

Redo Redo your last undo change.

Validate Run a checker to see whether there would be any performance impacts with the
current view configuration.
Action Description

Save Save the view configuration.

Save As Save the view configuration with a different name, which creates a copy of the
current view.

Publish Publish the view so that it can be used when creating a list on a page.
view

5. You'll also be able to select the column header and modify the following.

Action Description

Edit Change the column width by entering the width in pixels.


properties

Sort Depending on the data type, you can configure the sorting alphabetically (sort
options A to Z, sort Z to A), numerically (ascending or descending), or by date (older to
newer, newer to older).

Filter by Specify a value to filter the view.

Insert Insert a table column to the view.


view
column

Move Move the column to the left or right in the view layout.
Left/Move
Right

Edit table Edit the table column configuration.


column
Action Description

Remove Remove the column from the view (this doesn't delete the table column).

View properties
You can modify some of the view properties—such as the name and description—on the
right panel.

Sort by
You can add a series of columns to be used to sort the view.

Filter views
You can also create filters for your view to display specific data. Select the Edit filters link
to open the expression builder and specify columns and column groupings to filter your
view data.

More information: Create or edit filters in model-driven app views

Download FetchXML
The Download FetchXML link will download your view definition as an FetchXML file
that can be used by pro-developers when creating web templates for custom page
layouts.
Next steps
Create and modify forms using the Data workspace

See also
Add a list to a page
How to create and modify Dataverse
forms by using the Data workspace
Article • 12/17/2022 • 3 minutes to read

The Forms tab displays the forms used in the basic forms that are embedded in the site,
and all other forms in the environment that are associated with the respective table. It
only shows the main form type that is supported in portals.

You use the data workspace to create and modify Dataverse table forms directly in the
Power Pages design studio.

7 Note

You'll need to ensure that the changes you make to forms are published before you
create basic and advanced form components on pages.

 Tip

We've created a series of tutorials and videos for you to learn to use Power Pages
and how create and add a form to a page. For more information, go to Tutorial:
Add a form to a page.

Use the Data workspace


1. Go to Power Pages .

2. Select a site, and then select Edit.

3. On the left toolbelt, select Data.

Form designer
On the left pane of the Data workspace, in the Tables in this site section, you'll see a list
of tables that are used in basic forms created in the site. The Other tables section is a
list of all Dataverse tables in the environment.

Create or modify a form


1. From the Tables in this site or Other tables section, select the table that you want
to either create or modify a form for.

2. In the table designer, select the Forms tab.

3. Do one of the following:

a. To create a new form, select New form.

i. Enter a name and a description for your form.

ii. Select Create.

b. To modify an existing form, select the form from Forms in this site or Forms
available for this table.

4. The form will appear in the form designer, which is the same designer used for
model-driven apps in Power Apps.

The form can now be configured by adding fields and arranging fields, tabs, and
sections.

Form designer overview


The form designer provides a modern WYSIWYG authoring experience when you modify
or create forms. The forms can be used to add a form component to a page on your
site.

Changes to the form are instantly reflected in the preview. An always-available property
pane makes the common task of updating properties quick and easy. Updates to
properties are also instantly reflected in the form preview. The columns pane with
searching and filtering capabilities helps makers quickly find and add columns to the
form.

The form designer interface has the following areas.

Command bar

Item Description

Back Go back to the table designer.

Add field Open the tables column pane to search and select a column to place on the form.
You can also create a new table column.

Add Open the components pane to search and select form components such as tab and
component section layouts, input components, and related data views.

Undo/Redo Undo or redo the last action taken—or last edit made—on the form.

Cut Cut a component from the form.

Paste Paste a component on the form.

Delete Delete a component from the form.

Save Save the form.

Publish Publish the form and make it available to add as a form to a page.
form

Other features

Item Description

Property Displays properties of the selected element. You can make changes here.
pane

Preview Changes the size of the form preview, helping you to see how the form will appear
size on various screen sizes.
switcher

Show Displays hidden columns in the form preview area. By default, this option is turned
hidden off, and hidden columns don't appear on the form preview and are visible only
from the tree view pane. When enabled, columns that are hidden are indicated in
the form preview area.

Zoom slider Zooms in or out of the form preview, helping you take a closer look.

Fit to width Fits the form preview to the available width.


Item Description

Component Bind a custom code component to the field on the form. The code component can
be enabled on a form using the Pages workspace.

See also
Add a form to a page
Overview of the Power Pages Set up
workspace
Article • 12/17/2022 • 2 minutes to read

You use the Set up workspace to configure key aspects of your Power Pages site.

General
The general section allows you to configure site-specific details, and the checklist that
helps prepare for the site to go live.

Site details
The Site details section shows the following site details:

Name - editable field for the name of the site that helps you identify the site
among all other sites that you work on.
Owner - name of the owner of the site.
Created on - when the site was created.
Modified on - when the site was last modified.
Type - shows whether the site is in trial or production. When in trial, you can also
select Convert to convert the site into production.
Language - the language of the site.
URL - the URL to access the site.
Application ID - a unique ID that helps differentiate the current app from all other
apps. To copy the Application ID, select the copy icon.
Early Upgrade - enable or disable early upgrade for this site to access newly
launched features earlier.
Admin actions - takes you to the admin center for site admin actions such as
adding a custom domain, enable/disable CDN, or set up IP restrictions.

Go-live checklist
Go-live checklist includes interactive tasks that guide you to review and complete the
recommended actions. This interactive experience includes running the site checker, and
configuring several other settings for the site that help you prepare the site before the
general roll out. For more information, go to Go-live checklist

Authentication
Use Identity providers section to configure various authentication providers to allow
access to protected pages and data. For more information, go to Configure Power Pages
authentication.

Security
Security section allows you to configure permissions for tables used by your site, and
change the site's visibility settings to make the site public or keep private.

Table permissions
You can configure table permissions on Dataverse tables used in your Power Pages site.
For more information, go to Configure table permissions.

Site visibility
Site visibility section enables you to manage who has access to your website. All new
sites created in Power Pages are private by default. Only makers or people in the
organization granted permission by makers will have website access, making your site
secure. For more information, go to Site visibility

Mobile
You'll be able to configure progressive web apps (PWAs) using Power Pages. For more
information, go to Progressive Web Applications

Administration
The Administration section is where you can access the Power Pages admin center.
Overview of sites as progressive web
apps
Article • 10/23/2022 • 2 minutes to read

You can enable your site as a progressive web app (PWA), with native app–like look and
feel, by using the Set up workspace in the Power Pages design studio.

We're applying progressive web app technology to convert a site to a multi-platform


supported app, which works on all platforms (Android/iOS/Windows/Chrome) and all
form factors (mobile/desktop/tablet). It will even work on specialized platforms like
chrome books.

PWAs are built for cross-platform interoperability through browser support that
provides users a native app–like experience. PWAs bring a seamless experience for users
across different web browsers. These apps can be installed from the browser or through
app stores. This capability enables external and internal customers to use a portal as an
app. They can also pin the app directly to the home screen on their mobile device.

PWAs can be used for both online and offline scenarios. As a maker, you can choose to
enable specific pages in your site to be available offline (the content on these pages will
be read-only).

The following graphics illustrate the users' experience of adding a portal to their home
screen by using the browser that installs the portal as a PWA.

Makers can also install the site PWA from their device's app store, if you created an app
package and published the app to the app store for their device.

7 Note

Publishing your PWA to the iOS app store is currently not supported.
Next step
Build progressive web apps
Build a progressive web app
Article • 09/21/2022 • 4 minutes to read

[This topic is pre-release documentation and is subject to change.]

Use Power Pages design studio to configure your progressive web app (PWA). You can
enable or disable PWA capability, customize PWA settings, and prepare to create an app
package to publish to respective device stores if you choose.

1. Go to Power Pages .

2. Choose your site and select Edit.

3. In the design studio, select Set up workspace and then select Progressive web
application.

4. Select Enable PWA.


Brand your app
You can create your own branded PWA by using the customization options to change
the app name, starting page, color, and more.

7 Note

On iOS devices, icons for the PWA will be shown as thumbnails and the customized
splash screen won't be displayed.

1. In the design studio, select Progressive web app.

2. Update the following PWA settings for your site.

Setting Description

Title The name of the portal PWA that will appear on the mobile device and in
the app store.

Description The description of the PWA that will appear on the mobile device and in
the app store.

Starting page The start page for the site when it's opened through the PWA.
of the app

Splash screen The background color for the splash screen when the PWA is loaded.
background

App icon The icon for the app that will appear on the mobile device and in the app
store.
Note: Supports .jpg, .jpeg, .png formats with a maximum upload size of 5
mb. Size of icon must be 512 × 512 pixels.
7 Note

Depending on your browser, it might take few moments for you to see your
changes to reflect. After customizing the PWA, select Preview to clear the
cache of your site.

Define offline behavior


PWA offers support for a smooth navigation experience when the device being used is
offline or disconnected from the internet. You can choose the pages within your site that
will be available offline (read-only), and a message page for the rest of the portal
capabilities that haven't been enabled for offline access.

Configure offline pages for the portal PWA


1. In the design studio in the Set up workspace, select Progressive web application.

2. Under More settings, select Define offline pages.

3. Select the pages that you want to enable users to access when they use the PWA
offline.
7 Note

When configuring offline access for PWA pages, be sure to consider the storage
limitations for user devices. When the storage requirement for offline PWA access
exceeds the available storage on the device, the entire portal will be unavailable for
offline access. We recommend that you test the user experience of offline access
and only cache the pages that will be most helpful and important to your users.
Remember that offline pages can only show information; pages that are connected
to Microsoft Dataverse that contain forms to fill out or run queries won't work while
offline.

Set up an offline message page


When a device is offline, the page you configure as the offline message page appears
when users try to access pages that haven't been enabled for offline access.

1. In the design studio, select Pages workspace.

2. Select Default offline page


3. Customize the page.

7 Note

You can't change the Title or Partial URL ("/default-offline-page") fields for the
offline page. A default offline page will be shown to users if the offline page is
missing.
Depending on your browser, it might take few moments for you to see your
changes to reflect. After customizing the offline PWA experience, select
Preview to clear the cache of your site.

Test your site in offline mode


After you've enabled offline pages, you can now use a mobile device in offline mode
and browse through different pages that have been enabled for offline access.

1. Browse to your site by using a web browser on your mobile device in online mode.

2. Select Add to Home screen or a similar option. For example, on an Android device,
the option might be + Add to > App screen.

7 Note
This action downloads portal pages that have been enabled for offline
browsing. This might take a while, depending on network bandwidth and the
size of the pages that were selected for offline browsing.

3. Enable offline mode in your mobile device.

4. Open your portal from the home screen. You'll see a notification at the top
reminding you that you're browsing in offline mode. If you select any pages that
haven't been enabled for offline browsing, the offline message appears.
Distribute your app
You can distribute your app either by using a browser or through an app store.

Distribute your app by using a browser


After your portal is enabled as a PWA, your users can pin the Power Pages site as an app
to the home screen on their device. This is supported on all platforms (Android, iOS,
Chromebook, and Windows) in addition to all form factors (mobile, desktop, and tablet).

Distribute your app through an app store


You can create an app package for your PWA site and publish the package to different
app stores such as Microsoft Store and Google Play.

To create an app package, go to the Set up workspace in the design studio. Under App
package, select Create app package.

You'll be taken to the PWA Builder website where you can create an app package for
various app stores. The package you create by using PWA Builder contains:
An app package for the PWA to be used in its respective app store.

A step-by-step document about publishing the app.

For more details, go to the PWA resource hub .

Other considerations for Android


For the Android platform, you can also update the Android certificate with the Update
android certificate option.

Update the title and the SHA-256 certificate fingerprint to update the digital asset links
file (assetlinks.json) that proves ownership of your PWA.
See also
Overview of portals as progressive web apps
Overview of Progressive Web Apps (PWAs)
Power Pages design studio and Power
Apps portals Studio
Article • 02/22/2023 • 3 minutes to read

There are two experiences for editing Power Pages and Power Apps portals sites.

The new Power Pages design studio.


The legacy Power Apps portals Studio.

From the Power Pages home page, you can open sites in design studio created using
Power Pages and sites created using Power Apps.

You can open sites created using Power Apps using portals Studio or the new design
studio. Sites created using Power Pages by default open in Power Pages design studio.

When you select a site in the Power Apps maker portal created using Power Apps, you
will be given the option to open the site using the portal Studio or to open in Power
Pages design studio.

Features not available in the Power Pages


design studio
The Power Apps portals Studio has the following features that aren't part of the Power
Pages design studio:
Web template code editing
Power Virtual Agent chat bot configuration
Breadcrumbs
Custom menus
Content snippet editing

7 Note

Please see How to: Embed a chatbot on a webpage on how to embed a chatbot
on a Power Pages site.

Components added in design studio


Power Pages design studio has new capabilities that aren't available in the Power Apps
portals Studio. If you customize a site in the Power Pages design studio and open the
site in Power Apps portals Studio, the following components won't be configurable:

Videos
Buttons
Spacers
Text
Images
Basic forms
Multistep forms

 Tip

When customizing sites created through Power Pages, we recommend that you use
Power Pages design studio instead of Power Apps portals Studio.

Styling and themes


New themes and styling options introduced in the Styling workspace of the Power Pages
design studio can't be customized using the themes editor in the Power Apps portals
Studio.

Editing themes created in Power Apps portals Studio


If you're using the Styling workspace with a site that had a theme applied using Power
Apps portals Studio, you'll encounter the following behaviors;

The Styling workspace will show the theme as a Custom theme.


All the existing preset themes are available.
Once you choose and save a new theme, you won't be able to revert to the
original theme.
In Pages workspace, text items won't support title and small text styles.
Buttons won't support styling options.
For the background color, you can use the color picker but not the color palette.

 Tip

To utilize the richer styling options of design studio, we recommend you select and
apply one of the preset themes to your site.

Editing custom themes


A common method of styling a site is to upload a custom CSS file using the Portals
Management app.

There are also three CSS files added to all sites by default;

bootstrapmin.css
theme.css
portalbasictheme.css
The display order of the custom CSS file should be higher than the theme.css and
bootstrapmin.css files and lower than the portalbasictheme.css and the default display
order shouldn't be modified.

portalbasictheme.css > custom.css > theme.css > bootstrapmin.css

If the display order has been modified, or the default CSS files have been disabled, you'll
encounter the following behaviors;

The Styling workspace will show the theme as a Custom theme.


The existing preset themes won't be available.
In Pages workspace, text items won't support title and small text styles.
Buttons won't support styling options.
For the background color, you can use the color picker but not the color palette.

 Tip

To utilize the richer styling options of design studio, we recommend that all three
of the default CSS files are enabled (portalbasictheme.css, theme.css, and
bootstrapmin.css) and in the correct display order. You can then select and apply
one of the preset themes to your site.

2 Warning

It is not recommended to deactivate, delete or change the display order of any of


the default CSS files (bootstrap.min.css, theme.css, or portalbasictheme.css). You
will see an error in the design studio.

Resolving display order

In order to restore the display order of the default CSS files, follow these steps:

1. Open the Portal management app and in the Content section, locate Web Files.

2. Locate the following web files and update the display order appropriately. You can
use any values as long as the display order values are portalbasictheme.css >
custom.css > theme.css > bootstrapmin.css.

File Display order

bootstrap.min.css 8

theme.css 9

custom.css 10, 11, etc.

portalbasictheme.css 15
3. Select Save to update the web file record.

For information on how to upload a custom CSS file, see upload CSS files.
Use the admin center
Article • 01/11/2023 • 2 minutes to read

Power Pages uses the Power Platform admin center to provide administrators with
various site configuration capabilities.

7 Note

You will need to be assigned certain roles to perform administrative tasks. For more
information, see Roles required for portal administration.

1. To access the admin center, from the design studio, select the Set up workspace.

2. In the Site Details section, select Open admin center.

3. The Power Platform admin center will open and allow you to configure your site.
The following capabilities are accessible from the admin center. More information on
these features may be linked to the Power Apps documentation.

Site Actions
Select Site Actions to perform the following actions on your site.

Action More Information

Restart site Restart the site.

Shut down this site Turn off the site.

Delete this site See Delete a portal

Disable custom errors See Disable custom errors

Enable diagnostic logs See Enable diagnostic logging

Enable maintenance mode See Maintenance mode for a portal


Site Actions (...)
Select ... for more site actions.

Action More Information

Manage Dynamics 365 Instance See Update the Dynamics 365 instance for your portal

Update Dynamics 365 URL

Metadata translations See Import metadata translation

Install Field Service Extension See Integrate Field Service

Install Project Service Extension See Integrate Project Service Automation

Switch to Classic
Action More Information

Switch Switch to the classic admin center portals admin center. The Power Apps portals admin
to center is now deprecated and no longer available as of June 2023.
classic

Site Details
Action More Information

See All Opens a side panel displaying all the attributes of the current site.
Action More Information

Edit Edit site details.


A side panel will open allowing you to make the following updates to a site:

Change the Site Name.


Change the Website Record, which associates the site to the corresponding
site metadata stored in Microsoft Dataverse. This action will update the
corresponding website bindings record.
Selecting the Enable Portal for Early Upgrade allows you to specify that the
site can be updated to the latest code. This setting is only recommended for
development and testing sites.
You call also update the Site URL to a new unique URL using the
powerappsportals.com domain.

Convert to See Convert a portal


Production

Connect See Add a custom domain name


Custom
Domain

Application Indicates the application status of the site (Trial or Production)


Type

Early Indicates if site has been enabled for an early upgrade.


Upgrade

Site Indicates the visibility of the site. See Site Visibility.


Visibility

Site State Indicates the site's running state.

Application The site's application id.


Id

Org URL The organization URL of the Microsoft Dataverse instance the site is associated with.

Security
Action More Information

IP Restrictions See Restrict portal access by IP address

Custom Certificates See Manage custom certificates

Website Authentication Key See Manage portal authentication key

Manage Site Visibility Permissions See Site visibility in Power Pages


Site Health
Action More Information

Site Checker See Run Portal Checker

Performance & Protection


Action More Information

Content Delivery Network See Content Delivery Network

Web Application Firewall

Services
Action More Information

Power BI Visualization See Enable Power BI visualization

Power BI Embedded Service See Enable Power BI Embedded service

SharePoint Integration See Manage SharePoint documents

See also
Power Pages admin APIs
Use Power Pages admin APIs
Article • 02/23/2023 • 2 minutes to read

The Power Pages admin APIs are available through the Microsoft Power Platform API.

7 Note

The following limitations apply when configuring the steps to get the
authentication token while using the admin APIs for Power Pages:

Username and password flow is supported.


Service Principal flow support is not currently available.
Ensure the username used to request the token has the appropriate roles
required for portal administration assigned.

Call a REST API method for Power Pages admin


APIs
Microsoft Power Platform APIs allow users to invoke using REST API methods in
following format. The namespace for Power Pages APIs is powerpages.

HTTP

{HTTP method} https://api.powerplatform.com/powerpages/{resource}?api-


version={version}

To learn more about the request format and request components, go to Call a REST API
method.

Power Pages operations


Operation Details

Create Trigger the creation of a new Power Pages website.


Website
Note: It isn't recommended to create a site in the default environment as it is shared
across all the users in the tenant, and has a risk of sharing data with unintentional
users.
Operation Details

Delete Trigger the deletion of a Power Pages site from the given website ID.
Website

Get Get website details from Website ID.


Website
by Id

Get Get a list of all the Power Pages websites in your environment.
Websites

Restart Restart the Power Pages website for the given site ID.
Website
Site capacity consumption reports
Article • 10/12/2022 • 2 minutes to read

For detailed information on your Power Page's site capacity consumption, go to Portals
capacity consumption reports in the Power Apps documentation.
Update the Power Apps portals solution
Article • 10/12/2022 • 2 minutes to read

When you add a Power Pages site to your environment, many solutions are installed.
Periodically, new solutions updates are made available.

Updating solutions for Power Pages follows the same process as updating solutions for
Power Apps portals.

For detailed information on how to update the Power Apps portals solutions, go to
Update the Power Apps portals solution in the Power Apps documentation.
View site error logs
Article • 10/12/2022 • 2 minutes to read

For detailed information on viewing error logs for your Power Pages site, go to View
portal error logs in the Power Apps documentation.
Compliance and privacy
Article • 10/12/2022 • 2 minutes to read

Power Pages meets the highest levels of trust, transparency, standards conformance,
and regulatory compliance such as the General Data Protection Regulation (GDPR), in
addition to modern TLS crypto standards (TLS 1.2). It conforms with global accessibility
standards.

General Data Protection Regulation


The GDPR is a legal act of the European Union (EU), which protects data for all
individuals within the EU. With the GDPR, people can control the use of their personal
data in Microsoft Dataverse.

For more information, go to Implementing General Data Protection Regulations in the


Power Apps documentation.

Cookies
A cookie is a small file sent from the website to a visitor's device by the browser. A
single web session might use multiple cookies. Power Pages also uses cookies to store
information for various purposes.

For more information, go to Cookies in Power Pages in the Power Apps documentation.

Accessibility
Microsoft is committed to make products and services accessible to everyone. For more
information about accessibility in general, go to Accessibility .

For more information, go to Accessibility in Power Pages in the Power Apps


documentation.
Power Pages governance
Article • 10/12/2022 • 3 minutes to read

Power Pages provides some helpful tools for administrators to manage their sites and
environments.

Administrators can use the Power Apps portals admin center to:

Configure vanity domains


Manage lifecycle operations
Create
Delete
Convert to Production
License assignments
Restrict IP addresses
Change Microsoft Dataverse environments
Upload and manage custom certificates
Enable integrations

The Power Platform Center of Excellence toolkit provides tools and guidance to help you
manage your Power Pages sites.

Power Pages inventory components


The inventory components are core to Power Pages governance within the Center of
Excellence (COE) Starter Kit. The Power Pages resources are synced to the respective
inventory items tables and can be viewed in the Power Platform Admin View app and in
the COE Power BI report.

Component Description

Sync flows of the CoE Syncs your tenant resources to the Dataverse tables.
Starter Kit

Admin Sync Template The Power Pages specific cloud flow that handles the Power Pages
v3 (Portals) inventory telemetry

Power Pages table Provides information about created by/on and modified by/on, in
addition to resource-specific information.

Power Pages site Represents a portal website.

The following information is available for each app:


Details
Power Pages Owner
Power Pages Display Name
Power Pages Environment
Power Pages Website Name
Power Pages Created On
Power Pages Modified On
Power Pages Website ID
Power Pages Unique ID
Power Pages Website Record Status

Inventory Details
COE Inventory Record Created On
COE Inventory Record Modified On

Identity and Authentication


Auth Open Registration Enabled
Auth Local Registration Enabled
Auth Local Authentication Enabled
Auth Invitation Enabled
Auth External Identities Enabled

Data Security
Table Permissions Enabled Across Portal
Table Permissions Enabled All Lists
Table Permissions Enabled All Basic Forms
Table Permissions Enabled All Advanced Form Steps

System Created and Orphan Details


App Owner Display Name
Power Pages is Orphaned

Power Platform admin view


Use the Power Platform admin view to:

Get a quick overview of resources in your tenant.


Learn about your makers, connectors, Power Apps, Power Pages sites, and Power
Automate cloud flows.
Find out who apps are shared with.
Add additional information, such as notes and risk assessments, to your resources.
Set approved capacity for environments, and see capacity and add-on information
for each environment.
Complete app audits.
Manage capacity alerts.

7 Note

The permission app is intended to be used only by admins. Power Platform Service
Admin or Global Admin permission is required. Share this app with your CoE
admins.

View Power Pages sites data by selecting Power Pages Sites in the left pane. This view
shows all sites in the organization's tenant, allowing admins to govern data security and
authentication across environments.
Admins are able view more details about a Power Pages Site by selecting an inventory
record row from the list. This action displays the Power Pages details form. Admins can
investigate and govern Power Pages sites to ensure they're up to their organization's
security and DLP standards.

CoE Power BI report


The CoE Dashboard Power BI report provides a holistic view of inventory items in
Dataverse with rich visualizations and insights for Environment and Power Pages sites
information.
Follow the set up instructions to set up the Power BI dashboard. More information: Gain
deep insights into your Microsoft Power Platform adoption with the CoE Power BI
dashboard

Further resources
Power Pages admin center Allows you to perform advanced administrative actions
on portals. The admin center is available when a portal is provisioned successfully.
Explore the Power Apps admin documentation. As an admin looking after the CoE,
you should be familiar with the administration and governance of Microsoft Power
Platform. We recommend the following white paper as a resource: Power Apps
admin whitepaper
Find training resources, including guided learning and step-by-step guides, at
Power Platform labs .
Portal Management app overview
Article • 10/12/2022 • 2 minutes to read

For managing your Power Pages sites, you'll use the Portal Management app.

7 Note

To use the Portal Management app, you will need to be assigned the system
administrator role in the same Microsoft Dataverse environment as your site.

Open the Portal Management app


In the design studio, select the ellipsis (...) from the tool belt, and then select Portal
Management.

For detailed information, go to Portal Management app overview in the Power Apps
documentation.
Search
Article • 02/15/2023 • 18 minutes to read

In Power Pages, you can search for records across multiple tables by using Power Pages' global search functionality. You can also search
within records of lists using list search functionality.

List search functionality in the Power Pages uses FetchXML in the backend to search the columns defined in the list and then display the
results.

) Important

Starting with website version 9.4.4.xx, search uses Dataverse search to deliver results from multiple tables and fields for new sites.
Lucene .NET search is deprecated; however, existing websites use Lucene .NET search will not be affected. We recommend that users
migrate to Dataverse search. Enable Dataverse search for existing websites by using site setting Search/EnableDataverseSearch to true.

All the existing customers who are using Lucene .Net search need to migrate to Dataverse search by October 2023.

Pre-requisite
Power Pages search needs Dataverse search feature to be enabled at Dataverse environment

To enable Dataverse search:

1. In the Power Platform admin center , select an environment.

2. Select Settings > Product > Features.

3. Under Search, set Dataverse search to On.

4. Select Save.

Once the index is provisioned, it may take anywhere between an hour or more to complete a full sync for average size organizations, to a
couple of days for large size organizations.

What is Dataverse Search


Dataverse search delivers fast and comprehensive search results sorted by relevance. Dataverse search is the same search service used in
model-driven apps and other Microsoft Power Platform services built on Microsoft Dataverse.

Global search
Benefits of global search include its ability to:

Find matches to any word in the search term in any field in the table. Matches can include inflectional words like stream, streaming, or
streamed.
Return results from all searchable tables in a single list sorted by relevance, based on factors such as:
Number of words matched.
Proximity to each other in the text.
Highlight matches in the search results.
Provide facet options that can be used to further filter search results.
Global search allows you to search for records across multiple tables. It also allows you to search across multiple columns and
configure what columns of a table would be searchable.
Provides intelligent search by applying AI technology to interpret natural language such as misspellings, common abbreviations, and
synonyms to deliver quality results.

7 Note

Intelligent search doesn't work when Lucene syntax is used. Clear the value in Search/Query site settings to make intelligent query
work.

In global search, the better the match, the higher it appears in the results. A match has a higher relevancy if more words from the search
term are found in close proximity to each other. The smaller the amount of text where the search words are found, the higher the relevancy.
For example, if you find the search words in a company name and address, it might be a better match than the same words found in a large
article, far apart from each other. Because the results are returned in a single list, you can see a mix of records displayed one after another,
with matched works highlighted.

The following sections detail how global search works in Power Pages and describe the various configuration options available.

Tables searchable in global search


Provides intelligent search by applying AI technology to interpret natural language such as misspellings, common abbreviations, and
synonyms to deliver quality results.

By default, the following tables can be searched within a Power Pages website provided the appropriate solution packages have been
installed and search has been added to a site. The columns that are indexed will consist of the columns found in the Search view, which can
be customized. Each table in the list has its default set of attributes indexed as listed here:

Knowledge Article
Notes and attachment of a knowledge article are searchable as well. More information: Search within file attachment content
Articles are searchable only if they're published and their Internal Only field is set to false.
Blog
Blog Post
Blog Post Comment
Forum
Forum Post
Forum Thread
Idea
Idea Comment
Idea Forum
Web File
Attachment content of web files is searchable as well. More information: Search within file attachment content
Web Page
Incident

7 Note

You can configure additional tables for search. For more information, read Walk-through: Configuring additional
tables for global search

Columns searchable in global search


All the columns available in the view defined by the Search/IndexQueryName site setting for any table are indexed in global search and are
searchable.

Default value for Search/IndexQueryName is "Portal Search".

The first column in the "Portal Search" view will show as the title of search result. Modify the column order in the “Portal Search” view to get
a desired search result title.

If the view isn't available for any table, it's not indexed, and the results aren't displayed in global search.

7 Note

If you change the value of the Search/IndexQueryName site setting, you need to trigger a manual re-index of the build using steps
defined in the Rebuild the search indexsection.

Related site settings


The following site settings are related to global search:

Name Default value Description


Name Default value Description

Search/Enabled True A Boolean value t


If you're using ou
search page. Also

Search/EnableDataverseSearch True A Boolean value t


will be provided b
If the setting does
Any sites provisio
False.

Search/EnableAdditionalEntities False Setting this value


Requires Search/E

Search/Filters Content:adx_webpage;Events:adx_event,adx_eventschedule; A collection of sea


Blogs:adx_blog,adx_blogpost,adx_blogpostcomment;Forums:adx_communityforum, be in the form of
adx_communityforumthread,adx_communityforumpost;Ideas:adx_ideaforum,adx_idea,adx_ideacomment; "Forums:adx_com
Issues:adx_issueforum,adx_issue,adx_issuecomment;Help Desk:incident Note:

Values in th
When using

Search/IndexQueryName Portal search The name of the s

Search/Query +(@Query) _title:(@Query) _logicalname:adx_webpage~0.9^0.2 This setting adds


-_logicalname:adx_webfile~0.9 adx_partialurl: default value, @Q
(@Query) _logicalname:adx_blogpost~0.9^0.1 -_logicalname: For information o
adx_communityforumthread~0.9 Important: This w
search tag to crea

Search/Stemmer English The language use

Search/FacetedView True Enables facets in t

Search/IndexNotesAttachments False Indicates whether


More information

Search/RecordTypeFacetsEntities Blogs:adx_blog,adx_blogpost;Forums:adx_communityforum, Determines how t


adx_communityforumthread,adx_communityforumpost; "DisplayNameinR
Ideas:adx_ideaforum,adx_idea;Downloads:annotation,adx_webfile DisplayNameinRe
Display Name in R

KnowledgeManagement/DisplayNotes True Indicates whether

Related content snippets


The following content snippets are related to global search:

Name Default Description


value

Header/Search/Label Search This content snippet determines the watermark text shown in the search box in the site header.

Header/Search/ToolTip Search This content snippet determines the tooltip text shown when you hover over the search icon in
the site header.

Search/Default/FilterText All This content snippet determines the default text shown in the filter drop-down list next to the
search box.

Search/Facet/All All This content snippet determines the default text shown for "all records facet" in the "Record
Type" facet of the search result page.

Search/Facet/ClearConstraints Clear All This content snippet determines the label of the button that resets all the facets applied in the
search results page.

Search/Facet/Downloads Downloads This content snippet determines the label displayed in the search results of annotation
attachments and web file records in the "Record Type" facet.

Search/Facet/Less Show less This content snippet determines the label of the button that collapses facet results.

Search/Facet/ModifiedDate Modified This content snippet determines the label of the header shown for the Modified date facet.
date

Search/Facet/More Show more This content snippet determines the label of the button that expands facet results.
Name Default Description
value

Search/Facet/Product Products This content snippet determines the label of the Products facet.

Search/Facet/Rating Rating This content snippet determines the label of the Rating facet.

Search/Facet/RecordType Record Type This content snippet determines the label of the Record Type facet.

Search/Facet/SortOrder/AverageUserRating Average This content snippet determines the label shown for the "Sort by Average User Ratings" option
User in the sorting drop-down list on the Search Results page.
Ratings

Search/Facet/SortOrder/Relevance Relevance This content snippet determines the label shown for the "Sort by Relevance" option in the
sorting drop-down list on the Search Results page.

Search/Facet/SortOrder/Views View Count This content snippet determines the label shown for the "Sort by View Count" option in the
sorting drop-down list on the Search Results page.

Table-specific handling
Case: By default, the only cases that are searchable are in the Resolved state with the Publish to Web field set to True. This behavior
can be modified by updating the Search view of the Case table and removing the filters available in the Search view. However, when
this check is removed, it's important to ensure that the Customer Service – Case web template is modified appropriately, as this web
template restricts all users from viewing cases that are active and aren't published to the web. If the web template isn't modified,
cases will be visible in search results. However, when you select them, the case detail web page is displayed with the Permission
denied error.

Knowledge Base: Knowledge articles are searchable only if they are in the Published state with the Internal field set to No. This
behavior can't be modified. Knowledge articles also have special functionality available in search results as follows:

Facets: Two special facets are available only for knowledge articles and are displayed if knowledge article records are available in
search results.

Ratings facet: This facet allows you to filter search results based on the average rating of knowledge articles.

Product facet: This facet allows you to filter search results based on the product associated to the knowledge articles.

Attachment search: This functionality allows you to search within the attachments or notes associated to a knowledge article.
Search within note description, title, attachment file name, and attachment content of notes or attachments that are exposed on
the site. More information: Search within file attachment content

Special characters and syntax supported by search


As part of global search, various special characters and syntaxes are supported to filter search results better. These special characters and
syntaxes are broadly divided into the following groups:

Term: Every query entered by a user for search is parsed into terms and operators. Following are the types of terms:

Single term: Single term is a single word. For example, a query {hello world} would be parsed into two single terms, "hello" and
"world". Each single term is searched separately. Therefore, in the query {hello world}, all the records having the term "hello" or
"world" would be displayed in search results.

Phrases: A phrase is a group of terms surrounded by double quotes (""). For example, a query {"hello world"} would be parsed as a
phrase "hello world". Each phrase is searched completely. For example, in the query {"hello world"}, all the records having the
complete phrase "hello world" would be displayed in search results. Any record that only has "hello" or "world" wouldn't be
displayed.

Each search query can consist of one or many of these terms of any type that are combined using Boolean operators to create
complex queries.

Term modifiers

Wildcard search: There are two types of wildcards available to be used within single terms of search queries (not within phrase
queries): Single character wildcard search and multiple character wildcard search.

Single character wildcard search: To perform a single character wildcard search, use the question mark (?) symbol. The single
character wildcard search looks for terms that match that with the single character replaced. For example, to search for "text" or
"test" you can use the search query as "te?t".

Multiple character wildcard search: To perform a multiple character wildcard search, use the asterisk (*) symbol. Multiple
character wildcard searches look for zero or more characters. For example, to search for test, tests or tester, you can use the
search query as "test*". You can also use multiple character wildcard search in the middle of the query. For example, "te*t".

7 Note
You cannot use a * or ? symbol as the first character of a search.
Wildcard search cannot be used in a phrase query. For example, if you use query as "hell* world", it will not display results
with the "hello world" text.

Proximity search: Proximity search allows you to search words that are within a specific distance from each other. For example, if
you want results for the words "Picture" and "blurry" appearing within 10 words of each other, you can use proximity search.

To do proximity searches, use the tilde (~) symbol at the end of the query. For example, if you want results for the words "Picture"
and "blurry" appearing within 10 words of each other, then the query would be "Picture blurry"~10.

Boosting a term: Global search provides the relevance level of matching documents based on the terms found. To boost a term,
use the caret (^) symbol with a boost factor (a number) at the end of the term you're searching. The higher the boost factor, the
more relevant the term will be.

Boosting allows you to control the relevance of a document by boosting its term. For example, if you're searching for Smart TV and
you want the term Smart to be more relevant, boost it using the ^ symbol along with the boost factor next to the term. You would
type: Smart^4 TV. This will make documents with the term Smart appear more relevant.

You can also boost phrase terms as in the example: Smart TV^4 New TV. In this case, the "Smart TV" phrase would be boosted in
comparison to "New TV".

By default, the boost factor is 1. Although the boost factor must be positive, it can be less than 1 (for example, 0.2).

Boolean operators: Boolean operators allow terms to be combined through logic operators. Global search supports OR, AND, NOT,
"+", and "-" as Boolean operators.

7 Note

Boolean operators must be written in uppercase.

OR: The OR operator is the default conjunction operator. If there isn't a Boolean operator between two terms, the OR operator is
used. The OR operator links two terms and finds a matching record if either of the terms exists in a record. This is equivalent to a
union using sets. The symbol || can be used in place of the word OR. For example, the search query "Smart TV" (excluding
quotation marks) will search for all records with the word Smart or TV in them. This query can also be written as "Smart OR TV",
"Smart || TV".

AND: The AND operator matches records where both terms exist anywhere in the text of a single document. This is equivalent to
an intersection using sets. The symbol && can be used in place of the word AND. For example, the search query "Smart AND TV"
(excluding quotation marks) will search for all records with the words Smart and TV in them. This query can also be written as
"Smart && TV".

NOT: The NOT operator excludes records that contain the term after NOT. This is equivalent to a difference using sets. The symbol !
can be used in place of the word NOT. For example, the search query "Smart NOT TV" (excluding quotation marks) will search for
all records that have the word Smart but don't have the word TV in them. This query can also be written as "Smart ! TV".

Plus (+) symbol: The plus (+) symbol, also known as the required operator, requires that the term after the "+" symbol exists
somewhere in a record. For example, the search query "Smart + TV" will search for all records where the word TV must be present,
and the word Smart may be present as well.

Minus (–) symbol: The minus (-) symbol, also known as the prohibit operator, excludes documents that contain the term after the
"-" symbol. For example, the search query "Smart - TV" will search for all records where the word Smart is present, and the word TV
must not be present.

Grouping: Global search supports using parentheses to group clauses to form sub queries. This feature can be useful if you want to
control the Boolean logic for a query. For example, if you want to search for all records where either one of the terms "HD" or "Smart"
is present but the word TV is always present, the query can be written as "(HD or Smart) AND TV" (excluding quotation marks).
Liquid search tag
You can invoke global search from liquid templates by using the searchindex tag. More information: Use Liquid

) Important

When you use the searchindex tag, facets are not returned as part of results, nor can they be applied as a filter.

Update search index


Search index updates in Power Pages happen automatically like the cache invalidation. Keep these important things in mind, though:

All search-enabled tables must have the Change Notification metadata flag enabled, otherwise the website won't be notified of the
changes and the search index won't be updated.

Any change can take up to 30 minutes to be reflected in a search. However, 95 percent of the changes will be updated within 15
minutes. If attachments are involved, it can take longer depending on the size of the attachment.

it's advisable to rebuild the full index manually after performing a bulk data migration or bulk updates to records within a short span
of time. For details, see Rebuild the search index.

Rebuild full search index


Rebuild of full search index is required whenever:

You make a metadata change to search properties like changing certain query-specific site settings or changing the search view of a
table, and so on.
Bulk data migration or updates are performed.
A website record, associated to your Power Pages site, is changed in a Microsoft Dataverse environment.

You can also rebuild a full search index from a Power Pages site.

1. Sign in to the site as an administrator.


2. Navigate to the URL as follows: <portal_path>/_services/about
3. Select Rebuild search index.

) Important

A full index rebuild is a very expensive operation and should not be done during peak hours of usage, as this can bring your site
down.
Time taken to rebuild index is proportional to the size of the data eligible for indexing as per your search query configuration,
and can range from a few minutes to an hour.

Remove a table from global search


At times, you might be required to completely remove certain tables from global search to ensure that your customers get the right results
quickly.

In the following example, we'll remove the Case table from global search.

Step 1: Block case table from getting indexed


To block the Case table from getting indexed, you must rename the view of the Case table that defines the record set to be indexed by the
website (defined by the Search/IndexQueryName site setting). By default, the name of that view is Portal Search.

1. Go to Power Apps .

2. Select Solutions.

3. Search for Default Solution and select Edit to open.

4. Search and edit Case table to see its components.


5. Select Views tab and then select Portal Search to open it in a view editor.

6. In the view editor, rename the view according to your requirement. Ensure the new name doesn't have the Portal Search term.

7. Save and publish the changes and close the view editor.

8. Rebuild the full index as described in the Rebuild the search index

7 Note

In this example, we are making changes in an unmanaged layer by directly editing the view. You can also do this via a managed
solution.

Step 2: Remove case table from the UI


After performing the actions described in Step 1, the Case table would be stopped from getting indexed. To remove the case table from UI
surface areas, you must modify the site setting associated with portal global search. The following site setting must be modified:

search/filters: Removes case table from filters on the Search page and the search box in the header of the site. By default, the value is:
Content:adx_webpage,adx_webfile;Blogs:adx_blog,adx_blogpost;Forums:adx_communityforum,adx_communityforumthread,adx_communityforumpo
st;Ideas:adx_ideaforum,adx_idea;Help Desk:incident;Knowledge:knowledgearticle

You must delete Help Desk:incident; from the value of this site setting so that the Incident table is removed from filters that come next to
the search box in the UI.

The modified value will be:

Content:adx_webpage,adx_webfile;Blogs:adx_blog,adx_blogpost;Forums:adx_communityforum,adx_communityforumthread,adx_communityforumpo
st;Ideas:adx_ideaforum,adx_idea;Knowledge:knowledgearticle

Once this site setting is changed, the Case table will be removed from filters on the search page and in the header.

Next steps
Configuring additional tables for global search

See also
Use faceted search
Search within file attachment content
Walk-through: Configuring additional
tables for global search
Article • 02/15/2023 • 5 minutes to read

Overview
You can enable additional tables for search functionality. Configuring search for
additional tables requires additional actions, which are described in this article. These
explicit configuration steps ensure that no records will accidentally be made available
using global search.

Steps to configure search for additional tables


To configure search for additional tables:

1. Enable additional tables search for the first time by adding a new setting
Search/EnableAdditionalEntities and set it to true. This is a one-time step that
enables search for all additional out-of-the-box and custom tables.

2. Create Portal Search view for each additional table with the required filters and
columns that need to be searchable.

3. Configure table permissions for each additional table with a Web Role to have at
least read privilege. Skip this step if you already have the read permissions
configured for each table.

4. Create a record details page for each table to show the details of the selected
record from the search results page. Skip this step if you already have created
separate results record details page for each table.

5. Create a site marker named <entitylogicalname>_SearchResultPage for each table


with the associated record details page.

6. Rebuild the search index.

7. Verify the search results.

2 Warning
If you don't create a record details page, or if you don't bind the record details
page with site marker for search, you won't be able to select the additional table
records from search results page to view the record details.

Site setting for additional tables


The site setting Search/EnableAdditionalEntities is required when configuring
additional tables for search.

) Important

Search/EnableAdditionalEntities is explicitly for enabling search for additional


tables. The main search site setting Search/Enabled must be set to true when using
search functionality.

You can also configure other related site settings similar to the search configuration for
default tables. For example, you can use the Search/Filters setting to configure
additional tables and add a drop-down filter option to the global search. More
information: Related site settings

Site marker for record details page


The record details page is configured using a Site Marker named
<entitylogicalname>_SearchResultPage .

For example, if your table logical name is nwind_products, the site marker will be
nwind_products_SearchResultPage . The value of the site marker is the record details page

that you want to open when that search result is selected. By default, a record ID is
passed in the id querystring parameter to the record details page. For more information
about adding forms on a page, go to Add a form.

) Important

Ensure that your record details page has a basic form, or has logic written to show
the search result details. For example, Step 4 - Add record details page in the
following walkthrough.

The following walkthrough explains each step in detail with a sample database and
solution to configure search for additional tables.
7 Note

This walkthrough explains how to enable search for the Order Products table
in the sample database Northwind, available with Microsoft Dataverse. For
more information about sample databases, see Install Northwind Traders
database and apps.
You can follow the walkthrough with a table of your choice by replacing the
nwind_products table name with your table's logical name.

Step 1: Add or update search site settings


1. Ensure that you're in the appropriate environment where your Power Pages site
exists.

2. Go to the Portal Management app.

7 Note

The Portal Management app might be named Dynamics 365 Portals if you're
in an environment where Dynamics 365 applications are installed.

3. Select to open the Portal Management app, and then go to Site Settings in the
left navigation pane.

4. Create a new setting, Search/EnableAdditionalEntities, and set its value to true.

5. Create or update the search/filters setting, and add the


value Products:nwind_products.

Step 2: Create or verify the Portal Search view

7 Note

The following steps require the Northwind Traders solution to be installed. If you
want to use another table, use the appropriate solution or use the Default solution.

1. Go to Power Apps , and select Solutions from the left navigation pane.

2. Select Northwind Traders.


3. Search for the Order Product table.

4. Select the Order Product table, and then select Views.

5. Ensure that you see Portal Search in the views list.

If the Portal Search view doesn't already exist, select Add view, enter the name as
Portal Search, and then select Create.

6. Ensure appropriate columns are added to the view for search.

7. If you edited the view, be sure to select Save, and then Publish before you
continue.

Step 3: Create table permissions


1. Go to the Portal Management app.

2. Select Table Permissions in the left navigation pane.

3. Select New.

4. Enter the name as Northwind Products Read All, and then select the appropriate
Access Type and the Read privilege.

For this example, the Global access type is provided to the nwind_products table.

5. Select Save & Close.

6. Select and open Northwind Products Read All.

7. Scroll down to the Web Roles section, and then select Add Existing Web Role.

8. Search for Authenticated Users, and then select Add:

Step 4: Add record details webpage


1. Go to Power Apps , and select Apps in the left navigation pane.

2. Select More Commands (…), and then select Edit to open the site in design studio.

3. Select New Page from the menu in the upper-left corner, and then select the Blank
layout for the page.

4. Enter the webpage name as Order Products.


7 Note

This page will be shown when users select a record from the search results
page to view the details of the selected record.

5. Select Components in the left navigation pane, and then add a Form component
to this webpage.

6. Select the Use existing option on the right side of your workspace, choose the
View Products form for the nwind_products table, and then set Mode to
ReadOnly.

Step 5: Add a site marker for record details


webpage
1. Go to the Portal Management app.

2. Select Site Marker from the left navigation pane.

3. Select New, and then create a new site marker by using the following details:

Name: nwind_products_SearchResultPage
Page: Order Products

Step 6: Rebuild the search index


1. Browse your website by using a user account that has the Administrator web role
assigned.

2. Append the URL in the address bar with /_services/about, and then select Enter.

3. Select Clear cache.

4. After clearing the cache, select Rebuild full search index.

Step 7: Verify that global search works with the


custom table
1. Browse to the website with a user that has Authenticated Web Role assigned.

2. Go to the search toolbar or the search page, and search for a known record.
For example, use the search keyword Northwind Clam Chowder to get the results
associated with the nwind_products table.

Next steps
Remove a table from global search

See also
Related site settings
Progressive search
Faceted Search
Article • 02/15/2023 • 2 minutes to read

Users can search site content using filters based on selected characteristics. These filters
allow customers to find the content they want more quickly than traditional search.

Enable faceted search


Out-of-the-box faceted search is enabled in your Power Pages site. To control or enable
it, follow these steps:

1. Open the Portal Management app and go to Portals > Website > Site Settings.
2. Select the Search/FacetedView site setting.
3. Change the Value to True to enable or False to disable faceted search.

Disable faceted search


To disable a single piece of the faceted view:

1. Open the Portal Management app and go to Portals > Web Templates.
2. Select the view to disable (that is, Knowledge Management – Top Rated Articles)
3. Select Deactivate at the top of the page.

Group tables as part of a record type for


faceted view
The site setting Search/RecordTypeFacetsEntities allows you to group similar tables
together so users have logical ways of filtering search results. For example, instead of
having separate options for forums, forum posts, and forum threads, these tables are
grouped under the Forums record type.

Go to Portals > Websites > Site Settings and open the


Search/RecordTypeFacetsEntities site setting.

The different tables are preceded by the word Forums: because the first value is the
name with they're grouped as. This word will be translated based on the language that
is being used on the site.
Use faceted search to improve knowledge
search results
Faceted search enables Power Pages sites to have search filters on the leftmost side.
These filters allow you to choose between items like forums, blogs, and knowledge
articles. More filters are added for specific search types. For example, knowledge articles
can be filtered by Record Type, Modified Date, Rating, and Products to help customers
find the content they need. The rightmost side also has a drop-down box that sorts
results based on the customer’s choice of Relevance or View Count (specific to
knowledge articles). Below is a screen capture with an example of some of the available
filters.

See also
Progressive search
Search within file attachment content
Article • 02/15/2023 • 4 minutes to read

You can use the notes attachment to include downloadable files in knowledge base
articles. You can also use web files to create an FAQ page with downloadable content.

You can configure your Power Pages site to allow users to search within the attachment
content of knowledge base articles. This helps users to find the information that they're
looking for.

In knowledge base articles, any notes attachment with the defined prefix is indexed. In
web files, the latest notes attachment is indexed.

To index the attachments, you must create the following site settings and set their value
to True:

Site setting Description

Search/IndexNotesAttachments Indicates whether the content of notes attachments in


knowledge base articles and web files should be
indexed. By default, it's set to False.

KnowledgeManagement/DisplayNotes Indicates whether to index attachments of knowledge


base articles. By default, it's set to False.

7 Note

Only the files that are attached to knowledge articles can be searched. The files that
are attached to web files are not searchable.

When you search for a term, the search results also include attachments. If the search
term matches a notes attachment, the link to the corresponding knowledge base article
is also provided. To see downloadable attachments, select Downloads under Record
Type in the left pane. To modify the Downloads label, edit the Search/Facet/Downloads
content snippet. By default, the value is set to Downloads.

7 Note

Dataverse search must be enabled in your environment to use this functionality.


Search through knowledge article attachments
If your site uses Lucene .NET search, you can enable the website to search through
knowledge article attachments by setting the Sync knowledge article attachments to
site option to Yes in the Dynamics 365 Customer Service admin center or Customer
Service Hub app. You don't need to configure this option if your site is using Dataverse
search, you'll be able to search through knowledge article attachments by default.

This allows search to look through knowledge article attachments and make information
easily accessible to knowledge consumers. With this attachment capability, you won’t
need to use the notes attachments for the site. Knowledge article attachments will
automatically be synced to the notes attachment. More information: Update knowledge
article attachments for portal

Update site configurations


If you already have a website before April 2018 and you've upgraded your site to the
latest version, you must use the following configurations to have the same user
experience as a new installation.

Content Snippets
To modify the label displayed in the search results for annotation and web file
downloads, create a content snippet Search/Facet/Downloads, and then set its value as
required. The default value is Downloads.

Web Files
The content of file attachments associated with web files can now be indexed. You can
update existing web files for CSS files and image files (for example, bootstrap.min.css,
theme.css, and homehero.jpg) to be excluded from search.

1. Open the Portal Management app.


2. Open the file to be excluded from search.
3. Under Miscellaneous, select Yes in the Exclude From Search field.

Web Templates

The Faceted Search - Results Template web template is revised to display files associated
with knowledge base articles as primary search result items with a related article link.
You must update the Faceted Search - Results Template web template to the following
source:
{% assign openTag = '{{' %}
{% assign closingTag = '}}' %}
{%raw%}
<script id="search-view-results" type="text/x-handlebars-template">
{{#if items}}
<div class="page-header">
<h2>{%endraw%}{{openTag}} stringFormat "{{
resx.Search_Results_Format_String }}" firstResultNumber lastResultNumber
itemCount {{closingTag}}{%raw%}
<em class="querytext">{{{query}}}</em>
{{#if isResetVisible}}
<a class="btn btn-default btn-sm facet-clear-all" role="button"
title="{%endraw%}{{ snippets['Search/Facet/ClearConstraints'] | default:
res['Search_Filter_Clear_All'] }}{%raw%}" tabIndex="0">{%endraw%}{{
snippets['Search/Facet/ClearConstraints'] | default:
res['Search_Filter_Clear_All'] }}{%raw%}</a>
{{/if}}
</h2>
</div>
<ul>
{{#each items}}
<li>
<h3><a title="{{title}}" href="{{url}}">{{#if parent}}<span
class="glyphicon glyphicon-file pull-left text-muted" aria-hidden="true">
</span>{{/if}}{{title}}</a></h3>
<p class="fragment">{{{fragment}}}</p>
{{#if parent}}
<p class="small related-article">{%endraw%}{{ resx.Related_Article }}
{%raw%}: <a title="{{parent.title}}" href="{{parent.absoluteUrl}}">
{{parent.title}}</a></p>
{{/if}}
<ul class="note-group small list-unstyled">
{{#if relatedNotes}}
{{#each relatedNotes}}
<li class="note-item">
{{#if isImage}}
<a target="_blank" title="{{title}}" href="{{absoluteUrl}}"><span
class="glyphicon glyphicon-file" aria-hidden="true"></span>&nbsp;{{title}}
</a>
{{else}}
<a title="{{title}}" href="{{absoluteUrl}}"><span class="glyphicon
glyphicon-file" aria-hidden="true"></span>&nbsp;{{title}}</a>
{{/if}}
<p class="fragment text-muted">{{{fragment}}}</p>
</li>
{{/each}}
{{/if}}
</ul>
</li>
{{/each}}
</ul>
{{else}}
<h2>{%endraw%}{{ resx.Search_No_Results_Found }}{%raw%}<em
class="querytext">{{{query}}}</em>
{{#if isResetVisible}}
<a class="btn btn-default btn-sm facet-clear-all" role="button"
title="{%endraw%}{{ snippets['Search/Facet/ClearConstraints'] | default:
res['Search_Filter_Clear_All'] }}{%raw%}" tabIndex="0">{%endraw%}{{
snippets['Search/Facet/ClearConstraints'] | default:
res['Search_Filter_Clear_All'] }}{%raw%}</a>
{{/if}}
</h2>
{{/if}}
</script>
{%endraw%}

Site Settings

You must add \_logicalname:annotation~0.9^0.25 value to the Search/Query site


setting. After it's added, the value should be as follows:

+(@Query) \_title:(@Query) \_logicalname:knowledgearticle~0.9^0.3


\_logicalname:annotation~0.9^0.25 \_logicalname:adx_webpage~0.9^0.2 -
\_logicalname:adx_webfile~0.9 adx_partialurl:(@Query)
\_logicalname:adx_blogpost~0.9^0.1 -
\_logicalname:adx_communityforumthread~0.9

To configure the facets to group annotations associated with knowledge base articles
and web files in a single facet, edit the Search/RecordTypeFacetsEntities site setting
name and append ;Downloads:annotation,adx_webfile to its value.

To allow attachments associated with knowledge articles to appear in the website and
search results, edit the KnowledgeManagement/DisplayNotes site setting and set its
value to True. The site setting KnowledgeManagement/NotesFilter contains a prefix
value that must be prefixed to the note text field on notes; only notes with the specified
prefix value will appear on the webpage. By default, the value is *WEB*, but you can
change it through the site setting.

To enable the indexing of file attachments associated with notes, create the
Search/IndexNotesAttachments site setting and set its value to True.
Progressive search
Article • 02/15/2023 • 2 minutes to read

Getting accurate search results when a site has several additional tables enabled for
search can become difficult. A complex permissions structure for individual tables and
records adds to this difficulty. Searching for content on such sites may end up with a
records count that doesn't match the number shown on the search results page.

Overview
By default, the Power Pages search processes only one page for permissions and
keyword matches. When results span across multiple pages, some results may be
discarded because of permissions, or keywords, and the pagination becomes distorted.

Progressive search eliminates the possibility of having a mismatch between the results
count and the number of records returned in the search results.

A site configured with progressive search processes five pages for a permissions and
keyword match, with 50 records for a single search attempt. The search count now
shows 50+ on the first page instead of the mismatch count between facet and results.

Configure progressive search


To configure progressive search:

1. Open the Portal Management app.


2. On the left pane, select Site Settings under Website.
3. Select New.
4. Enter Name as "Search/EnableProgressiveSearchCounts".
5. Select your website record.
6. Enter Value as "true".
7. Select Save.
8. Rebuild the search index.

To disable progressive search, set the value of Search/EnableProgressiveSearchCounts


site setting to false.

Progressive search with sample data


As an example, consider a site in an environment with Northwind Traders sample data,
with search enabled for Order Products.

When the user searches for products, only 10 results show up, even though the search
facet shows the total number of products as 68, including the configured filters.

This behavior is more prevalent when search results span across multiple pages. But with
progressive search, you can get more accurate results by changing the behavior of the
search for enabled facets and filters.

After a user enables progressive search on this site, the search results for the same user,
permissions, and keyword show the total number of results as 10 instead.

If a user enables progressive search for a keyword that returns more than 50 results, the
count shows as 50+ instead, with 10 results listed on the first page.

Selecting another page, such as page 2, shows the count updated to the total number of
search results. (In this example, a total of 52.)

Considerations
Enabling progressive search changes the behavior of the search for all enabled
facets and filters.
Progressive search processes a maximum of 50 records at a time, with more than
50 results shown as 50+ on the first result page.
For a better search experience, use specific keywords that narrow the search results
to a smaller number.
Selecting a particular facet in filters only shows results for the selected facet, such
as tables.
Since the records are progressively evaluated, the "jump to last page" button is
only available if the remaining number of pages in the search result are five or less.

See also
Faceted Search
Configuring additional tables for global search
Advanced configuration
Article • 10/12/2022 • 2 minutes to read

Power Pages is built on the foundation of Power Apps portals. Many of the tools and
methods used to configure sites in Power Pages use the functionality of Power Apps
portals.

The following are advanced features of Power Pages that are configured by using Power
Apps portals.

Configure search
In Power Pages, you can search site content and Dataverse records by using the global
search functionality.

More information: Search

Power BI
To view dashboards and reports from Power BI on pages in a site, you must first enable
Power BI visualization from the Power Apps portals admin center.

More information: Set up Power BI Integration

Web files
A web file represents a downloadable file in a Power Pages site, used to store images,
documents, and any other file type.

More information: Create and manage web files

SharePoint integration
You can upload and display documents to and from SharePoint Online directly on a
basic form or advanced form in a site.

More information: Manage SharePoint documents

Multiple languages
A site can display content in multiple languages to reach customers around the world.
The content of your Power Pages site can be translated into multiple languages while
maintaining a single content hierarchy.

More information: Enable multiple-language portal support

Configure content delivery network


A content delivery network (CDN) is a distributed network of servers that can efficiently
deliver web content to users. CDNs' store cached content on edge servers in point-of-
presence (POP) locations that are close to end users, to minimize latency. You can
configure Power Pages to use a CDN.

More information: Configure CDN


Embed a Power Pages site in another
website by using an iframe
Article • 01/27/2023 • 5 minutes to read

One of the most common ways of using web based applications is to embed web
application functionality inside another website. Usually the other website already exists,
but you want to enhance its abilities and add new functions that work with your data
surfaced through the Power Pages application.

In this scenario, it's easier to embed your Power Pages site functionality rather than
build it from scratch. This article explains the steps to embed a Power Pages application
in a different website by using an iframe.

Step 1. Enable the site for iframe


Iframes are disabled on new Power Pages sites by default, to ensure that no one can
embed your website externally to attempt "clickjacking" attacks .

1. Set up the HTTP response header. You can choose either the Content-Security-
Policy (CSP) frame-ancestors directive (recommended) or X-Frame-Options .

7 Note

Content-Security-Policy frame-ancestors has superseded X-Frame-Options,


and is the method described in this article.

a. Set the site setting to enable the HTTP header HTTP/Content-Security-Policy.


More information: Set up HTTP headers in portals

b. Follow the syntax described in CSP: frame-ancestors to set the value.

For example, to enable a Power Pages site that can be embedded by using an
iframe in the website www.contoso.com , the setting will look like the following:

Content-Security-Policy: frame-ancestors 'self' <https://www.contoso.com>;

7 Note

The 'self' string is important; without it, the Power Pages site won't be
able to embed its own pages, which is commonly required in scenarios
such as modal pop-up menus for basic forms.

It's important to limit the ability to embed a Power Pages site in an iframe
to specific sites, rather than use the wildcard character (*).

CSP consists of numerous directives whose values depends on various


factors (like from where the scripts are loaded). This article doesn't cover
that information because it's implementation-specific. However, we
recommend that you first test this setup on a nonproduction site, look at
the browser console errors to identify issues you need to fix, and adjust the
setting.

2. Set the SameSite default to None for Power Pages site cookies.

The SameSite attribute for cookies is useful for securing the site against cross-
site request forgery (CSRF) attacks. However, this also means that the site can't be
embedded in an iframe in scenarios like when the site requires user authentication
or contains dynamic components like forms or lists.

Therefore, to embed the Power Pages site in an iframe, you must change the
SameSite cookie attribute for your Power Pages site to None by default. More
information: SameSite mode changes

7 Note

Marking SameSite cookies as None doesn't make your Power Pages site
vulnerable to CSRF attacks, because the Power Pages uses anti-CSRF tokens to
prevent these attacks.

Step 2. Embed your Power Pages site


After you complete the previous step, all you need to do to embed the Power Pages site
experience into your website is to use the HTML iframe tag to embed the whole site
or specific pages, as required.

We recommend that the Power Pages domain name be a sibling or a child of the
domain name of the site where you're embedding the site in an iframe. For example, if
your root website is www.contoso.com , the Power Pages site domain name should be
portal.contoso.com . This is important to ensure that the cookies used by the Power
Pages site won't be classified as third-party cookies and be blocked by the browser
(blog) . Otherwise, functionality such as Captcha and basic/multistep form redirection
might not work properly. To set up a custom domain name on your Power Pages site, go
to Add a custom domain name.

Step 3. Handle headers and footers


You can modify how headers and footers appear—or whether they appear at all—on
embedded Power Pages site pages.

Keep the embedded site headers and footers from


showing
It's common for the parent site where you want to embed a Power Pages site to already
have headers and footers. In such situations, you might not want to show the embedded
site's header and footer. Consider the following scenarios:

When an entire Power Pages site is embedded in an iframe


Remove the content of your header and footer by updating the respective header
and footer web templates.

When a specific Power Pages site page is embedded in an iframe


Typically, you don't want to show the site header or footer when you embed a
specific page in a website. However, you still want the header and footer to be
available when the user goes to the site directly. You can achieve this by modifying
headers and footers to render dynamically based on page content.

Add conditional code in header and footers


Header and footer web templates support full liquid customizations, so you can add
conditional code to render certain properties.

For example, the following code displays a search bar in the header if the page is
anything other than the search page.

) Important

Because the header is an element common to all pages, page.id will get cached by
default for the first page that's opened by a user. Hence, this code uses the
substitution tag to ensure that these elements won't be cached and will always be
evaluated based on the current page.
{% substitution %}
{% assign current_page = page.id %}
{% assign sr_page = sitemarkers[Search].id %}
{% if current_page == sr_page %}
{% assign section_class = section-landing-search %}
<section class=page_section section-landing-{{ current_page }} {{
section_class | h }} color-inverse\>
<div class=container\>
<div class=row \>
<div class=col-md-12 text-center\>
{% if current_page == sr_page %}
<h1 class=section-landing-heading\>{% editable snippets
'Search/Title' default:resx["Discover_Contoso"] %}\</h1\>
{% include 'Search' %}
{% endif %}
</div\>
</div\>
</div\>
</section\>
{% endif %}
{% endsubstitution %}

As an alternative to adding conditional code in header and footers, you can also
consider the following methods. However, we don't recommend either approach; they
both have limitations, and neither supports full functionality.

For read-only scenarios that don't include any lists or forms, disable header and
footer from your template.
Use a special rewrite template ( ~/Areas/Portal/Pages/Form.aspx ).

See also
Configure site settings for portals
Substitution template tag
Enable header and footer output caching on a portal
SameSite mode
Set up HTTP headers in portals
Set up Azure Front Door with Power
Pages sites
Article • 01/27/2023 • 16 minutes to read

As a website maker, you can use Azure Front Door with Power Pages to use its edge
caching and web application firewall (WAF) capabilities. In this article, you'll learn how to
set up Azure Front Door with Power Pages.

7 Note

Although this article is focused on Azure Front Door, similar steps can be
used for any other content delivery network or WAF provider. The
terminology used by various components might be different.
While custom domain HTTPS settings using Azure portal allows you to
choose a default minimum TLS version between 1.0 and 1.2, use TLS version
1.2 for strong ciphers.

Follow these steps to set up Azure Front Door with Power Pages:

1. Set up the Azure Front Door endpoint and custom domain name that website
users will use.
2. Configure your Power Pages site as the origin.
3. Set up routing rules to cache static requests.
4. Set up WAF rules to analyze incoming requests.
5. Set up the site to accept traffic only from Azure Front Door.

Set up the Azure Front Door endpoint and


custom domain name
In this section, you'll learn how to set up the Azure Front Door service and enable a
custom domain name for this setup.

Prerequisites
An Azure subscription with the access to create new services.

A custom domain name and access to the DNS provider for custom domain name
setup.
An SSL certificate that will be used for the custom domain name. The certificate
must meet the minimum requirements for Power Pages.

Owner access to Power Pages, to set up the custom domain name.

Set up the Azure Front Door endpoint

7 Note

If you've already created the Azure Front Door resource, go to step 3 of the
following procedure.

1. Sign in to the Azure portal , and create a new Azure Front Door (Standard or
Premium) resource. More information: Quickstart: Create an Azure Front Door
Standard/Premium profile - Azure portal

2. Select Quick create.

 Tip

Most of the Azure Front Door settings can be changed later.


3. Select, or fill in, the following details to configure the resource.

Option Description

Project Settings related to the resource organization, similar to any other Azure
details resource.

Subscription Select the subscription where the Azure Front Door resource will be created.

Resource Select the resource group for Azure Front Door. You can also create a new
group resource group.
Option Description

Resource The location of the resource group.


group
location

Profile The configuration for Azure Front Door.


details

Name Name of the Azure Front Door resource.

Tier Select a tier for the Azure Front Door resource. For this article, we've
selected the Premium tier, which allows access to the Microsoft-managed
rule set and bot prevention rule set for WAF.

Endpoint Settings for the Azure Front Door endpoint.


settings

Endpoint Enter a name for your Azure Front Door requests. This name is the actual
name URL that will serve the traffic for users. Later, we'll set up a custom domain
name that points to this URL.

Origin type Select Custom.

Origin host The host name of your Power Pages site.


name Format: yoursitename.powerappsportals.com or
yoursitename.microsoftcrmportals.com without https:// at the beginning.
For example, contoso.powerappsportals.com

Private link Don't enable the private link service.

Caching Enable caching. Caching uses the edge caching capabilities for static
content.
Caching is discussed further in "Set up routing rules to cache static
requests," later in this article.

Query string Select Use Query String. This option will ensure that if a page has dynamic
caching content that satisfies the query string, it takes the query string into account.
behavior

Compression Enable compression.

WAF policy Create a new WAF policy, or use an existing one.


For information about WAF policy, go to "Set up WAF rules to analyze
incoming requests" later in this article, and also Tutorial: Create a Web
Application Firewall policy on Azure Front Door using the Azure portal.

4. Select Review + Create, and wait for setup to finish. This typically takes 5 to 10
minutes.<
5. Validate the setup by browsing to the endpoint URL (for example,
contoso.example.azurefd.net ) and verifying that it shows the content from your
Power Pages site.

 Tip

If you see a "404 Not Found" response, setup might not have finished. Wait a
while and try again.

Set up a custom domain name


So far, the Azure Front Door endpoint has been set up to serve traffic from the Power
Pages back end. However, this setup still uses the Azure Front Door URL, which will
cause problems such as captcha check failures or scaling issues.

Web browsers reject cookies set by Power Pages when you use an Azure Front Door
endpoint URL that's different from the URL of your site. Hence, you must set up a
custom domain name both for your site and the Azure Front Door endpoint.

1. Set up a custom domain name on your site. More information: Add a custom
domain name.

2. Enable your site custom domain name on the Azure Front Door resource by doing
the following:
a. Update your DNS provider by removing the CNAME record created earlier
during the custom domain setup for Power Pages. Only CNAME should be
updated; don't remove the origin host name. DNS will point CNAME to the
Azure Front Door endpoint. The only purpose for adding CNAME was to ensure
that the custom host name will be present on Power Pages. This presence
ensures that Power Pages can serve traffic to this custom domain name through
Azure Front Door, and all site cookies will also have the domain set up correctly.

b. Set up the custom domain name on the Azure Front Door endpoint by
following these steps: Create a custom domain on Azure Front Door
Standard/Premium SKU using the Azure portal.

3. Check the following to validate the setup:

a. The custom domain name points to the Azure Front Door endpoint. Use
nslookup to verify that a CNAME entry to the Azure Front Door endpoint is
returned correctly. If the CNAME entry still points to Power Pages, you need to
correct that.

b. Browsing to the custom domain name shows your Power Pages website page.

After following these steps, you have a basic Azure Front Door endpoint setup
completed for the website. In the next steps, you'll update various settings and rules to
make this configuration more efficient and better at handling different use cases.

Configure the site as an origin server


The next step is to optimize the origin server settings to ensure that the setup works
correctly. Use Endpoint manager in Azure Front Door configurations on the Azure
portal to update the origin group settings.
During the quick-create setup you performed earlier, you entered endpoint details that
automatically created the configuration with the name default-origin-group(associated)
(this name can vary depending on locale settings). For this step, you'll modify the
settings for the default-origin-group. The following image shows what the settings for
this step look like when you open the origin group for the first time.
Origins in Azure Front Door represent the back-end service that the Azure Front Door
edge servers connect to, to serve content to users. You can add multiple origins to your
Azure Front Door instance to get content from multiple back-end services.

 Tip

Power Pages provides high availability at its service layer, hence a single origin
server is sufficient when setting up origins for sites.

The single origin for Power Pages sites should point to the host name of your site (which
you set up earlier). If you didn't follow the quick-create setup steps, you can add a new
origin that points to your site host name.

The following image shows an example of the origin configuration.

Use the following settings to configure the origin for Power Pages sites.

Option Configuration type or value


Option Configuration type or value

Origin Select Custom.


type

Origin Enter your site host name. For example, contoso.powerappsportals.com


host
name

Origin Enter your custom domain name, or leave empty. The former ensures that Azure Front
host Door sends the origin header as a custom domain name; the later causes it to pass
header through whatever the user provided while making the request.

HTTP 80
port

HTTPS 443
port

Priority 1

Weight 1000

Private Disabled
link

Status Select the Enable this origin checkbox.

After you've configured the origin and returned to the origin group, update the settings
for health probes and load-balancing options as described in the following table.

Option Configuration type or value

Health Health probes are a mechanism to ensure that the origin service is up and running,
probes and to make the traffic routing decisions depending on the probe results. In this case,
we don't require health probes, so we turned it off.

Load Because we have a single origin set up and health probes are turned off, this setting
balancing won't play any role in this setup.

Validate that the origin group configuration looks like the following image.
Set up routing rules to cache static requests
Routes determine how we use the edge caching capabilities of Azure Front Door to
improve the scalability of a site. Setting up routes is also an important step to ensure
that we're not caching dynamic content served by the site, which can lead to unintended
data access.

For rules setup, we'll need to do the following:

1. Set up route configuration.


2. Set up a rule set.
3. Associate the rule set with a route.
4. Validate the rules and route configuration.

Set up route configuration


To set up route configuration, select Endpoint manager on the left pane, select Routes,
and then select the default route. Default-route is created during the quick-create setup
experience.
Update the route configuration as described in the following table.

Option Configuration

Domains section

Domains The domain name you used while setting up the custom domain name
earlier.

Patterns to match Set to /* (default value); all site requests will be sent to the same origin in
our setup.

Accepted protocols Set to HTTPS only to ensure that all the traffic served is secure.

Redirect Select the Redirect all traffic to use HTTPS checkbox.

Origin group section

Origin group Set to the origin group you defined earlier.

Origin path Keep empty.

Forwarding protocol Set to either HTTPS only or Match incoming request.

Caching section

Caching Select the Enable caching checkbox if you want to use edge caching.

Query string caching Select Use Query String to ensure that dynamic content based on the
behavior query string can be served.

Compression Select Enable compression to optimize content delivery.

Set up a rule set


Rule sets govern how content should be cached. This step is important, because it
governs how content will be cached by edge servers to improve scaling for the site.
However, an incorrectly configured rule set can lead to caching dynamic content that
should be served specifically for each individual user.

To set up the rule set correctly, it's important that you understand the type of content
your site is serving. This understanding helps you configure the rule set by using
effective rules. For the scenario in this article, the site uses dynamic content on all pages
and it also serves static files; therefore, the site is trying to achieve the following:

All static files are cached and served from the edge servers.
None of the page content is cached.

To configure this rule set


1. On the left pane, select Rule set, and then select Add a rule set.

2. Enter a rule set name, and then save it.

Now, lets configure the rule set based on the business requirement, with the following
configuration to meet the requirements for the scenario mentioned earlier.

Requirement: All static files are cached and served from the edge
servers
The site in this scenario can contain static files with file name extensions of .css, .png,
.jpg, .js, .svg, .woff, or .ico. Hence, we need a rule to evaluate the file name extension of
the request and check for specific file types.

7 Note

There are other ways to write this rule, such as by using the request URL or file
name. For more information about the Azure Front Door rules matching conditions,
go to Azure Front Door Rules Engine match conditions.
In the following action configuration, you override the cache header set by Power Pages
so that these files will be cached a little longer on the browser. By default, Power Pages
sets the caching expiration to one day. But we'll override that in this scenario and set it
to seven days by setting up a Cache expiration action and setting Cache behavior to
Override as shown in the following image.

At the end, the complete rule looks like the following image.

Requirement: None of the page content is cached


In general, Power Pages site setup ensures that if a page has a form embedded in it
(which means it's serving content specific to a record), it will have its Cache-control
header value set to private, which ensures that Azure Front Door won't cache that
request. However, this method doesn't take into account the scenarios where you're
using liquid templates to embed user-specific content on the pages, such as displaying
a specific record to a set of users. Hence, we'll add an explicit rule to ensure that no
website page is cached.

The first step is setting up the condition. The condition does an inverse check of what
we did in the first rule, and checks that the request doesn't include a file name extension
that points to one of the file types we want to cache.

In the action condition, similar to previous rule, we'll write an action for Cache
expiration. However, this time, we'll set the behavior to Bypass cache. This will ensure
that any request that fulfills this rule isn't cached.
The complete rule looks like the following image.

Associate the rule set with a route


After you've created the rule set, the next step is to associate it with a route.

1. Select the rule set, and then select Associate a route in the command bar.

2. Select the endpoint name and available route. There might be multiple routes
available, so select the one you configured earlier.

3. If you have multiple rule sets and you want to define the order they should be
evaluated in, select Change rule set orders and configure the order. Our example
scenario has only one rule set.
4. Select Done to finish.

Validate the rules and route configuration


To validate that rules and route configurations are working correctly, ensure that all
traffic is served through HTTPS and that caching rules are evaluated correctly.

To ensure that all traffic is served through HTTPS and all HTTP calls are redirected to
HTTPS

Enter the domain name in a browser and ensure that the URL changes to HTTPS
automatically while the content is rendered.

To ensure that caching rules are evaluated and working as expected

To check caching rules, we'll need to analyze network traces in a web browser's
developer toolbar to validate that the caching headers for different types of content are
set correctly.

7 Note

Rule changes might take up to 10 minutes to be reflected.

1. Open a new browser tab, open the developer toolbar, and browse to the Power
Pages site URL (ensure that you open the developer toolbar before you browse to
the URL).

2. Go to the network tab to see all network requests.

3. Select a request for any CSS file from the list of requests.

In the Response headers section of the request details, ensure that a header
named x-cache is present. This header ensures that the request is served through
edge servers and can be cached. If the value of x-cache is set to
CONFIG_NOCACHE—or any other value containing the term NOCACHE—the
setup isn't correct.

4. Similar to the previous step, select a Page request and check its headers. If x-cache
is set to CONFIG_NOCACHE, your setup is working correctly.

Set up WAF rules to analyze incoming requests


The next step in the setup is to configure the WAF rules on incoming requests. In this
article, we'll cover only basic steps. For advanced WAF configuration, go to Azure Web
Application Firewall on Azure Front Door.

1. On the left pane, select Security.


During quick-create setup, we already set up a new WAF policy that shows up here.
However, if you skipped that step, you can set up a new policy by selecting New.

2. Select the name of the WAF policy.

3. Select Policy Settings, and then:

a. Enable request body inspection: Select this checkbox if you want the request
body to be inspected in addition to cookies, headers, and URLs.

b. Redirect URL: Enter a non-site URL. This URL is where the user would be
redirected if a WAF rule were set to redirect. Ensure that this URL is accessible
publicly and anonymously.

c. Block Request Status Code: This HTTP status code is returned to the user if the
request is blocked by WAF.

d. Block response body: You can add a custom message here that will be shown
to the user if the request is blocked by WAF.
4. To configure the rule set against which every request will be evaluated, do the
following:

a. On the left pane, select Managed Rules.

b. On the command bar, select Assign, and then select from the list of default rule
sets. Managed rule sets are managed by Microsoft and updated regularly. For
more information about rule sets, go to Web Application Firewall DRS rule
groups and rules.

After the managed rule set is assigned, your setup is complete. As an extra step, you can
also look at setting up exclusion lists for existing rules and enabling custom rules.

) Important
By default, WAF is set up in Detection Policy mode, which detects issues against
the defined rule set and logs them. However, this mode doesn't block the requests.
To block requests, WAF must be switched to Prevention mode.

We recommend that you perform thorough testing in Prevention mode to verify that all
the scenarios are working and to ensure that you don't have to tweak the rule set or add
exclusion policies. You should only enable Prevention mode after you've verified that the
entire setup is working as expected.

Set up Power Pages to accept traffic only from


Azure Front Door
The last step in this setup is to ensure that your Power Pages site accepts traffic only
from Azure Front Door. For this verification, we'll need to enable IP address restrictions
on the site.

To find the IP address range on which Azure Front Door operates, go to How do I lock
down the access to my back end to only Azure Front Door?.

7 Note

Power Pages doesn't support X-Azure-FDID–based filtering.

Increase origin response time


By default, Azure Front Door has an origin response timeout of 60 seconds. However, we
recommend increasing this to 240 seconds to ensure that long-running scenarios like
file uploads or export to Excel work as expected.

1. On the left pane, select Endpoint manager.

2. Select Edit endpoint.


3. In the upper-right corner, select Endpoint properties.

4. Change the origin response time to 240 seconds, and then select Update.

See also
What is Azure Front Door?
Quickstart: Create an Azure Front Door profile - Azure portal
Create a custom domain on Azure Front Door Standard/Premium SKU using the Azure
portal
How do I lock down the access to my back end to only Azure Front Door?
Azure Front Door Rules Engine match conditions
Custom page layouts in Power Pages
Article • 10/27/2022 • 3 minutes to read

When you create a new web page using the design studio, you need to select a page
layout. The Pages workspace provides a set of pre-configured page layouts.

You can also create your own custom page layouts using HTML, Liquid, JavaScript and
CSS.

 Tip

We've created a series of tutorials and videos for you to learn to use Power Pages
and how create a custom page layout. For more information, go to Tutorial: Add a
custom page layout.

Create a custom page layout


To create a custom page, you'll need to follow these steps:

Create a web template containing your custom code.


Create and configure a corresponding page template that will appear as a custom
page layout when creating new web pages in the Pages workspace.

Creating a web template


The web template will contain your code for your layout. Web template code can be a
combination of Liquid, HTML, CSS, and JavaScript.
Web templates can be included in other content or combined with other templates to
build a modular system of templates when building web applications.

1. Go to Power Pages .

2. In the design studio, choose ... and then select Portal Management. You'll need to
use the Portal Management app to create a web template record and enter in your
custom code.

3. In the Portal Management app, scroll to the Content section and select Web
Templates.

4. From Active Web Templates screen, select New.


5. Fill in the fields.

Field Value

Name Type in a name.

Website Select the web site to which the theme will be applied. Put your cursor in the
field and hit enter on your keyboard to display a list of available options.

Source The source code content of your web template, the code is typically a
combination of Liquid, HTML, CSS, and JavaScript. You'll create the code based
on your requirements.

MIME (Scroll down to view this field) The field optionally provides a MIME type for the
Type content of the template. A type of text/html is assumed if none is provided. This
value will only be used in cases where the template is associated with a page
template and controls the rendering of all content for that template.
6. Select Save.

Creating a page template


Web templates can be used with page templates to create custom page layouts to be
used when creating new web pages in the design studio.

1. In the Portal Management app, scroll to the Website section and select Page
Templates.

2. From Active Page Templates screen, select New.


3. Fill in the fields.

Field Value

Name Type in a name.

Website Select the web site to which the theme will be applied. Put your cursor in the
field and hit enter on your keyboard to display a list of available options.

Type Choose Web Template

Web Select the web template where your custom code is located. Put your cursor
Template in the field and hit enter on your keyboard to display a list of available
options.

Use If the setting is checked, your web template will control rendering of all page
Website content between the global website header and footer. If this option is
Header unchecked, your web template will be responsible for rendering the entire
and Footer response in the case that you're rendering HTML, this means everything from
the doctype to the root <html> tags, and everything in between.

Is Default Unchecked.

Table None selected.


Name

Description A description of your page template.


4. Select Save.

While the most common use cases for web templates will be to render HTML, rendering
the entire response (by deselecting Use Website Header and Footer) gives you the
option of rendering any text-based format you choose. This is where the MIME Type
attribute of the web template becomes relevant. If a page template that doesn't use the
website header and footer is rendered, the HTTP response Content-Type header will be
set to the MIME Type of the associated Web Template (text/html will be used if no MIME
Type is provided.), providing a wide variety of options for rendering non-HTML content
by using Liquid. A common use case would be to render an RSS feed, by setting a MIME
Type of application/rss+xml.

Creating a web page using a custom template


1. In the design studio, in the Pages workspace, select + Page.

2. In the Add a page dialog;


a. Enter in Page name
b. From the Custom layouts, select your custom page layout.
c. Select Add.
3. Choose Preview to view your custom page on the site.

See also
Tutorial: Add a custom page layout
Liquid overview
Use Visual Studio Code and Microsoft
Power Platform CLI
Article • 10/12/2022 • 2 minutes to read

For detailed information on how to use Visual Studio Code and the Microsoft Power
Platform CLI, go to Use Microsoft Power Platform CLI with portals in the Power Apps
documentation.
Web templates
Article • 10/12/2022 • 2 minutes to read

In order to create custom page layouts for Power Pages, you'll need to create a web
template and a corresponding page template.

For detailed information on how to use page templates on your site, go to Work with
templates in the Power Apps documentation.

For detailed information on how to use web templates on your site, go to Store source
content by using web templates in the Power Apps documentation.
Power Pages Web API overview
Article • 10/12/2022 • 2 minutes to read

Power Pages functionality can be extended with pro-code methods. The Power Apps
portals Web API provides site developers with methods to interact with Microsoft
Dataverse information and functionality.

For detailed information on the portals Web API, go to Portals Web API overview in the
Power Apps documentation.
Using code components
Article • 10/12/2022 • 2 minutes to read

Power Pages functionality can be extended with pro-code methods. Code components
can be added to pages to provide advanced user interfaces and features.

For detailed information on how to use code components, go to Use code components
in portals in the Power Apps documentation.

See also
Tutorial: Add a form to page
Use Liquid
Article • 10/12/2022 • 2 minutes to read

Power Pages functionality can be extended with pro-code methods. The Liquid markup
language provides many methods to extend the functionality of your site.

For detailed information on how to use Liquid on your site, go to Liquid overview in the
Power Apps documentation.
Overview of Power Pages ALM
Article • 10/21/2022 • 2 minutes to read

Makers and pro developers can use the Microsoft Power Platform CLI to download
Power Pages site metadata, and use Azure Pipelines or GitHub actions to commit the
metadata to source control and deploy from development to other environments.

Power Platform CLI


Microsoft Power Platform CLI is a simple command line interface (CLI) that empowers
developers and ISVs to perform various operations in the Microsoft Power Platform.

Power Pages supports Microsoft Power Platform CLI to enable CI/CD (Continuous
Integration/Continuous Deployment) of website configuration. You can now check in the
website configuration to source control and move website configuration to any
environment using Microsoft Power Platform CLI.

For detailed information on using the Microsoft Power Platform CLI for Power Pages
website configuration, go to Tutorial: Use Microsoft Power Platform CLI with portals in
the Power Apps documentation.

The Microsoft Power Platform CLI also supports deployment profiles to allow unique
attributes to be applied to specific target environments.

Microsoft Power Platform Build Tools for Azure


DevOps
Users can create an Azure DevOps pipeline and use the following Power Platform build
tool tasks for Power Pages specific functions.

Power Platform Download PAPortal


Power Platform Upload PAPortal
For detailed information on using Azure DevOps for application lifecycle management
(ALM), go to Microsoft Power Platform Build Tools for Azure DevOps in the Power
Platform ALM documentation.

GitHub actions
Users can use GitHub actions to upload website metadata to a target Dataverse
environment.

For detailed information on using GitHub actions for application lifecycle management
(ALM), go to GitHub Actions - portal tasks in the Power Platform ALM documentation.

See also
Overview of application lifecycle management with Microsoft Power Platform
Power Pages security
Article • 12/17/2022 • 2 minutes to read

An important consideration when building public-facing websites is to ensure that


critical business information is only accessible by the correct stakeholders.

Power Pages has a robust security model to ensure that business information is properly
protected. The following key components are used to provide and protect access in
Power Pages:

Site visibility
Authenticated users
Web roles
Table permissions
Page permissions

Site visibility
By default, all sites created in Power Pages are only available to users internal to your
organization through the site visibility setting. This way, you can benefit from an
additional layer of security using Azure Active Directory authentication to prevent
accidental leaks of partially developed website data and design. When your website is
ready to go live, change the site visibility to public making it accessible to everyone over
the internet anonymously or secured with identity providers.

More information: Site visibility

Authenticated users
Users can be provided access to your site through authentication. Power Pages users are
represented by Microsoft Dataverse contact records. Power Pages can be integrated
with many authentication providers such as Azure Active Directory B2C, Microsoft, and
LinkedIn.

Authenticated users can then be assigned to web roles that will provide specific access
to information on the site.

More information: Configure Authentication

Web roles
Web roles can be created to allow users to perform any special actions or access any
protected content and data on the site. Web roles link to users, table permissions, and
page permissions. Because contacts can be assigned multiple web roles, they can be
provided cumulative access to site resources.

All authenticated users (contacts) are automatically assigned to the Authenticated Users
web role.

A site can be visited by anonymous users (unauthenticated) and given access to assets
through the Anonymous Users web role.

More information: Configure web roles

Table permissions
Accessing Dataverse information through lists, forms, Liquid, and the Web API are by
default protected by table permissions. You can configure table permissions to allow
different levels of access and privileges to Dataverse records. Table permissions are
associated to web roles to provide appropriate access to users.

More information: Configure table permissions

Page permissions
Individual pages containing content or other components can also be protected by
configuring page permissions that are associated with web roles to allow access.

More information: Page permissions

Additional website security


Power Pages can be integrated with any web application firewall infrastructure to
provide extra protection against common web application attacks. For information on
how to integrate it with Azure Front Door web application firewall, see Set up Azure
Front Door with portals

Deep dive: Architecture and security


The following white papers allow you to explore Power Pages architecture and security
at a deeper level.
White Description Date
paper

Power This white paper provides a comprehensive view of the capabilities of October
Pages the Power Pages platform. It describes the architectural elements that 2022
Architecture enable Power Pages to scale, offer high reliability and availability, and
white paper protect business data to offer enterprise grade compliance and security.

Power This white paper describes how Power Pages offers enterprise grade October
Pages security and the tools and capabilities it offers for administrators and 2022
Security makers to harden security for their external applications.
white paper

See also
Power Platform security
Azure security
Site visibility in Power Pages
Article • 02/22/2023 • 5 minutes to read

The Power Pages site visibility feature allows you to manage who has access to your
website. You can restrict access to specific people in your organization by making the
site private. If you choose to make the site public, anyone with the link will have access.

) Important

All new sites created in Power Pages are private by default. When the website
is ready to go live, you can change the site visibility to public.
Site visibility feature is only available for websites with version 9.4.9.x or later.
All websites created during the preview period are public by default. To
change the site to private, go to Set up workspace in design studio and
change the site visibility. More information: Set up workspace
Be cautious when editing a public site because the changes are visible to
external users immediately.

Difference between a private site and a public


site
Only site makers and organization users whom the maker granted access can view
private sites. Website visitors need to authenticate using the organization's Azure Active
Directory identity provider to open the site. Setting visibility to private is useful if your
site is in development and you wish to limit access during the design phase.

Public sites are accessible over internet to everyone anonymously or authenticated with
configured identity. The website is now a production site, fully operational for the
customer to use. You'll see a notification when you're editing a public site using design
studio, Portal Management app, Visual Studio code editor and Microsoft Power Platform
CLI.

Change site visibility


When a site is ready to go-live, you can set the site visibility state to public. You can
change the site visibility state back to private anytime so that only makers of the site
and selected users have access.

To change site visibility:

1. Go to Power Pages
2. Edit the site that you want to change site visibility for.
3. Select Set up from the list of workspaces on the left-side of the screen.
4. Select Site visibility tab under Security section.
5. Select Public to make the site public, or Private to make the site private.

If you have created your site using Power Apps, follow these steps:

1. Go to Power Apps
2. Select Apps.
3. Select your site from the list of apps that you want to change site visibility for.
4. Select the ellipse (...).
5. Select Edit.
6. Select Open in Power Pages.
7. Select Set up from the list of workspaces on the left-side of the screen.
8. Select Site visibility tab under Security section.
9. Select Public to make the site public, or Private to make the site private.

7 Note

Changing site visibility restarts your website causing a few minutes of delay to
reflect the latest state change.

Grant access to a private site


You can grant website access to other organization users using the site visibility page
when the site is private.

To grant website access:

1. Go to Power Pages

2. Edit the site that you want to change site visibility for.

3. Select Set up from the list of workspaces on the left-side of the screen.

4. Select Site visibility tab under Security section.

5. Choose the users that you want to grant the website access to.

6. Select Share.

7 Note

Granting website access is limited to 50 users.


Organization users that are part of System administrator role in the Power
Platform environment where the website is created have permissions to view
the website by default.

Permissions required to change site visibility


The ability to change site visibility is determined by the following factors:
Service admins who are members of any of the following Azure Active Directory roles
can change the site visibility:

Global administrator
Power Platform administrator
Dynamics 365 administrator

Members of System administrator security role can also change the site visibility when
the tenant-level setting enableSystemAdminsToChangeSiteVisibility is set to true .

If the tenant-level setting enableSystemAdminsToChangeSiteVisibility is set to false , the


members of System administrator security role must also be a member of an exclusive
security group in Azure Active Directory that has the permissions to Manage site
visibility.

Change tenant-level setting


The tenant-level setting can be updated using a PowerShell script.

) Important

After October 1, 2023 system administrators will not be able to change site
visibility when the tenant-level setting is null. To prevent this, set the value for
the tenant level setting to either TRUE or FALSE.

To get the current value for the tenant setting, use the Get-TenantSettings command.

For example:

PowerShell

$myTenantSettings = Get-TenantSettings
$ myTenantSettings.powerPlatform.powerPages

7 Note

Tenant settings whose value is null do not show up in the list. The default
value for the tenant-level setting enableSystemAdminsToChangeSiteVisibility
is null, so it will not show for the first time. Once the value is set to true or
false, you will be able to see the setting in the list.
To set a value for the tenant-level setting ( true or false ), use Set-TenantSettings
command.

For example:

PowerShell

$requestBody = @{
powerPlatform = @{
powerPages = @{
enableSystemAdminsToChangeSiteVisibility = $false
}
}
}
Set-TenantSettings -RequestBody $requestBody

Delegate site visibility control


When you don't want all system administrators to be able to change site visibility, then
set the tenant-level setting for enableSystemAdminsToChangeSiteVisibility to false .

Now, you can delegate site visibility controls to a select set of users by adding them to a
security group in Azure AD, and giving site visibility permissions to that security group.

To delegate site visibility to specific system administrators:

1. Go to Power Platform admin center .

2. Select Power Pages sites.

3. Select your website, and then select Manage.

4. In the Security section, select Manage site visibility permissions.


5. Add the security group that contains the specific system administrators that you
want to delegate managing site visibility to.
After you add the security group, all system administrators that are part of the added
security group can manage site visibility. System administrators that aren't part of this
security group will have the site visibility section disabled.

Known issues
A Power Pages website in private mode won't work when you disable Azure Active
Directory authentication. Azure Active Directory authentication is enabled by default
when the website is provisioned. Change the site visibility state to public before
disabling Azure Active Directory authentication.

See also
Configure authentication
Configure authentication
Article • 12/17/2022 • 2 minutes to read

As you build your site, you may wish to control access both to pages and data to
specific users. Power Pages uses Microsoft Dataverse contact records to associate to
authenticated Power Pages site users.

Power Pages uses Power Apps portals authentication capabilities. For detailed
information on how to configure Power Pages site authentication, go to Overview of
authentication in Power Apps portals in the Power Apps portals documentation.

See also
Get started with configuring your portal authentication
Provide access to external audiences
Article • 12/17/2022 • 2 minutes to read

User information in Power Pages is stored as contact records in Dataverse. To configure


contacts and invite them as users to your site, use the Portal Management app.

Open the Portal Management app


In the design studio, select the ellipsis (...) from the tool belt, and then select Portal
Management.

Configure and invite contacts as site users


For detailed information on how to configure and invite Dataverse contacts as site users,
go to the Power Apps documentation:

Configure a contact for use on a portal


Invite contacts to your portals
Configure web roles
Article • 12/17/2022 • 2 minutes to read

Before you grant authenticated users access to table permissions or restricted pages,
they must first be assigned to a web role.

Configure and assign web roles using the Portal Management app.

1. To access the Portal Management app, navigate to the design studio.

2. Select the ellipsis (...) from the tool belt, and then select Portal Management.

3. Select Web Roles in the Security section.

4. Select New.

5. Enter appropriate values in the fields.


6. Select Save.

Attributes and relationships


The table below explains the web role attributes used by portals.

Name Description

Name The descriptive name of the web role

Website The associated website

Description An optional explanation of the web role's purpose.

Authenticated Boolean. If set to true, this web role is the default for authenticated users (see
Users Role below). Websites should only have one web role with the Authenticated Users
Role attribute set to true.

Anonymous Boolean. If set to true, this web role is the default for unauthenticated users (see
Users Role below). Websites should only have one Web Role with the Anonymous Users Role
attribute set to true. The Anonymous Users Role will only respect table
permissions.

Optional default web roles


Now that the web role has been created, you can configure it to meet your needs via
various permissions, rules, and associations.
Authenticated users
Enabling the Authenticated Users Role makes it the default web role for all users. This
role is commonly used to provide a predetermined access for users that aren't
associated to any other roles. Keep in mind that users can have multiple web roles, but
there can only be one Authenticated Users web role for authenticated users.

Unauthenticated users
The Anonymous Users Role is intended to be used with table permissions. It will not
respect any other rules or permissions. Enabling the Anonymous Users Role makes it the
default web role for all users. There can only be one Anonymous Users web role for
unauthenticated users.

Assign users to web roles


You can assign site users to web roles from either the contact record or the web role
record.

From the web role


1. In the Security section, select Web Roles.

2. Locate and open the web role record that you want to assign site users to.

3. Select the Related tab and select Contacts.

4. Select Add Existing Contact.

5. From the side panel, search and select the contacts (site users) that you want to
assign to the web role.

6. Select Add.
The users now have access to the resources specified by the web role.

From the contact


1. In the Security section, select Contacts.

2. Locate and open the contact record that you want to assign the web role to.

3. Select the Related.

4. Select Web Roles.

5. Select Add Existing Web Role.

6. From the side panel, search and select the web roles you want to assign to the
contact (site user).

The site users now have access to the resources specified by the web role.

See also
Configure table permissions
Assign table permissions
Tutorial: Display data securely on your site
Page permissions in Power Pages
Article • 12/17/2022 • 5 minutes to read

Makers control user access to site webpages using page permissions. Settings can be
adjusted to make content available anonymously for public access, or to restrict access
to users who have specific roles. Depending on your business requirements, you can
manage the inheritance of page permissions from a parent page to a child page. A page
can have child web files, such as downloadable documents, CSS files, or JS files. The
inheritance of page permissions from the page to these child web files is also variable
based on the settings a maker chooses.

You can manage page permissions in two ways:

In Power Pages design studio


In the Portal Management app

Power Pages design studio makes configuration of webpage access permissions simpler
than the Portal Management app. For this reason, we recommended this method for
managing page permissions in Power Pages.

Manage page permissions in Power Pages


design studio

) Important

Managing page permissions with design studio only applies to Restrict


Read permissions, which control access to pages by users. To manage Grant
Change permissions for managing and publishing content pages with the legacy
site content editor, use the Portal Management app.

Use design studio to customize your site and manage page permissions quickly and
efficiently.

1. From the list of sites in Power Pages, select Edit to open design studio.

2. Select the ellipses next to the page you want to manage permissions for and
choose Page Settings.
3. Select the Permissions tab.
7 Note

The options under Permissions vary depending on the page you've selected. For
example, the options for a parent page will be different from the options for the
child page that inherited permissions from the parent page. Review the options for
page permissions and options for child page permissions.

Manage page permissions in the Portal


Management app
Managing page permissions with the Portal Management app is accomplished by
setting webpage access control rules. You can also set these rules using design studio,
the Portal Management app must be used to manage page permissions for other areas.
More information: Manage page permissions with the Portal Management app

Setting options for page permissions


In this section, you'll learn about the different options for managing permissions for a
page.

Anyone can see this page


This option is available on the root page of a website, or a child page that has the
parent page with this setting selected. You must disable this setting to make the page
available for only specific roles.

When this option is selected, the page is public on the web and available to anyone.

When this option is not selected, a lock icon appears next to it in the list of pages to
signify that the page has restrictions.

I want to choose who can see this page


When this option is selected, you can choose who has access the page by selecting the
roles from the dropdown menu.

7 Note

Selecting Anonymous Users role using the Portal Management app will result in an
alert. More information: Anonymous users role alert

Apply these permissions to all files inherited by this page


When this option is selected, the child web files of that page are only available to the
users who can access this webpage.

U Caution

This setting can't be selected for the home page of a site. Web files such as
Bootstrap.min.css and Theme.css used by themes are under the home page. If you
restrict these files to only authenticated users, styles won't be applied to any pages,
including the sign-in pages that are available anonymously. More information:
Permissions apply to child files troubleshooting

Child page permissions


A child page can inherit permissions from the parent page, or it can be configured with
unique permissions. In this section, you'll learn about the different options for managing
permissions for child pages.

Inherit permissions from a parent page


The Inherit permissions from the parent page option for a page will display when a
child page is selected that has the parent page with Anyone can see this page is not
selected. When this setting is enabled, the child page is available to all the users who
can access its parent page.

7 Note

By default, every child page has this option selected.

When this option is not selected, the child page (including the pages that this child page
is a parent of) aren't available to the users from the selected roles for the parent page.

Configure child page with unique permissions


Use this setting to select specific roles that you want to allow to access this child page
and the pages that this child page is a parent of.

Permissions apply to child files


When this option is selected, the child web files of that page are only available to the
users who can access this webpage.

When this option is not selected, anyone can access the child web files of the selected
page.

Page hierarchy changes and inheritance


A page can be promoted to a higher level in the page hierarchy, or made a subpage to a
lower level in page hierarchy. The effects these actions have on permissions are as
follows:

If a page is made a subpage, the page inherits permissions from its new parent.
If a page is promoted, the original permissions of the page are retained.

Troubleshooting page permissions


Makers may encounter difficulties based on the permissions they select due to the
unforeseen effects of their choices. In this section, you'll learn about these commonly
encountered difficulties.
Anonymous users role alert
If you use the Portal Management app to configure Anonymous users role for the
selected page, you'll see the following alert:

"Anonymous user role should not be assigned directly to web pages."

To fix this problem, change the permissions.

7 Note

Roles with Anonymous Users Role set to Yes can't be assigned directly to users.

Multiple page permissions error message


If you have multiple active permissions for the same page in the Portal Management
app, you'll see the following error:

"There are multiple, conflicting access control rules applied to this page. Deactivate the
extra rules so there is only one with restricted read-write access."

To fix this error, deactivate the permissions not required for the page so that only one
permission is active for one webpage.

Permissions apply to child files troubleshooting


In this section, you'll learn about common problems related to using the Permissions
apply to child files setting.

Child page not inheriting permissions from parent page


If you change Permissions apply to child files so that the child permissions no longer
inherit from their parents, you'll see the following error with invalid web roles
highlighted:

"One or more roles applied to this page are not used for the parent page. This page and
its subpages won't be available to those roles. Either add those roles to the parent page
or delete them from this page."

To fix this problem, verify and reconfigure your permissions as required.

Styles not applied after adjusting page permissions


Ensure that Permissions apply to child files is set to Off for the home page of the site
so that styles remain intact.
Configuring table permissions
Article • 12/17/2022 • 6 minutes to read

Access to Dataverse records is automatically restricted in Power Pages when using


forms, lists, Liquid, the Portals Web API, and other components accessing Dataverse
tables.

To allow access to Dataverse records in Power Pages sites, you'll need to configure table
permissions and associate the table permissions to web roles.

How to configure table permissions


You can create table permissions by using the following methods:

When configuring a list or a form on a page


From the Set up workspace
With the Portal Management app

Adding table permissions from a list or form


1. In design studio, go to the page containing the list or form component.

2. Select the form or list component, and then select Permissions.

In the Table permissions panel that appears, you can manage existing permissions or
create a new table permission.
Adding table permissions from the Set up workspace
1. In the design studio on the side menu, select Set up.

2. On the left pane in the Security section, select Table permissions to add and
modify table permissions.

Adding table permissions from the Portal Management


app
1. In the design studio, select the ellipsis (...) from the side menu, and then select
Portal Management.

2. In the Portal Management app on the left pane in the Security section, select Table
Permissions .
Available access types
The design studio shows four different Access types. Depending on the access type you
choose, the selected table permission and privileges apply to the users from the
selected roles for the following records.

Global access - Applies the selected table permission and privileges to the users
from the selected roles for all records.
Contact access - Applies the selected table permission and privileges to the users
from the selected role associated to the signed-in user.
Account access - Applies the selected table permission and privileges to the users
from the selected role associated to the signed-in user's account.
Self access - Applies the selected table permission and privileges to the users from
the selected role for only their own Contact record.

7 Note

The Parent access type is only available in the Portal Management app. Instead of
creating a table permission with the access type of Parent when using the design
studio, directly add child permission to existing table permissions.

Configure table permissions


In this section, you'll learn how to create, view, edit, and deactivate/activate, or delete
table permissions.
Create table permissions
1. Select New permission.

2. Enter the table permission name.

3. Select a table.

4. Select an access type. More information: Available access types

5. If you select the Contact or Account access type, select the relationship between
the Contact/Account and the table you selected for the permission.

7 Note

If you don't have any relationships available for the selected table, you
can select New relationship to create a new relationship.
Once you create a table relationship in Power Apps, you need to make
sure the configuration is published and also select the Sync button in
the design studio.
In some cases, you may also need to reload the design studio to see the
new table relationship in the table permissions panel.

6. Select the privileges that you want to grant.

7. Select Add roles to add the roles that this table permission will apply to.

 Tip
If you haven't created a web role yet, select Manage roles from the roles
flyout menu to open the Portal Management app and create roles.

8. Select Save.

View table permissions


1. In the design studio from the side menu, select Set up.

2. On the left pane in the Security section, select Table permissions to view table
permissions.

3. To group or filter table permissions, select a view (Default, Group by roles, Group
by table, or Group by state), or enter a table permission name in the filter text box.

7 Note

When you group table permissions by role, table, or state, the


permissions are listed as a flat structure without the parent-child
relationships for configured permissions.
You can only filter for parent table permissions, not child permissions.

4. To sort the table permissions, select a column at the top in the list of table
permissions.
Edit table permissions
1. In the design studio from the side menu, select Set up.

2. On the left pane in the Security section, select Table permissions to view table
permissions.

3. Select the table permission that you want to edit; alternatively, you can select
More commands (...), and then select Edit.

4. Change table permission details, such as the name, table, access type, privileges,
and applicable roles. More information: Create table permissions.

5. Select Save.

Deactivate/activate or delete table permissions


A deactivated table permission becomes ineffective. You can activate a deactivated table
permission later. When a table permission is deactivated, its child table permissions
remain active, but don't remain in effect due to the ineffective parent table permission.
You can deactivate child permissions separately.

When a table permission is deleted, all associated child permissions are also deleted.

To deactivate/activate or delete table permissions:

1. In the design studio from the side menu, select Set up.

2. On the left pane in the Security section, select Table permissions to view table
permissions.

3. Select the table permission that you want to deactivate/activate or delete.

4. Select More commands (...), and then select Deactivate or Delete.

5. Confirm when prompted.

Configure child permissions


To add a child permission to an existing table permission:

1. In the design studio from the side menu, select Set up.

2. On the left pane in the Security section, select Table permissions to view table
permissions.
3. Select the table permission that you want to add the child permission to. In the
table permissions property panel, select the Child permissions tab, and then select
New. Alternatively, you can also select More commands (...), and then select Add
child permission.

4. Create the child permission with the following details:

a. Name for the child permission

b. Table that the child permission is for

c. Relationship between the table for primary table permission, and the selected
table for the child permission

d. Privileges for the child permissions

e. Roles (These roles are inherited from the parent table permission. To add or
remove roles, edit the parent table permission instead.)

5. Select Save.

To view, edit, deactivate/activate, or delete child permissions using the design studio,
follow the steps explained in the earlier section to configure table permissions.

Additional considerations
The configuration of table permissions is subject to the following extra considerations
and rules.

Parent table permission missing a web role associated to


its child
When you have a child permission associated with one or more web roles missing from
the parent permissions, you'll see the following error while editing the child permissions:

One or more roles applied to this permission aren't available to its parent table
permission. Modify roles in either permissions.

For example, a child table permission displays the following message when the parent
table permission doesn't have the Marketing web role associated, even though the child
permission is still associated.
To fix this problem, add the Marketing web role to the parent table permission, or
remove the Marketing web role from the child table permission.

Table permissions without any web roles associated


For a table permission to take effect, it has to be associated to one or more web roles.
Users who belong to web roles are granted the privileges you select for the associated
table permission.

The following message is displayed when you try to save a table permission without any
web role associated.

Next Steps
Web Application Firewall DRS rule groups and rules for Power Pages (preview)

See also
Web Application Firewall (WAF) for Power Pages (preview) Configure Web Application
Firewall for Power Pages (preview) Assign table permissions
Tutorial: Display data securely on your site
Assign table permissions
Article • 01/24/2023 • 2 minutes to read

Table permissions are assigned to web roles to allow members of the web role access to
data stored in Dataverse tables.

1. Using the design studio, select Set up workspace.

2. In the Security section, select Table permissions.

3. Select the table permission you want to assign for a web role.

4. In the Roles section, select + Add roles and choose the roles you wish to assign to
the table permission. You can select multiple roles.

) Important

When Anonymous users are granted access to a table, any user who visits the
site can access data.
More information: Notifications for Anonymous users web role

5. Select Save.

6. If the web role doesn't appear, select Manage roles to open the Portal
Management app to create web roles.

7 Note
Once you have created the web role, select Sync in the design studio and
refresh your browser to view your new roles in the table permissions side
panel.

Notifications for Anonymous users web role


When the anonymous users web role is selected, your site's data is visible to anyone.

 Tip

If your site visibility is set to Public, an icon will appear next to the name field in
design studio and the following message will display: The data displayed in your site
can be seen by anyone. If that's not what you want, change or eliminate the
"Anonymous" role in your table permissions.

To restrict access to your site's data, follow the steps to assign table permissions and
remove the checkmark next to the Anonymous users web role.

See also
Configure table permissions
Create web roles
Tutorial: Display data securely on your site
Web Application Firewall (WAF) for
Power Pages (preview)
Article • 12/17/2022 • 2 minutes to read

[This topic is pre-release documentation and is subject to change.]

Web Application Firewall (WAF) provides centralized protection for Power Pages sites,
defending against common exploits and vulnerabilities by preventing malicious attacks
before they enter the network. By utilizing WAF, Power Pages sites receive global
protection at a scale without sacrificing performance.

) Important

This is a preview feature.


Preview features aren’t meant for production use and may have restricted
functionality. These features are available before an official release so that
customers can get early access and provide feedback.

WAF mode for Power Pages


Web Application Firewall is powered by Azure Front Door (AFD), and the policy is
configured using an AFD profile with Prevention mode enabled. In Prevention mode,
requests matching the rules defined in the managed rule set are blocked.

WAF managed rule sets for Power Pages


The WAF managed rule sets for Power Pages are a subset of Azure-managed rule sets
and are updated as needed to protect against new attack signatures.

The rule sets protect against the following threat categories:

Cross-site scripting

Local file inclusion

Remote file inclusion

Session fixation

Protocol attackers

Protocol enforcement

Next steps
Configure Web Application Firewall for Power Pages (preview)

See also
Web Application Firewall DRS rule groups and rules for Power Pages (preview)
Configure Web Application Firewall for
Power Pages (preview)
Article • 12/17/2022 • 2 minutes to read

[This topic is pre-release documentation and is subject to change.]

Web Application Firewall (WAF) is available for production sites created using Power
Pages. In this article, you'll learn about how to enable or disable Web Application
Firewall for Power Pages sites.

Prerequisites
You'll need the following before configuring WAF for your Power Pages website.

You must be an administrator to configure Web Application Firewall.


WAF requires Content Delivery Network (CDN) on sites. You must configure CDN
before you enable WAF.

Enable Web Application Firewall for Power


Pages sites
1. Open the Power Platform admin center .

2. Go to Environments.

3. Select the environment where the portal was created.

4. On the Resources card, select Portals.


5. Choose the portal from the available list, and then select Manage.

6. Under Performance & protection card, turn on Enable Web Application Firewall
Disable Web Application Firewall for Power
Pages sites
1. Open the Power Platform admin center .

2. Go to Environments.

3. Choose the environment where the portal was created.

4. On the Resources card, select Portals.

5. Choose the portal from the available list, and then select Manage.
6. On the Performance & Protection card, turn off Enable Web Application Firewall

Next steps
Web Application Firewall DRS rule groups and rules for Power Pages (preview)

See also
Web Application Firewall (WAF) for Power Pages (preview)
Web Application Firewall DRS rule
groups and rules for Power Pages
(preview)
Article • 12/17/2022 • 2 minutes to read

[This topic is pre-release documentation and is subject to change.]

The Web Application Firewall managed rule sets for Power Pages are a subset of Azure-
managed DRS 2.0 rule sets.

The following rule groups and rules are available using Web Application Firewall for
Power Pages.

7 Note

The rule groups below are subject to change.

Rule set Rule IDs available in Power Pages Description

General 200002 This rule group protects against


improperly formed requests.
More information: Rule group: General

METHOD- 911100 This rule group protects against


ENFORCEMENT unauthorized method calls using lock-
down methods (PUT, PATCH).
More information: Rule group:
METHOD-ENFORCEMENT

PROTOCOL- 920100, 920100, 920121, 920160, This rule group protects against
ENFORCEMENT 920170, 920171, 920190, 920200, protocol and encoding issues.
920210, 920220, 920240, 920260 More information: Rule group:
PROTOCOL-ENFORCEMENT

PROTOCOL- 921110, 921120, 921130, 921140, This rule group offers protection
ATTACK 921150, 921151, 921160 against header injection, request
smuggling, and response splitting.
More information: Rule group:
PROTOCOL-ATTACK

LFI - Local File 930110 This rule group protects against file
Inclusion and path attacks.
More information: Rule group: LFI -
Local File Inclusion
Rule set Rule IDs available in Power Pages Description

RFI - Remote 931100, 931110, 931120 This rule group protects against
File Inclusion remote file inclusion (RFI) attacks.
More information: Rule group: RFI -
Remote File Inclusion

XSS - Cross-site 941101, 941110, 941140, 941170, This rule group protects against cross-
Scripting 941180, 941190, 941200, 941210, site scripting attacks.
941220, 941230 More information: Rule group: XSS -
Cross-site Scripting

SESSION- 943100, 943110, 943120 This rule group protects against


FIXATION session-fixation attacks.
More information: Rule group:
SESSION-FIXATION

MS- 99005002, 99005003, 99005004 This rule group protects against Web
ThreatIntel- shell attacks.
WebShells More information: Rule group: MS-
ThreatIntel-WebShells

MS- 99030001, 99030002 This rule group protects against


ThreatIntel- AppSec attacks.
AppSec More information: Rule group: MS-
ThreatIntel-AppSec

See also
Web Application Firewall DRS rule groups and rules
Web Application Firewall (WAF) for Power Pages (preview)
Configure Web Application Firewall for Power Pages (preview)
Go-live checklist
Article • 10/12/2022 • 3 minutes to read

This checklist is guidance to help you plan your Power Pages projects.

The Set up workspace inside the design studio includes a built-in go-live checklist that
includes various interactive tasks that help you prepare your site to go live. These tasks
include guided experiences to view and complete recommended actions.

Use the Go-live checklist guide to ensure you don't miss anything before your site is up
and running. You can also go through additional recommendations in this article to help
you extend your go-live preparations and improve the overall site experience when the
site goes live.

7 Note

The go-live checklist and the additional go-live guidance in this article are
recommended actions. The checklist and actions explained in this article aren't
mandatory for the site to be up and running.

Go-live checklist in the Set up workspace


Making site live for production use is critical step, and the Go-live checklist section from
Set up workspace integrates this process seamlessly with your site building activities.

The checklist includes various actions that you can follow up through a step-by-step
exercise with a built-in experience that shows the step completion as you progress.
Here's the steps included in the go-live checklist:

Number Task Success criteria

1 Run the site checker 0 Errors in the portal checker last run results

2 Pick and allocate Licenses are allocated, and acknowledgment in the form of
licenses marked as completed

3 Convert site to Site is converted to production


production

4 Enable CDN to load Content Delivery Network (CDN) is enabled


site faster

5 Enable WAF to secure Web application firewall (WAF) is enabled


your site

6 Connect custom Custom domain configured, is up and working (to check if


domain the URL is accessible)

Here's an example of how the checklist looks like as the steps progress:
While completing the go-live checklist helps you better prepare and avoid any misses
for considerations before the site is up and running, also consider the additional go-live
guidance.

Additional go-live guidance


Apart from the benefits of Go-live checklist, use the following additional guidance to
help you plan your Power Pages projects.

Create separate development, testing, and production


sites
To continue to make updates to your site without breaking functionality for existing
users of your site, we recommend three separate environments to manage the
application development lifecycle.

More information: Power Platform application lifecycle management for more


information.

Configure authentication set up


By default Power Pages sets local authentication as your identity provider. We
recommend using one of the supported identity providers as your default and disabling
local authentication.

For example, Azure Active Directory B2C.

 Tip

Finish setting up your custom domain to utilize the redirect URL for the
authentication provider.
If you're using the Azure AD sign-in button, you can rename it to reflect
meaningful label. Using the Portal Management app, create the site setting
Authentication/OpenIdConnect/AzureAD/Caption for your specific website
and set the name you want.

More information: Configure authentication

Test your site performance


Optimize your site's performance by enabling a content delivery network (CDN) through
the Go-live checker explained earlier. Additionally, for high scalability needs (thousands
of users a month or a critical workload), consider performing load testing to understand
the type of performance you'll get and troubleshoot any problem areas.

Areas to consider:
Number of visitors to your site on a daily basis.
Traffic volumes at different times.
High traffic pages linked to Microsoft Dataverse.
Volume of data stored in Dataverse.

Set up telemetry monitoring


You can place the telemetry tracking HTML/JS snippet of code in the Enable Traffic
Analytics area in the Portal Management app.

Open the Portal Management app and navigate to the Enable Traffic Analysis section.
Enter the snippet from your analytics provider.

Finalize your site


Clean up your site and remove any sample webpages, sample text, and placeholder
images.

Delete or deactivate any unused pages.

Change your browser suffix from "Home page - Starter Portal" to a meaningful name.
You can find the content snippet "BrowserSuffix" in the Content Snippets area of the
Portal Management app

Set your specific copyright text, and add any privacy or other links in the "Footer" web
template. Find it in the Web templates area of the Portal Management app.
Protect any unfinished page by using Page permissions.

Manage site visibility


Configure site visibility after verifying the site is ready to be up and running. More
information: Site visibility
Assign licensing
Article • 10/12/2022 • 2 minutes to read

A free trial is available for Power Pages, which can be used to try out the new features
and functionality. More information: Power Pages trial

As you work on projects and need to establish permanent sites that don't expire, you
can apply Power Pages subscriptions and convert websites from trial to production. For
detailed information, go to Convert a portal in the Power Apps portals documentation.

For detailed information on licensing, go to Power Pages licensing in the Power Platform
admin documentation.

See also
Power Pages pricing
Get started with Power Pages tutorials
Article • 07/13/2022 • 2 minutes to read

The tutorials in this section help you learn how to build a Microsoft Power Pages site
that's linked to business information stored in Dataverse.

Prerequisites
You'll need to have either a Power Pages subscription or a free trial. Get a Power
Pages trial here.
Create a Power Pages site.

Tutorials
Many of the tutorials build on knowledge and skills developed in preceding tutorials.
Review the pre-requisites before starting a tutorial. We recommend that you complete
them in the order given.

Add a page
Style your site
Add a list to a page
Display data securely on pages
Add a form to a page
Add a multi-step form to a page
Configure site authentication
Set up page permissions
Add custom styling to your site
Create, update, and view Dataverse information
Tutorial: Add a page to your Power
Pages site
Article • 05/24/2022 • 3 minutes to read

In this tutorial, you'll learn how to add a page to your Power Pages site. You can use this
page to display static content to your audience such as text or images or use it to allow
your site visitors to interact with information from Dataverse using lists and forms.

In this tutorial, you learn how to:

" Add a new page to a site


" Add and modify content on the page
" Move the page in the site map

Prerequisites
A Power Pages subscription or trial. Get a Power Pages trial here.
A Power Pages site created. Create a Power Pages site.

Create a page using a blank layout


In these steps, you'll create a page using a blank layout. As you learn more about Power
Pages, you can use other layouts or even create your own custom layouts.

This video provides an overview of the steps to create a page using a blank layout.
https://www.microsoft.com/en-us/videoplayer/embed/RE4Y5Gl?postJsllMsg=true

1. Go to Power Pages .

2. Select Edit on the site you want to add a page. If you don't have a site, create a site
before continuing.

3. Select Pages and then select the Add a page icon (+) to the right of the Main
navigation heading.

4. Provide a name for your page and select the Start from blank page layout.
5. After a few moments, you should see blank page with a selection of components
to add to the section.

Design the page and add content


1. Select the Text icon.

2. Enter a name for your page (for example, My Page).

Change the style to Heading 1


Select the B icon to make the text bold.
Adjust the alignment so the text appears centered
3. Below the text, select the + icon and select the Spacer icon to add the spacer
component.

4. Below the spacer, select the + icon and select the Text icon to add another text
box.

5. Add some text to the text box. Experiment with the style and colors.

6. Select the + icon below the text and add another spacer.

7. Select the Button component.

8. Configure the following details for the button:

Button label: Contact us


Choose Link to a page
Select Contact us page from the dropdown.
Select OK
Use the properties menu to center the button

9. Select the entire section and select Background from the properties menu and
change the background color of the section.

10. Experiment by adding addition sections, components, and colors to your page.
Preview your page
You can preview what your page will look like on the site at any time.

1. Select Preview from the main menu in the design studio.

2. Choose Desktop for the page to appear in your browser, or you can view the page
on your mobile device by scanning the QR code.

Move the page in the sitemap


Adding the page to the Main navigation will add a menu option. The page can be
moved to different spots in the overall site hierarchy using the design studio.

This video will provide an overview of the steps to move a page in the site map.
https://www.microsoft.com/en-us/videoplayer/embed/RE4Y5Gm?postJsllMsg=true

1. Under the Main navigation, select the ellipse (...) icon and choose Move to other
pages.
2. The page should now appear in the Other pages section. If you now preview the
page, notice that there isn't menu item for the page.

3. Under Other pages, select your page again and choose to Move to "Main
navigation".

4. Select the page and select the ellipse (...), move the page up and down in the
hierarchy using the Move up and Move down options.

5. Move the page underneath the Pages link. Select the Make this a subpage option
to make it a subpage of the Pages page.

6. Preview the page and note how your page is a sublink under pages and also how
the URL reflects that this page is now a subpage.
See also
Create and design pages

Next steps
Advance to the next article to learn how to apply styles to your site.

Style your site


Tutorial: Style your site
Article • 09/21/2022 • 2 minutes to read

Power Pages sites can be customized to incorporate your corporate branding styles. The
Styling workspace allows you to set up your brand colors, fonts, and design defaults for
your entire site or specific pages.

In this tutorial, you learn how to:

" Set your corporate logo.


" Define your color palette.
" Set up your fonts.

Prerequisites
A Power Pages subscription or trial. Get a Power Pages trial here.
A Power Pages site created. Create a Power Pages site.
Complete the Add and design a page tutorial.
A png file of your corporate logo (64 x 64 pixels).
A list of the hex codes for your corporate color palette.
A list of your corporate font standards.

Adding your corporate logo to Power Pages


This video provides an overview of the steps to add your corporate logo and brand
colors to Power Pages.
https://www.microsoft.com/en-us/videoplayer/embed/RE4XQbM?postJsllMsg=true

1. Go to Power Pages .

2. Inside the design studio, mouse over the existing logo and select Image when the
flyover appears.
3. Choose an existing image from the media library, or upload a new image.

4. Select the image you'd like to use (in this instance, use the corporate logo you
uploaded).

Set your brand color palette


You can update the color palette to incorporate two or three primary brand colors, and
neutral complimentary colors. These colors can be used consistently across your entire
Power Pages site.

1. Inside the design studio, go to the styling workspace and select the colors you'd
like to use for the background and fonts.
2. Select Save changes.

Set up your corporate brand fonts


1. Inside the design studio, go to the styling workspace and scroll down to define the
font types for headers, subheaders, paragraphs, and buttons.
2. You can also adjust the sizes and colors for each based on your color palette. Any
updates you make are immediately reflected on your site.

3. Select Save changes to update your styling.

The theme you updated will have a modified label.

If at any time you wish to start over, select the ellipses and select Reset to
default.

Next steps
Advance to the next article to learn how to a list displaying business data to a page.
Add a list to a page
Tutorial: Add a list to your page
Article • 11/07/2022 • 2 minutes to read

In this tutorial, you'll learn how to display a list business information to your users from
Microsoft Dataverse on a page in your site.

First, you'll need to create a table (or choose an existing table) in Dataverse to store your
business information. You'll also need to configure a view from the table that will define
the columns and structure for your list. You'll add the list component to a page. For
security reasons, your users won't yet be able to view the information until we define
table permissions in the following tutorial.

In this tutorial, you learn how to:

" Create a table
" Create a view
" Add a list to the page

Prerequisites
A Power Pages subscription or trial. Get a Power Pages trial here.
A Power Pages site created. Create a Power Pages site.
Complete the Add and design a page tutorial.

Create a table
This video provides an overview of the steps to create a table.
https://www.microsoft.com/en-us/videoplayer/embed/RE4XYeq?postJsllMsg=true

Use the steps below to create a table.

1. Go to Power Pages .

2. Select the Data icon on the left navigation.

Select the New table button.


3. Give the table a name and select Create.

4. Select New column.


5. Enter a name and a data type, then choose Save.

6. Select the space under the name field and enter your data.
7 Note

You can use the tab key to move to the next column and enter additional data. You
can also use the tab key to navigate to the next row and add additional records.

For more information, see How to create and modify Dataverse tables using data
workspace.

Create a view
This video provides an overview of the steps to create a view.
https://www.microsoft.com/en-us/videoplayer/embed/RE4XYer?postJsllMsg=true

Use the steps below to create a custom view for the table you created.

1. Select the table you created in the steps above.

Select Views and choose New view.

Enter a name for the view.


2. Add the application data and status reason columns to the view.

3. Select Save and choose Publish.

4. Select Views to show the available views for the table.

For more information, see Create and modify Dataverse views using data workspace.

Add a list to the page


This video provides an overview of the steps to add a list to a page.
https://www.microsoft.com/en-us/videoplayer/embed/RE4XYem?postJsllMsg=true

Use the steps below to add a list to a web page so you can view information stored in
Dataverse.

1. Inside the design studio, choose the option to Create a new page.

2. Add a name for the page.

3. Choose the Start from blank layout.

Select Add.
Select List.
4. Fill in the details.

Choose the table and view you'd like from the dropdown menus.

5. Select Preview.

7 Note

When you first view the page, you will see a message displayed that you do
not have permissions to view the data. Security is very important when
building sites.
For more information, see Add a list.

Next steps
In order for the site users to see data, we need to create table permissions to allow users
to view data securely.

Display data securely on pages


Tutorial: Display data securely on your
site
Article • 11/07/2022 • 4 minutes to read

In the previous tutorial, you added a list to a page; however, users wouldn't be able to
view any data. Power Pages has security enabled by default to protect your business
data. This tutorial will walk through the steps to create table permissions and associate
them to web roles to allow visitors to your site to be only able to interact with the
information that you allow.

In this tutorial, you learn how to:

" Create table permissions


" Set access type and privileges
" Add web roles

Prerequisites
A Power Pages subscription or trial. Get a Power Pages trial here.
A Power Pages site created. Create a Power Pages site.
Complete the Add and design a page tutorial.
Complete the Add a list to a page tutorial.

Create table permissions


This video provides an overview of the steps to create table permissions.
https://www.microsoft.com/en-us/videoplayer/embed/RE4XTcK?postJsllMsg=true

Use the steps below to learn how to configure table permissions to view data.

1. Go to Power Pages .

2. In the pages workspace on the page where you have a list component, select the
component and choose the Permissions button.

3. Select New table permissions.

4. Give table permission a name.

5. Select a Dataverse table.


6. Set the access type to Global.

7. Set the permissions to Read.

8. Choose Anonymous and Authorized user for the web roles.

9. Now that table permissions are set, view the page by selecting Preview.

10. You should now see a list of Dataverse records on the page.

7 Note

You can give the table permission any name, but ideally it should be descriptive.

Set access type and privileges


When you configure a list or a form in Power Pages, by default your users won't have
access to the information in Dataverse. There are instances where you would want to
limit what data a particular set of users. This can be done with a combination of table
permissions and security roles.

If your table in Dataverse has a relationship with a Contact or Account table, you can
filter the records based on that relationship.

In the example below, we've created a table that has a lookup to the contact table.

This video provides an overview of the steps to set access types and privileges.
https://www.microsoft.com/en-us/videoplayer/embed/RE4XTcJ?postJsllMsg=true
1. Create a page with a list showing records that have a relationship to the contact
table.

7 Note

Go to Tutorial: Add list to a page for details on how to a list to page. Create a
table with a lookup to the contact table.

2. From the list on the page, choose on the Permission button.

3. Select to create a new table permission.

4. Give the table permission a name and choose Table.

5. Select Access type Global access.

6. Set permissions to Read.

7. Assign the Table permission to the Authenticated user web role.

8. Select Save.

9. Preview the site and sign-in. For purposes of this tutorial, you can sign in using
Azure AD.

10. View the page on the site. When any user signs in, they should see all the data in
the table.
11. In our example, we would only want to show records that related to the currently
signed-in user. Return to the design studio, select the list on the page and select
permissions.

12. Modify the existing table permission and change the Access Type to Contact
Access.

13. You'll need to specify the relationship between your table and the contact table.

7 Note

If you don't see a relationship, you will need to define a lookup to the contact
table using the Data workspace. Create or update some records that are
related to the contact record you are using to sign-in to the site.
14. Preview the site and sign-in. You now should only see records that are related to
the contact that has signed in to the site.

More information
There are several different access types and privileges in Power Pages.
For more information, see:

Assign table permissions


Provide access to external audiences

Add web roles


In our examples so far, we've assigned the table permissions to the default
Authenticated Users and Anonymous Users web roles.

This video provides an overview of using web roles.


https://www.microsoft.com/en-us/videoplayer/embed/RE4XQbL?postJsllMsg=true

We can also create our own custom web roles to further limit access to data and pages
to certain site visitors.

1. In the design studio, select the ellipses ... from the side menu and select Portal
Management to open the Portal Management app.

2. In the Portals Management app, under the Security section, select and view Web
Roles.

3. Select New to create a new web role and give it a descriptive name. Leave the
Authenticated Users and the Anonymous Users roles set to No.
4. Save the web role record.

5. Select Related and choose Contacts. Select Add existing contacts choose a few
contacts.

7 Note

Site users are stored as Contacts records.

6. Within the design studio on a list or a form, choose the permissions button and
select a table permission, then assign the custom web role.
7 Note

You'll need to restart the design studio or clear the browser cache (ctrl + F5)
to see the new web role.

7. Preview the site and note that only users logged in will be able to view the data on
a form or list.

Next steps
Showing data in a list view to the correct audience is an important feature of Power
Pages. The next tutorial will cover adding a form to a page to allow users to create and
edit business data.

Add a form to a page


Tutorial: Add a form to your page
Article • 05/24/2022 • 3 minutes to read

Power Pages allows you to add form components to a page to allow your users to be
able to create, edit, or view Microsoft Dataverse records.

Forms on pages are created from Microsoft Dataverse table forms.

This tutorial shows you how to create and add a form to your page, capture rich
information through code components, and configure form actions when the
information in the form is submitted.

In this tutorial, you learn how to:

" Create a form
" Add code components
" Add a form to a page
" Configure code options

Prerequisites
A Power Pages subscription or trial. Get a Power Pages trial here.
A Power Pages site created. Create a Power Pages site.
Complete the Add and design a page tutorial.
Complete the Display data securely on pages tutorial.

Create a form
This video provides an overview of the steps to create a form.
https://www.microsoft.com/en-us/videoplayer/embed/RE4Y6Ez?postJsllMsg=true

1. Go to Power Pages .

2. In the data workspace, select the Feedback table and choose the Forms tab.
3. Select + New form to open the form editor.

4. Fill in the details.

Give the form a name. You can also add a description if you'd like one.

Select Create.
5. Modify the form using the Add field menu option, or by dragging and dropping
existing fields to reorder them.

6. Select Publish form.

7. Select Back.

The form will appear in the list of forms for that table.
See also
Add Form
How to create and modify Dataverse forms using data workspace

Add code components


Code components can be added to forms to allow advanced interaction with specific
data fields. For example, we can enable rich text editing capabilities to a multi-line text
field on a form.

This video provides an overview of the steps to add code components.


https://www.microsoft.com/en-us/videoplayer/embed/RE4Y6Ey?postJsllMsg=true

1. In the Data workspace, select the Feedback table and choose the Forms tab.

2. Select the form you created earlier.

3. Select the Comments field on the form.

4. In the right-hand section, choose Components and select the Rich Text Editor
control.

5. Select Done.

The form now has a code component linked to the field.

Add a form to a page


The following steps provide details on how to add your form to a page.

This video provides an overview of the steps to add a form to a page.


https://www.microsoft.com/en-us/videoplayer/embed/RE4Y5G7?postJsllMsg=true

1. Open a Power Pages site in the design studio.

2. Choose the + icon next to Main Navigation to add a new page.

3. Fill in the details.

Give the page a name.


Choose the Start from Blank template.
Select Add.

4. Select Form from the component bar.


5. Select + New form.

6. Fill in the details.

Select the Feedback table.


Select the form you created previously.
Select Ok.
7. Select the Permissions button.

8. Select Feedback permissions.

Ensure the Create privilege is checked and that Anonymous and


Authenticated web roles are linked.
9. Select Preview page.

Configure form options


Earlier we enabled the rich text editor component on the comments field in our form. In
order for the rich text editor to render on the page, we need to add some metadata.

This video provides an overview of the steps to configure form options.


https://www.microsoft.com/en-us/videoplayer/embed/RE4XYep?postJsllMsg=true

1. In the design studio, open a page with a form component and select the form you
previously created.

2. Select the Form button.


3. Select the Data section. Select Open Portal Management app. You'll be directed
to the form metadata record.

4. Select the Basic form metadata tab.

5. Choose New basic form metadata.

Choose Attribute for the Type.


Choose Comments for the Attribute Logical Name.
Choose Code component for the control style.
6. Select Save.

7. From the design studio, select Preview and navigate to your page.

8. The form should show the rich text editor controls on the field.

Next steps
Next, learn how to create a multi-step (advanced) form to your page.

Add a multi-step form to a page


Tutorial: Add a multistep form to your
page
Article • 12/08/2022 • 10 minutes to read

Multistep forms are a powerful way to collect inputs from users over multiple steps. The
collected information is stored or updated in Microsoft Dataverse. Here are features
available in multistep form as compared to regular forms:

Allows data collection or update process to be broken up over multiple steps.


Provides conditions that dynamically change the flow of the steps based on user
inputs.
Session tracking allows a user to pick up where they left off when following a data
update process.

In this tutorial, you learn how to:

" Create Dataverse tables, views, and forms to use in your multistep form
" Add a multistep form to a web page
" Configure table permissions for multistep forms
" Add a condition and redirect step to a multistep form

Prerequisites
A Power Pages subscription or trial. Get a Power Pages trial here.
A Power Pages site created. Create a Power Pages site.
Complete the Add and design a page tutorial.
Complete the Display data securely on pages tutorial.
Complete the Add a form to a page tutorial.

7 Note

When creating a multistep form, it is important to plan the steps first. This will
make the configuration process easier. Establish the individual steps and any
conditional branches to the multistep process.

Create a multistep form


In the steps below, we'll create a multistep form, this example follows a simple process
to apply for a scholarship, but the concepts can be applied to other business processes.

Here is an outline of the sample steps:

Step Description

1 Select the scholarship to apply for and enter the applicants name.

2 Fill in details about the applicant.

3 Gather some additional details. Later in the tutorial, we will make this step conditional
based on information from step 2.

4 Collect final sign-off consent from the user.

Create Dataverse tables and forms to use in the multistep


form
We will need to store our information of our process in Microsoft Dataverse tables.

For each step of the process that requires a user to create or update columns on a
Dataverse record, you will need to have a corresponding Dataverse form.

In our example, we will create a Dataverse table called Applications for our process. For
more information on how to create Dataverse tables, see How to create and modify
Dataverse tables by using the Data workspace

1. Go to Power Pages .

2. Select a site where you want to add a multistep form and select Edit.
3. In the design studio, select the Data workspace.

4. Create a Dataverse table called Applications with the following properties:

 Tip

The following table is just an example, feel free to create tables to match
your own business processes.

Column Column data type


name

Applicant Text (rename name column)


name

Scholarship Choice (example choices: American Architect Scholarship,Foreign Language


Scholarship,Women in STEM Scholarship,Future Design Leaders Scholarship)

Class Level Choice (choices: Junior, Senior)

Consent Yes/No

Cost of Currency
Tuition

Degree Choice (choices: Masters, Bachelor )


Type

Fulltime Yes/No

Major Text

Other Multiple lines of text


Scholarships

5. Once you have created the tables, you will need to create forms for each step of
your process.
 Tip

See How to create and modify Dataverse forms by using the Data
workspace on how to create Dataverse forms.
A good practice is to name your forms to correspond to each step of
your multistep process.
To display columns in the form but not allow users to update, configure
the columns to be read-only when creating the forms.

Create the following four forms and arrange the columns on the form. As each
form is created, select Publish form.

Form name Columns on form

Application Scholarship, Applicant name


Step 1

Application Scholarship (read-only), Applicant name (read-only), Degree Type, Major,


Step 2 Fulltime, Class Level, Stem

Application Scholarship (read-only), Applicant name (read-only), Cost of Tuition, Other


Step 3 Scholarships

Application Scholarship (read-only), Applicant name (read-only), Consent


Step 4

6. You should now have a series of forms to use in your multistep process.
Add a multistep form component to a page
Now that we have our table and forms, we can create a multistep form on a webpage.

1. Go to the Pages workspace and add a new page or edit an existing page. For more
information on creating webpages, see Create and design pages.

2. Add a new section and select the Multistep form component.

If other multistep forms exist on your site, you will be given the option to add
them to your page. In our example, we will create a new multistep form for our
tutorial, Select + New multistep form from the dialog.

3. You will see the Add a multistep form window. Enter in Application (or other
name) for the Form name. Select OK.

4. There will be no steps in the form. Select + Add the first step to add the first step.
5. In the Add step window, enter the following values in the configuration:

In the Step name field, enter Application Step 1.


In the Choose a table field select Application (or whatever you named your
table).
In the Select a form field select Application Step 1 .

6. Choose the More options side tab and note that the Data from this form: option
is automatically set to Create a new record. In our example for the first step we will
be creating a new record in the Dataverse table. Note that in subsequent steps we
will be modifying the record created in the first step and this option will be
different.

7. Select OK.

8. We will begin to add additional steps. From the menu, select + Add step.

9. In the Add step window, enter the following values for the second step:

In the Step name field, enter Application Step 2.


In the Choose a table field the Application table (or whatever you named
your table) should already be selected.
In the Select a form field select Application Step 2 .

10. Choose the More options side tab and note that the Data from this form: option
is automatically set to Update an existing record. In our example for the second
step will continue to add details to the Dataverse record created in the first step.

7 Note
Depending on your unique processes, you may be creating or updating
different Dataverse records at different steps in the process.

11. Select OK

12. Continue to add the remaining two steps as update steps, Application Step 3 and
Application Step 4 following the instructions above.

Edit field properties


You can modify some of the field properties on your multistep form in the design studio.
Let's make a field required, update the label and add a description.

1. Select a field on the multistep form component on the page.

2. Select Edit field.

3. In the Edit field window, change the Field label to another value. Select Make this
field required and select Show a description. Enter some instructions in the
Description field.
4. Select OK.

Add table permission


By default, visitors to the site will not be able to access the multistep form. In our
example, we would only want to allow authenticated users to fill in the multistep form.
You can use a combination of web roles and table permissions to configure create, read,
and update data actions for your own multistep process.

For new forms, a banner will appear prompting you to add permissions.

If you have already configured permissions for the table used in your multistep form,
you can select the ellipse (...) and choose Permissions.

1. Select + New permission.

2. The table permission is provided a name, the table selected and the Access type
set to Global access by default. The Write and Create permissions will be selected
so site visitors can use the form.

3. Select + Add roles and select Authenticated Users as the default role.
4. Select Save.

Testing your multistep form


At this point you can try out your multistep form.

1. Select Preview, followed by Desktop.

2. When the home page appears, select Sign in and sign in with a site user. See
Provide access to external audiences for more information.

3. Select the page where you placed your multistep form component.

4. Try the process as a user and go through the steps.

5. If you encounter any issues, review the configuration in design studio and review
each step.

6. Once you have successfully submitted the form, return to the design studio.

7. Select Data, then select the Application table (or whatever you had named your
table) and confirm that you can see that records were created using the multistep
form process.

Add a conditional step to your multistep form


If you need to add conditional logic to your multistep form, you first need to identify the
condition by viewing the Dataverse column logical name and the evaluation you want to
perform. The logical name of a column can be found by viewing the column
configuration in Data workspace.

In our example below, we'll check to see if an applicant is pursuing a Masters degree. If
a user is pursuing an advanced degree, they'll be directed to extra steps. Other
applicants will skip that step. Feel free to add a condition based on your own business
processes.

We will evaluate whether the Degree Type field has a value of Bachelor or Master,
represented by the logical name of the field craxx_degreetype and the choice values
(Master = '124860001').

Conditional steps are configured in the Portal Management app.

1. In the design studio, on the multistep form, select the dropdown listing all the
steps of the multistep form, choose the Portal Management App link.

2. You should be in the Portal Management app in the metadata record for your
multistep form. Select the Form Steps tab.

3. Select + New Form Step.

4. Give the step a name (e.g. Check degree type).

5. Specify the configurations.

Set Type to Condition.


Select the application table from the Target Table name drop-down menu.

6. Select the Condition tab and enter the condition using the logical column name
and a value. In our example, we would something similar to craxx_degreetype ==
124860001 (You need to specify your logical name and value from your own
environment.)

7. We need set up the process to go to a step if the condition is not met. Select
Application Step 4 in the Next Step If Condition Fails field.

8. Now we need to set up the process to go a specific step if the condition is met.
Select the General tab.

9. In the Next Step field, select Application Step 3.

10. Select Save & Close


11. You should now see your conditional step in the list of steps. We need to make
sure our user will reach the conditional step after completing the second step.
Select Application Step 2 and select Edit.

12. In the Next Step field, change the value from Application Step 3 to Check degree
type.

13. Select the Form Definition tab and in the Source Type field select Result From
Previous Step and in the Entity Source Step field select Application Step 1.

14. Select Save & Close.

Add a redirect step to your multistep form


We will also add a redirect step at the end of the process to navigate the user back to
the home page.

1. Select + New Form Step and fill in the following configuration:

Set the Name to Go to home page*


Set the Type to Redirect

2. Select the Redirect tab.

3. In the or Web Page field, select the Home page.

4. Select Save & Close.

5. You should now see your redirect step in the list of steps. We need to make sure
our user will reach the redirect step after completing the last step in the process.
Select Application Step 4 and select Edit.

6. In the Next Step field, select Go to home page.

7. Select the Form Definition tab and in the Source Type field select Result From
Previous Step and in the Entity Source Step field select Application Step 2.

 Tip

We choose an earlier step in the process (Application Step 2) as users will


arrive at this step from either the second step or the third step depending on
the condition, we want to choose a common step that all users will have
interacted with.
8. Select Save & Close.

9. Return the design studio and select the Sync button.

10. You should have a complete multistep form with steps, conditions, and a redirect.

11. Select Preview, followed by Desktop.

12. When the home page appears, select Sign in and sign in with a site user.

13. Select the page where you placed your multistep form component.

14. Try various combinations of the process to see how the multistep form works.

See Also
Add a multistep form
Tutorial: Configure authorized access to
your site
Article • 06/15/2022 • 2 minutes to read

Power Pages provides integration to multiple authentication providers to allow secure


access to external users to your site. In this tutorial, you'll see how to use the Setup
workspace to configure Azure Active Directory Business-to-Consumer (Azure AD B2C) as
an authentication provider.

In this tutorial, you learn how to:

" Provide user access to your Power Pages sites using Azure AD B2C as an identity
provider.

Prerequisites
A Power Pages subscription or trial. Get a Power Pages trial here.
A Power Pages site created. Create a Power Pages site.
An Azure subscription and administrative rights to configure Azure AD B2C

Configure authorized access to your site


Setting up an external authentication provider will allow you to provide access to your
site and provide the mechanism for end users to be able to reset their passwords and
other information without administrator intervention.

This video provides an overview of authentication in Power Pages.


https://www.microsoft.com/en-us/videoplayer/embed/RE4XTcI?postJsllMsg=true

This video provides an overview of the steps to configure authentication providers.


https://www.microsoft.com/en-us/videoplayer/embed/RE4XYeo?postJsllMsg=true

1. Go to Power Pages .

2. In design studio, select Set up.


Under Authentication, choose Identity Providers.

3. Select Configure.

Ensure Azure Active Directory B2C is selected and then choose Next.

4. Fill in the details.

Choose an Azure subscription.


Create an Azure resource group.
Select a country.
Select Next.

5. Confirm the defaults and then select Next.

6. Select defaults (new policy) and then select Create.

7. Select Close.

8. Select the ellipses next to Local Sign In.

9. Choose Disable.
Now your users can sign in, register, or redeem an invitation to your site using Azure AD
B2C.

You can preview this functionality by visiting a portal and selecting Sign In, then select
Azure AD B2C. The default Azure AD B2C sign-in screen will appear.

Next steps
Learn how to protect your pages using page permissions in the next tutorial

Set up page permissions


Tutorial: Set up page permissions
Article • 02/16/2023 • 2 minutes to read

When you create your site, you may want to protect one or more pages so that only
specific users or roles can view them. In this tutorial, we'll hide or show a page based on
an authenticated user's web role.

" Create page permissions


" Assign to the authenticated web role
" Observe how a page and a related menu item are hidden or shown based on the
signed-in user's role

Prerequisites
Have an active Power Pages subscription or start a trial.
Create a Power Pages site.
Complete the Add and design a page tutorial.
Complete the Display data securely on pages tutorial.

Create page permissions


1. Sign in to Power Pages .

2. Select your site, and then select Edit.

3. In the page navigation, select the ellipses ... to the right of a page, and then select
Page settings.

4. In the side tab, select Permissions.

5. Select I want to see who can view this page.

6. In the list, select the Authenticated Users web role.


7. Select OK.

Observe results
1. In the design studio, select Preview to view your site.

2. With no user signed in, observe that the web page that you protected doesn't
appear in the main menu or navigation.

3. Sign in to your site. You can use Azure AD for the purposes of this tutorial.

The link to the protected page should be visible in the main menu and you should
be able to view the page.
Page permissions allow you to specify which users or which roles have access to a
specific webpage. Use table permissions to configure access to Microsoft Dataverse
data.
Tutorial: Add custom CSS to your site
Article • 12/12/2022 • 2 minutes to read

The Styling workspace allows you to edit some of the theme features of your site, such
as fonts and colors; however, you may apply your own custom CSS themes.

You can create your own theme by defining a custom CSS file and uploading it to your
site.

In this tutorial, you'll learn how to:

" Upload a custom CSS file


" Edit CSS is Visual Studio Code for the Web

Prerequisites
A Power Pages subscription or trial. Get a Power Pages trial here.
A Power Pages site created. Create a Power Pages site.
A custom theme file created using your favorite CSS editor.

7 Note

Any custom theme you create must be compatible with Bootstrap v3.

Add custom CSS to your site


In this example, we'll add some custom CSS files that will allow us to add shadow effects
to buttons on our website. You can use your own custom CSS file or use the sample
provided.

1. To create a sample, in your favorite CSS editor, create the button_shadow.css


custom theme file and save.

css

.button1 {
box-shadow: 0 9px 18px 0 #333333, 0 8px 24px 0 #333333;
}

2. Go to Power Pages .
3. Select the site to which you want to add the custom theme and choose Edit.

4. Open up the Styling workspace.

5. Select a theme and select the ... (ellipses), and then select Manage CSS.

6. In the Custom CSS section, select Upload and choose your custom CSS file. You
can only upload one CSS file at a time, but multiple files can be uploaded. If
multiple CSS files update the same attribute, the attributes in the CSS file at the
bottom of the list will apply. You can adjust the order of your custom CSS files.

7. You should immediately see the results of the updates on the pages canvas.
8. You can disable or move the order of your custom CSS files. The file listed last will
take precedence over the others.
9. You can edit a CSS file directly by selecting the ellipses (...) and then selecting Edit
code. This step will open the Visual Code for the Web editor. Select CTRL-S to save
your changes.

10. Select Sync in the design studio to update the CSS and view the changes.

11. Select Preview to view the custom theme on your site.

7 Note

To completely remove the custom theme delete the web file record in the Portal
Management app.
Tutorial: Create, update, and read
Dataverse information on pages
Article • 07/12/2022 • 10 minutes to read

The ability to dynamically interact with Microsoft Dataverse is one of the key features of
Power Pages. Users visiting a site can perform actions such as view a list of programs,
register their children, schedule a meeting or apply for a building permit. The
information tracked in Dataverse can be accessed by other Power Platform services such
as Power Apps, Power Automate, or Power BI.

In this tutorial, you'll build a web application in Power Pages that will allow users the
ability to create, read, and update Dataverse records. You can use the site as a
foundation to build your own Dataverse powered websites.

In this tutorial, you learn how to:

" Create a Dataverse table


" Create a Dataverse view
" Create a Dataverse form
" Configure table permissions to allow you to read, create and update records
" Add a list to the page
" Add a page with a form to create records
" Add a page with a form to view/edit records
" Update the list to allow your to navigate to pages to create records and view/edit
records

Prerequisites
A Power Pages subscription or trial. Get a Power Pages trial here.
A Power Pages site created. Create a Power Pages site.

Create a Dataverse table


In this section, you'll use the Data workspace to create a Dataverse table. A table is used
to store information about specific objects. A scholarship, an application, or company
are some examples of tables. A table is made up of a series of columns. A column is a
specific piece of information about the object, like name, description, application date,
or a choice of options, like color.

Use the steps below to create a table and columns using the Data workspace.

1. Go to Power Pages .

2. Select the Data icon on the left navigation to go into the Data workspace.

3. Select the new table (+) button, to the right of the Tables in this site heading.

4. Give your new table an appropriate name.

5. Select Create to create the table in Dataverse.


6. To add a column to the table, choose + New column. Enter a Display name and
select the Data type and choose any other options. Select Save.

7. Repeat the previous step until you've created all the columns required for your
table.

Create a Dataverse view


A Dataverse view is a type of query to display specific rows and columns of data from a
Dataverse table. When you create a view, you specify certain criteria such as which
columns to show, how the records are sorted, and how the rows are filtered (for
example, you may want to only show records that have certain criteria, like events where
the event date is happening in the future).

This view will be used to configure a list on a webpage.

In this section, you'll use the Data workspace to create a Dataverse view.

1. Select the table from the list of tables in Data workspace to which you want to
create a new view.

2. Select the Views tab.

3. Select New view.

4. Enter in the name of your view and optionally, a description.

5. Select Create.
6. The view designer will appear. You can add columns to the view and adjust the
width.

7. You can select to sort by specific table columns in the Sort by... section on the right
side flyout panel.

8. You can also choose to configure specific row filtering options by selecting Edit
filters... on the Filter by section on the right side flyout panel.

9. When you're finished configuring the view, select Save and then Publish view.

Create a Dataverse form


A Dataverse form provides a surface that shows an arrangement of specific columns
(fields) from a table to be used as a foundation for end users to add, read, or update
individual records.

The Dataverse form will be used to configure a form component on a webpage.

In this section, you'll use the Data workspace to create a Dataverse form.

1. Select the table from the list of tables in Data workspace to which you want to
create a new form.

2. Select the Forms tab.

3. Select New form.

4. Enter in the name of your form and optionally, a description.

5. Select Create.

6. The Dataverse form designer will appear. With this tool you can design and
configure various aspects for your form:

Select + Add field will display the list of table columns and allow you to drag
and drop them onto the form canvas.
The form canvas allows you to arrange the fields.
The properties fly-out panel on the right allows you to configure various
options of the selected form, tabs, sections and fields, such as the number of
columns per section, width and height of fields, label names, and other
aspects.
7 Note

Certain fields (such as Owner will not be visible on a webpage).

7. When you're finished configuring the form, select Save and then Publish form.

Configure table permissions


By default, users of the site won't have access to view, create, or edit records. You'll need
to configure specific table permissions and assign web roles. To ensure your data
remains protected and secure, you should only provide access to specific users of the
site.

In this section, you'll use the Set up workspace to create a table permission and assign
web roles.

1. Select the Set up workspace icon.

2. Under Security, select Table permissions.

3. Select + New permission.

4. A fly-out section will appear. Enter a Name for the table permission.

5. Select the Table for which you want to set up permissions.

6. Select an appropriate Access Type depending on how you want to specify the
relationship of the records to the signed-in user. For purposes of this tutorial, we'll
provide access to all site visitors, so we'll select Global. Consider other options as
you build your sites.

7. Select the Permission to options based on how you want users to interact with the
data. For purposes of this tutorial, we'll choose Read, Write, Create, and Delete.
Consider limiting these options as you build your own sites.

8. Select + Add roles and choose the web roles that you want to assign to this table
permission. For purposes of this tutorial, we'll choose the Anonymous Users and
Authenticated Users roles. Consider creating custom web roles and assigning
specific users as you build your own sites.

9. Select Save to save the table permission.

Add pages to your site


You'll need to create pages in your site to interact with Dataverse records.

In this tutorial, we'll create three pages;

A page that will show a list of Dataverse records.


A page to create new records.
A page to view and update existing records.

Add a list to a page


Adding a list component to a web page will allow users to search, browse and select
from a list of records stored in Dataverse.
In this section, you'll use the Pages workspace to create a page with a list component.

1. Select the Pages workspace icon.

2. Select the + to the right of Main navigation.

3. Give the web page an appropriate name.

4. In Standard layouts, select the Start from blank layout and select Add.

5. When the new page appears, you'll be presented with a list of components to add
to your new page. Select the List component.

6. The Add a list window will appear.

Choose the table.


Select one or more Dataverse views.
Leave the default name or give the list a new name.
Select Ok.

7. The blank list will appear on the page.

Add a page with a form to create records


Adding a form component to a page configured to insert data will allow users to create
new records in Dataverse. A form component on a page is based on the Dataverse form
created in the data workspace.

In this section, you'll use the Pages workspace to create a page with a form component
configured to insert new records.

1. Select the Pages workspace icon.

2. Select the ... icon to the right of the web page you created earlier to contain the list
component, a fly-out menu will appear, select Add a new subpage.
3. Give the page an appropriate name (for example, Create record) and choose the
Start from blank page layout.

4. When the new page appears, you'll be presented with a list of components to add
to your new page. Select the Form component.

5. The Add a form window will appear. Select + New form.


6. You'll then need to configure the form.

Select the Dataverse table for your form.


Select the Dataverse form that will be used as layout for your form
component on your page.
Leave the default or give the form component a name (for example create
record).

7. You can configure other form component properties. On the Data section, make
sure that Data from this form option is set to Creates a new record. You can
configure other options such as turning off or turning on CAPTCHA or configuring
the navigation when the form is submitted.

8. Select Save.

9. We will remove this new page from the main page navigation. We'll add a create
record option on the page with the list component. Select the ... and select Move
to "Other pages".
Add a page with a form to view/edit records
Along with creating new records, we'll also want to allow our users to be able to edit
existing records. We'll again use a form component on a page but instead configured to
edit records in Dataverse.

Again we'll add a new web page and add a form component as we did in the previous
steps.

In this section, you'll use the Pages workspace to create a page with a form component
and configure it to edit existing records.

1. Select the Pages workspace icon.

2. Select the + icon (add webpage) to the right of the Other pages section. Give the
page an appropriate name and use the Start from blank layout.
3. You'll see the page. Choose the Form option that will appear to open the Add a
form window.

4. Select the + New form option.

5. You'll then need to configure the form with similar options as the insert form
component.

Select the Dataverse table for your form.


Select the Dataverse form that will be used as layout for your form
component on your page.
Leave the default or give the form component a name (for example Edit
record).

6. You can configure other form component properties. On the Data section, make
sure that Data from this form option is set to Updates an existing record. You can
configure other options such as turning off or turning on CAPTCHA or configuring
the navigation when the form is submitted.

7. Select OK.

Update the list to allow you to navigate to


pages to create records and view/edit records
Now that the pages with form components have been created, we need to configure the
page with the list component to be able to navigate to both the create and edit pages.

In this section, you'll use the Pages workspace to configure the list component to have
an option to create new records and also configure the list so a user can select on a
listed record and navigate to an edit page.

1. Select the Pages workspace icon.

2. Select the page with the list component.

3. Select the list component on the page and then select the List button to open the
Add a list window.

4. Select the Data tab.

5. Select the Create a new record option.


6. In the Target type, choose Webpage, and select the webpage with the form
component configured for creating records.

7. Select the View details option.

8. In the Target type, choose Webpage, and select the webpage with the form
component configured for editing and viewing records.

9. Select Ok.

Test the site


In the design studio, select Preview, followed by Desktop to preview your site.

Create some new records. When you have a list of records, select the first column of the
list to open up a page to edit the record.
Extra enhancements
To make your site more usable for end users and reduce navigation, you can configure
the form to instead redirect back to the list page instead of a message. Depending on
your site, you may want to turn off the CAPTCHA.
Tutorial: Add custom page layout to
your site
Article • 10/27/2022 • 4 minutes to read

When you create new webpages using the Pages workspace, you have a choice of
provided page layouts. In some cases you may want to create a custom page layout to
display information in a certain format or to provide a specialized user interface.

In this tutorial, you'll learn how to create a custom page layout using Liquid.

Our example scenario is to build a simple two-column template that the main site menu
as left-side navigation, with the page content to the right.

Here are the following steps and assets that will be created to provide a custom page
layout:

" We'll create a common base web template with custom code to establish basic
page layout.
" We'll create a second web template with additional code to demonstrate the
modular features of web templates.
" We'll also create a page template record referencing the web template that will
configure how the page layout will be rendered on the site.
" Finally, we will create a web page using the custom page layout.

Prerequisites
A Power Pages subscription or trial. Get a Power Pages trial here.
A Power Pages site created. Create a Power Pages site.
Basic knowledge of HTML and Liquid.

Step 1: Create a web template and write the


Liquid template code
First, we'll create our web template and write the Liquid template code. We're likely to
reuse some common elements of this template in future templates. So, we'll create a
common base template that we'll extend with our specific template. Our base template
will provide breadcrumb links, our page title/header, and define our two-column layout.

1. Go to Power Pages .
2. In the design studio, choose ... and then select Portal Management. You'll need to
use the Portal Management app to create a web template record and enter in your
custom code.

3. In the Portal Management app, scroll to the Content section and select Web
Templates.

4. From Active Web Templates screen, select New.

5. Name the web template to Two Column Layout.


6. Paste the following code into the Source field.

Two Column Layout (Web Template)


HTML

<div class=container>
<div class=page-heading>
<ul class=breadcrumb>
{% for crumb in page.breadcrumbs -%}
<li>
<a href={{ crumb.url }}>{{ crumb.title }}</a>
</li>
{% endfor -%}
<li class=active>{{ page.title }}</li>
</ul>
<div class=page-header>
<h1>{{ page.title }}</h1>
</div>
</div>
<div class=row>
<div class=col-sm-4 col-lg-3>
{% block sidebar %}{% endblock %}
</div>
<div class=col-sm-8 col-lg-9>
{% block content %}{% endblock %}
</div>
</div>
</div>

7. Select Save.

Step 2: Create a new web template that extends


our base layout template
We're going to create a web template that will read the navigation record from the
associated web page (see below). We'll also extend the base template we created in the
previous step. Web templates can be used as reusable components when creating
advanced sites.

1. In the Portal Management app, scroll to the Content section and select Web
Templates.

2. From the Active Web Templates screen, select New.

3. Name the web template to Weblinks Left Navigation.


Weblinks Left Navigation (Web Template)
Note how the code uses the Liquid extends keyword to incorporate the base
layout template.

HTML

{% extends 'Two Column Layout' %}

{% block sidebar %}
{% assign weblinkset_id = page.adx_navigation.id %}
{% if weblinkset_id %}
{% assign nav = weblinks[page.adx_navigation.id] %}
{% if nav %}
<div class=list-group>
{% for link in nav.weblinks %}
<a class=list-group-item href={{ link.url }}>
{{ link.name }}
</a>
{% endfor %}
</div>
{% endif %}
{% endif %}
{% endblock %}

{% block content %}
<div id="mainContent" class = "wrapper-body" role="main">
{% include 'Page Copy' %}
</div>
{% endblock %}

Step 3: Create a new page template based on


the web template
In this step, we'll create a new page template that is based on the web template we
created in the previous step. The page template is required for our custom page layout
to be an option you can select when creating a new web page.

1. In the Portal Management app, scroll to the Website section and select Page
Templates.

2. From Active Page Templates screen, select New.

3. Fill in the fields.

Field Value

Name Type in a name.

Website Select the web site to which the theme will be applied. Put your cursor in
the field and hit enter on your keyboard to display a list of available
options.

Type Choose Web Template

Web Template Select Web Links Left Navigation (or whatever you named your web
template).

Use Website Checked.


Header and
Footer

Is Default Unchecked.

Table Name None selected.

Description A description of your page template.


4. Select Save.

Step 4: Create a web page to display content


1. In the design studio, select Sync. This will bring updates made in the Portal
Management app to the design studio.

2. In the Pages workspace, select + Page.

3. In the Add a page dialog;


a. Enter in Page name
b. From the Custom layouts, select your custom page layout.
c. Select Add.
4. Add any more content to the editable sections of the page.

Additional page configuration


In this example, we'll need to link the navigation record to the content page in order for
our custom code to render the menu on the left navigation.

1. In the design studio, choose ... and then select Portal Management. You'll use the
Portal Management app to add additional configuration to your page.

2. In the Portal Management app, scroll to the Content section and select Web
Pages.

3. Locate and open the page you created previously in the Pages workspace. This will
open the root webpage. We'll need to make our changes in the related localized
content page.

4. Scroll down and in the Localized Content section, select the localized content web
page.

7 Note

If you have multiple languages provisioned, you will need to update each
localized page.
5. Go to the Miscellaneous section and select the web link set you want to display in
the Navigation field.

6. Save your changes, and return to the design studio.

7. Select Preview and then Desktop to view your custom page with the side
navigation implemented.

See also
Create a custom page layout
Liquid overview
Power Pages videos
Article • 11/07/2022 • 3 minutes to read

The following video guides show you how to build and configure a Power Pages site.

Design your home page


The new Power Pages design studio provides powerful new features to create and
design your site by using the Pages workspace and Styling workspace.

The following videos show you how to create and design a page in your site and
configure your site's navigation.

Step Task Video and tutorial

1 Create and design a page video


tutorial

2 Configure site navigation video


tutorial

Create page
https://www.microsoft.com/en-us/videoplayer/embed/RE4Y5Gl?postJsllMsg=true

Configure site navigation


https://www.microsoft.com/en-us/videoplayer/embed/RE4Y5Gm?postJsllMsg=true

Setup your brand kit


Designing your site to match your company brand has never been easier. The new
design studio provides powerful features to create your brand kit that applies to all
pages in your entire site.

" Set your corporate logo.


" Define your color palette.
" Set up your fonts.

Watch this quick video to learn how to set up your brand kit.
https://www.microsoft.com/en-us/videoplayer/embed/RE4XQbM?postJsllMsg=true
See also
Style your site
Tutorial: Style your site

Create a page with a list


Power Pages offers a seamless ability to interact with business data stored in Dataverse
with the new Data workspace.

The following demonstrate how to create a page displaying business information in


three easy steps.

Step Task Video and tutorial

1 Create a table in Data workspace video


tutorial

2 Create a view video


tutorial

3 Add a list to the page video


tutorial

Create a table
In this video, you'll learn how to create a table by using the Data workspace.
https://www.microsoft.com/en-us/videoplayer/embed/RE4XYeq?postJsllMsg=true

Create a view
This video shows you how to create a view for a table by using the Data workspace.
https://www.microsoft.com/en-us/videoplayer/embed/RE4XYer?postJsllMsg=true

Add a list
This video provides an overview of the steps to add a list to a page.
https://www.microsoft.com/en-us/videoplayer/embed/RE4XYem?postJsllMsg=true

Next steps
Add a list to the page
Configure table permissions

See also
Use Data workspace
Add a list component

Configure table permissions


Business information in Dataverse can't automatically be viewed in Power Pages. To
allow access to Dataverse records in Power Pages sites, you'll need to configure table
permissions and associate the table permissions to web roles.

The following will explain the concepts of table permissions, setting up access, and
assigning web roles.

Step Task Video and tutorial

1 Create table permissions video


tutorial

2 Set up access type and privileges video


tutorial

3 Add web roles video


tutorial

Create table permissions


This video provides an overview of the steps to create table permissions.
https://www.microsoft.com/en-us/videoplayer/embed/RE4XTcK?postJsllMsg=true

Set up access type and privileges


This video provides an overview of the steps to set access types and privileges.
https://www.microsoft.com/en-us/videoplayer/embed/RE4XTcJ?postJsllMsg=true

Add web roles


This video provides an overview of using web roles.
https://www.microsoft.com/en-us/videoplayer/embed/RE4XQbL?postJsllMsg=true
See also
Power Pages security

Create a page with a simple form


Forms on pages are created from Dataverse table forms. The following videos show you
how to create and add a form to your page, capture rich information through code
components, and configure form actions when the information in the form is submitted.

Step Task Video and


tutorial

1 Create a table in Dataverse video


tutorial

2 Create a form video


tutorial

3 Add a code component (example: Add a rich text control to your video
form) tutorial

4 Add a form to page video


tutorial

5 Configure form options video


tutorial

Create a form
In this video, we create a form by using the Data workspace.
https://www.microsoft.com/en-us/videoplayer/embed/RE4Y6Ez?postJsllMsg=true

Add a code component


https://www.microsoft.com/en-us/videoplayer/embed/RE4Y6Ey?postJsllMsg=true

Add a form to page


https://www.microsoft.com/en-us/videoplayer/embed/RE4Y5G7?postJsllMsg=true

Configure form options


https://www.microsoft.com/en-us/videoplayer/embed/RE4XYep?postJsllMsg=true

See also
Create forms in Data workspace
Add form to a page

Configure access to your site


Power Pages has a robust security model to ensure that business information is properly
protected.

Users can be provided access to your site through authentication. Power Pages users are
represented by Dataverse contact records. Power Pages can be integrated with many
authentication providers such as Azure Active Directory B2C, Microsoft, LinkedIn, and
others.

The following videos provide an overview of authentication and walk you through
configuring an identity provider.

Step Task Video and tutorial

1 Authentication overview video


tutorial

2 Configure identity provider video


tutorial

Authentication overview
https://www.microsoft.com/en-us/videoplayer/embed/RE4XTcI?postJsllMsg=true

Configure identity provider


https://www.microsoft.com/en-us/videoplayer/embed/RE4XYeo?postJsllMsg=true

See also
Configure authentication
Page permissions
Accessibility in Power Pages
Article • 02/17/2023 • 4 minutes to read

Microsoft is committed to make products and services accessible to everyone. For more
information about accessibility at Microsoft, go to the Microsoft Accessibility website.

Accessibility standards
Power Pages conforms to global accessibility standards. The following accessibility
standards and conformance reports provide details about accessibility in Power Pages.

For more details about each of the follow accessibility standards, go to Microsoft
Accessibility Conformance Reports .

WCAG 2.1
The Web Content Accessibility Guidelines (WCAG) 2.1 cover a wide range of
recommendations to create accessible web content. Following the guidelines makes
your content accessible to a wide range of users and includes accommodations for
people with visual impairments, hearing loss, limited mobility, inability to speak,
blindness and low vision, deafness and hearing loss, limited movement, photo
sensitivity, and cognitive or developmental disabilities. These guidelines also address the
accessibility of web content on desktops, laptops, tablets, and mobile devices.

Power Pages conforms to the WCAG 2.1 accessibility standard.

US Section 508
The US General Services Administration (GSA) Office of Government-wide Policy (OGP)
is tasked under Section 508 of the Rehabilitation Act to provide technical assistance to
help Federal agencies comply with these requirements, and ensure that covered
information and communication technology (ICT) is accessible to, and usable by,
individuals with disabilities.

Power Pages conforms to the Section 508 guidelines defined by the US GSA.

EN 301 549
EN 301 549 from the European Telecommunications Standards Institute (ETSI)
provides an open, inclusive, and collaborative environment. This environment supports
the timely development, ratification, and testing of globally applicable standards for ICT-
enabled systems, applications, and services.

Power Pages conforms to ETSI EN 301 549.

Creating an accessible webpage


To create an accessible website, follow the WAI-ARIA Authoring Practices 1.1
authoring practices.

Customizing your Power Pages site and accessibility


When you customize your Power Pages site, you're responsible for meeting accessibility
standards.

Basic forms
A basic form uses a model-driven Power Apps form to display a form on a webpage.
Basic forms typically don't require a developer to design and configure; however, it
might be helpful to involve a developer to extend some of the form features.

More information: How to create and modify Dataverse forms using the Data workspace

Basic form options


The controls included in basic forms are built to follow WCAG 2.1. The following options
help make forms more accessible.

Name Description

ToolTips The tooltip is set by using the description of the attribute on the target table. This
Enabled setting adds the title attribute, providing screen readers with more information.
The default value is false.

Enable A Boolean value of true or false that indicates whether anchor links should be
Validation rendered in the validation summary to scroll to the field containing an error. The
Summary default value is true.
Links

More information: Add a form

Liquid templates and content snippets


When custom HTML and Use Liquid content are added to your Power Pages site,
accessibility must be taken into consideration. The person making the changes to the
Liquid templates and Content snippets is responsible for ensuring that the content they
add is accessible. It's important to make sure that customizations adhere to the required
policies, such as WCAG 2.1, US Section 508, or ETSI EN 301 549.

The WCAG 2.1 Quick Reference provides a list of the WCAG requirements with links to
the full descriptions.

Power BI
Power Pages allows you to bring your Power BI reports/dashboard as a first party
component; however, as a Power BI report and dashboard author, you should make sure
your Power BI reports and dashboards are accessible. For more information, see Power
BI accessibility guide.

Quick tips for accessible content


Make sure a non-sighted or visually impaired person can do everything a sighted
user can do.

Test your Power Pages site by zooming in to 400 percent. Make sure the text is
readable, and pages and controls function as expected. For more information, go
to WCAG 1.4.10 .

Color contrast matters. Use a color contrast tool to help you see the contrast ratio.
For more information, go to WCAG 1.4.3 .

Color shouldn't be the only visual way of conveying an action or information. If


changing the color to highlight text, ensure the color, or descriptive information, is
also available in the text. For more information, go to WCAG 1.4.1 .

Use the alt attribute for every image (IMG tag). Use an empty alt attribute to hide
the image from screen readers. Ideally, you can use CSS to define decorative
images hidden from screen readers. For more information, go to WCAG C9 .

Use the Microsoft Accessibility Insights tool to perform two types of scans:

FastPass : automatically checks for compliance with dozens of accessibility


requirements.

Assessment : measures compliance with WCAG 2.1 Level AA success criteria.


Follow WAI-ARIA Authoring Practices while creating page layout and adding
widgets.

Test your site using the same accessibility tools as your users:

Use a screen reader, such as Windows Narrator .

Use Immersive Reader in Microsoft Edge to make sure your Power Pages site
is rendered and readable, making adjustments to the website as needed.

Microsoft accessibility features


Microsoft accessibility features help various agencies address accessibility requirements
and conform to the standards laid out. More information: Accessibility features of
Microsoft products
Implementing General Data Protection
Regulations in Power Pages
Article • 02/17/2023 • 3 minutes to read

The General Data Protection Regulation (GDPR) is a legal act of the European Union
(EU), which protects data for all individuals within the EU. With GDPR, people can control
the use of their personal data in the Microsoft Dataverse.

As an administrator, you can configure your Power Pages site to meet GDPR standards.
GDPR allows you to obtain consent from users about the use of their personal data,
identify minor users, and get parental consent for minors.

Audit logging
The Last Successful Sign-in field in the contact record shows when a user has last
signed in. The date is picked up by an audit of the contact record and makes that
information available in the standard audit stream, allowing the administrator to see
inactive community members and delete their records.

7 Note

The login tracking feature has been deprecated. It's recommended to use an
analytics technology like Azure Application Insights to capture this kind of
information. To see the list of deprecated features, click here .

Identifying minor users and obtaining parental


consent
Regulations for identifying minor users vary by country/region. Because a minor can
only access the page with parental consent, you can configure the page to identify
minors using these fields in the contact record:

Is Minor: Indicates that the contact is considered a minor in their jurisdiction. By


default, No is selected.
Is Minor with Parental Consent: Indicates that the contact is considered a minor in
their jurisdiction and has parental consent. By default, No is selected.
The following site settings control the use of Power Pages by minors and minors without
parental consent:

Name Description

Authentication/Registration/DenyMinors Denies use of the site by


minors. By default, this value
is set to false.

Authentication/Registration/DenyMinorsWithoutParentalConsent Denies use of the site by


minors without parental
consent. By default, this is set
to false.

If a site user is determined to be a minor and the site is configured to block minors, an
appropriate message appears and content isn't shown.

If a site user is determined to be a minor without parental consent, and the site is
configured to block minors without parental consent, an appropriate message appears
and content isn't shown.

The following content snippets control messages that appear when the site is used by
minors and minors without parental consent. You can change the message according to
your requirements.

Name Type Value

Account/Signin/MinorNotAllowedHeading Text Age Requirements

Account/Signin/MinorNotAllowedCopy HTML

Account/Signin/MinorWithoutParentalConsentNotAllowedHeading Text Parental Consent

Account/Signin/MinorWithoutParentalConsentNotAllowedCopy HTML

When someone registers using an external provider and the webpage is configured to
block minors or minors without parental consent, the contact record isn't created, and
the user isn't authenticated.

Agreeing to terms and conditions


According to the GDPR, users must agree to the terms and conditions to allow
marketing, profiling, or access to private information. As an administrator, you can
publish your own terms and conditions to get consent of the user before they're
authenticated to the site.

The following content snippets control the display of terms and conditions on the
screen. You can change the text according to your requirements.

Name Type Value

Account/Signin/TermsAndConditionsHeading Text Terms and Conditions

Account/Signin/TermsAndConditionsCopy HTML

Account/Signin/TermsAndConditionsAgreementText Text I agree to these terms and


conditions.

Account/Signin/TermsAndConditionsButtonText Text Continue

The Account/Signin/TermsAndConditionsCopy content snippet is empty by default. An


administrator must enter the terms and conditions to be displayed in this content
snippet.

The following site settings control the terms publication date and whether the terms
should be displayed:

Name Description

Authentication/Registration/TermsPublicationDate A date/time value (GMT) to represent the


effective date of the current published
terms and conditions. If the terms
agreement is enabled, users that haven't
accepted the terms after this date will be
asked to accept them the next time they
sign in. If the date isn't provided, and the
terms agreement is enabled, the terms
will be presented every time users sign in.
Note: If you want a user to agree to the
terms and conditions every time they sign
in, don't provide a value for this site
setting.

Authentication/Registration/TermsAgreementEnabled A true or false value. If set to true, the


page will display the terms and conditions
of the site. Users must agree to the terms
and conditions before they're considered
authenticated and can use the site. By
default, this value is set to false.
The following field is added in the contact record to store the date and time a user
agreed to the terms and conditions:

Terms Agreement Date: Indicates the date and time the user agreed to the terms
and conditions.
Cookies in Power Pages
Article • 02/17/2023 • 2 minutes to read

A cookie is a small file sent from the web site to visitor's device by the browser. A single
web session may use multiple cookies.

Power Pages also use cookies to store information for various purposes. The following
table describes the cookies that Power Pages uses, and their lifetime.

Cookie name Description Lifetime

__RequestVerificationToken Used by the antiforgery system. Session

.AspNet.ApplicationCookie Used to identify user sessions. A user session starts Session


when a user browses website for the first time. And
ends when the session is closed. Configure
authentication can be used to change session expiry
time span.

adxPreviewUnpublishedEntities Stores preview ON/OFF mode used in classic CMS Session


system for website administrators.

adx-notification Used in basic form actions to store alert message to Session


be shown on redirection.

ARRAffinity Added automatically by Azure websites and ensures Session


that requests are load balanced between different
sites. Doesn't store any of user information.

ASP.NET_SessionId Used to maintain the session of a logged in user to Session


avoid repeated sign-in.

ContextLanguageCode Stores the default language of the user accessing Session


website within a session and across webpages. The
cookie is deleted after session closes.

Dynamics365PortalAnalytics Critical service cookie to analyze service usage 90 days


anonymously and aggregated for statistical purpose.

isDSTObserved Stores a value to indicate if the current moment is in Session


daylight saving time.

isDSTSupport Indicates whether a specified date and time falls in Session


the range of daylight saving time.

timeZoneCode Stores the timezonecode field value of CRM Session


timezonedefinition table for the current timezone.
Cookie name Description Lifetime

timezoneoffset Stores the timezone difference between UTC and Session


Local browser time.

Frequently asked questions

Can I deactivate some or all cookies in my Power Pages


site?
No. If necessary, consider adding a consent dialog for website users through external
scripts.

Why can't I use my Power Pages site without cookies?


Cookies are required to maintain a website functional, with the purpose as described in
the table above.

What does the session lifetime mean?


Cookies with the "session" lifetime are only used while the browser is open, and
removed after you close the browser.

What is the data governance policy for cookies in Power


Pages?
For information about data governance, data storage and access, read Microsoft Privacy
Statement .

Do cookies in Power Pages store any personal data?


No.

Do cookies in Power Pages store my IP address?


No. However, check the terms of your analytics provider if you've configured traffic
analysis on your website. Traffic analysis can be configured through Portal Management
app > Administration > Enable Traffic Analysis.
System requirements, limits, and
configuration values for Power Pages
Article • 01/23/2023 • 2 minutes to read

This article contains information on supported device platforms, web browser


requirements, limits, and configuration values for Power Pages.

Supported browsers for running Power Pages


sites
Browser Supported versions

Google Chrome Latest three major releases

Microsoft Edge Latest three major releases

Mozilla Firefox Latest three major releases

Apple Safari 13 and later

Supported operating systems for browsers


running Power Pages sites
Operating system Supported versions

Windows Windows 10 or later

macOS 10.13 or later

iOS iOS 13 or later

Android 10 or later

Supported web browsers and operating


systems for Power Pages design studio
The supported browsers for Power Pages design studio are listed below.

Browser Operating system


Browser Operating system

Google Chrome (latest version) Windows 7 SP1, 8.1, 10, and 11


(recommended) macOS

Microsoft Edge (latest version) Windows 10, and 11


(recommended)

IP addresses
Requests from Power Pages use IP addresses that depend on the region of the
environment that the site is in. We don't publish fully qualified domain names available
for Power Pages scenarios.

Required services
This list identifies all services to which Power Pages communicates and their usages.
Your network must not block these services.

Domain(s) Protocols Uses

api.bap.microsoft.com https Environment permissions management


api.businessappdiscovery.microsoft.com

management.azure.com https Power Apps Management Service

login.microsoft.com https Microsoft Authentication Library


login.windows.net
login.microsoftonline.com
secure.aadcdn.microsoftonline-p.com

graph.microsoft.com https Azure Graph - For getting user info (for


graph.windows.net example, profile photo)

*.powerapps.com https create.powerapps.com,


content.powerapps.com,
apps.powerapps.com,
make.powerapps.com,
*gateway.prod.island.powerapps.com, and
*gateway.prod.cm.powerapps.com

*.blob.core.windows.net https Blob storage

*.flow.microsoft.com https create.powerapps.com,


content.powerapps.com, and
make.powerapps.com
Domain(s) Protocols Uses

*.dynamics.com https Microsoft Dataverse

ecs.office.com https Retrieve feature flags for Power Apps

*.api.powerplatform.com https Required for Power Platform API


connectivity used internally by Microsoft
products, and Power Platform
programmability and extensibility.

*.powerapps.us https Required for Power Pages for Government


Community Cloud (GCC). 1

*.powerapps.us https Required for Power Pages for Government


Community Cloud (GCC High). 2

*.appsplatform.us https Required for Power Pages for Power Apps


Department of Defense (DoD). 3

1
Replaces domain name gov.content.powerapps.us used prior to July 2022.
2
Replaces domain name high.content.powerapps.us used prior to July 2022.
3
Replaces domain name content.appsplatform.us used prior to July 2022.

Proxies
Power Pages doesn't support running with a proxy enabled. This can cause
unpredictable behavior. If you encounter issues, disable the proxy, and then try again.

Some proxies (such as Zscaler, Blue Coat) modify Power Pages requests by
removing headers (CORS or authentication headers). Power Pages relies on these
headers to load the app.

Data types size limits


For Microsoft Dataverse data type size limits, you can find information on column types,
such as text and image columns, in Types of columns.

See also
System requirements, limits, and configuration values for Power Apps
Known issues
Article • 02/24/2023 • 10 minutes to read

Power Pages trial


If your administrator disabled the self-service sign-up, you won't be able to sign up
for a trial of Power Pages.

If your administrator disables site creation for non-administrator–type users in your


company, you won't be able to create a website. You'll be redirected to the Power
Pages home page in the default environment. You'll have to reach out to your
administrator to provide you with an environment that has enough privileges for
you to edit an existing site in the environment.

If your administrator disables the creation of a trial environment for non-


administrator–type users in your company, you won't be able to create an
environment. However, you can still create a site inside an existing environment in
the tenant, where you have necessary minimum privileges.

When you create a site for the first time in a new environment, you won't be able
to rename the environment; however, the ability to rename the environment when
it's created will be available in a future update.

Pages workspace
Buttons added in websites built with the starter template can't be resized.

Modifying the header in Portal Management App


When customizing the header, if someone has modified the Liquid code, these changes
must be synchronized. Changes won't reflect in studio until the attribute values in the
underlying content snippets are updated to reflect these changes. To resolve this issue,
open the Mobile Header content snippet in the Portal Management app and update the
source code with the correct attribute values for each snippet as in the example below.

HTML

<a href="~/">
{% if snippets['Logo URL'] %}
<img src="{{ snippets['Logo URL'] }}" alt="{{ snippets['Logo alt
text'] }}" style="width: auto; height: 32px; margin: 0 10px;">
{% endif %}
{% if snippets['Site name'] %}
<h1 class="siteTitle">{{ snippets['Site name'] }}</h1>
{% endif %}
</a>

Styling workspace
The section padding/margin settings feature in the Style workspace won't work for
sites built using the starter templates.

Adjusting the background color for your Power


Pages site
This known issue applies only to sites created using Power Pages prior to September 23,
2022.

Power Pages themes have been updated to meet the highest visual accessibility
standards. To ensure that your existing Power Pages sites created prior to September 23,
2022 adhere to these standards, you'll need to update your theme settings to adjust the
background using one of the following options.

Option 1: add a new color to the theme's palette


Add a new color to the theme's palette using the Color Palette in the Style workspace.

Option 2: edit a background on a section of the page


Select the desired color while editing the background on a section in the Pages
workspace.

Option 3: modify your theme


Modify the theme in the Style workspace using the following steps:

1. Select a different theme.

2. Choose your original theme.

3. Select Save.
Site visibility
A Power Pages website in private mode will not work when you disable Azure Active
Directory authentication. Azure Active Directory authentication is enabled by default
when the website is provisioned. Change the site visibility state to public before
disabling Azure Active Directory authentication.

Dynamics 365 templates


Editing capabilities in Power Pages design studio are not available for Microsoft
Dynamics 365 templates.

You can preview the webpages using design studio, but you can't add or modify
sections, components, or text.

Instead, use tools such as Portals Management app or Visual Studio Code to edit the
underlying web templates and configure them for your unique needs.

General issues
You receive the following error message when configuring or using table fields:

Field Name: You have exceeded the maximum number of X characters in this field.

This can happen if the referenced field for the table exceeds characters limit
mentioned in the error. To increase this limit, go to the Data workspace, select the
table, select the field, choose Edit column. In the Advanced options, increase the
Maximum character count field value to a higher value. Allowed values: 1 through
1,048,576.

Fields where limit may need to be increased:

Table Field Display Name

Basic Form Settings (adx_settings)

List View (adx_views)

Basic Form Metadata Subgrid Setting (adx_subgrid_settings)

Web Page Copy (adx_copy)

The Modified Date for the app might be incorrect because these apps are pre-
provisioned apps and could have been provisioned earlier.
When you create an environment along with the starter portal, the owner of the
site isn't displayed correctly. It's displayed as System.

If you're reusing the URL of a recently deleted site to create a new site, it will have
some delay for runtime to setup. This experience happens because the purge of
previous resources would still be in progress and may take from 30 minutes to 1
hour for the new site to setup on Azure. The site will also not be available for
editing during this time and may show errors when launched in studio for editing.

When switching an environment in Power Apps, the sites within an environment


may not show up immediately in Apps or Recent Apps list. This experience
happens particularly on environments that are created in a different region than
their tenant. The workaround is to use browser refresh or wait for some time for
the site to show up in the apps list. You will be able to view all sites in an
environment from the Power Pages home page .

If you keep the portal settings pane open in Power Apps home page while
resetting the site from the Power Pages hub in the Power Platform admin center, a
user will see the "Something went wrong" error message in the portal settings
pane, as the site is no longer available.

In certain cases, when you create a new site, the styles aren't applied properly to
the site, and the website is displayed without the styles when opened through
Browse website. This behavior rarely happens and styles can be recovered by
restarting the site from the Power Pages hub in the Power Platform admin center.

When configuring a basic form using the Portals Management app, the incorrect
model-driven form is displayed when rendered as a basic form on a page. This may
happen when a model-driven form name is duplicated across different form types
(Main, Card, and QuickViewform). Only one form name appears when configuring
or creating a basic form for the portal. To resolve the issue, rename or create a
copy (with a unique name) of the model-driven form to use when configuring the
basic form. When creating a form in Data workspace, you will only be presented
with the Main form.

By default, Power Pages sites uses the Azure Active Directory Graph API for the
portal's Azure app registration which is currently deprecated. Power Pages will use
the Microsoft Graph API in a future update, so no administrator intervention is
required. If the existing Azure Active Directory Graph API permission is replaced
manually using the Microsoft Graph API, it will revert back to the Azure Active
Directory Graph API when you Enable or Disable SharePoint integration from the
Power Pages hub in the Power Platform admin center.
When configuring the Open in New Window setting on the Profile web link, the
profile page will not open in a new window. To resolve this issue, update the
Header web template by updating the Liquid code in the {% if profile_nav %}
section.

7 Note

Make a backup of the Header web template before performing these steps.

Replace this line of code:

HTML

<a aria-label="{{ link.name | escape }}" href="{{ link.url | escape }}"


title="{{ link.name | escape }}">{{ link.name | escape }}</a>
with this line:

HTML

<a aria-label="{{ link.name | escape }}" {% if link.Open_In_New_Window


%} target="_blank" {% endif %} href="{{ link.url | escape }}" title="{{
link.name | escape }}">{{ link.name | escape }}</a>

Power Apps portals Studio issues

7 Note

You can edit and design Power Apps portals sites using the new Power Pages
design studio. More information: Power Pages design studio and Power Apps
portals Studio.

If a site has page hierarchy of more than three levels, the pages from fourth level
onwards aren't displayed in Power Apps portals Studio.

The selected text font size will only be displayed if there's a font size defined
specifically for that text. If it's part of the standard HTML tags such as p, H1, H2,
H3, and so on, Power Apps portals Studio won't display the font size.

Webpage using the Page with side navigation template displays only the link of
the pages that existed during the webpage creation. You can update the links on
the left side of the page by changing the page template to another template and
then back to Page with side navigation.

When you delete a webpage, canvas doesn't reflect the updated menu until the
next refresh of canvas.

Color picker and its related strings are supported only in English.

A few template pages on the Employee Self Service portal aren't able to render
correct breadcrumb.

A few Power Apps portals templates, especially bound to customer engagement


apps (such as Dynamics 365 Sales and Dynamics 365 Customer Service), don't have
default menu items as per their hierarchy of pages. The reason is that there isn't
page order available in all or few of the webpages. Any portal without the display
order of webpages will have this issue.
An error message is displayed when the page content (page copy) exceeds its limit
of 65536 characters and page summary exceed its default limit of 2000 characters.

Navigation menu is only visible on the canvas with a resolution of minimum width
of 1600 px.

An image uploaded on a page becomes the child of the page. If you delete the
page, and use the image on another page, the image won't render on Power Apps
portals Studio and website.

Form rendering isn't currently supported in Power Apps portals Studio. When you
add a form, you must select Browse website to open the website and verify the
form.

On a text or a section background, if you change the color to No color, Power


Apps portals Studio doesn't remove the related attributes such as background
color or font color, instead make the values null.

In the following scenarios Power Apps portals Studio stops to load and shows the
"Sorry, there's a disconnect" error:
If the Home page is deleted or disabled for a portal.
If a page template related to the Home page or any page is disabled or deleted.

Power Apps portals Studio will be unable to load source code of those content
snippets that don't have a language assigned in Dataverse.

In some instances, the changes for header and footer, either through WYSIWYG
experience of Power Apps portals Studio or through the code editor, won't be
reflected immediately.

If a webpage is assigned the Search template in Power Apps portals Studio, it will
show a page with the loader. For this scenario to work, you'll have to create an
appropriate site marker for that page.

The Default studio template also shows up as an option in page template while
creating a new page once it's used in Power Apps portals Studio. Also, this
template is only inserted in English language and it doesn't support localization
based on default Dataverse or portal language.

A list rendered as a calendar control or map isn't configurable through Power Apps
portals Studio.

The Partial URL field in page properties doesn't accept special characters and it
breaks the rendering in the canvas for some time.
Upload CSS might fail in scenarios where CSS file name contains special characters
or space in the file name.

Unpublished webpages don't render in canvas of Power Apps portals Studio.

While using Power Apps portals Studio, if your portal base language is different
than the browser's language, the new webpages created using the Default studio
template will have dummy content inserted in browser's language instead of portal
language.

Only CSS applied at the root page is displayed in the Theme pane. Although if you
try uploading a CSS file with a same name as any other CSS file available in the
portal, Power Apps portals Studio asks you to replace that file.

Power Apps portals Studio is currently not supported on Safari in Mac operating
system and has the following issues:
The selection of component isn't correct and hovering on a component
provides incorrect target indication.
Two or three column sections don't render properly in Power Apps portals
Studio but works fine on the website.

See also
Power App portal maintenance and troubleshooting A Power Pages website in private
mode won't work when you disable Azure Active Directory authentication. Azure Active
Directory authentication is enabled by default when the website is provisioned. Change
the site visibility state to public before disabling Azure Active Directory authentication.
Important upcoming changes and
deprecations in Power Pages
Article • 01/31/2023 • 2 minutes to read

The announcements for changes and deprecations described in this article apply to
Power Pages. Makers, developers, and IT pros can use this information to prepare for
future releases.

) Important

Deprecated means that we intend to remove the feature or capability from a future
major release. The feature or capability will continue to work and is fully supported
until it's officially removed. This deprecation notification can span a few months or
years. After it's removal, the feature or capability no longer work. This notice is to
allow you sufficient time to plan and update your code before the feature or
capability is removed.

Power Apps portals admin center


The Power Apps portals admin center is now deprecated and no longer available as of
June 2023. Use the new Power Pages admin hub in the Power Platform admin center.

Controlling site visibility changes in Power


Pages
Starting October 2022 with website version 9.4.9.xx, any new site created in Power Pages
or Power Apps portals will be private by default. Only makers or people in the
organization granted permission by makers will have website access, making Power
Pages sites secure. This feature will provide another layer of security using Azure Active
Directory authentication to prevent accidental leaks of partially developed website data
and design. When a website is ready to go-live, the site visibility can be changed to
public making it accessible to everyone over the internet anonymously or secured with
identity providers.

At launch, users with the system administrator role along with service admins will by
default have privilege to change site visibility status (private to public or vice versa).
7 Note

After October 1, 2023 system administrators will not be able to change site visibility
when the tenant-level setting is null. To prevent this, set the value for the tenant
level setting to either TRUE or FALSE. More information: Change tenant-level
setting

See also
Important changes (deprecations) coming in Power Apps, Power Automate, and
customer engagement apps

You might also like