Show a canvas
well_show_canvasShow one of the workspace's saved canvases as a board — the blocks it holds, at the positions its author put them, exactly as stored.
Answers with an ARRANGEMENT, not a measure. NO figure is resolved: every block that names a feed is a "figure" block carrying its source and binding and empty params, and tiles_resolved is false. A figure block stores no figure; the board is drawn with its figures by the resolve-board skill, which measures each block and calls well_render_canvas. Ask a KPI tool (well_render_cash_position, well_render_burn, well_render_runway) for one figure; ask this when the question is about a board the workspace saved.
WORKFLOW:
well_show_canvas() → the canvas the workspace touched most recently, plus every other canvas's name and id so a different one can be named.
well_show_canvas({ canvas_view_id }) → that canvas.
well_show_canvas({ origin_template: "investor-report" }) → the newest canvas built from that template. Provenance is not identity: a workspace may hold several from one template.
Add measuring: true to any of these when you read the board in order to measure it and draw it with well_render_canvas. The result is the same read.
Drawn from this read alone, every figure block shows that it is not resolved yet. A note ("text") carries its own words.
can_edit says whether this caller may change the board. Only its author, a workspace admin or the owner can; every other member reads it. When can_edit is false, do not offer to rearrange, rename, delete or share it: say who can change it, naming its author from author_name, and offer to ask them.
Do NOT use this to save, create or rearrange a board — that is well_upsert_canvas — and do not read first to look up a board you are about to create. Read only before an UPDATE, where well_upsert_canvas needs the version this read returns.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| measuring | No | Set true when this read opens the board in order to measure it, as resolve-board does. The board then draws read-only, each block in the shape it will take, while its figures are measured. It changes nothing in the result. | |
| workspace_id | No | Target workspace. Omit when the token authorizes one workspace. Required when it authorizes several: this read reports one workspace's own figures and will not choose which. | |
| canvas_view_id | No | The canvas to show. Omit to get the most recently updated one. | |
| conversation_id | No | The conversation id returned by the previous Well result, in its meta under well/conversation_id, in its structuredContent, or in its JSON text block. Pass it back on every call in the same conversation, including a call a card makes, so the chosen workspace and the earlier answers still apply. It decides the conversation on its own: nothing the host states about the session replaces it. Omit it only on the first call of a conversation. | |
| origin_template | No | Show the newest canvas built from this template. Provenance, not identity — several canvases may share one. | |
| workspace_scope | No | Restrict this call to the family: the token's primary workspace plus the company workspaces under it that you are a member of. Unrelated authorized workspaces drop out of the read; row reads merge across the family, while a per-workspace figure still reports exactly one workspace. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| error | No | ||
| tiles | No | ||
| success | Yes | ||
| version | No | ||
| can_edit | No | ||
| available | No | ||
| author_name | No | ||
| layout_mode | No | ||
| selected_by | No | ||
| grid_columns | No | ||
| canvas_view_id | No | ||
| tiles_resolved | No | ||
| conversation_id | No | The conversation this result belongs to. Pass it back as the conversation_id argument on every later Well call in the same conversation. | |
| newly_connected | No | Tools that connected to this workspace since the last result and that no session was told about yet, oldest first. Present only when at least one tool is new. The connected-line rule says when to tell an entry; when it does, one line per entry, in the person's language: "<name> is connected.". Never fold several entries into one sentence. Each entry comes back once, on one result only: never repeat its line later. | |
| origin_template_id | No | ||
| resolved_workspace | No | The workspace that answered, when the caller named none and the token authorizes several. | |
| conversation_id_note | No | Present only when the server opened a fresh lane, stating that no choice recorded earlier was read. | |
| conversation_id_source | No | Where the conversation id came from: the host's own request meta, the caller's argument, or a fresh lane the server opened. |