publish_run_output_to_google_sheet
Preview a bounded model-run output for an explicit Google Sheet destination; write only when confirmed=true.
Parameters
Section titled “Parameters”| Name | Type | Required | Default | Description |
|---|---|---|---|---|
model_name | Annotated[str, Field(description='Name of the Bridge Town model.')] | Yes | — | |
run_id | Annotated[str, Field(description='UUID of a successful model run.')] | Yes | — | |
output_name | Annotated[str, Field(description='Named output artifact to publish.')] | Yes | — | |
mode | Literal['replace', 'append'] | No | 'replace' | |
spreadsheet_id | `Annotated[str | None, Field(description=‘Explicit Google Spreadsheet ID; provide this or source_name.’)]` | No | None |
source_name | `Annotated[str | None, Field(description=‘Explicit connected Sheet data-source name; provide this or spreadsheet_id.’)]` | No | None |
cell_range | `Annotated[str | None, Field(description=‘Required explicit A1 destination for replace mode.’)]` | No | None |
sheet_name | Annotated[str, Field(description='Explicit destination tab for append mode.')] | No | 'Sheet1' | |
confirmed | Annotated[bool, Field(description='Set true only after reviewing the bounded preview.')] | No | False | |
preview_rows | Annotated[int, Field(ge=1, le=100)] | No | 20 | |
skip_header | bool | No | False | |
workspace_id | `Annotated[str | None, Field(description=WORKSPACE_ID_FIELD_DESCRIPTION)]` | No | None |
Returns
Section titled “Returns”Returns a structured object. Top-level fields:
mode(string)source_name(string)cell_range(string)preview(array<array<string>>)preview_rows(integer)preview_truncated(boolean)confirmed(boolean)rows_to_write(integer)
See the response example below for the full payload shape.
Example
Section titled “Example”Tool Call
Section titled “Tool Call”{ "name": "publish_run_output_to_google_sheet", "arguments": { "model_name": "forecasts", "run_id": "66666666-6666-6666-6666-666666666666", "output_name": "forecast.json", "source_name": "forecast_board", "mode": "replace", "cell_range": "Forecast!A1", "confirmed": false, "preview_rows": 20 }}Response
Section titled “Response”{ "mode": "replace", "source_name": "forecast_board", "cell_range": "Forecast!A1", "preview": [ [ "Month", "Revenue" ], [ "2026-01", 100 ] ], "preview_rows": 2, "preview_truncated": false, "confirmed": false, "rows_to_write": 2}- Module:
Google Sheets - Requires authentication via API token or Auth0 JWT.