Tip - Minimise your Power Platform licensing costs

For certain use case scenarios, the cost of using Power Apps may not be cost-effective.

Let’s take the example of a canvas app that connects to a SQL data source (or uses some other feature that requires a premium license). The feature that we’re building may not add sufficient business value to offset the additional $10 or $40 /user/month cost of a per app or per user license.

The typical strategy to make these use-cases viable is to build external data synchronisation process to synchronise the data in the premium data source with SharePoint, or other data sources that we can access through standard connectors.

At the Global Power Platform Bootcamp conference, Nick Doelman gave a great session on synchronising Dataverse data with non-Power Portal alternatives, incorporating techniques by John Liu. There are some very valuable technqiues in his video.
https://www.youtube.com/watch?v=ocC2-Kq-cHU

With a Portal app, the rich functionality that it offers and the associated licensing cost may be overkill for simple use case scenarios where we simply want to make Dataverse data available through a public website. In this scenario, we can use flow to make the data available through Power Portal alternatives.

Sharing content that includes data from Dataverse

As an alternative to using a Power Portal, Nick described a strategy that uses Flow to generate static HTML pages, which we can then publish on a website. Some of the key highlights of this technique include:
  • We can trigger the flow whenever a user adds or updates a record in Dataverse. This process enables us to keep our external website very up-to-date.
  • Our flow can take advantage of the ‘Create HTML table’ action. We can use this to easily generate HTML that displays the content from a Dataverse table.
  • We can host our external website using an Azure Website. The file storage for this would be Azure Storage. After we complete the steps in flow to produce our HTML page, we can publish our page directly by calling a final ‘Create blob’ action in Flow to save the file to our Azure Storage account.

Building web content that contains Dataverse content

To update Dataverse content from a web page, we can create a flow with a HTTP request trigger. Our webpage will contain JavaScript that defines the data that we want to update in JSON format, and calls the flow using the HTTP endpoint.

Conclusion

To reduce licensing costs, we can synchronise data in Dataverse/SQL with lower cost platforms and Power Automate offers a great way to carry out this task. Nick's video provides a great explaination on how to do this.