Report selector card
The Report selector card lets a reader choose a report and download it for the current dashboard query.
When to use it
Use it when a dashboard should offer several reports for one entity type. Use Report execute when the dashboard should expose one fixed report.
Live example
The Card Lab supplies deterministic report discovery data. Report execution is explicitly simulated and never creates a file or contacts a backend.
Open the Report selector Card Lab in a new page
Requirements
| Requirement | Value |
|---|---|
| Dashboard types | Standard and aggregation |
| Minimum size | 2 columns by 2 rows |
| Data | Reports available in the current scope and the selected entity query |
| Backend capabilities | Report listing and report execution/download |
| Permissions | Permission to list and run the selected report in the current scope |
Configuration
The paths below are relative to cardConfig.data.
title
| Property | Value |
|---|---|
| Type | string |
| Required | No |
| Default | No title provided |
| Values | Plain text |
Sets the card heading.
entityType
| Property | Value |
|---|---|
| Type | string |
| Required | Yes |
| Default | No default |
| Values | device, interface, client, or group |
Filters reports by their entity type and selects the query used for execution. Reports declared for any entity type are also included.
uniqueReportNameRegexFilter
| Property | Value |
|---|---|
| Type | JavaScript regular-expression string |
| Required | No |
| Default | .* |
| Values | Expression matched against report unique names |
Filters the automatically discovered report list.
Leading and trailing / characters are removed.
This field is ignored when reportOptions contains entries.
reportOptions
| Property | Value |
|---|---|
| Type | Array of objects |
| Required | No |
| Default | Empty array |
| Values | Ordered exact report references |
Restricts the list to exact reports and preserves configured order. Missing or entity-incompatible reports are omitted.
reportOptions[].uniqueReportName
| Property | Value |
|---|---|
| Type | string |
| Required | To use the entry |
| Default | No default |
| Values | Exact report unique name |
Identifies the report.
reportOptions[].displayName
| Property | Value |
|---|---|
| Type | string |
| Required | No |
| Default | Backend report name |
| Values | Visible list label |
Overrides the displayed name only.
infoAlertContent
| Property | Value |
|---|---|
| Type | string |
| Required | No |
| Default | No informational content |
| Values | Plain text |
Adds explanatory content to the card.
Examples
Curated interface reports
{
"cardId": "report-selector",
"data": {
"title": "Interface reports",
"entityType": "interface",
"reportOptions": [
{ "uniqueReportName": "interface.inventory", "displayName": "Inventory" },
{ "uniqueReportName": "interface.health", "displayName": "Health report" }
]
}
}
Only matching reports available in the current scope are shown, in configured order.
Behavior
The card loads reports for the current scope, requires a selection, and sends the active entity query when executing. A successful execution downloads the report and shows a notification; failures show an error notification.
Limitations and safety
Report execution can expose data in a downloaded file.
Scope and backend permissions remain authoritative.
An invalid regular expression can break list filtering, so prefer explicit reportOptions for curated dashboards.
Related cards
See Report execute.

