TL;DR
Tableau Embedded (the Connected Apps JWT flow that ships with Tableau Cloud and Tableau Server) gives you the raw embed primitive: a signed URL you drop into an iframe. Everything around that — per-tenant branding, per-viewer row-level security, audit logs, token refresh, multi-vendor support if you add Power BI or QuickSight later — you build and maintain yourself.
Embedportal is the layer above. You keep using Tableau for authoring; Embedportal handles the multi-tenant plumbing. One configuration in Embedportal, one iframe in your app, and you ship an embedded analytics product your customers can actually use.
If you already own Tableau and you’re embedding for more than one tenant, Embedportal saves 2-6 engineer-months of distribution-layer work. If you only have one tenant and one dashboard, native Tableau Embedded is enough.
Outcomes compared
| Outcome | Tableau Embedded (native) | Embedportal (on top of Tableau) |
|---|---|---|
| Tableau-native authoring and RLS | ✓ | ✓ |
| Signed-URL embed primitive | ✓ | ✓ |
| Production-grade multi-tenant distribution | DIY | ✓ |
| Customer-owned branding and domain | DIY | ✓ |
| Compliance-ready audit trail | DIY | ✓ |
| Viewer-side authentication (SSO, 2FA) | DIY | ✓ |
| Vendor-neutral — add Power BI, QuickSight, Metabase | — | ✓ |
| Time from decision to first tenant live | months | hours |
Setup effort
Tableau Embedded native. Tableau gives you the signed-URL embed primitive. Taking that to a multi-tenant SaaS release requires work in four distinct areas: viewer identity and permissions, branded portal shell, compliance and audit, and token lifecycle under real concurrency. Teams typically budget 2–4 engineer-months for a first customer-facing release, and roughly twice that to reach SOC 2 readiness. None of that work is Tableau-specific — you’d redo it if you later added a second BI vendor.
Embedportal. Follow the six-step Tableau setup — create the Connected App, paste the credentials, drop in an iframe. Under an hour, and multi-tenant distribution, branding, audit and SSO all work on day one.
Multi-tenant scale
This is where native Tableau Embedded gets hard. Tableau doesn’t have a native concept of “your customers” that’s separate from Tableau users. You need to map your tenant IDs to Tableau user attributes, manage the mapping as customers onboard and churn, and ensure your JWT-signing logic correctly scopes every request. Rate limits and caching behaviour differ by tenant count.
Embedportal treats tenants as first-class entities. One Tableau Connected App serves unlimited tenants; each tenant’s viewers never leak into another’s data even if the dashboards look identical. You don’t provision Tableau users per customer.
Row-level security
Tableau ships with powerful RLS primitives: USERATTRIBUTE() on data-source filters. What Tableau Embedded native doesn’t give you is the rule-definition surface. You have to decide what attributes to pass, how to pass them, how to default them, and how to override them per dashboard — and write that yourself.
Embedportal exposes a rule definition UI on top of Tableau’s primitive. You declare attributes like organization_id, region, role, and Embedportal forwards them as signed JWT claims with per-dashboard overrides. The Tableau side is unchanged — USERATTRIBUTE() in a calculated field. See the RLS guide for the full setup.
White-label branding
Tableau Embedded native gives you the option to hide the Tableau toolbar and tabs with URL parameters. That’s it. To actually deliver a white-labeled portal — per-tenant logo, palette, custom domain, themed org switcher, themed sidebar with the customer’s own dashboard list — you build the whole shell yourself.
Embedportal ships the shell. Each tenant gets their own logo, palette, custom domain, and themed portal UI. The embed drops into that shell, and your customers see their brand, not Tableau’s.
Multi-vendor future
A decision people underweight: your BI vendor choice may not survive the next three years. Teams migrate from Tableau to Metabase for cost, from Metabase to Power BI because finance already uses it, from Power BI to QuickSight because they moved to AWS. If your embedded analytics is tied to one vendor’s SDK, every migration is a new rebuild.
Embedportal’s entire point is vendor neutrality. Swap Tableau for Power BI by changing the dashboard’s integration source in Embedportal — no change in your product’s frontend code, no change for your customers. The same is true for QuickSight and Metabase. That optionality is worth something even if you never exercise it.
Pricing
Tableau Embedded native: included in your Tableau Cloud or Server licence; no extra per-embed fee. The cost is the engineering and maintenance work sitting on top of it.
Embedportal: flat pricing independent of your viewer count or Tableau licence. $249/month Starter (one BI integration), $499/month Professional (unlimited integrations, branding, SSO, audit, SLA), custom Enterprise. See full pricing.
Break-even is typically small: if your embedded analytics project would take even one month of one engineer, Embedportal’s annual fee is comfortably cheaper. For the full pricing math across every major BI vendor, see our embedded-analytics pricing breakdown.
When to pick which
Pick native Tableau Embedded if
- You have one tenant, one customer, one dashboard. An internal-only embed or a single-client consulting deliverable.
- You have engineering capacity to build the multi-tenant layer yourself and strong reasons to own that code (for example, highly custom workflows Embedportal doesn’t support).
- You will never add a second BI vendor.
Pick Embedportal if
- You’re embedding for more than one tenant and want per-customer branding, RLS, and audit on day one.
- You want the optionality to add Power BI, QuickSight or Metabase later without rewriting your frontend.
- You’d rather your engineers work on your product than on embedded-analytics plumbing.
- You want a SOC-2-friendly audit log out of the box.
- You have existing atSpark customers — Embedportal is included on atSpark subscriptions at no extra cost.
10. FAQ
Is Embedportal a replacement for Tableau?
No. Embedportal sits on top of Tableau — you keep using Tableau to build and maintain dashboards; Embedportal embeds them into your SaaS with multi-tenant branding and row-level security. If you already use Tableau, Embedportal is additive, not a replacement.
Does Embedportal require a Tableau licence?
Yes — Embedportal embeds your existing Tableau content, so you need a Tableau Cloud or Tableau Server licence with Connected Apps enabled. Tableau licensing covers your team and content; Embedportal pricing is flat and unrelated to viewer count.
How is Embedportal different from writing our own Tableau iframe?
Tableau Embedded gives you the raw Connected App and iframe. Everything else — per-tenant branding, per-user RLS, token refresh, audit logs, multi-vendor support if you add Power BI later — you build and maintain. Embedportal provides all that as a finished surface.
Does Embedportal support just Tableau?
No. Embedportal embeds Tableau, Power BI, QuickSight and Metabase through one interface. You can mix vendors within the same portal — a useful hedge if you're unsure which BI tool will win inside your company.
Can we switch from Tableau Embedded to Embedportal without re-building dashboards?
Yes. Embedportal points at your existing Tableau workbooks via view URL. No migration, no rebuild. Typical switchover takes under an hour for the Tableau side and under a day for the frontend.
How does Embedportal handle Tableau's 10-minute JWT expiry?
Embedportal signs short-lived tokens and auto-refreshes them 60 seconds before expiry. Your frontend never sees the Secret Value; your viewers never see the expiry.
Is my data sent to Embedportal?
No. Dashboards render directly from Tableau into your viewer's browser. Embedportal signs the token that grants access — it does not proxy the data payload.
Ready to embed?
Start on Professional with a 14-day free trial — no credit card, unlimited dashboards and users.