How to connect Google BigQuery to OpenClaw
Connect Google BigQuery to OpenClaw with ClawLink in one click — 63 tools your AI agent can call from chat via hosted OAuth. No API keys, no manual setup.


Query and manage datasets, tables, and jobs in Google BigQuery. Once connected, OpenClaw can read and act on Google BigQuery from chat — pairing, token refresh, and tool wiring handled for you.
The usual route to Google BigQuery access for OpenClaw is an MCP server you configure and keep running, plus your own OAuth app or API keys. ClawLink gives OpenClaw a more practical Google BigQuery setup: install one ClawHub skill, connect Google BigQuery in the browser, and OpenClaw can call real Google BigQuery actions from any chat surface with no auth, token refresh, or tool wiring to build yourself.
Copy this prompt into OpenClaw, or open the Google BigQuery skill on ClawHub.
Before installing anything, inspect the ClawHub skill metadata and setup requirements.
If the skill asks you to install a third-party package or CLI, verify its source, maintainer, and package contents before running the install command.
Install the skill "Google BigQuery" (hith3sh/google-bigquery-workspace) from ClawHub only after those checks pass.
Skill page: https://clawhub.ai/hith3sh/google-bigquery-workspace
Keep the work scoped to this skill only.
After install, help me finish setup from verified skill metadata.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.Setup
It takes three steps to connect OpenClaw to Google BigQuery.
1Install the plugin
Paste the setup prompt into OpenClaw, or install from the terminal and ask OpenClaw to pair:
openclaw plugins install clawhub:clawlink-plugin- 2
Connect Google BigQuery
One-click OAuth in the dashboard.
- 3
Use it from chat
Ask OpenClaw: "What can you do with Google BigQuery?"
Install by command
The setup prompt above does all of this in one paste. By hand, it is one install command plus a browser approval:
openclaw plugins install clawhub:clawlink-pluginThen ask OpenClaw to set up ClawLink. It starts browser pairing and prints an approval link — open it, approve the device, return to the chat, and say done. Finally, connect Google BigQuery in the ClawLink dashboard — a one-click OAuth approval, no API keys.
Verify the connection by asking OpenClaw:
List my BigQuery datasets with googlebigquery_list_datasets, then show me the schema of <dataset>.<table> with googlebigquery_get_table_schema. Do not run a query yet.
Using a different agent?
The OpenClaw plugin is one client of ClawLink's MCP server. Claude Code, Cursor, Codex, or any agent that can run a shell command pairs with the same ClawLink account through the CLI:
npx -y @useclawlink/cli loginlogin opens the same browser approval and stores a credential locally. Once Google BigQuery is connected in the dashboard, that agent calls the same 63 Google BigQuery tools over MCP. Full setup for MCP clients and shell agents: connect apps to any AI agent.
Google BigQuery MCP for OpenClaw
Looking for a Google BigQuery MCP server for OpenClaw? ClawLink connects Google BigQuery to OpenClaw and exposes 63 Google BigQuery tools your agent can call over MCP, with hosted auth and nothing to run or maintain yourself. Using Hermes instead? The Hermes Google BigQuery integration works the same way.
The standard way to give an agent BigQuery is a service account: create it in Google Cloud, download a JSON key, put the file where the agent can read it, and keep it there. ClawLink connects through Google's own consent screen instead, so you approve once in the browser and OpenClaw can call the 63 BigQuery tools below with your account's existing project access. There is no key file, no GOOGLE_APPLICATION_CREDENTIALS to export, and nothing about BigQuery in openclaw.json. What does not change is BigQuery itself — the same IAM permissions and the same on-demand pricing apply to every query the agent runs.
What the OpenClaw Google BigQuery integration can do
63 Google BigQuery tools are ready for OpenClaw once the account is connected. The 30 below are the ones people reach for most; your agent can call all 63.
30 of 63 Google BigQuery tools for OpenClaw
| Tool | What it does |
|---|---|
Cancel job googlebigquery_cancel_job | Tool to cancel a running BigQuery job. This call returns immediately, and you need to poll for the job status to see if the cancel completed successfully. |
Create capacity commitment googlebigquery_create_capacity_commitment | Tool to create a new capacity commitment resource in BigQuery Reservation. Use when you need to purchase compute capacity (slots) with a committed period of usage for BigQuery jobs. |
Create connection googlebigquery_create_connection | Tool to create a new BigQuery connection to external data sources using the BigQuery Connection API. |
Create data exchange googlebigquery_create_data_exchange | Tool to create a new Analytics Hub data exchange for sharing BigQuery datasets. Use when you need to set up a container for data sharing with descriptive information and listings. |
Create dataexchanges listings googlebigquery_create_dataexchanges_listings | Tool to create a new listing in a BigQuery Analytics Hub data exchange. Use when you need to share a BigQuery dataset with specific subscribers or make it available for discovery. |
Create dataset googlebigquery_create_dataset | Tool to create a new BigQuery dataset with explicit location, labels, and description using the BigQuery Datasets API. |
Create listing googlebigquery_create_listing | Tool to create a new listing in a data exchange using Analytics Hub API. Use when publishing a BigQuery dataset to make it available for subscription by other users or organizations. |
Create locations datapolicies googlebigquery_create_locations_datapolicies | Tool to create a new data policy under a project with specified location using the v2beta1 BigQuery Data Policy API. |
Create query template googlebigquery_create_query_template | Tool to create a new query template in a BigQuery Analytics Hub Data Clean Room (DCR) data exchange. Use when you need to define predefined and approved queries for data clean room use cases. |
Create reservation googlebigquery_create_reservation | Tool to create a new BigQuery reservation resource to guarantee compute capacity (slots) for query and pipeline jobs. |
Create reservation assignment googlebigquery_create_reservation_assignment | Tool to create a BigQuery reservation assignment that allows a project, folder, or organization to submit jobs using slots from a specified reservation. |
Create routine googlebigquery_create_routine | Tool to create a new user-defined routine (function or procedure) in a BigQuery dataset. |
Get bigquery model googlebigquery_get_bigquery_model | Retrieve a specific BigQuery ML model resource by model ID |
Get connection iam policy googlebigquery_get_connection_iam_policy | Get the IAM access control policy for a BigQuery connection resource |
Get dataset googlebigquery_get_dataset | Retrieve BigQuery dataset metadata including location via the datasets.get API |
Get job googlebigquery_get_job | Retrieve information about a specific BigQuery job |
Get query results googlebigquery_get_query_results | Get the results of a BigQuery query job via RPC |
Get routine googlebigquery_get_routine | Retrieve a BigQuery routine (user-defined function or stored procedure) by its ID |
Get routine iam policy googlebigquery_get_routine_iam_policy | Retrieve the IAM access control policy for a BigQuery routine resource |
Get service account googlebigquery_get_service_account | Get the service account for a project used for interactions with Google Cloud KMS |
Get table iam policy googlebigquery_get_table_iam_policy | Retrieve the IAM access control policy for a BigQuery table resource |
Get table schema googlebigquery_get_table_schema | Fetch a BigQuery table's schema and metadata without querying row data |
List analytics hub listings googlebigquery_list_analytics_hub_listings | List all listings in a given Analytics Hub data exchange |
List big query connections googlebigquery_list_big_query_connections | List BigQuery connections in a given project and location |
List capacity commitments googlebigquery_list_capacity_commitments | List all capacity commitments for the admin project |
List dataexchanges listings googlebigquery_list_dataexchanges_listings | List all listings in a given Analytics Hub data exchange using the v1beta1 API |
List datasets googlebigquery_list_datasets | List datasets in a specific BigQuery project, including dataset locations |
List jobs googlebigquery_list_jobs | List all jobs that you started in a BigQuery project |
List locations googlebigquery_list_locations | List information about supported locations for BigQuery Data Transfer Service |
List locations connections googlebigquery_list_locations_connections | List BigQuery connections in a given project and location using the v1beta1 API |
Try it: find the Google BigQuery tool you need
Browse the 30 Google BigQuery tools
Click any tool to see exactly what OpenClaw can do and copy a ready-to-use prompt.
Example prompts
List my BigQuery datasets with googlebigquery_list_datasets, then show me the schema of <dataset>.<table> with googlebigquery_get_table_schema. Do not run a query yet.
Query <dataset>.<table> for the last 7 days, filtering on the partition column and selecting only <columns>. Show me the SQL first and tell me roughly how much data it will scan.
List recent jobs with googlebigquery_list_jobs, find the one still running, and use googlebigquery_get_job to report its state and bytes processed. Only cancel it with googlebigquery_cancel_job if I say so.
Use googlebigquery_get_query_results for job <job id> and give me the rows as a table with the numbers formatted readably.
How the BigQuery tools behave
Details that decide whether a BigQuery prompt is cheap and correct rather than expensive and wrong.
- Queries bill by bytes scanned. Filtering on the partition column and naming columns instead of using star is the difference between a trivial query and an expensive one. Say it in the prompt; the agent will not infer it.
googlebigquery_get_table_schemais the cheap first move. Reading a schema costs nothing next to discovering columns by querying, and it stops the agent guessing field names.- Jobs are asynchronous and each stage has a tool.
googlebigquery_list_jobs,googlebigquery_get_job,googlebigquery_get_query_results, andgooglebigquery_cancel_jobcover start, inspect, fetch, and stop. - Location matters. BigQuery resources are regional and a job issued against the wrong location fails rather than falling back;
googlebigquery_list_locationsexists for that. - The administrative tools are real writes. Reservations, capacity commitments, and connections change billing and infrastructure, not just data, and they inherit the connected account's IAM. Restrict at the account level if the agent should not reach them.
ClawLink vs. building it yourself
The alternative to ClawLink is usually manual OAuth app setup plus your own token handling, permission troubleshooting, and tool plumbing for OpenClaw. That is fine if you want to build and maintain the integration yourself. Most teams just want Google BigQuery working from chat.
| Manual | ClawLink | |
|---|---|---|
| Connection flow | Register a Google BigQuery app, configure redirect URLs, manage consent details, and reconnect users when auth settings drift. | Users connect Google BigQuery through the hosted browser flow and ClawLink keeps the token lifecycle out of your app code. |
| Ongoing maintenance | You own refresh logic, permission debugging, environment config, and every provider-specific edge case for Google BigQuery. | ClawLink handles the repetitive integration plumbing so your team can focus on the workflow instead of the infrastructure. |
| Agent usability | You still need to expose the right Google BigQuery actions to the runtime in a format your agent can reliably use. | 63 tools for Google BigQuery are already exposed through ClawLink, so the agent can read and act from chat immediately. |
ClawLink vs. Composio
Composio also exposes Google BigQuery to AI agents. It is developer infrastructure: Python and TypeScript SDKs, an MCP server, and a catalog past 1,000 apps, aimed at teams shipping agent products. ClawLink is built for OpenClaw users instead. You install the plugin once, connect Google BigQuery in the browser, and the 63 tools above work from chat. There is no SDK, no config file, and no API key handling. Choosing between them? Read the full Composio alternatives comparison.
Troubleshooting
OpenClaw installed the Google BigQuery skill but can't call the tools
The ClawHub skill teaches OpenClaw about Google BigQuery, but the calls run through the ClawLink plugin and your connected account. Make sure Google BigQuery is connected in the dashboard, then start a fresh chat so OpenClaw reloads the tool catalog. If OpenClaw runs as a persistent gateway, restart it so the new tools register.
Connection succeeds but no tools appear
Reconnect Google BigQuery from the dashboard, then start a fresh chat if the runtime still has the old tool catalog loaded.
"Tool schema not loaded yet" error when calling Google BigQuery tools
Google BigQuery tool schemas load on demand the first time a tool runs and are cached after that, so this error usually clears on its own: wait a few seconds and retry the same request. If every Google BigQuery call keeps failing with it in a fresh chat, reconnect from the dashboard, and contact support if it still persists — that pattern points to a configuration problem on our side, not something you can fix by reconnecting again.
Google BigQuery returns 403 or "permission denied" on one action while others work
Two usual causes. The connected account may not have access to the specific workspace, inbox, store, or project in the request — check that first. If access looks right, the agent may have sent a placeholder value (like "YOUR_ID" or an example id from documentation) instead of a real one: ask it to run a list or search tool first, then retry the action with a real id from those results. Most failures at this stage are one of these two, not ClawLink bugs.
BigQuery returns 403 "Access Denied" or "User does not have permission to query table"
BigQuery permissions are layered, and which layer failed tells you what to fix. Project-level access governs whether jobs can run at all; dataset-level and table-level access govern what those jobs may read. So an account that can run queries but cannot read one particular table produces exactly this error while everything else works, and the fix is granting access to that dataset in Google Cloud rather than reconnecting. Check the connected identity first, because if several Google accounts have access to the project, the one you approved may not be the one you had in mind. The remaining cause, which search results never mention, is a placeholder: a project or dataset id copied from documentation fails as a permission error rather than a not-found.
Ask the agent to diagnose it:
Run googlebigquery_list_datasets and tell me which project and datasets this connection can see, and which Google account it is acting as. Do not retry the failed query yet.BigQuery returns "Quota exceeded" or "Exceeded rate limits"
BigQuery enforces several distinct quotas and the message usually names the one you hit, so read it before retrying. Concurrent interactive queries, bytes scanned per day, and table update operations per day behave differently: a concurrency limit clears in seconds, while a daily bytes-scanned cap does not clear until its window rolls over. Retrying at once makes the first worse and does nothing for the second. The durable fix is query shape rather than pacing — filter on the partition column, name your columns, and have the agent read a table's schema with googlebigquery_get_table_schema before writing SQL against it instead of discovering the columns by repeatedly scanning.
Ask the agent to diagnose it:
Quote the exact quota name from the error, then show me the query you ran and which columns and partitions it touched. Do not re-run it yet."Tool schema not loaded yet" on the first BigQuery call in a session
Tool schemas load on demand rather than shipping with the plugin, so the very first BigQuery call in a fresh session can arrive before the catalog does. Wait a moment and retry and it normally clears. If every call fails in a brand-new chat, the connection itself needs attention and reconnecting from the dashboard is the fix. This differs from what most search results describe for this phrase, which is a local MCP server missing from a client config file — there is no local server here and no file to edit.
OAuth finished in the browser but the account is still missing
Try reconnecting Google BigQuery and complete the consent flow in the same browser session. Partial OAuth approvals or switching accounts mid-flow can leave the connection incomplete.
FAQ
Is there a OpenClaw Google BigQuery integration?
Yes. ClawLink is the fastest way to connect OpenClaw to Google BigQuery: link your Google BigQuery account once in the browser and OpenClaw can call the Google BigQuery API through 63 ready-made tools — no custom code or token handling.
How do I add Google BigQuery to OpenClaw with ClawLink?
Paste the setup prompt from this page into OpenClaw. It installs the ClawLink Google BigQuery skill from ClawHub, then you click Connect in the dashboard to authorize Google BigQuery. OpenClaw calls the tools from the next message — no config files or API keys to manage.
How long does it take to connect Google BigQuery to OpenClaw?
About two minutes. Sign in, click Connect next to Google BigQuery in the dashboard, authenticate, and OpenClaw can use it from the next chat message.
Why use ClawLink instead of wiring Google BigQuery up myself?
The alternative to ClawLink is usually manual OAuth app setup plus your own token handling, permission troubleshooting, and tool plumbing for OpenClaw. That is fine if you want to build and maintain the integration yourself. Most teams just want Google BigQuery working from chat.
Do I need a service account key file?
No, and skipping it is the main practical gain. The usual setup leaves a long-lived JSON credential sitting on whichever machine runs the agent — the thing security reviews object to and the thing that gets committed by accident. Here the connection uses Google's OAuth consent screen, the credential stays on the ClawLink server, and the agent acts with the access your own Google account already has in that project. Revoking is a click in the dashboard rather than hunting down a file.
Who pays for the queries the agent runs?
You do, and it is worth understanding the shape of that bill before letting an agent write SQL. BigQuery charges on-demand queries by the volume of data scanned, not by how long they run or how many rows come back, so a SELECT * against a large partitioned table can cost real money in seconds while looking like an innocent question. The habits that matter are the ordinary BigQuery ones: select named columns, always filter on the partition column, and ask the agent to show you the SQL before it runs anything exploratory. It will happily write the expensive version if nobody asks it not to.
Can it write, or only query?
Both, and the surface is wider than reporting: alongside queries and schema reads there are tools for creating datasets, routines, connections, reservations, capacity commitments, and data-exchange listings. That breadth is a reason to think about which Google account you connect, because the agent inherits that account's IAM permissions exactly. If it should not be able to create reservations, connect an account that cannot — IAM is the real control surface here, not the wording of your prompt.
Is it safe to connect BigQuery to an AI agent?
The connection is Google's own OAuth flow, so you approve it on Google's screen, no key file exists on your machine, and revoking from the ClawLink dashboard stops further calls. Two risks deserve planning beyond the mechanism. The first is cost rather than access — a badly shaped query is expensive rather than dangerous, and the habits above are the mitigation. The second is that query results become context the model reasons over, so if a table holds text written by other people, treat it as untrusted input before letting the agent act on what it read.
OpenClaw installed the Google BigQuery skill but can't call the tools
The ClawHub skill teaches OpenClaw about Google BigQuery, but the calls run through the ClawLink plugin and your connected account. Make sure Google BigQuery is connected in the dashboard, then start a fresh chat so OpenClaw reloads the tool catalog. If OpenClaw runs as a persistent gateway, restart it so the new tools register.