Google BigQuery
Bring your business data together in Google BigQuery, and act on it in the apps your team already uses.
22 ways to read, 6 ways to write, each write switched on by you.
Quality checks
Built and tested with example responses.
- Ready to connect: doneEvery listed action is built in.
- Built and tested with example responses: doneEach action is built from the provider’s published API and tested against example responses, errors, rate limits and paging.
Connected, approved, proven.
The things teams do most with Google BigQuery, an example flow with a person in the loop, and what Nexra keeps as proof.
Top actions
- Create dataset
datasets.createApproval by rule - Stream row (insertAll)
rows.createApproval by rule - List capacity commitments
capacity_commitments.listRead
Example flow
- Google BigQuery · List capacity commitments
capacity_commitments.listDone - Google BigQuery · Create dataset
datasets.createMaker-checker - Nexra · Record the decision and result in the evidence chainProven
Example workflow. Routine runs go through on their own. Only a change your rules flag, such as one over a limit you set, waits for the right person, who sees the exact change and the rule before it reaches Google BigQuery.
What gets logged
- Whether it ran on its own or who approved it, and under which rule
- A fingerprint of the exact request sent to Google BigQuery
- Google BigQuery's reply: what it created or changed
- One entry in the evidence chain, linked to the one before
Try this in the sandbox
Run the whole flow with test data in your sandbox, then connect a Google Cloud test account before you go live.
For developers
Technical detail
Projects, datasets, tables, views, routines, ML models, row policies, reservations, free table reads, parameterised queries, MERGE upserts, streaming inserts and job costs.
Google Cloud API docs- Source actions
- 22
- Destination actions
- 6
- Data types
- 15
What you can map
Reads are always available. Writes are off until you switch them on for a connection, and governed writes follow your policies.
capacity commitments1
- List capacity commitmentsSource
Lists slot capacity commitments (purchased slots) in a project location.
columns1
- List columnsSource
Lists a table's columns (top-level schema fields) from table metadata.
datasets4
- Create datasetDestinationProvider duplicate protectionApproval before production
Creates an empty dataset (datasets.insert). The dataset ID is unique per project.
- Get datasetSource
Reads dataset metadata.
- List datasetsSource
Lists datasets in the project.
- Update datasetDestinationProvider duplicate protectionApproval before production
Patches a dataset's friendly name, description, labels or default expirations (datasets.patch).
jobs2
- Get jobSource
Reads a job's state and statistics.
- List jobsSourceIncremental
Lists query, load and copy jobs with bytes processed and billed (cost monitoring).
models2
- Get modelSource
Reads a BigQuery ML model's type, feature and label columns and training runs.
- List modelsSource
Lists BigQuery ML models in a dataset.
projects1
- List projectsSource
Lists projects the credential can use with BigQuery.
query results1
- List query resultsSource
Pages through the results of a finished query job (jobs.getQueryResults), for example one that outlasted a search.
reservation assignments1
- List reservation assignmentsSource
Lists which projects, folders or organizations use a reservation (use - for every reservation in the location).
reservations2
- Get reservationSource
Reads one slot reservation.
- List reservationsSource
Lists slot reservations in a project location (BigQuery Reservation API).
routines2
- Get routineSource
Reads a routine's arguments, return type and body.
- List routinesSource
Lists user-defined functions, table functions and stored procedures in a dataset.
row access policies1
- List row access policiesSource
Lists a table's row-level security policies and their filter predicates.
rows3
- Stream row (insertAll)DestinationNot retried automaticallyApproval before production
Streams one row with tabledata.insertAll. BigQuery uses insertId for best-effort de-duplication of retried inserts.
- Search table rowsSourceIncremental
Runs a generated, parameterised GoogleSQL SELECT (validated columns, filters, updated-since and LIMIT) with jobs.query.
- Upsert rowDestinationNot retried automaticallyApproval before production
MERGEs one row into a table by key columns with named query parameters (DML).
table rows1
- List table rows (no query)Source
Pages through table storage with tabledata.list; not billed as a query. Values come back in schema order.
tables4
- Create tableDestinationProvider duplicate protectionApproval before production
Creates an empty table with a column schema, optional day/hour partitioning and clustering (tables.insert).
- Get tableSource
Reads table metadata including its schema, row count and partitioning.
- List tablesSource
Lists tables and views in a dataset.
- Update tableDestinationProvider duplicate protectionApproval before production
Patches a table's description, labels, expiration, partition filter requirement or schema (tables.patch).
views2
- Get viewSource
Reads a view or materialized view including its SQL definition and refresh settings.
- List viewsSource
Lists views and materialized views in a dataset (tables.list filtered by type).
Access and limits
- Authentication
- Service account key or OAuth client refresh token
- Plans and access
- Any Google Cloud project with the BigQuery API enabled (on-demand or capacity pricing). IAM roles apply (BigQuery Job User plus Data Viewer or Data Editor on the datasets). Queries are billed to the connection project.
- Test environment
- The BigQuery sandbox gives free monthly storage and query quota without billing.
- Rate limits
- Per-project API request quotas, concurrent query limits and streaming insert quotas; quota errors return HTTP 403/429 with rateLimitExceeded.
- Pagination
- pageToken for metadata, jobs, query results, table data and reservations; generated LIMIT/OFFSET for searches.
- Provider events
- None (Pub/Sub notifications are configured separately). Flows run on demand, on a schedule, or when a scheduled check finds new or changed records.
Before you build a flow
- Free-form SQL is not accepted; only generated SELECT and MERGE statements with named parameters run.
- Searches, MERGE upserts and streaming inserts are billable and are not retried automatically.
- Queries wait up to 45 seconds; longer jobs return a job ID to inspect with jobs.get.
- tabledata.list returns cells in schema order without column names; use columns.list to label them.
- Domain-scoped project IDs (example.com:project) are not supported.
- Reservations, assignments and capacity commitments use the BigQuery Reservation API (https://cloud.google.com/bigquery/docs/reference/reservations/rest) with the same bigquery OAuth scope; they are read-only.
- The Storage Write API is gRPC-only, which the Nexra recipe runtime cannot call; row writes use insertAll streaming and DML MERGE instead.
- Views, materialized views, routines and models are read-only because creating them needs free-form SQL.
- Intentionally excluded: deleting or undeleting datasets, tables, routines, models and row access policies; cancelling or deleting jobs; changing IAM policies or dataset access; creating, changing or deleting reservations, assignments and capacity commitments (they change slot spend).
Developer reference
- Create the Google Cloud credentials described above with the narrowest permissions your flows need.
- In Nexra, open Connect, then Connections, then New connection, choose Google BigQuery, enter its settings and credentials, and tick only the write actions you need. Connection guide
- Test the connection, then use its actions as flow sources and destinations. Flow guide
Machine-readable detail: GET /api/public/connect/connectors/bigquery and the Connections API.