---
title: "Update Dashboard"
description: "Update a dashboard."
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.speakai.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Dashboard

Use the Speak AI MCP server tool `update_dashboard` to update a dashboard.

## What does it do?

Update a dashboard. Two modes. (1) Metadata-only: pass just
icon/assignTo/filters/isDefault. No spec fields, no revision needed. (2) Spec
update: pass the FULL spec (title, source, dateRange, sections, widgets) plus
`revision`. Widgets and sections are REPLACED, not merged, so call `get_dashboard`
first and resend everything you want to keep. `revision` is the
optimistic-concurrency token from `get_dashboard`/`list_dashboards`: the server
accepts the write only if it still matches, then increments it. A 409 conflict means
another writer saved first: re-fetch with `get_dashboard`, rebuild your changes on
the fresh spec, and retry with the new revision.

## Parameters

`update_dashboard` takes 12 parameters, 1 of them required.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `dashboardId` | string | Yes | Dashboard business id |
| `title` | string | No | Dashboard name: required (with revision) when updating the spec |
| `revision` | number | No | The revision loaded from `get_dashboard`. Required for spec updates; mismatch returns a 409 conflict. |
| `description` | string | No | Dashboard description, max 280 chars |
| `source` | object | No | Data source: \{type:"folders", folderIds:[...]\} \| \{type:"team"\} \| \{type:"workspace"\} |
| `dateRange` | object | No | Date range: strict preset only, no free-form start/end dates |
| `sections` | array of object | No | Optional named widget groups (tabs). Each references widgets by their explicit ids; widgets in no section form the implicit Overview group. |
| `widgets` | array of object | No | Widgets to place on the dashboard, in order (max 24). The MCP assigns ids and computes a tidy two-per-row grid layout matching the Speak UI unless you pass explicit id/layout. |
| `icon` | string | No | Icon identifier |
| `assignTo` | array of string | No | User ids, or group ids in the "\<groupId\> (G)" convention, to share view access with |
| `filters` | object | No | Field filters. filters.filterList is an array of \{ fieldName, fieldOperator?, fieldValue?: string[], fieldCondition? \}. Other keys pass through but only filterList is enforced. |
| `isDefault` | boolean | No | Make this the company default dashboard |

## Behaviour

The Speak AI MCP server publishes these behaviour hints for `update_dashboard`.

- Can change data in your workspace.
- Can delete or overwrite data. Use with care.
- Repeating an identical call can have an extra effect.
- Stays inside Speak AI. Does not reach other systems.

## Related

- [Dashboards](/mcp/tools/dashboards/) lists the rest of the Dashboards category.
- [Tool reference](/mcp/tools/) lists every Speak AI MCP server tool.
- [MCP server](/mcp/) covers setup, supported clients, and what agents can do once
  connected.

Source: https://docs.speakai.co/mcp/tools/dashboards/update_dashboard/index.mdx
