Skip to main content
Use the Google Sheets source component to read data from a Google Sheets spreadsheet and ingest it into your Integrate.io ETL pipeline.

Connection Setup

Integrate.io ETL supports two ways to connect to Google Sheets: a Google Cloud service account (recommended for team or workspace-owned spreadsheets), or user-based OAuth. Use a service account when you want to avoid user-based OAuth, share access across a team, or connect spreadsheets owned by a workspace rather than an individual user.

Step 1: Create a service account and JSON key

1
Access your Google Cloud Console and select the project you want to use.
2
On the sidebar, choose IAM & Admin → Service Accounts → Create Service Account.
3
Fill in the Service account name (for example, integrateio-google-sheets) and click Done. Roles are not required at the project level for Google Sheets; access is granted per spreadsheet in Step 3.
4
From the Service Accounts list, click the service account you just created and open the Keys tab.
5
Click Add Key → Create new key, choose JSON, and click Create. A .json key file is downloaded to your machine. Keep this file secure. You will upload it to Integrate.io in Step 4.
6
Copy the service account’s email address (it ends in @<project-id>.iam.gserviceaccount.com). You will need it in Step 3.

Step 2: Enable the Google Sheets API

1
In the Google Cloud Console, go to APIs & Services → Library.
2
Search for Google Sheets API and click Enable. If you plan to let Integrate.io list spreadsheets by name, also enable the Google Drive API.

Step 3: Share your spreadsheets with the service account

The service account can only access spreadsheets that have been explicitly shared with it.
1
Open the Google Sheets spreadsheet you want to connect to.
2
Click Share in the top-right corner.
3
Paste the service account’s email address into the sharing field.
4
Choose the access level:
  • Viewer, for source components that only read data.
  • Editor, for destination components that write data.
5
Uncheck Notify people and click Share.
Repeat this step for every spreadsheet that should be available to Integrate.io.

Step 4: Create the connection in Integrate.io ETL

1
Click the Connections icon (lightning bolt) in the top-left menu.
2
Click New connection.
3
Select Google Sheets (Service Account).
4
Name the connection and upload the JSON key file you downloaded in Step 1. The service account email is filled in automatically from the key file.
5
Click Test Connection to verify the credentials, then click Create connection.

OAuth

To connect with a personal or user-based Google account instead of a service account:
1
Click the Connections icon (lightning bolt) on the top-left menu, then click New connection.
2
Select Google Sheets.
3
Click Authenticate and, if required, sign in to Google.
4
Click Connect to authorize Integrate.io ETL access to your Google Sheets account.
5
Name the connection and click Create Google Sheets connection.
Reconnect a connection if your password changes or the token expires. To delete a connection, click the three vertical dots on the far right of the connection listing and select Delete connection.

Source Properties

The source component is configured in Step 02 of the component editor.
Google Sheets source component configuration

Spreadsheet

Select the spreadsheet to read from. The dropdown lists all spreadsheets that have been shared with the service account. Use the search field to filter by name. If your spreadsheet is not listed, make sure it has been shared with the service account’s email address. See Step 3 under Connection Setup above. Click the Refresh button to reload the spreadsheet list if you have recently shared a new spreadsheet.

Sheet

Select the sheet (tab) within the spreadsheet to read from. The dropdown is populated automatically after a spreadsheet is selected.

Schema

After configuring the source properties, the Schema section (Step 03) displays the fields available in the pipeline. These are derived from the header row (row 1) of the selected sheet.
  • The first row of the sheet is treated as the header row and defines the column names.
  • Data types are automatically inferred from sample data rows. Supported types include: string, long, double, boolean, and datetime.
  • If a column contains mixed types or cannot be inferred, it defaults to string.
The sheet must have a header row. Sheets without headers will produce unnamed columns (e.g. column_0, column_1)

Google Sheets Destination

Last modified on July 27, 2026