superset_dashboard_update
Update an existing Apache Superset dashboard by changing its title, slug, publication status, metadata, CSS, layout, owners, or roles. Role changes automatically sync data source access.
Instructions
Update an existing dashboard. Pass only the fields to change.
IMPORTANT: after the update, datasource_access is automatically synced — each role from dashboard.roles will get access to all dashboard datasets.
Args: dashboard_id: ID of the dashboard to update. dashboard_title: New title. slug: New URL slug (must be unique). published: Change publication status (true — published, false — draft). json_metadata: Dashboard JSON metadata (string or object, fully replaced). css: New custom CSS for the dashboard. Injected as a tag on the dashboard page. Does NOT affect Explore view (chart editor) — only the dashboard.
Common CSS fixes:
1) KPI big_number_total — digit size and scroll:
KPI container has a fixed height (~60px at 2 cells).
Default font is small. To enlarge via CSS:
div[class*="big_number"] .header-line {
font-size: 3.3rem !important; /* digits */
font-weight: 700 !important;
line-height: 1.1 !important;
margin-bottom: 0 !important; /* REQUIRED! otherwise scroll */
}
div[class*="big_number"] .subheader-line {
font-size: 1rem !important; /* label */
font-weight: 400 !important;
opacity: 0.7;
}
IMPORTANT: margin-bottom on .header-line defaults to 8px — together with
line-height causes overflow and scroll. Verification formula:
font_size_px * 1.1 + margin_bottom <= 60px.
3.3rem = 52.8px -> 52.8 * 1.1 = 58px + 0 = 58px < 60px OK
2) Country Map tooltip clipped by container — culprit is
DIV.dashboard-chart (styled-component with overflow:hidden).
Tooltip = DIV.hover-popup (NOT .datamaps-hoverover!). Fix:
.dashboard-chart-id-{N} .dashboard-chart {
overflow: visible !important;
}
.hover-popup { z-index: 99999 !important; }
To analyze CSS issues: open the dashboard in Playwright,
find the chart element, walk up parentElement,
check getComputedStyle(el).overflow at each level.
position_json: Widget positioning on the dashboard (string or object).
Defines the layout of charts, headers, dividers in the grid.
IMPORTANT: fully replaced — first get current layout via
dashboard_get, modify needed elements and pass the entire JSON.
owners: List of owner user IDs (REPLACES all current owners).
roles: List of role IDs for dashboard access (REPLACES current ones).
On change, datasource_access is automatically synced.Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| css | No | ||
| slug | No | ||
| roles | No | ||
| owners | No | ||
| published | No | ||
| dashboard_id | Yes | ||
| json_metadata | No | ||
| position_json | No | ||
| dashboard_title | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |