pin-to-workspacefreeStored Metrics & ReportingPin To Workspace Tool
Append a block (text, callout, metric tile, chart, data table, AI summary, section divider, or site reference) to a workspace canvas. Returns the full canonical block + workspace metadata so you have read-after-write inside the same turn — no follow-up get-workspace needed to confirm. Pinned blocks land in pending-review state for the user to keep or discard.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| workspace_slug | string | required | The slug of the workspace to append to. Get from the user or list workspaces first. |
| kind | string | required | Block kind. One of: 'text', 'callout', 'metric_tile', 'chart', 'data_table', 'ai_summary', 'section_divider', 'site_reference', 'gbp_post', 'image', 'local_grid_map'. |
| payload | object | required | Kind-specific payload. text/callout/ai_summary expect { text }; metric_tile expects { value, label }; chart expects { type, label, x_key, y_key } with source.snapshot_data as an array of objects whose keys include x_key and y_key; data_table expects { columns } with source.snapshot_data as an array of rows whose keys match the lowercase form of columns; section_divider expects { label, columns? (1-4) }; image expects { url, alt? }; local_grid_map expects { grid_sync_id } pointing at a local_maps_grid_syncs row (run sync-local-maps-grid first, then poll get-local-maps-grid-history to confirm status=complete before pinning); site_reference expects { site_id, snapshot?: { name, domain, health_score?, badge_state? } }. |
| source | object | optional | Optional data binding for live/snapshot blocks: { tool, params, mode: live|snapshot, snapshot_data?, snapshotted_at? }. |
Plan access
Available on the free tier and above. Live tools draw from your team's monthly credit budget at parity with upstream API cost (1 credit ≈ $0.001).
See plans