Hand OpenCode both BigQuery and Google Sheets and a spreadsheet becomes a control panel for your warehouse. It reads a provisioning plan from a sheet, creates the datasets, tables, and routines in BigQuery, then writes the results back so you can see what landed. Sheets is where people plan and track, and BigQuery is where the resources actually live. The agent moves between the two so a row in a sheet turns into a real table, and cleanups get logged as they happen.
Pick the operations you want and each becomes a tool the agent can call directly while it works.
Run a SQL query and return results inline (synchronous, bounded by timeout).
Page through the results of a (possibly async) query job.
Start a query / load / extract / copy job (async).
Fetch a job's status and statistics (poll until DONE).
List jobs in a project (filter by state, time range).
Request cancellation of a running job.
Delete a job's metadata.
List datasets in the project.
Fetch dataset metadata.
Create a new dataset.
Full replace of dataset metadata (PUT).
Partial update of dataset metadata (PATCH).
Delete a dataset.
List tables/views in a dataset.
Fetch table metadata/schema.
Create a table or view with a schema.
Partial update of a table (add columns, set expiration, etc.).
Full replace of table metadata (PUT).
Delete a table or view.
Streaming insert of JSON rows into a table (real-time append).
Read rows from a table directly (paginated, no SQL).
List stored procedures / UDFs / TVFs in a dataset.
Fetch a routine definition.
Create a stored procedure / UDF / TVF.
List BigQuery ML models in a dataset.
Fetch BQML model metadata.
Delete a BQML model.
Return the BigQuery service account for the project (KMS/transfer grants).
List projects the caller can access (for project picker UIs).
Restore a dataset within its time-travel window (datasets.undelete).
Replace a routine's full definition (routines.update, PUT).
Delete a routine (routines.delete).
Update mutable BQML model metadata (models.patch).
Get the IAM policy for a table (tables.getIamPolicy).
Set the IAM policy for a table (tables.setIamPolicy).
Test the caller's permissions on a table (tables.testIamPermissions).
List row access policies on a table (rowAccessPolicies.list).
Get a single row access policy (rowAccessPolicies.get).
Configuration for reading data from a Google Sheet
Configuration for writing data to a Google Sheet
Configuration for appending rows to a Google Sheet
Configuration for clearing values from a range
Configuration for creating a new spreadsheet
Configuration for getting spreadsheet metadata
Configuration for reading multiple ranges at once
Configuration for writing to multiple ranges at once
Configuration for adding a new sheet/tab
Configuration for deleting a sheet/tab
Configuration for copying a sheet to another spreadsheet
Configuration for renaming a sheet/tab
Configuration for duplicating a sheet within the same spreadsheet
Configuration for find and replace in a spreadsheet
Configuration for inserting rows
Configuration for deleting rows
Configuration for clearing multiple ranges at once
Configuration for inserting columns
Configuration for deleting columns
OpenCode is an open, model-agnostic command-line coding agent. In NoClick it runs hosted and gains your apps as tools, so it can act on real systems rather than just edit files. Wire an integration into the agent and OpenCode can use that app’s operations directly while it works. It is a flexible choice when you want an open agent with broad model support and real tool access.
NoClick runs OpenCode for you with Google BigQuery and Google Sheets wired in as tools. Connect your account and run.