Integrate.io ETL can read data from and write data to Google Sheets spreadsheets. This article details how to set up the Google Sheets connection in Integrate.io ETL.
This connector uses a Google Service Account for authentication.
Step 1: Create a GCP Project
- Access your Google Cloud Console.
- Click the project dropdown at the top of the page and select existing project or create a New Project.
- If a new project is created, enter a project name (e.g.
my-sheets-connector) and click Create. Make sure the newly created project is selected in the project dropdown before proceeding.
Step 2: Enable the Google Sheets API and Google Drive API
- In the left sidebar, navigate to APIs & Services → Library.
- Search for Google Sheets API.
- Click the Google Sheets API result and click Enable.
- Return to the API Library and search for Google Drive API.
-
Click the Google Drive API result and click Enable.
Step 3: Create a Service Account
- In the left sidebar, navigate to IAM & Admin → Service Accounts.
- Click + Create Service Account.
- Fill in the service account details:
-
Name: e.g.
sheets-connector
-
Description: e.g.
Service account for Integrate.io Google Sheets connector
- Click Create and Continue.
- Skip the optional role grant steps — spreadsheet access is controlled by sharing individual spreadsheets with the service account (see Step 5).
- Click Done.
Step 4: Download the JSON Key
- From the Service Accounts list, click the service account you just created.
- Go to the Keys tab.
-
Click **Add Key → Create new key**.
-
Select **JSON** and click **Create**.
-
A `.json` key file will be automatically downloaded to your machine. Keep this file secure — it contains the private key used to authenticate the service account.
The JSON file will contain a structure similar to:
json
{
"type": "service_account",
"project_id": "your-project",
"private_key_id": "...",
"private_key": "-----BEGIN RSA PRIVATE KEY-----\n...",
"client_email": "sheets-connector@your-project.iam.gserviceaccount.com",
"client_id": "118304762983475829341",
...
}
Note the `client_email` field — you will need this in Step 5.
Step 5: Share Spreadsheets with the Service Account
For the connector to access a spreadsheet, the spreadsheet must be shared with the service account's email address.
- Open the Google Sheets spreadsheet you want to connect.
- Click the **Share** button in the top-right corner.
- In the "Add people and groups" field, paste the service account's `client_email` address (e.g. `sheets-connector@your-project.iam.gserviceaccount.com`).
- Set the permission level:
- **Viewer** — if the spreadsheet will only be used as a source (read-only)
- **Editor** — if the spreadsheet will be used as a destination (write)
- Uncheck "Notify people" (the service account cannot receive emails) and click **Share**.
💡 Repeat this step for each spreadsheet you want to use with Integrate.io. Only spreadsheets explicitly shared with the service account will appear in the spreadsheet picker.
Step 6: Create Google Sheets Connection on Integrate.io ETL
- Navigate to the Connections tab and click Google Sheets.
- Fill in the Connection Name
- Upload the JSON key file you downloaded in Step 4.
- Click Test Connection and then Create Connection.
⚠️ If the connection test fails, verify that:
- The Google Sheets API and Google Drive API are both enabled in your GCP project (Step 2).
- The JSON key file is valid and belongs to the correct project.
- The service account has not been deleted or disabled.