Power BI Template Apps are an efficient way to package, distribute, and maintain Power BI reports and dashboards for external users.
Once published, a Template App lives in the Power BI Apps marketplace, where users can install it and either explore it with the default sample data or connect it to their own data.
✅ Pros
Ease of distribution: Once published to the Power BI service, a template app can be shared widely without having to manage access permissions for each user individually
Ease of maintenance: Built-in Release Management makes it simple to update and maintain your Power BI content over time
Data source flexibility: Users can connect their own data with minimal effort
Trial with sample data: Shipping with sample data lets users explore the features before connecting their own — and it's great for demos
❌ Cons
Dependency on Power BI: External users need access to Power BI (a Pro or Premium license), which can limit accessibility for some. Creating template apps also requires a Power BI Pro license
Initial setup complexity: Configuring a template app for external sharing takes more upfront effort
Limited customization for end users: End users can filter and slice the data, but they can't modify the reports beyond that
Performance considerations: Large datasets or complex visuals can slow loading times for end users
Creating Power BI Template Apps
Prerequisites
Power BI Pro license
Power BI Desktop (Windows only)
Mac users - either borrow a Windows machine, or run a Windows VM on VMware Fusion (free - recommended ⭐) or Parallels
A cloud-hosted sample database with dummy data and read access
Keep it small
A Power BI report (.pbix) file to connect to the sample data
Here you can add new parameters, set their default values, or edit existing parameter names and values
Figure: New window showing the queries, parameters and source settings
Create parameters for your SQL Server and Database Name, and default them to your sample database's details
Figure: Edit / create parameters for your report
Back in the Transform Data window, the new parameters appear in the left pane
Point each query's source at these parameters:
Select a query in the left pane
Under Applied Steps (right pane), select Source
In the formula (fx) bar, replace the hardcoded values with your parameter names - e.g. change Sql.Database("sql-server.net", “demo-db”) to Sql.Database(Server, Database)
Repeat for every query whose Source step still uses hardcoded strings
Figure: Left pane showing Queries, right pane showing Source and middle function input box for parameters
Load only the columns the report uses:
Select a query, then Home | Choose Columns, and keep only the columns that a visual, measure or relationship uses
Power Query adds a Table.SelectColumns step. It folds into the SQL query, so the model never loads the other columns
Repeat for every query that reads the database
Click Close & Apply - the whole report will refresh
Publish the .pbix to your template app workspace:
Home tab | Publish
Sign in with the same account that owns the workspace
Select your template app workspace and click Publish
If a report already exists there, confirm the overwrite when prompted — the report then uploads
Figure: Select your template app workspace to publish your report
Refresh the workspace in app.powerbi.com - your report will appear
Why load only the used columns (step 6): A Power BI Pro workspace limits a semantic model to 1 GB, and the data in every install keeps growing. A column that no visual uses still takes space in every install.
When a model passes the limit, every refresh fails. In one app, loading only the used columns cut the model from 1.08 GB to 91 MB.
On the Parameters pane, you'll see the parameters you set up in Power BI Desktop. For each one:
Tick Required
Enter the same value you used in Desktop
Add an example to guide users - e.g. Server value sql-demo-database.windows.net, example for user sql-xxx.database.windows.net
Figure: Create app | Parameters pane - set Server and Database values
In the Authentication section, the source defaults to SQL Server - set the authentication method to Basic
In the Access tab, grant access to other users in your org for testing, or select the entire organisation
Click Save changes, then click Create app
Figure: Create app - confirm and build the app
After a moment, Power BI gives you a link to test the app internally within your org
Manage the app in the Release Management pane, where you can:
Update the app with new report changes by clicking Create app
Share the app with specific people for testing by clicking Get link
Publish the app by clicking Promote app
Figure: Release Management - Create app, Get link, Promote app
Note: Users must be granted access before they can use the link. Do this in "Manage Access".
Note: Reports in the app are read-only.
Step 4: Publishing to Partner Center
After internal testing, promote the app to pre-production in Release Management
Copy the pre-production link it generates, then log in to Partner Center and either create a new offer or open an existing one
Fill in the required details
In the Technical Configuration section, paste the pre-production link from Release Management
Figure: Microsoft Partner Center | <your template app offer> | Technical configuration
Click Save draft, then Review and publish
Once publishing starts, it takes a couple of hours to generate the preview link. After you go live to production, allow another 5–6 hours for the offer to be published and for AppSource to pick up and verify your template app.
Once verified, users can install your template app from the marketplace and connect it to their own data.
Figure: Published template app on Microsoft Marketplace
User Setup for Installed Apps
When users install and open the app, it opens with the default sample data. To connect their own data:
Select Connect your data in the banner at the top of the page
Figure: App banner - select Connect your data
Enter the Server and Database parameter values in the pop-up
Figure: Connect your data - enter Server and Database parameters
Authenticate to the database
Figure: Connect your data - database authentication
Once authenticated, users can explore the app with their own data 🚀
Updating installed Template Apps
An installed Template App never updates itself. Each install stays on its version until an Admin of its workspace runs the update.
When you promote a new version to production:
Installs from AppSource - Power BI shows them an update banner and a notification
Installs from a direct link - get no banner, so tell those users yourself
Either way, give your users update steps. The update dialog makes it easy to break an install.
Keep the semantic model in Small storage format
Template Apps don't support the Large semantic model storage format. An install whose model uses Large format can't take any update.
❌ Figure: Bad example - Someone turned on Large storage format in the install's semantic model settings
❌ Figure: Bad example - Every update option fails with 'This app cannot be updated'
A fresh install is always Small, but a workspace Admin can switch it to Large later. Tell users to check the setting and turn it off before they update.
Update the workspace content, then the app
The update dialog offers 3 options:
Update the workspace and the app - renames the workspace and the app to the template name plus a timestamp. Users lose the names they know
Update only workspace content without updating the app (⭐ recommended) - keeps the names, the report ID, the parameters and the credentials
Install another copy of the app into a new workspace - leaves the old install as it is
The dialog also preselects an install to overwrite, and it can be the wrong one.
✅ Figure: Good example - Update only workspace content, with the right workspace selected
After the update:
Power BI starts a refresh. The reports show sample data until it finishes
When the refresh passes, select Update app in the workspace, so app users see the new version
The report ID stays the same, so an embedded report keeps working.