Display Omnichannel chat widget in the footer of your portal
The combination of PowerPortals, Dynamics 365 Omnichannel and Power Virtual Agents increases the level of customer engagement for customers, in this post I'm going to guide you how to add your Omnichannel chat widget that you configured to your portal.
First, below are the pre-requisites to follow the blog,
- You have at least one Portal
- Omnichannel is installed
- Power Virtual Agent bot is configured to hand of chat conversations to Omnichannel
After having the above pre-requisites done, follow the below steps,
- From the "Omnichannel admin center" model-driven application
- Go to Workstreams and create and configure a new workstream based on your channel

- Enter your stream record, and click on "Copy code snippet"

- Switch to "Portal Management" model-driven app
- Create a new content snippet and past the copied snippet from Omnichannel work steam

- Go to "Web Templates" and enter the "Footer" record

- Search for the footer tag and add the widget using the below code
{% include 'snippet' snippet_name:'Your Chat Widget Name' %}
The footer tag will look like this
<footer role="contentinfo">
<div class="footer-top hidden-print">
<div class="container">
<div class="row">
<div class="col-md-6 col-sm-12 col-xs-12 text-left">
{% editable snippets 'About Footer' type: 'html' %}
{% include 'snippet' snippet_name:'Your Chat Widget Name' %}
</div>
</div>
</div>
</div>
- Clear your portal cache by navigating to "<< Your portal URL >>/_services/about"
You need to be logged in to your portal with a contact that has administrator portal role
click on "Clear Cache" button
- Refresh your portal and you will see the chat widget displayed!

That's it!
You want to add it to more web templates? follow the steps from step number 5 on the web template you like.
Published on:
Learn moreRelated posts
Supported Chart Types in Power Pages
In Power Pages, you can display Model-Driven App charts, but only a limited set of chart types are fully supported. Even though charts are con...
Power Pages: Cache Conquered!
A very common question that comes up while configuring Power Pages is how to get around cache issues. Using Power Pages Server logic, there is...
Best Practices: Canvas Apps & Power Pages Integration
Golden Rule:Canvas Apps are NOT designed for external users. Power Pages is.Most best practices focus on when to avoid integration and how to ...
Integrating Canvas Apps into Power Pages
Step-by-Step Guide & Limitations Overview Power Pages and Canvas Apps solve different problems: However, in some scenarios, you may want t...
Integrating Virtual Tables with Power Pages – Step by Step Guide
What Are Virtual Tables (Quick Context) Virtual tables allow Dataverse to read/write data from external systems without storing the data in Da...
Power Pages – Control Power Pages components using client APIs
We are introducing the ability to control Power Pages components using client APIs in Power Pages. This feature will reach general availabilit...
Sticky Progress State in Power Pages – Resume User Progress Using Dataverse Draft Tracking
Modern portals must be forgiving. Users abandon forms, switch devices, or lose connectivity — and they expect the system to remember where the...
Power Pages + Azure AD B2C: “The Provided Application Is Not Valid” Error
If you are new to configuring Azure AD B2C as Identity Provider in Power Pages, refer Power Pages : Set up Azure AD B2C After completing the s...
Bulk Data Prefetch in Power Pages – Supercharge Performance Using $expand
One of the biggest performance killers in Power Pages is multiple Dataverse API calls made from JavaScript to fetch related data. For example,...
Power Pages: Bring your own code! (Tutorial)
Introduction At the Power Platform Community Conference in Las Vegas, low-code (as we know it) was declared dead. In Power Apps, we’ve s...