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) forselectandmulti_selectfilters.
Sharing Types
| Type | When to use |
|---|---|
| Public link | Anyone with the URL can access |
| Email-restricted link | Only approved emails can access |
| Embed | Dashboard is rendered inside another product |
UI Flow
1) Open the share dialog
- Open a dashboard.
- Click Share.
- 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:
- Filter type is
selectormulti_select. - Filter dynamic query runs successfully.
- Share policy does not block the filter (
disabledor hidden locked filter). - In email portal flow,
context_idis sent correctly.
Email Sharing
When you add emails in the dialog:
- Console creates/links a share context.
- External user receives a one-time code by email.
- Shared portal access uses a
share_accesstoken.
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
- Set expiration for sensitive shares.
- Prefer email access for confidential data.
- Use
selectableto limit filter scope. - In embed flows, set
allowed_originsto 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.