Databases & CRM
Set up Google BigQuery
Connect a BigQuery dataset with a service-account key. Every table becomes a searchable entry — columns, types, sample values, relationships — and tables with a declared primary key also become records with their figures totalled exactly. Read-only by scope and by construction.
Before you start
- A service account — Google Cloud console → IAM & Admin → Service accounts — granted BigQuery Data Viewer and BigQuery Job User: read and run-query rights, never write.
- A JSON key for that account (the account → Keys → Add key → Create new key → JSON) — you paste the whole downloaded file in, braces included.
- The project ID (the lower-case, dash-separated one, not the display name) and the dataset name.
- Documents → Google BigQuery: enter Project ID and Dataset, and paste the whole downloaded file into Service account key (JSON).
- Set Location, under Advanced, only if queries fail with a location error — BigQuery routes by dataset location automatically in almost every setup.
- Optionally narrow with Only these tables or Skip these tables.
- Choose access groups, Test, then Sync.
What comes in
- Every table as a searchable entry — schema, column types and what it links to. BigQuery bills a read the same whatever the row count, so a table's entry here never carries sample values — schema and counts only, never a scan.
- Tables with a declared primary key also become one record per row, with parent names and an exact summary of child facts — declared, unenforced keys are commonly left off analytics datasets, so a table without one still shows up, just without records.
| Location | Only needed for a dataset outside BigQuery's default location — set it when queries fail with a location error (EU, US, europe-west3…). |
|---|---|
| Only these tables | Allow-list, one table per line; blank reads the whole dataset. |
| Skip these tables | The opposite — read every table except these. |
Access
Visible only to the access groups chosen on the source — BigQuery's own IAM roles aren't read row by row; the service account's grants only cap what the connector can reach at all.
BigQuery itself refuses — before running, at no cost — any single read that would bill more than around 250 MB, which is generous for the metadata and capped record reads this connector issues; a table wide or large enough to cross that keeps its schema-level entry but skips records for that sync, with a note saying so. Records are otherwise capped at the newest 5,000 rows per table.
Last updated 20 Sep 2026