SOC-ready row-level security, built in

One workspace. Endless client portals.

Layer a branded, access-code-gated portal on top of the Power BI workspace you already run — every client scoped to their own rows, automatically.

Acme Corp Portal
Live
MRR
$182K
Active users
4,910
Renewed
New
Churned
Open Deals
86
Win Rate
58%
Won
Negotiation
Proposal
This Quarter
$182K
Last Quarter
$156K
Side-by-side comparison
How it works

From workspace to client login in three steps

No new infrastructure to stand up — EmbedInsight sits on top of the Power BI workspace you already have.

1

Connect your workspace

Point EmbedInsight at your existing Power BI workspace — reports, datasets, and roles come in as-is.

2

Generate a client token

Create an secure access token per client or Company/BU. No Power BI license, no shared password.

3

Share the portal link

Send the link or embed it on your own site. Clients sign in with the code — done.

Explore the platform

Everything your clients need, right inside the portal

Click through the tabs below — this is a live, interactive preview of what your clients actually see and do.

Drop-in embed script

One script tag turns any page into a live, authenticated report viewer — no iframe wrangling, no SDK setup.

<script src="https://cdn.embedinsight.com/embed.js"
  data-token="acme-corp-3f9a"></script>
• 200 OK — portal mounted in 340ms
No SDK required
Drop into any HTML page, React, Vue, or Angular app — no extra dependencies.
Token-based auth
Tokens are short-lived and scoped per client. Revoke any token instantly from your admin panel.
Fully white-labeled
Your logo, your domain, your colors — no EmbedInsight branding anywhere in the viewer.
RLS enforced
Row-level security applies automatically — clients only ever see their own data.

Side-by-side view

Clients pin two reports, regions, or time periods next to each other for instant comparison.

This Quarter$182K
Last Quarter$156K
Any two reports
Compare revenue, churn, pipeline — any metric side by side.
Period over period
This quarter vs. last quarter, this year vs. last year — instantly.
Saved layout
Each client's comparison view is remembered on their next login.

Personalized reporting

Every client can rearrange, resize, and pin the KPIs that matter to them — their layout, saved automatically.

Revenue
$182K
Pipeline
318 deals
Churn
2.1%
Add widget
Drag & drop layout
Clients reorder and resize any KPI card without touching a setting.
Per-user persistence
Each client's arrangement is saved to their account — still there on next login.
Pin favourites
Clients choose which reports stay visible on their home screen.
Admin defaults
You set a default layout; clients can personalise from there.

Discussion

Clients ask questions right on the report — no more "reply-all" email threads about last week's numbers.

JM
Why did West region dip in Q3?
You
Late renewals — flagged, following up this week.
PN
Can we see this broken out by product line?
You
On it — I'll add the Product dimension to this report by EOD.
Pinned to chart
Comments attach to the exact chart they're about.
@mentions
Tag a colleague and they get an email instantly.
Full history
Every thread is saved — audit trail included.

Notes

Pin context directly to a chart so the "why" behind a number never gets lost.

"Q3 dip due to late renewals — flagged by J. Michaels."
Pinned to West Region chart
"APAC spike in Oct driven by new enterprise deal — Cascade Co."
Pinned to APAC Revenue chart
"Churn uptick is seasonal — historically recovers in Q1."
Pinned to Churn Rate chart
Visible to all viewers
Notes appear as a badge on the chart — anyone with access can read them.
Timestamped
Every note records who wrote it and when — full accountability.

Export

Clients export exactly what they're looking at — click a format below to try it.

Exports what they see
Filters, date ranges, and RLS scoping baked in.
Pixel-perfect PDF
Charts and tables render exactly as seen on screen.
Excel with raw data
Full .xlsx dataset — clients pivot and slice in Excel.
Logged in audit trail
Every export recorded — who downloaded what, when.
Pull into Power Query — all log types M Code
// Connect to EmbedInsight export API from Excel or Power BI
let
  Source = Json.Document(Web.Contents("https://api.embedinsight.com/export",
    [Headers=[Authorization="Bearer acme-corp-3f9a", X-Log-Type="audit | access | export | schedule"]])),
  Rows = Table.FromList(Source[data], Splitter.SplitByNothing())
in Rows

Schedule

Set it once — reports land in the right inbox automatically, every time. Toggle a delivery on or off.

Every Monday, 8:00 AM
Sent to finance@acme.com
1st of each month
Sent to leadership@acme.com
Every Friday, 4:00 PM
Sent to ops@acme.com
Any cadence
Daily, weekly, monthly, or a custom cron — your choice.
PDF or Excel
Choose the format per delivery — attach whatever the recipient prefers.
RLS in delivery
Each recipient only receives data scoped to their own account.

Tabular Studio

Build pixel-perfect table and matrix reports from SQL, Dataflows, Datasets, or OneLake — inside your portal, in minutes.

Connect SQL / Dataflow / OneLake
Write SQL Any SELECT query
Drag fields Rows, cols & values
Publish Live for all clients
Step 1 — Choose your data source
SQL Database
SQL Server, MySQL, PostgreSQL
Power BI Dataflow
Reuse existing data prep
Power BI Dataset
Query your semantic model
Microsoft Fabric OneLake
Parquet files, natively

Secure access tokens

Share a link, never a Power BI license. Revoke instantly, any time.

Row-level security

Every client only ever sees their own rows — enforced server-side.

Fully white-labeled

Your logo, your colors, your domain. No EmbedInsight branding.

AI Q&A built in

Clients ask questions in plain English, right inside the report.

Drop-in embed script

One script tag turns any page into a live, authenticated report viewer.

Full audit trail

Every login, view, and export logged — ready for your next compliance review.

NEW — TABULAR STUDIO

Paginated reports,
now inside your portal.

Tabular Studio brings pixel-perfect table and matrix reports directly into your portal — alongside your dashboards, under the same login and branding. No separate server. No extra licence. No new login for your clients.

Any data source
SQL Server, MySQL, PostgreSQL, Power BI Datasets, Dataflows, and Microsoft Fabric OneLake — connect once, query anywhere.
Drag-and-drop pivot builder
Configure rows, columns and values without writing a single line of MDX or RDLC.
Per-client data — automatically
RLS inherited from your portal session. Each client sees only their rows, enforced at query time.
Export & schedule
Clients export to CSV or PDF. You can schedule and email reports automatically.
SSRS / Paginated
Separate server & licence
Different login for clients
No white-labelling
Manual RLS setup
Complex deployment & RDLC
No interactive slicers
EmbedInsight Tabular
Runs on your portal
Same portal sign-on
Fully white-labeled
RLS inherited automatically
Publish in one click
Built-in slicers & filters
Build a report in 4 steps
Connect Write SQL Drag fields Publish
Sales by Region & Category — Matrix
CSV
PDF
Region / Category Q1 Q2 Total
North America $2.5M $3.0M $5.5M
Software$1.4M$1.7M$3.1M
Services$1.1M$1.3M$2.4M
Europe $1.7M $2.2M $3.9M
Grand Total $4.2M $5.2M $9.4M
Drag to pivot
Filters
Schedule
Live from SQL Server
Embed in your application 3 steps
1
Publish report
report.publish("Sales by Region")
→ ID: ts_a3f9c2
2
Add embed script
<script src="…/ts.js"
 data-report="ts_a3f9c2"
 data-token="acme-corp-3f9a">
3
Renders with RLS
200 OK · 310ms
Client sees only their rows — RLS enforced at query time.
7+
portal features built in
70%
avg. licensing savings
<30min
to first live portal
99.95%
uptime SLA

Ready to stop emailing PDFs?

Set up your first client portal in the next 30 minutes.

30-day free trial
No credit card required
Cancel anytime
Your data never touches our servers
Start free trial
Done