update_metabase_dashboard
Modify an existing Metabase dashboard by updating its name, layout, filters, or settings while preserving unchanged elements automatically.
Instructions
Update an existing dashboard in Metabase using structured inputs and auto-fallback behavior.
This function allows partial updates to a dashboard. If you don't pass optional fields like
dashcards or tabs, the current values from the existing dashboard will be fetched and reused.
Args: dashboard_id (int): The ID of the dashboard to update.
name (str, optional):
New name for the dashboard. If not provided, the current name will be retained.
description (str, optional):
Updated description for the dashboard.
collection_id (int, optional):
ID of the collection (folder) to move the dashboard into.
If not provided, the existing collection is kept. However,
if a new collection has been created,
it is mandatory to pass the collection ID.
Failure to do so will result in the dashboard being moved to the default collection,
where the chart details may not exist.
parameters (List[dict], optional):
List of dashboard-level filters (used for interactive filtering).
If omitted, existing parameters will be preserved.
tabs (List[DashboardTab], optional):
List of tabs to set on the dashboard.
If not passed, the current tab configuration is reused.
Each tab includes:
- `id`: Tab ID (optional if new)
- `name`: Display name of the tab
dashcards (List[DashboardCard], optional):
List of cards to place in the dashboard layout.
If omitted, the existing card layout is retained.
Each card requires:
- `id`: Use negative numbers to auto generate the ids
or use any unique value but,
it must be unique within the dashboard
- `card_id`: ID of the saved chart
- `row`, `col`: Grid position (top-left = 0,0)
- `size_x`, `size_y`: Width/height in grid cells
- `parameter_mappings`: List of filter mappings
points_of_interest (str, optional):
Free-text notes that appear in the dashboard as "Points of Interest".
caveats (str, optional):
Free-text notes that appear in the dashboard as "Caveats".
enable_embedding (bool, optional):
Whether to enable embedding for this dashboard.
If omitted, the existing setting is reused.
embedding_params (EmbeddingParams, optional):
Optional embedding configuration. Includes:
- `url`: Optional embed URL override
- `custom_css`: Optional custom styling
archived (bool, optional):
Whether to archive the dashboard. Defaults to existing value if omitted.
position (int, optional):
Optional global ordering value (affects dashboard listing).
collection_position (int, optional):
Sort order inside its collection folder.
cache_ttl (int, optional):
Result caching time in seconds (e.g., 3600 = 1 hour). 0 disables caching.
width (str, optional):
Dashboard layout mode: "fixed" (grid) or "full" (fluid width).
Defaults to existing setting if omitted.
show_in_getting_started (bool, optional):
Whether to show this dashboard in Metabase’s “Getting Started” view.Returns:
Dict[str, Any]:
JSON object containing updated dashboard metadata from Metabase.
Includes fields like:
- id, name, description
- dashcards, tabs, parameters
- updated_at, created_at, etc.
Behavior:
- If dashcards is omitted, the existing layout will be preserved.
- If dashcards are passed without an id, id = -1 will be set automatically.
- If tabs are omitted, current dashboard tabs are reused.
- All unspecified fields fall back to the dashboard's current value.
Example: >>> await update_metabase_dashboard( dashboard_id=1, name="Updated Flight Dashboard", dashcards=[ DashboardCard(card_id=123, row=0, col=0, size_x=4, size_y=3), DashboardCard(card_id=124, row=0, col=4, size_x=4, size_y=3) ], tabs=[DashboardTab(name="Overview")], width="fixed" )
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| dashboard_id | Yes | ||
| name | No | ||
| description | No | ||
| collection_id | No | ||
| parameters | No | ||
| tabs | No | ||
| dashcards | No | ||
| points_of_interest | No | ||
| caveats | No | ||
| enable_embedding | No | ||
| embedding_params | No | ||
| archived | No | ||
| position | No | ||
| collection_position | No | ||
| cache_ttl | No | ||
| width | No | ||
| show_in_getting_started | No |