Review and apply dashboard changes
Agents edit a dashboard’s shared draft, not the dashboard everyone sees. You review what changed, then apply it or discard it. Applying or discarding needs the Explorer role or higher; see Workspace roles.
Review and apply a draft
Section titled “Review and apply a draft”- Open the dashboard. When its draft has unapplied changes, open More actions and choose Review draft. You can also choose Review draft under Needs attention on Overview, or Draft has changes next to the dashboard in Dashboards.
- Read the line under the title. It shows the draft revision and, when there are unapplied changes, who last changed the draft, through which app, and when, for example Revision 4 · Unapplied changes · Sam Kim via Claude · 10 minutes ago.
- Check the preview. Widgets the agent adds or changes appear there as the draft updates. Refresh runs the draft’s queries again; to rerun one widget, open its ⋯ menu and choose Refresh this widget. Preview inputs don’t change the live dashboard.
- Choose Apply. The line under the title confirms Applied. Everyone now sees revision with the new number; select View dashboard to open it. To leave without applying, open the dashboard from Dashboards.
- Open results for the new definition with Run again or Change inputs. Results that were already open keep the definition they opened with.
Tell your agent the change and ask it to preserve unrelated work. For example:
Rename Revenue overview to Sales overview in the Analytics workspace.Inspect the dashboard and its shared draft first, show me the change,and leave the draft ready for review without applying it.The agent discovers the Workspace, reads workspace, and follows availableOperations to list dashboards. It reads the exact returned dashboard path and describes the advertised draft start entry with monomer_describe before constructing inputs. Starting a draft returns the existing shared draft if one exists, so the agent reads result.path before changing anything. Creating a new draft starts its queries; editing the draft reconciles affected queries automatically. The agent applies a focused edit against the latest draft revision, reads the draft’s readyResults, and follows their QueryRun paths and advertised result READ operations to verify completed results before you apply. Use the advertised draft refresh action when fresh data or a retry is needed. Viewer Sessions instead return a queryRuns selection map from resolve or refresh.
To write or replace CHART module.source, read Write a dashboard chart source. It documents defineChart, the result-row contract, runtime constraints, and minimal line and big-number examples. To lay out a TABLE as a cross-tab or add its totals, read Build a dashboard pivot table. To color, label, or annotate TABLE cells with module.source, read Format dashboard table cells.
Call monomer_invoke to start the draft. Supply required parameter values for dashboards that declare them; this example has none. Replace the workspace ID, dashboard ID, and revisions with values from actual responses.
monomer_invoke input
{ "workspaceId": "0198ef28-2000-7000-8000-000000000001", "path": "workspace/dashboards/0198ef28-2000-7000-8000-000000000003/draft", "action": "start", "input": {"kind": "DASHBOARD_DRAFT_START", "parameterBindings": {}}}Read the returned draft and send its EDIT and apply entries together to monomer_describe. EDIT has no inputKind; its path determines the schema. Use the draft’s current revision in monomer_edit, keeping revision and patch at the top level:
monomer_edit input
{ "workspaceId": "0198ef28-2000-7000-8000-000000000001", "path": "workspace/dashboards/0198ef28-2000-7000-8000-000000000003/draft", "revision": "3", "patch": [{"op": "replace", "path": "/definition/meta/title", "value": "Sales overview"}]}Read the edit’s result.path for the current draft revision and next operations. When you ask it to apply the reviewed draft, the agent calls monomer_invoke with that revision:
monomer_invoke input
{ "workspaceId": "0198ef28-2000-7000-8000-000000000001", "path": "workspace/dashboards/0198ef28-2000-7000-8000-000000000003/draft", "action": "apply", "input": {"kind": "DASHBOARD_DRAFT_APPLY", "expectedRevision": "4"}}A draft read returns lastEditedBy, lastEditedAt, lastEditSurface, and lastEditAgentApp, so the agent can tell you who changed the draft before you apply or discard it.
To check progress without reading the whole definition, the agent reads the draft’s advertised status path. It returns the draft revision, the state of each query’s current run, and the same readyResults as the draft.
Watch the draft in chat
Section titled “Watch the draft in chat”In clients that support MCP Apps, such as Claude on the web, the agent can open a live view of the draft in the conversation. As soon as the draft exists, right after starting it and before the first edit, it calls monomer_show once:
monomer_show input
{ "workspaceId": "0198ef28-2000-7000-8000-000000000001", "path": "workspace/dashboards/0198ef28-2000-7000-8000-000000000003/draft"}The view updates within a few seconds after each edit and when queries finish. Review and apply still happen in the app or through the agent. In other clients, monomer_show returns a link to the draft in Monomer. See MCP tools.
Discard unapplied changes
Section titled “Discard unapplied changes”Discarding drops everything the draft changed since the last apply. The draft returns to the dashboard everyone sees now, and people viewing it are unaffected. Discarding can’t be undone.
In Review draft, choose Discard changes, then confirm. Choose Keep changes to go back.
The agent reads the draft and passes its advertised discard entry to monomer_describe before constructing the input. It then calls monomer_invoke with the draft’s current revision:
monomer_invoke input
{ "workspaceId": "0198ef28-2000-7000-8000-000000000001", "path": "workspace/dashboards/0198ef28-2000-7000-8000-000000000003/draft", "action": "discard", "input": {"kind": "DASHBOARD_DRAFT_DISCARD", "expectedRevision": "4"}}Inputs that the applied dashboard still declares keep their draft values. If an applied input no longer has a value in the draft, the request is rejected; restore that input in the draft, then discard again.
If something goes wrong
Section titled “If something goes wrong”If a revision conflict occurs, someone changed the shared draft. Read it again, compare the new content with the intended change, and submit a reviewed edit against the new revision. Do not guess a later number or replace the whole draft to force the edit through.
If a changed query fails, inspect its error and correct the query or inputs. If execution succeeds but the result can’t be read, check your Workspace role and warehouse access. Continue with View, filter, and refresh. For recurring execution, schedule the dashboard through the same draft and apply.