Back to Blog

How to Create and Publish a Power BI Template App That People Actually Use

August 11, 20268 min readMichael Ridland

If you have ever built a genuinely good Power BI report and then watched five different teams try to rebuild their own slightly worse copy of it, you already understand the problem template apps solve. Someone in finance makes a beautiful cash-flow dashboard, and then operations wants "something like that but for us", and now there are three versions of the same thing drifting apart, each with its own bugs. Template apps are Microsoft's answer to packaging up a full analytics solution once and handing it out in a way that other people can install, point at their own data, and use without rebuilding anything.

We build these for clients often enough that I have opinions about where they shine and where they quietly waste your time. The Microsoft documentation on creating and publishing a template app covers the button-clicking well. What it does not tell you is when a template app is the right call versus when you are better off with a shared workspace or an ordinary app. So let me cover both.

What a template app actually is

A normal Power BI app is a curated bundle of reports and dashboards you publish inside your own organisation. People in your tenant open it, they see your data, done. A template app is different in one important way: it is designed to be installed by people who are not you and who bring their own data.

Think of it as a shell. You build the reports, the data model, the parameters, and the connection logic, but you ship it without your data baked in. When someone installs it, Power BI prompts them for their own connection details, whatever those are, an API key, a database name, an account ID, and the reports light up against their numbers instead of yours. The classic examples are the ready-made template apps you can install from AppSource for things like Google Analytics or a Microsoft 365 usage report. A software vendor built the analytics once and every customer installs the same package pointed at their own account.

That is the killer use case, and it is worth being honest that it is a fairly specific one. If you are a SaaS company or a consultancy who wants to give every client the same reporting experience over their own data, template apps are excellent. If you just want to share a dashboard with the sales team down the hall, you do not need any of this. A regular app is simpler and you should use that instead.

The build sits inside a dedicated workspace

You create a template app inside a workspace, same as any Power BI content, but the workflow has a few extra steps that catch people out the first time.

The big one is parameterisation. Because the app will be installed by people connecting to their own data, you cannot hard-code the connection. You build your data model in Power BI Desktop using parameters for the bits that change per customer, the server name, the database, the account identifier, an API token, and then those parameters become the questions Power BI asks each person at install time. Get this right and installation feels magic. Get it wrong and every customer has to open Power BI Desktop themselves and rewire the queries, which defeats the entire point.

My honest take: this is the part that separates a template app that works from one that generates support tickets. Spend real time on it. Test the install as if you were a customer with a fresh account, not as yourself with everything already configured. We do a lot of this kind of packaging and productising of analytics as part of our broader Power BI consulting work, and the parameter testing is always where the actual engineering hours go.

Testing, staging, and the version you can never take back

Power BI gives you a proper release process for template apps, and you should use it rather than treating it as optional.

When you create the app, you get three stages. You test it, where only you and people you explicitly add can install a preview. You stage it, which is a pre-production check often used to hand off to a limited group before going wide. And you publish it, which pushes it to the world or to a specific link. Each stage has its own version, and moving between them is deliberate.

Here is the thing to internalise before you publish: once a customer installs a version, they own that copy. When you release an update, existing installs do not silently change under them. Customers get the update pushed as a new version they can accept, and how that lands depends on whether they have customised their copy. So the discipline you want is to treat the first public version like a product launch, not a draft. Test the empty-state install, test with a customer's real credentials if you can get a friendly one to help, and only then publish.

I have seen teams rush the first publish, discover a broken parameter, and then have to shepherd every customer through a re-install because the original package could not connect. Slower and more careful up front is genuinely faster overall here.

Distribution: link, AppSource, or both

Once published, you distribute a template app one of two ways.

The simplest is an install link. Power BI generates a URL, you send it to whoever you want, and they click, authenticate, enter their parameters, and they are in. This is perfect for a consultancy handing a package to a known set of clients, or for internal distribution across separate business units that each have their own data. No approval process, no marketplace, you control who gets the link.

The other route is AppSource, Microsoft's public marketplace. This gets you discoverability, anyone can find and install your app, but it comes with a submission and validation process that takes real effort and time. Microsoft reviews it. You need supporting materials, a support plan, the lot. Worth it if you are a vendor building a genuine product around your analytics. Overkill if you have a handful of named clients.

My rule: start with the install link. You can always go to AppSource later once the app has proven itself with real users. Publishing to the marketplace first, before anyone has stress-tested your parameters, is a good way to collect one-star reviews for a bug you would have caught with three friendly testers.

Where template apps are genuinely rough

I want to be fair rather than sell you on this, so here are the sharp edges.

Customisation after install is limited. Customers can make some changes to their installed copy, but they are working inside your package, not building freely. If a customer wants to add their own measures or reshape a report substantially, the template app model fights them. For customers who want a starting point they will then own and extend heavily, you are sometimes better off just giving them a .pbix file to build on, even though that loses the tidy install experience.

Update management takes thought. Because installed copies are versioned and customers accept updates, you need a real plan for how you communicate and roll out changes, especially breaking ones like a changed parameter or a restructured model. This is product management, not report building, and teams who are strong at the second are often caught out by the first.

And the data source has to be reachable in a template-app-friendly way. Not every connector and every auth model plays nicely with the parameterised install flow. Before you commit to this approach, prove that your specific data source can be connected through parameters that a non-technical customer can fill in. If your source needs a gateway or some fiddly network setup on the customer's side, the frictionless install you imagined may not exist.

When I would reach for one

To keep it concrete, here is where I actively recommend template apps. You are a software or services company and you want every client to get the same polished reporting over their own account. You have multiple separate organisations or business units, each with isolated data, who all need the identical analytical solution. Or you are productising an internal dashboard you have built once and want to distribute cleanly rather than copy-pasting workspaces.

And here is where I would steer you elsewhere. You are sharing within one organisation over shared data, use a normal app. Your users need to heavily customise and own the reports, give them the underlying file. Or you have exactly one recipient, in which case just share the workspace and move on.

If any of that sounds like something you are wrestling with, packaging analytics so other people can actually use it is squarely the kind of thing we help with, whether that is Power BI specifically or the wider Microsoft data and AI stack. Have a look at what we do on the services page, or just get in touch and describe what you are trying to distribute. Half the value we add is telling people when a template app is the wrong tool before they have sunk a fortnight into building one.