BigQuery Data Ingestion
Last updated: May 27, 2026
Overview
This document explains how to grant Unwrap access to your BigQuery data and thereafter, how to configure the BigQuery integration inside Unwrap. We use Google Cloud service accounts to securely access only the specific data you authorize.
Step 1: Grant Access to Our Service Account
Log in to your Google Cloud Console at https://console.cloud.google.com/
Navigate to BigQuery by clicking on "BigQuery" in the navigation menu
Find the dataset you want to share in the Explorer panel
Click on the dataset name to open it
Click on "SHARE DATASET" button at the top
In the "Add principals" field, enter our service account email:
unwrap-data-read@bigqueryconnector-452922.iam.gserviceaccount.comSelect the appropriate role:
BigQuery Data Viewer - For read-only access
Click "Add" and then "Done"
Step 2: Specify Tables or Views (Optional)
Give Unwrap access to the tables or views you want to analyze.
Option A: Share Individual Tables
In BigQuery, navigate to the specific table you want to share
Click on the table name, then select "Share" from the actions menu
Add our service account email and assign the appropriate permission
Repeat for each table you want to share
Option B: Create and Share Views (Recommended for Sensitive Data)
Create a view that exposes only the data you want to share:
sql CREATE VIEW `your-project.your_dataset.your_view_name` AS SELECT column1, column2, ... FROM `your-project.your_dataset.your_table` WHERE [optional filtering conditions];Share only this view with our service account following Step 1 above
This ensures we can only see the specific data defined in the view
Step 3: Configure the integration in Unwrap
3.1 Create the integration
In Unwrap, go to Integrations.
Select BigQuery.
Enter an Integration name (for your team’s reference).
Fill in the fields described below, then click Validate, then Submit.
Your Unwrap contact will provide Account Identifier if you do not already have it (for example bigqueryconnector-452922). Use the value Unwrap gives you.
3.2 Choose how to read your data
Use either of the following approaches (choose exactly one):-
Fill Table ID and leave SQL Query empty, or
Fill SQL Query and leave Table ID empty.
Option A: Table ID
Choose this when your table already has:
a feedback text column,
a real date or timestamp column Unwrap can sort on, and
a unique ID per row.
You enter the table name and column names from BigQuery. Unwrap reads the table for you.
Option B: SQL Query (using custom SELECT)
Choose this when:
the table has no suitable date column,
you use a view or need filters or joins, or
you want full control over what is selected.
Here, you write a full BigQuery SELECT in SQL Query. Use AS to name result columns, then enter those same names in Entry Column, Date Column, and Unique ID Column. You leave Table ID as empty in this option.
Example SQL Query:
SELECT
comment AS entry,
CAST(reviewDt AS TIMESTAMP) AS date,
recordId AS id
FROM `project.dataset.table`
WHERE CAST(reviewDt AS TIMESTAMP) >= <dateLowerBoundTimestamp>
ORDER BY date DESCMatching fields in Unwrap for this example
Entry Column:
entryDate Column:
dateUnique ID Column:
idSQL Query: paste the query above
Table ID: leave empty
If your table does not have any date column, define a synthetic date column in the above SQL query, for example, replace CAST(reviewDt AS TIMESTAMP) AS date with CURRENT_TIMESTAMP() AS feedback_date in above, and then set the Date Column to feedback_date.
Optional: limit imports by date (for the SQL Query only)
You may add these placeholders in your WHERE clause. Unwrap replaces them with timestamps when the query runs:
<dateLowerBoundTimestamp>— rows on or after this time<dateUpperBoundTimestamp>— rows on or before this time
Tips
Placeholders are optional. If you omit them, your query runs as written.
For
DATEcolumns, cast before comparing, e.g.CAST(reviewDt AS TIMESTAMP) >= <dateLowerBoundTimestamp>.Do not add
LIMITorOFFSETunless Unwrap support asks you to, as Unwrap handles pagination.
3.3 Validate and Submit
Click Validate to test access and configuration.
If validation succeeds, click Submit.
The first import may take some time before data appears in Unwrap.
If validation fails, check if:
The service account has access (Steps 1–2).
Exactly one of Table ID or SQL Query is filled.
Column names match the table (Table ID mode) or your
SELECTaliases (SQL Query mode).Date Column exists on the table (Table ID mode) or is defined in your
SELECT(SQL Query mode).
Else, please contact Unwrap Support.
Security Information
Our service account will only have access to the specific datasets, tables, or views you explicitly share
Access can be revoked at any time by removing our service account from the permissions list
All data access is logged in your Google Cloud audit logs
For questions about security, please contact contact@unwrap.ai
Need Help?
If you have any questions or encounter any issues while setting up access, please contact us (contact@unwrap.ai).