Skip to main content

Sharing Dashboards

This guide explains how to share dashboards in the Console UI, including:

  • Public link sharing.
  • Email-restricted sharing.
  • Embed for iframes.
  • Filter policy modes (open, locked, selectable, disabled) for select and multi_select filters.

Sharing Types​

TypeWhen to use
Public linkAnyone with the URL can access
Email-restricted linkOnly approved emails can access
EmbedDashboard is rendered inside another product

UI Flow​

1) Open the share dialog​

  1. Open a dashboard.
  2. Click Share.
  3. Fill in the Share name.

2) Define access​

  • If Email access is empty: open/public sharing.
  • If emails are provided: access requires external code authentication.

3) Configure filter policies (optional)​

For each candidate filter, choose a mode:

  • open: user can choose values freely.
  • locked: fixed value in this share.
  • selectable: user can choose only from allowed values.
  • disabled: filter cannot be used in this share.

Dynamic multi_select Options​

When a filter uses dynamic SQL options, shared/embed views depend on options endpoints at runtime.

If the filter works in the internal dashboard but fails in shared/embed mode, verify:

  1. Filter type is select or multi_select.
  2. Filter dynamic query runs successfully.
  3. Share policy does not block the filter (disabled or hidden locked filter).
  4. In email portal flow, context_id is sent correctly.

Email Sharing​

When you add emails in the dialog:

  1. Console creates/links a share context.
  2. External user receives a one-time code by email.
  3. Shared portal access uses a share_access token.

Who Can Share​

A regular Console user cannot share dashboards just because they can open the resource. They need share actions that match what they are administering:

UI/API actionMinimum permission
Open Share on a dashboard and create/revoke link sharesdashboards:share
Generate dashboard embeddashboards:share
Manage dashboard emails, members, and share-contextsdashboards:share
Generate visualization embedvisualizations:share
Manage mixed contexts (dashboard + visualization)dashboards:share and visualizations:share

If the permission is missing, the UI should not expose the flow and the API returns 403 FORBIDDEN.

Embed​

In embed mode, configure:

  • allowed_origins.
  • hide_header.
  • hide_controls.

Always use the API-returned embed_url instead of manually building URLs.

Best Practices​

  1. Set expiration for sensitive shares.
  2. Prefer email access for confidential data.
  3. Use selectable to limit filter scope.
  4. In embed flows, set allowed_origins to reduce misuse.

Troubleshooting​

Dynamic filter options are missing​

Test the mode-specific options endpoint:

  • Public: /api/v1/public/shares/:token/filters/:filter_slug/options
  • Email portal: /api/v1/share-portal/.../filters/:filter_slug/options?context_id=...
  • Embed: /api/embed/d/:token/filters/:filter_slug/options

DB_QUERY_ERROR​

The dynamic filter SQL failed. Validate SQL, connection, and parameters.

AUTH_REQUIRED​

The link requires external authentication. The user must log in with email/code first.

FORBIDDEN​

The internal user is missing the dashboards:share or visualizations:share action required by the sharing/embed endpoint.

Next Steps​