Google BigQuery Integration

Integrate Toolio with your Google BigQuery data warehouse

Updated over a week ago

Toolio can integrate directly with your Google BigQuery dataset. Please see below for the details to facilitate BigQuery integration.

Table Naming Conventions
You will need to set up a table in your BigQuery dataset for each Toolio core model. Below are the required table names:

Data Model

Table Name







Purchase Order


Receipt (if applicable)


Required Table Schema

You can think of each column on your table corresponding to an attribute on Toolio’s data models. Column names should be the same as the slugs. Please see core model documentation for the column types you should use.

Creating a Service Account for Toolio and Sharing Access

Toolio will require the following credentials in order to integrate with your BigQuery project:

  • Dataset Id (Dataset name)

  • From JSON KEY:

    • Account Type

    • Project Id

    • Private Key Id

    • Private Key

    • Client Email

    • Client Id

    • Auth URI

    • Token URI

    • Auth Provider x509 Cert URL

    • Client x509 Cert URL

In order to capture these credentials, you will need to create a Service Account for Toolio. Please see steps below:

  1. Navigate to IAM & Admin > Service Accounts in your Google Cloud Platform

  2. Click Create Service Account

  3. Enter Service Account details:

    1. Service account name: Toolio

    2. Service account ID: Toolio

  4. Grant Access to Project as BigQuery Admin

  5. Once the Toolio service account is created, click on the Actions menu (3 dots) and select Manage Keys

  6. Click the ADD KEY menu and select Create new Key

  7. Create the private key for the Toolio service account as a JSON file.

All of the credentials above except Dataset Id will be stored in the JSON key created for the Toolio Integration Service Account. You can find the Dataset Id in your BigQuery workspace directly.

Please follow instructions outlined here to share your integration credentials securely with the Toolio team.

Pagination & UpdateAt Field

If possible, make sure to add an updatedAt field to each of the tables that you create. This helps Toolio keep track of the last value that has been synced from your Data Warehouse. To learn more please see how Toolio handles pagination here.

Related Articles

Did this answer your question?