BigQuery
Connect Google BigQuery with OAuth or a service account.
Reads tables and views. Two auth methods: OAuth (per user) and service account (production).
OAuth is currently pending Google verification. Until verification lands, OAuth sign-in is disabled for users outside Flitch. Use service account in the meantime.
Data connections
BigQuery works without workspace setup. A workspace admin can optionally pre-register a shared service account JSON at Settings → Data connections so team members don't need to paste it per connection.
Add a source
Each team member can add a BigQuery connection from the Data page. Sign in with Google for OAuth, or paste a service account JSON.
Open the form
Go to Data → Add → BigQuery, pick OAuth.
Enter the project ID
The Google Cloud project containing your datasets.
Optional fields
Dataset scopes visibility to one BigQuery dataset. Location sets region. Both default to autodetect.
Sign in with Google
Approve the standard BigQuery read scopes.
Pick datasets
Tick the tables and views to expose.
OAuth uses your Google account's BigQuery permissions.
Create a service account
In Google Cloud Console: IAM & Admin → Service Accounts → Create service account.
Grant roles
- BigQuery Data Viewer (read data).
- BigQuery Job User (run queries).
- BigQuery Metadata Viewer (optional, browse schemas).
For tighter scoping, grant only on specific datasets instead of project wide.
Create a JSON key
Download the .json key file.
Connect in Flitch
Go to Data → Add → BigQuery, pick Service account:
- Project ID.
- Credentials JSON: paste the
.jsoncontents. - Dataset, Location: optional.
Test and save
JSON key encrypted at rest.
Datasets
In BigQuery, a "dataset" is a collection of tables. In Flitch, each table or view becomes one dataset.
Refresh
Refresh is off by default. Every dashboard load runs a live query. Enable refresh to schedule a background refresh and serve from cache between runs. See Refresh.
BigQuery charges per byte scanned. Longer refresh intervals cut cost directly.
Partitioned and clustered tables
Both supported. Flitch passes partition filters when the dashboard's date range is known.
Troubleshooting
Permission denied. Service account missing a role, or OAuth user lacks access. Re-check IAM bindings.
Quota exceeded. Reduce refresh frequency or upgrade BigQuery quota.
Slow first query. BigQuery cold starts on small queries occasionally; subsequent queries hit cache.