Setup guide · Google BigQuery
Connect your own BigQuery data to Dataki
Dataki reads BigQuery as a service account in your own project. Linking the project creates it, with two roles: read data, run queries. Every dataset in the project then becomes a source, and every question runs as a query in that project, billed to it like any other.
- Your Google Cloud project
- Dataki's service account
- Dataki
- Setup
- About 5 minutes.
- Access
- A service account named
Dataki, with BigQuery Data Viewer and BigQuery Job User on the project. It reads tables and runs queries; neither role can change your data. - Cost
- Queries are billed to your project at BigQuery's own prices. The first 1 TiB of queries each month is free.
- What it reads
- The tables and views of the datasets you ask about, nested fields and descriptions included.
01Before you start
- A Google Cloud project holding the datasets you want to ask about.
- A Google account that is Owner of that project, or holds all three of
Service Account Admin,Service Account Key AdminandProject IAM Adminon it. Editor is not enough on its own: it cannot change the project's IAM policy. - Owner or admin of the Dataki team the project is for. A linked project can be queried by everyone in the team.
02Set it up
3 steps, about 5 minutes
- 01
Let Dataki see your projects
Open app.dataki.ai/connect. If Dataki does not have access to your Google Cloud projects yet,
Linked Google Cloud Projectsasks for it: chooseConnect BigQueryand sign in with the Google account from above.Dataki uses that sign-in to list your projects and to link them. Questions never run as you: they run as the service account the next step creates.
- 02
Link the project
Choose
Link New Google Project. The list shows every active project the account can see; chooseLinkbeside the one that holds your data. Dataki then does three things in that project, with your sign-in:-
Creates a service account
Detail
dataki@<project-id>.iam.gserviceaccount.com, shown asDatakiunderIAM & Admin›Service Accounts. -
Grants it two roles
Detail
BigQuery Data Viewer, to read tables and their metadata, andBigQuery Job User, to run queries. Both on the whole project. -
Creates a key for it
Detail
Dataki encrypts the key with Google Cloud KMS before storing it, and uses it for every query. Linking the project again makes a new key and deletes the one it replaces.
- Google usually applies new roles within 2 minutes, sometimes 7 or more, so the datasets can take a few minutes to appear, and a first question straight after linking can be refused. Try again shortly.
- If linking fails with a permission error, the account is missing one of the roles above. If it fails at the key, your organization may block keys: see the last point under Worth knowing.
-
- 03
Ask about its datasets
Every dataset in the project becomes one of the team's sources, named after it; choose the ones a question is about. Each dataset is one source in Dataki, and the free plan includes one.
For each dataset, Dataki shows the model every table and view with its columns, nested fields included, the descriptions you gave them in BigQuery, and how a table is partitioned, so a query can filter on the partition column. Daily tables,
name_YYYYMMDD, are shown as one,name_*, with the full range of days.
03Check it
Make sure it is right
Run the first two in the BigQuery console of the project you linked. The last two are first questions to ask Dataki, answered here from thelook_ecommerce, Google's public sample of a fictitious online shop, so they run as they are.
Which tables will Dataki see?
One dataset at a time. Dataki lists the same tables and views, with daily tables folded into one.
SELECT table_name, table_type
FROM `your-project.your_dataset.INFORMATION_SCHEMA.TABLES`
ORDER BY table_name What have Dataki's queries scanned this month?
Every query Dataki runs is a job of its service account. Replace region-eu with your datasets' location, e.g. region-us. The view needs a role that sees every job in the project, such as Owner, or BigQuery User with BigQuery Resource Viewer, and keeps 180 days of history.
SELECT
DATE(creation_time) AS day,
COUNT(*) AS queries,
ROUND(SUM(total_bytes_billed) / POW(1024, 3), 2) AS gib_billed
FROM `region-eu`.INFORMATION_SCHEMA.JOBS
WHERE user_email = 'dataki@your-project.iam.gserviceaccount.com'
AND job_type = 'QUERY'
AND creation_time >= TIMESTAMP(DATE_TRUNC(CURRENT_DATE(), MONTH))
GROUP BY day
ORDER BY day Which categories brought in the most in the last 90 days, and at what margin?
SELECT
p.category,
ROUND(SUM(oi.sale_price), 2) AS revenue,
ROUND(SUM(oi.sale_price - p.cost), 2) AS margin
FROM `bigquery-public-data.thelook_ecommerce.order_items` AS oi
JOIN `bigquery-public-data.thelook_ecommerce.products` AS p ON p.id = oi.product_id
WHERE oi.status = 'Complete'
AND oi.created_at >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 90 DAY)
GROUP BY p.category
ORDER BY revenue DESC
LIMIT 10 How many orders and customers did we have each month this year?
SELECT
DATE_TRUNC(DATE(created_at), MONTH) AS month,
COUNT(*) AS orders,
COUNT(DISTINCT user_id) AS customers
FROM `bigquery-public-data.thelook_ecommerce.orders`
WHERE status NOT IN ('Cancelled', 'Returned')
AND created_at >= TIMESTAMP(DATE_TRUNC(CURRENT_DATE(), YEAR))
GROUP BY month
ORDER BY month Once Google BigQuery is connected, you can ask it questions from your AI assistant through Dataki's MCP server:
04Worth knowing
What you will run into
- One project and one location per question
- A question can join datasets of one project, not of two, and not BigQuery with a database: Dataki refuses a query that mixes them, so ask each separately. BigQuery also runs a query where its tables are, so by default a query over datasets in two locations fails, and a dataset's location cannot be changed once it exists. Keep the datasets you want to ask about together, e.g. all in
EU. - The service account can read the whole project
- Its roles are granted on the project, so it can read every dataset in it, not only the ones you ask about. Keep data nobody should query from Dataki in a separate project.
- Unlinking leaves the service account in place
- Unlinking a project in Dataki removes it from the team. The
datakiservice account and its key stay in your project, and other teams linked to the project keep querying with them. To cut Dataki off, delete the service account, or its keys, underIAM & Admin›Service Accounts. - Queries are billed to your project
- Dataki runs each query in the project that holds the data, and Google bills that project for it. The first 1 TiB of queries each month is free. A question that names a period lets the query read only those days, which is what keeps it small.
- Put a ceiling on what it scans
- Dataki sets no limit on the bytes a query in your project may scan. BigQuery's custom quotas do:
QueryUsagePerDaycaps the whole project, andQueryUsagePerUserPerDaygives every user and service account, Dataki's included, the same daily allowance of its own. Set them underIAM & Admin›Quotas & System Limits, filtered to the BigQuery API. - Your organization may block the key Dataki needs
- Linking a project creates a key for the
Datakiservice account. Google Cloud organizations created on or after 3 May 2024 block key creation by default, through theiam.disableServiceAccountKeyCreationpolicy. If linking fails there, an organization admin can lift that policy for this one project. Projects outside an organization are not affected.
Checked against
- BigQuery: IAM roles and permissions
- IAM: create service accounts
- IAM: create and delete service account keys
- IAM: manage access to projects
- IAM: how long access changes take
- IAM: delete service accounts
- BigQuery: run a query, and where it runs
- BigQuery: dataset locations
- BigQuery: INFORMATION_SCHEMA.TABLES
- BigQuery: INFORMATION_SCHEMA.JOBS
- BigQuery: custom query quotas
- BigQuery pricing
- Google Cloud: security baseline for new organizations
Last checked 26 September 2026.
Free while we are in beta
Connect Google BigQuery. Ask it something.
Once the data is where Dataki can read it, the first answer is a question away, and anything worth keeping becomes a dashboard with a link that stays live.
- One data source
- Free tier. Connect a second on any paid plan.
- Read-only
- Every query runs read-only. Dataki cannot change your data.
- No card
- There is nothing to cancel if you stop.