batch_read_gsheet_ranges
Read multiple ranges from a connected Google Sheet in a single API call. Returns the values for each requested A1-notation range. Target the sheet by source_name (from list_data_sources) OR spreadsheet_id. Requires at least Viewer role on the project. Returns: spreadsheet_id, ranges (list of {range, values}), sheet_url. On error: error, message, hint.
read-only · idempotent
Parameters
Section titled “Parameters”| Name | Type | Required | Default | Description |
|---|---|---|---|---|
project_name | Annotated[str, Field(description='Name of the Bridge Town project.')] | Yes | — | |
ranges | Annotated[list[str], Field(description="List of A1-notation ranges to read (e.g. ['Sheet1!A1:D10', 'Summary!B2:F20']).")] | Yes | — | |
spreadsheet_id | `Annotated[str | None, Field(description=‘Google Spreadsheet ID from the sheet URL.’)]` | No | None |
source_name | `Annotated[str | None, Field(description=‘Logical name for this Google Sheet data source, used in SQL queries.’)]` | No | None |
Returns
Section titled “Returns”Returns a structured object. Top-level fields:
spreadsheet_id(string)ranges(array<object>)sheet_url(string)
See the response example below for the full payload shape.
Example
Section titled “Example”Tool Call
Section titled “Tool Call”{ "name": "batch_read_gsheet_ranges", "arguments": { "project_name": "forecasts", "ranges": [ "Forecast!A1:B3", "Notes!A1" ], "spreadsheet_id": "1aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789ABCDEFG" }}Response
Section titled “Response”{ "spreadsheet_id": "1aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789ABCDEFG", "ranges": [ { "range": "Forecast!A1:B3", "values": [ [ "Month", "Revenue" ], [ "2026-01", 100 ], [ "2026-02", 110 ] ] }, { "range": "Notes!A1", "values": [ [ "Generated by run 66666666-6666-6666-6666-666666666666" ] ] } ], "sheet_url": "https://docs.google.com/spreadsheets/d/1aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789ABCDEFG/edit"}- Module:
Export to Sheets - Requires authentication via API token or Auth0 JWT.