Self-serve exploration
This feature is available on select plans. If your team does not have access to this feature, please contact us.
Introduction
Self-serve exploration goes beyond displaying static dashboards in your app. It lets your embed users actively explore data, drill down into details, and discover insights on their own. This also reduces time-consuming ad hoc data requests for your team and lets your customers find answers faster.
Most of the capabilities on this page are unlocked the same way: add the underlying datasets to your embed payload. Embed users can only explore data from datasets you include, and row-level permissions apply throughout.
const payload = {
objects: {
dashboards: ['sales_dashboard'],
datasets: ['sales_dataset'], // unlocks exploration, drill-down, and view underlying data
},
exp: Math.floor(Date.now() / 1000) + 24 * 60 * 60,
};
If you persist your setup as an Embed Portal, list the datasets in the portal's objects instead.
Data exploration
A drag-and-drop interface that lets embed users modify charts or build their own visualizations on the fly: change visualization types, add filters, group data differently, and adjust time ranges.
How to set up: Include the underlying dataset in objects.datasets, as shown above. Users can explore from any chart built on that dataset, or open the dataset directly from the navigation panel.
To learn more, see our data exploration guide.
Drill-down & break down
Click any data point to "slice" it by a different dimension and see exactly what is driving the numbers. Split any metric by different dimensions (break down) or click a specific data point to filter and dig deeper (drill down).
How to set up: Include the underlying dataset in objects.datasets. No further configuration is needed.
To learn more, see our drill down & break down guide.
View underlying data
Instantly inspect the raw row-level records behind any chart. Instead of just seeing a number, embed users can explore "what makes up this value" at the most granular level.
How to set up: Include the underlying dataset in objects.datasets. Raw records respect the viewer's row-level permissions, and downloading them is controlled separately by settings.allow_raw_data_export.
To learn more, see our view underlying data guide.
Drill-through
Navigate between related dashboards while automatically carrying over filters for a continuous data journey.
How to set up: First, configure drill-through paths between your dashboards in Holistics. Define which dashboard connects to which (for example, "Sales Overview" drills to "Product Details").
Then include every dashboard in the drill-through chain in objects.dashboards. Users can only drill into dashboards that are part of the embed, so this is also how you control which destinations they can reach:
const payload = {
objects: {
dashboards: [
'sales_overview', // starting point
'product_details', // drill target
'customer_analysis', // another drill target
],
},
exp: Math.floor(Date.now() / 1000) + 24 * 60 * 60,
};
Embed links created per dashboard before the new embed payload use a separate top-level drillthroughs key, mapping each destination dashboard ID to its settings. Those links keep working as they are, and Legacy drill-through covers the syntax. When you move to shared embed credentials, replace drillthroughs with the destination dashboards in objects.dashboards.
To learn more, see our drill-through guide.
Ask AI & analyze
Ask questions in plain English to generate insights instantly or use AI to summarize complex chart trends.
How to set up: Include at least one dataset in objects.datasets and set settings.ai.enabled: true. See the Ask AI embedding guide for details.
Save explorations to dashboards
All interaction results can be saved to a dashboard. Embed users can save to their personal workspace for private use, or to a shared workspace to collaborate with others.
How to set up: Add the user's identity and workspace permissions to the payload. This also requires Git integration. See user-built dashboards to enable this feature.
Email subscriptions
Embed users can subscribe to a dashboard and have it delivered to their inbox on a schedule, so they stay up to date without opening your app. They can customize each subscription's frequency, filters, and file format (PNG, PDF, CSV, or Excel).
How to set up: Include the embed user's identity and email address in your embed payload, then enable the dashboard export and data subscription permissions:
const payload = {
objects: {
dashboards: ['sales_dashboard'],
},
embed_user_id: 'user_123',
settings: {
allow_dashboard_export: true,
allow_data_subscribe: true,
},
exp: Math.floor(Date.now() / 1000) + 24 * 60 * 60,
};
To learn more, see our email subscriptions guide.