Dashboard Actions
- ✅ Actions are currently available only in Data Table visualizations.
- ⌛ Support for other chart types (Pivot Table, Line Chart, Bar Chart, etc.) will be considered in future updates.
Introduction
Actions enable interactive workflows directly from your reports. When viewing Data Table reports, Holistics allows Report Builders to define specific actions that users can perform at the individual row level.

This is useful for scenarios such as:
- Opening an external website based on the row value (CRM, internal application, etc.)
- Drafting an email to a specific person with predefined content
- Navigating between Holistics dashboards
Currently, Holistics only enables adding URLs (Go To URL Action) to Data Table. The URL can be either fixed or dynamic, depending on the data. Dynamic URLs can be built with AQL or SQL.
Setting up
There are two ways to set an action's URL:
- Text field: use this when you already have a URL dimension.
- Custom URL: use this when you don't have a URL yet or want to create a dynamic URL.
Text field
The URL already exists as a dimension in your model. Add a VizAction to the field users will click. In its url, create a measure from the dimension.
Model ticket {
// 1. URL is already defined in the model or dataset
dimension url_field {
definition: ...
}
}
DataTable {
fields: [
VizFieldFull {
ref: r(ticket.id)
// 2. Add the action to the viz field
action go_to_link: VizAction {
type: 'GoToUrl'
label: 'Open link'
url {
ref: r(ticket.url_field)
aggregation: 'min'
}
}
}
]
}
Custom URL
Build the URL with a calculation in the Data Table. Then add a VizAction to the field users will click, and reference the calculation in its url.
DataTable {
// 1. Define the custom URL directly in the viz block
calculation custom_url {
formula: @aql ... ;;
calc_type: 'measure'
data_type: 'text'
...
}
fields: [
VizFieldFull {
...
// 2. Add the action to the viz field
action go_to_link: VizAction {
type: 'GoToUrl'
label: 'Open link'
url: 'custom_url'
}
}
]
}
Examples
Here are three common use cases:
1. Go to URL: Open each ticket in Zendesk, using ticket.id.
calculation zendesk_url {
formula: @aql concat(
'https://organization.zendesk.com/api/v2/tickets/', ticket.id
) ;;
calc_type: 'measure'
data_type: 'text'
}
2. Draft email: Open an email draft to the requester with a prefilled subject and body.
calculation reply_email_url {
formula: @aql concat(
'mailto:', ticket.requester_email,
'?subject=[Customer Support] ', ticket.subject,
'&body=Hi, Thanks for reaching out to us.'
) ;;
calc_type: 'measure'
data_type: 'text'
}
3. Navigate to a dashboard: Build the action URL with the dashboard link and the filter values, using the syntax from URL parameters.
calculation dashboard_navigation_url {
formula: @aql concat(
'https://holistics.io/dashboard/v4/dashboard_name',
'?country=', user.country,
'&date=', order.created_date
) ;;
calc_type: 'measure'
data_type: 'text'
}