Embedded analytics

Embed Power BI in your SaaS app or portal

Embed Power BI in your SaaS app, customer portal, or platform and give your customers live, interactive dashboards that are fully branded, securely isolated per tenant, and need no Power BI login. We handle the capacity, the security model, and the embedding code through prepaid Flex hours, with US-based senior engineers.

  • Senior-led (20+ yrs)
  • Hours never expire
  • 3–5 day turnaround
  • No project minimums
  • Full refund — first 4 hrs
app.yourcompany.com / analytics Active users3,914 MRR$82.6k

Representative dashboard — sample data

Embedded analytics

Analytics your customers use without leaving your app

When the people who need a dashboard are your own customers, sending them to the Power BI service is rarely the answer. They should not have to learn another tool, manage another login, or hold a license just to see how their account is performing. They expect insight to live inside the product they already pay for — under your name, in your colors, alongside the rest of your features. That is exactly what embedding delivers: the analytical horsepower of Power BI, presented as a native part of your application.

Power BI Embedded (opens in new tab) is the set of capabilities Microsoft provides for placing reports and dashboards into software you control — a customer portal, an internal admin tool, or a commercial SaaS product. Done well, the result is indistinguishable from a feature your team built from scratch, but it is backed by an engine that handles modeling, fast queries, drill-down, and refresh for you. This page covers when embedding makes sense, the two licensing models, how capacity and security work, and exactly what we deliver.

Built with

  • Power BI REST API
  • powerbi-client JS
  • App-owns-data
  • Multi-tenant RLS
  • White-labeling
  • Secure embed tokens

What’s included

Everything required to ship embedded analytics safely

From the capacity decision to the production embed — scoped into tasks you approve before any of your prepaid Flex hours are used.

App integration

We embed reports into your front end with the powerbi-client JavaScript library, wire up navigation and filters, and make the report behave like a native part of your interface.

Secure token-based embedding

A server-side service authenticates with a service principal and mints short-lived embed tokens scoped to each session, so secrets never reach the browser and access is always controlled by your back end.

Multi-tenant row-level security

RLS roles in the data model plus per-viewer identity in the embed token guarantee each customer sees only their own rows, with the filtering enforced server-side, never in the browser.

White-labeling & theming

A Power BI theme for your colors, fonts, and styling, plus control over which chrome and controls appear — the report reads as your product, not a Microsoft surface.

REST API automation

We use the Power BI REST API to provision workspaces, deploy report content, manage datasets and refresh, and generate tokens — so your platform manages analytics programmatically.

Capacity setup & sizing

We help you choose between Power BI Embedded and Microsoft Fabric capacity, size the SKU to your concurrency, and configure pause and scale so you pay for what you actually use.

How it works

From a working report to a production embed

  1. 1

    Scope & architecture

    We map your app, auth model, and tenancy, choose the embedding model and capacity SKU, and design the RLS approach. You get a written scope, an estimate of the Flex hours each task needs, and a timeline — and you approve before any build starts.

  2. 2

    Build & secure

    We prepare the data model and reports, stand up the token service and embedding code, apply your theme, and implement multi-tenant security — then test isolation by impersonating different tenants.

  3. 3

    Launch & hand over

    We ship to production, validate performance under realistic load, and hand you documented code, the security model, and a capacity runbook so your team can run and extend it.

Two embedding models, and which one you need

Power BI supports two distinct embedding scenarios, and choosing correctly shapes everything else. Embed for your customers — often called app-owns-data — is the model for external-facing software. Your application authenticates to Power BI with a single service principal, owns the content, and decides who sees what. Your users never sign in to Power BI and do not need individual licenses; from their perspective the analytics are simply part of your product. This is the right model for a SaaS feature, a client portal, or any white-label dashboard you sell or give to customers.

Embed for your organization — user-owns-data — is the model for internal applications where every viewer already has a Power BI account. Each person signs in with their own identity and their existing permissions apply. It suits an internal portal or intranet where you simply want reports surfaced in a convenient place rather than re-architecting access. Most of the projects we are asked to build are customer-facing, so the rest of this page focuses on app-owns-data, but we will tell you plainly which fits your case on the first call.

  Embed for your organization Embed for your customers (app-owns-data)
Who signs in Each internal viewer with their own Power BI account No one — your app authenticates with a service principal
Licensing model Per-user Power BI licenses for every viewer Dedicated embedded capacity, sized to usage, no per-viewer license
Best for Internal portals and intranets for licensed staff SaaS features, customer portals, and white-label dashboards
Security model Each user’s own identity and existing permissions apply Multi-tenant RLS, with identity passed in the embed token

Capacity and SKUs: the engine behind the embed

Customer-facing embedding runs on dedicated capacity — a reserved pool of compute that renders and queries your reports. There are two ways to buy it. Classic Power BI Embedded A SKUs are provisioned in Azure and can be paused when idle, which suits predictable or bursty workloads. Microsoft Fabric F SKUs are the newer unified option and also carry the embedding workload, with the added benefit of the wider Fabric platform if you grow into it. In both cases you size capacity to concurrency and report complexity, not to a headcount of viewers — adding customers does not add license cost, it adds load that a correctly sized SKU absorbs.

We do not quote capacity figures here because Microsoft adjusts them, and the right SKU depends on your usage pattern. We help you estimate concurrency, pick the SKU family, and plan pause-and-scale so you are neither overpaying nor throttled. For current rates, see Microsoft’s Power BI pricing page (opens in new tab) and the embedded capacity documentation (opens in new tab).

Multi-tenant security: every customer sees only their data

When one report serves many customers, data isolation is the requirement everything hinges on. We implement row-level security in the data model, defining roles whose filters scope the data to a tenant. At runtime your back end passes the viewer’s identity and role into the embed token, and the capacity applies those filters server-side before any data leaves Microsoft’s infrastructure. Because the filtering happens on the server, a browser cannot request rows it is not entitled to — there is no client-side rule to bypass. We treat isolation as something to prove, not assume, so we test it by impersonating multiple tenants and confirming each one sees strictly its own slice. For platforms with many tenants we can also use dynamic RLS driven by a mapping table, so onboarding a new customer does not mean editing the model.

The embedding toolkit: REST API and the JavaScript client

Two Microsoft technologies do the heavy lifting. The Power BI REST API is how your server talks to Power BI: it provisions workspaces, deploys report content, manages datasets and refresh, and — critically — generates the embed tokens that authorize each session. We build a small, secure server-side service around it so the service principal credentials and tokens stay on your back end and never touch the browser. The powerbi-client JavaScript library then renders the report in your page, where we control layout, page navigation, filters, bookmarks, and which controls are visible, and listen for events so the embedded report can interact with the rest of your UI. Together they let analytics behave like a first-class feature: filtered by context, styled to your brand, and driven by your application’s own logic.

Where embedded analytics fit best

The strongest use cases share a shape: many viewers, each entitled to a slice of the same model, who should never see Power BI itself. A SaaS analytics feature turns reporting into a differentiator — or a paid tier — without your team building a charting engine. A client or customer portal lets each account log in and see its own performance, usage, or billing in real time. A white-label dashboard lets agencies, franchises, or platforms deliver branded analytics to their own clients. In every case embedding spares you from rebuilding what Power BI already does well, and lets your engineers spend their time on the product instead.

Deliverables, pricing, timeline, and support

You receive the full working integration: the data model with its RLS roles, the server-side token service, the front-end embedding code, your applied theme, and documentation plus a capacity runbook so your developers can add reports and operate the system without us. Like all our work this runs on prepaid Flex hours — you buy a block of senior-led hours, we scope the integration into tasks, and hours are deducted only for work you approve. On a short call we clarify your app, tenancy, and reports, then send a written scope and an estimate of the hours each task needs. Most individual tasks are delivered within 3–5 business days of your approval; a focused first integration is a small set of those tasks, and broader rollouts get a clear timeline up front. Your prepaid Flex hours cover this, and they never expire — see Flex pricing. After launch you can run everything yourself, or keep drawing on your hours for ongoing support as you add reports and scale. If you are still deciding how embedding fits your broader BI plan, our Power BI consulting sets direction, dashboard development builds the reports you will embed, and how it works explains our process and pricing end to end. Where the data platform underneath needs work too, our Microsoft Fabric consulting covers lakehouse, pipelines, and Direct Lake.

Embedding capabilities

  • Row-level security scoped per tenant
  • White-label theming in your colors
  • Power BI REST API and JavaScript client
  • Secure, short-lived embed tokens
  • App-owns-data, no login for your users

Why it's secure

Filtering happens server-side

Each tenant's data is filtered on Microsoft's capacity before it reaches the browser, so one customer can never request another's rows.

Who it’s for

When embedding is the right move

SaaS product teams

You want analytics as a feature or paid tier without building a charting engine — and without your customers ever seeing or logging into Power BI.

Customer portals

Each account should log in and see only its own performance, usage, or billing data, live and securely isolated from every other tenant.

White-label platforms

Agencies, franchises, and platforms that deliver branded dashboards to their own clients, with theming that hides the underlying tooling.

Representative perspective

“Our customers wanted dashboards inside our product, not a separate Power BI login. They embedded reports with per-tenant security and our branding — it ships as a native feature and our roadmap freed up completely.”
Head of product, B2B SaaS platform

Representative perspective

“Multi-tenant isolation was the part that scared us. They built the row-level security model and tested it by impersonating tenants until we were confident no account could ever see another’s data.”
Engineering lead, customer analytics portal

Bring Power BI analytics into your product

Tell us about your app and your tenants, and one call will show you the right embedding model, the capacity you need, and how many prepaid Flex hours the build would take — you approve before any hours are used.

FAQ

Questions about embedded analytics

Embed for your customers is the app-owns-data model: your application authenticates with a service principal, so external users do not need their own Power BI licenses and never sign in to Power BI. Embed for your organization is user-owns-data, where each internal viewer signs in with their own Power BI account. Most SaaS and portal projects use the customer model.

No. In the embed-for-your-customers model your app owns the data and authenticates with a service principal, so external viewers do not need individual Power BI licenses. Instead you license a dedicated embedded capacity sized to your usage. That makes per-customer billing predictable and lets you scale to many viewers without buying a license for each one.

We implement row-level security in the data model and pass each viewer’s identity and role when we generate the embed token. The capacity filters the data server-side before it reaches the browser, so one tenant can never request another tenant’s rows. We test the isolation deliberately by impersonating different tenants to confirm the boundaries hold.

Yes. We apply a Power BI theme for colors, fonts, and visual styling, hide or restyle the default chrome, and embed the report inside your own layout so it reads as a native feature rather than a Microsoft product. With the JavaScript client we control which controls appear, so the experience looks and feels like part of your application.

Embedding for customers runs on dedicated capacity billed by SKU and size, available as Power BI Embedded A SKUs or as Microsoft Fabric F SKUs, and you can pause A SKUs when idle. The capacity is sized to concurrency and report load, not to a count of viewers. We help you pick and size a SKU; current rates are on Microsoft’s official pricing page.

Embedded work runs on prepaid Flex hours: you buy a block of senior-led hours, we scope the integration into tasks, and hours are deducted only for work you approve. Most individual tasks are delivered within 3–5 business days of your approval. A first integration — one or two reports embedded with multi-tenant security and your branding — is a small set of those tasks; larger rollouts with several report types, custom interactions, and an export or self-refresh pipeline get a clear timeline up front. Your prepaid hours never expire.

Yes. We hand over documented code for token generation and embedding, the data model with its RLS roles, and a runbook for capacity and refresh. Your developers own everything and can add reports without us. We also offer post-launch support if you would rather we handle new reports, scaling, or upgrades as your product grows.

Book a free demo

Get senior Power BI help, on demand

Tell us the task. We scope it, you approve, and a senior consultant delivers — typically in 3–5 business days. Prepaid hours that never expire.

  • Prepaid hours from $100/hour — and they never expire
  • Senior-led delivery — 20+ years on the Microsoft platform
  • Typical 3–5 business day turnaround
  • Full refund if you’re unhappy in your first 4 hours

The fastest way to reach us is the form — tell us the task and we'll reply within one business day.

All fields are required.

We reply within one business day. No newsletters, no drip campaigns.

Book a Free Demo