Iframe embedding is available on Premium and Enterprise plans.
- Private embedding — for internal users with Cube accounts (e.g., embedding in Notion, Salesforce, internal tools)
- Signed embedding — for external/customer-facing applications using server-generated sessions
Embed with private embedding
To embed a dashboard for internal users:- Open your dashboard in Cube
- Click Share → Embed
- Copy the generated iframe code
Embed with signed embedding
Signed embedding must be allowed on the dashboard first: open the dashboard, click Share → Embed, and turn on Allow signed embedding. You can also toggle it without opening the UI using the Cube CLI:Pre-set dashboard filters and granularities via URL
You can pre-set the values of a dashboard’s controls by adding URL parameters:
The semantic view and member must match the internal names (not display titles)
configured on the widget — as must the member on the right-hand side of
ms_,
which is a measure rather than a dimension when the field switcher’s Field
Type is Measure. For filters, an omitted filter type defaults to equals.
Granularities are lowercase and must be one of the switcher’s allowed
granularities —
day, week, month, quarter, year, plus second, minute, and hour
for time dimensions that expose them.
Example:
src="…" of the iframe
snippet above, its raw " closes the attribute and truncates the URL.
This works on both regular and published (embedded) dashboards. A parameter is
applied only if a matching control for that member already exists on the
dashboard; a granularity outside the switcher’s allowed list is ignored, as is a
member the field switcher doesn’t offer — its
Alternatives,
plus the member it replaces.
The reverse direction works on published dashboards: when a viewer changes a
control there, the new value is written back into the dashboard’s own URL, so the
state a link carries and the state a viewer reaches by clicking are the same
format. Reading the parameters works anywhere; it’s the writing that is
published-only. See Controls → Sharing the current
selection.
Allow chart and dashboard export
By default, embedded dashboards do not expose a download action on individual widgets or on the dashboard as a whole. To let viewers download a chart widget as a CSV, PNG, or PDF file, and download the whole dashboard as a PNG or PDF, add theallowExport=true query parameter to the embed
URL:
allowExport is the
single switch that grants all of these — there is no way to allow one format
while blocking another. It also grants Download as CSV in the Creator
Mode report builder; see Show and hide features.
Only the exact literal string true opts in: allowExport=1,
allowExport=TRUE, a bare ?allowExport, and omitting the parameter (the
default) all leave every download action hidden.
A widget’s CSV is generated client-side from the data already loaded into the
widget, so no additional query is issued. Inside an embed, allowExport —
not the viewer’s own Cube role — is the authority on whether the download
actions appear. The account-wide Allow data downloads switch outranks it —
see Restricting data
downloads.
To turn on per-widget downloads without the whole-dashboard ⋮ menu — for a
host that surfaces its own dashboard-level export, for example — add
showDashboardExportMenu=false:
false hides
the menu; it has no effect unless allowExport=true is also set.
Show or hide the AI chat
Embedded dashboards show an AI chat (the agent panel and its launcher bubble) by default. You can control it in two ways:- Globally, in the UI. Toggle Show AI chat on embedded dashboards under Embed → Settings in the Cube console. This switch is account-wide — it turns the AI chat on or off for the entire embedded surface, i.e. every embedded dashboard.
- Per session, via the API. Pass
settings.showDashboardChatwhen you generate the session. A per-session value takes precedence over the global toggle —falsehides the chat for that session even when it is enabled account-wide, andtrueshows it even when it is disabled:
settings.allowAi instead. See Show and hide
features.
Comments
Viewers of an embedded dashboard can discuss it in comment threads, kept separate per embed tenant. The panel is off until the account turns on Allow comments on embedded dashboards under Embed → Settings. Dashboard Comments documents that setting and what it does not gate, howembedTenantName separates one
customer’s conversation from another’s, the API behind the panel, and who may
edit, delete, and resolve.
Show or hide header controls
By default, an embedded dashboard’s header shows its title, back button, and — when the viewer has permission — the Edit and Duplicate actions. Hide any of them individually with URL parameters on the embed iframesrc:
false
hides a control — =0, =False, =FALSE, and a bare ?showDashboardTitle
(no value) all leave it visible. Note this is the inverse of allowExport
above, where only the literal string true opts in.
These parameters are URL-only — they aren’t accepted in the Generate
Session
settings
object, unlike showDashboardChat, and they have no account-wide default
under Embed → Settings.showDashboardHeader=false overrides the other four: the whole bar
disappears regardless of their values. showDashboardEditButton can only
hide the Edit action; it can never show one to a viewer who lacks edit
permission.
The export menu has its own switch, showDashboardExportMenu=false, covered
above under Allow chart and dashboard export — unlike
the header controls above, it’s hidden by default. It also isn’t part of
the dashboard header the way those controls are: in Creator Mode it’s docked
in the header, but on the published-dashboard embed it floats over the
dashboard, so showDashboardHeader=false doesn’t hide it there.
Creator Mode workbook header
The Creator Mode workbook header — which carries the workbook name, tabs, Publish, and Share — is a separate surface with its own back-button switch:showWorkbookBackButton is independent of showDashboardBackButton above —
the two headers are separate surfaces, so a host that wants neither back
button sets both. The rest of the workbook header (name, tabs, Publish,
Share) has no equivalent switch, since those actions are part of the
authoring flow. The workbook actions menu still offers View all, so
hiding the back button never removes a way back to the workspace. It follows
the same rules as the parameters above: only the exact literal string false
hides it, and it is URL-only — not accepted in the Generate Session settings
object, and with no account-wide default under Embed → Settings.
These parameters are read from the URL the host loaded the iframe with and
stay pinned for the life of the embed, so they survive in-app navigation
(for example, from the home-page dashboard card, or after publishing a
draft).
Set the language
Embedded dashboards render their UI in the account’s default language, which you can override per embed by adding the?locale= query parameter: