- Perspectives on Power Platform
- Posts
- External access to Power Platform data
External access to Power Platform data
Power Pages isn't the only option for exposing Dataverse data to audiences outside your M365 tenant. Here are a few MS partner solutions worth exploring.

Microsoft’s business applications have been built primarily as internal facing systems. Many enterprise IT systems in use today have roots in an era before universal public internet access. Early business applications aimed to empower users to manage their data directly on their PCs. Here’s a screenshot from ACT! contact manager v1 for Windows to take you back into that innocent age for a moment:
Today, everything we do with our PCs happens out there on the web by default. Microsoft recently released a Windows device that doesn’t even run a local copy of the Windows OS. It’s all gone to the cloud.
Due to its long history of building internal business software for PCs and servers, Microsoft’s approach to no-code/low-code (NC/LC) differs from that of newer players in the market. Power Apps is not meant for public distribution in app stores. This is evident in both its architecture (user identities tied to Entra ID) and licensing (every user needs a dedicated license).
As a result, it’s not entirely obvious how Power Platform data and processes can be made accessible to external parties like customers or partners when needed. Yet in a world gone digital, there’s an ever-growing pressure to offer online touchpoints that enable self-service without human intermediaries talking on the phone, writing emails, or chatting via websites.
In this article I’ll look at three alternative ways to achieve the generic capability of allowing external users to interact with Dataverse data:
Portals
Forms
Dialogs
I want to introduce options that you won’t find merely by looking at the marketing materials from Microsoft. The Power Platform ecosystem contains several partner solutions that you’d be wise to evaluate before deciding the best way for making data accessible and editable to your specific audiences outside your Microsoft 365 tenant.
Build a portal
Microsoft’s go-to solution for enabling web access to Power Platform data is Power Pages (formerly Power Apps Portals). It is essentially a CMS / site builder that hosts its configuration data inside Dataverse - the same database where your business data may also live. This Microsoft-managed SaaS service provides the essential architecture for publishing Dataverse data alongside static website content to external users.
The typical use cases for Power Pages portals revolve around self-service. Often the assumptions are that A) you’ve got plenty of quality business data in Dataverse via the employee facing Dynamics 365 or Power Apps systems and B) you want to build a brand-new experience to expose parts of this to the outside world. When both A + B are true, Power Pages is surely worth considering.
Support ticket management is a classic use case, but Power Pages is data-agnostic and can be used for a variety of scenarios. Any tables in Dataverse could basically be given a portal UI, making it possible for both internal and external parties to work with them through a website rather than Dynamics 365 / Power Apps application UIs. Security configuration is naturally a key part of the design and deployment process here, with Power Pages offering a great set of built-in logic for this.
As it is a website that can be modified and extended with pro-code tools, the details of how you implement and present your business process to the portal users is all up to you. It may be somewhat surprising to customers that this member of Power Platform doesn’t get you that far with low-code alone. Experimenting with Power Pages is pretty easy, though. There are many solution templates that you can look at for inspiration, such as the Application processing template:
Getting to a state where you’d be comfortable with letting customers/partners interact with the portal can take some time. While you don’t need to build custom integration logic to sync data between the website and your back-end systems, the rest requires effort - as well as solid understanding of how Power Pages sites specifically are developed.
Contrary to what some MS customers and partners think, you are entitled to build a custom portal on another technology, without purchasing Power Pages licenses. Throughout the years several enterprises have developed their own website integrations for showing customer data to logged-in users. There are also productized solutions specifically for creating portals that surface Dataverse / Dynamics 365 data, such as The Portal Connector.
If you’re currently using a popular CMS like WordPress for an existing website, the first thing to check would be what Power Platform plugins exist for it. For WP, partners like Reenhanced have developed Power Automate connectivity add-ons. Just recently they released the free WP Connectr that promises to cover the entire WordPress REST API for advanced process automation needs.
For a more data driven solution, AlexaCRM have been offering a solid WordPress Dataverse integration plugin for many years already. It integrates with Dataverse tables like users, contacts, cases and so on, allowing you to present data in similar ways as Power Pages would. Connecting your existing CRM system and WordPress site with a plugin like this will likely be a much quicker exercise for anyone with web development and PHP skills.
Alternative: form integration
Is a full-blown portal overkill for your needs?Rather than investing time in web development, would you prefer a simpler approach that grants one-time access to specific Power Platform data? Sounds like you need a web form!
“Hey, I thought we were going to show data from Dataverse, not just push new data in there? Aren’t web forms only for one-directional updates?”
What if I told you there is a way to send external users unique links to forms prepopulated with Dataverse data? And the recipient could update the necessary fields, then submit it back to Dataverse? All of this, using only Power Automate cloud flows. Yes, it’s possible!
Let’s use the certified connector already available in your Power Platform environment (unless DLPs blocked it): App Power Forms. It’s a premium connector but you can get a trial key easily by following the instructions here:
We create a cloud flow in our environment and first call the App Power action to create a new form. Let’s use this in a simple scenario where we ask a contact in our Dataverse database to check and update their personal details in our CRM system. It will be triggered from one field on the contact form manually, but you could of course specify an automated event to trigger it if needed.
The action “Create new App Power Easy form” only needs a form name, description and thank you text. A new form will be provisioned in the cloud with these parameters. We could also call forms we had already created earlier.

Creating a new form header, after which we can add fields onto it
Then we call more App Power Forms actions to add fields to our form. As we specify a new field like “mobile phone”, we map the default value to be retrieved from a contact record in our Dataverse. Like this:

Adding a form field, specifying field type, requirement level and a dynamic default value
When we’ve got all the fields in place, we can use the “Send an Email” action of Outlook connector to deliver a message to the contact in question. A unique URL for this specific contact is inserted from the outputs of the App Power Forms connector. Clicking on it will then open the form with fields dynamically populated from Dataverse data. Our flow will be in a “wait for form response” state until the form gets filled (or a timeout logic defined by the flow maker gets triggered).
What does this look like to the external party then? Here’s the example flow for “update your details” in action. The email with the link and the form with editable fields:

User receives a personalized link to App Power form populated with data & submits updates
Once the recipient submits the form, our flow wakes up and is ready to process the incoming payload. In this demo, we aren’t running any other logic but just populate the updated values from the form directly onto the contact record:

Updating the Dataverse fields corresponding to the web form fields with new data
That’s all there’s to it. Nothing else to manage apart from the Power Automate logic. The data will not be stored in any other system after the flow returns the form inputs to Power Platform.
A connector subscription like this only costs €19 per month. It will let you build whatever forms and logic around it, using the core functionality of publishing and capturing personalized data read/update activities. No fancy stuff around it, just incredibly simple and fast way to offer editable Dataverse fields to recipients of the link. Naturally, it’s got no authentication mechanism beyond the unique URL, so use it only where such access control is appropriate for the business case.
Alternative: public facing dialogs
In between running your entire website on Power Platform and connecting individual forms to Dataverse records, is there a middle ground? You know, for handling the part that business applications like Dynamics 365 are often used for internally: complex business processes.
I’ve written about AgileXRM’s solution in the context of Business Process Management earlier. While the initial impression from such a BPM tool may lead you into thinking about guiding internal users through a multi-step / long-running process, this is not the only possible audience for it. It can also be applied to customer interactions.
In Power Platform, you must choose your tool based on the audience type. Power Apps canvas apps and model-driven apps for internal users, Power Pages for external users. With an ISV solution like AgileDialogs, it doesn’t need to be this way. The same dialogs that are shown to the back-office workers via model-driven apps can be published to your customers to fill on a website:
This interactive demo of “AgileXRM Bank” shows how the logged-in customers of an online bank could launch a dialog such as loan application. This experience could guide the customer through steps in the process, just like a wizard built for your employees would. Using conditional logic, you could ensure that the website user isn’t overwhelmed with irrelevant options of a long form.
Simplifying the user experience is one side of the equation. On the flipside, you actually do want to empower your employees to dig down deep into the process steps that a customer has completed. These employees would be using model-driven apps, either in a Dynamics 365 CE or Power Apps solution. The Visio style flowchart view available on the loan application form can visualize the stage of the application and clearly point out any pending steps, such as approvals from other internal users of the organization.

Power Apps model-driven app form with the loan application process status visualized
Like with a Power Pages based portal, both parties are working with Dataverse data. The website developers don’t need to implement any data transfer logic since the AgileDialogs component takes care of showing the right data based on who is accessing it from which side: external customers, internal process workers or admins.

Customer reviewing their loan applications via the website
Have a look at the interactive demo scenarios available on AgileXRM website that show how the different parties can interact with the process data. Since this is a Microsoft partner solution built on the Power Platform rather than just a few HTTP calls “integrating” it with your apps, you don’t have to introduce additional systems for your employees to access. A BPM tool like this will instead help making sense of the business process details and offer a contextual live diagram presenting actions from external and internal parties on one screen.
Conclusions
There is no one right way to make your internal business apps talk with the outside world. For a net-new portal that needs to provide external access to a wealth of different records in your Dataverse, Power Pages offers a package where you don’t need to assemble too many individual pieces together. If your web experiences are already built on something like WordPress, though, sacrificing them and starting from scratch with Power Pages doesn’t sound so attractive. Luckily, there are plugins that could help you build your own “better together” story for WordPress and Power Platform.
When the online interactions are more specific to your business processes, that’s a good moment to pause and consider your options. First, could you do it quickly with “just a form” and a specific automated flow? On the other hand, does merely addressing the external access part solve the problems in your current business process implementation? Perhaps you would benefit from examining the needs of both external and internal parties of the process and seeing if a BPM solution could cover the end-to-end journey of a customer using your organization’s services.
Sure, the solution could also be a Copilot Studio agent published on your website. But that’s a topic for a whole separate discussion on where exactly non-deterministic AI agents could realistically serve as part of your customer facing business processes today.
Behold: a new website on the internet!🔥That’s right, I finally managed to put together a proper company site for Niiranen Advisory. Launch promo below:
Reply