How to manage page navigation in Power Apps Portals on text only pages
Tweet
If the portal has a page which does not capture or present data to the user, there is no obvious functionality to provide a button allowing the user to navigate to the next page in a series
Efforts should always be made to use out of the box functionality to ensure benefits of the portals are used. For example, using pure html to create a button sacrifices URL change/history updates
These are three methods of including a button which are presented in typically order of preference
Basic form (a.k.a. entity form) referencing an empty tab
Include a tab on an appropriate entity’s system form with no section headers and no attributes

Reference this tab in a new entity form and include it on the required page. This will include the button but no data capture/presentation
The entity used can be either:
- the Contact (e.g. for an authenticated/logged in user), or
- the entity in scope for the present process/service
Advantages of this option:
- Uses out of the box functionality for where to navigate to
- Applies any relevant security (entity permissions)
- Exposes all entity form functionality for enhancement, e.g. CSS, labels, entity form metadata
- Hidden attributes can be added (e.g. update status to “reading completed”)
Disadvantages of this option:
- Each click is still a submit back to CRM. Be sure that any update messages (i.e. plugins or workflows) are not triggered
- Only one entity form per page is supported. This solution does not support multiple navigation buttons
Site markers
Create a site marker record, pointing to the required web page. Site markers are globally available in liquid so can be referenced without a need for queries/hits to the database
Advantages of this option:
- Multiples can be used on a single web page (e.g. as anchor hrefs)
- Can be used to expand a convention-based configuration paradigm (e.g. name the site markers in a way that matches incoming data)
- Allows manipulation and control of the URL (e.g. append custom URL parameter) which entity forms do not in all circumstances
- Still uses out of the box functionality to avoid hard-coding urls, make use of URL change history
- Centralises page markers and avoids duplication and removes typos from hard-coded URLs in web templates
Disadvantages of this option:
- No additional functionality or metadata provided as with entity forms, just a reference to a web page and it’s url
- If used excessively, ends up with lots of site markers that is another entity of reference data to be maintained
- Cannot be referenced from a web page record, it must be included in the web page copy or web template (either hard-coded or via convention) which potentially breaks a generic web template inheritance
- Only references portal web pages, not external URLs
Custom HTML
Use traditional HTML tags in the web template. Avoid this option whenever possible
If using this option, at least use a site setting for the value, there is never any need to hard-code a URL directly in a web template
Advantages of this option:
- Complete control
- Only option which allows manipulation of an external URL.
Disadvantages of this option:
- No use of out of the box functionality
- Duplication of URLs, likelihood of typos and/or introduction of 404s
- Greater maintenance cost