Integrate.io ETL can access your Google Sheets data using a Google Cloud service account. This method is recommended 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. Use this guide to:Documentation Index
Fetch the complete documentation index at: https://www.integrate.io/docs/llms.txt
Use this file to discover all available pages before exploring further.
- Create a service account in Google Cloud and generate a JSON key.
- Enable the Google Sheets API for your project.
- Share the spreadsheets you want to read from or write to with the service account.
- Create the Google Sheets (Service Account) connection in Integrate.io ETL.
Prerequisites
- A Google Cloud project where you can create service accounts.
- Owner or Editor access on the spreadsheets you want to share with the service account.
- Permission to create connections in your Integrate.io account.
Step 1: Create a service account and JSON key
Access your Google Cloud Console and select the project you want to use.
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.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.Step 2: Enable the Google Sheets API
Step 3: Share your spreadsheets with the service account
The service account can only access spreadsheets that have been explicitly shared with it.Choose the access level:
- Viewer, for source components that only read data.
- Editor, for destination components that write data.
Step 4: Create the Google Sheets (Service Account) connection in Integrate.io ETL
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.
Modifying or deleting the connection
Click a connection to update its name or upload a new JSON key (for example, after rotating the key in Google Cloud).
To delete the connection, click the three vertical dots on the far right of the connection listing and select Delete connection. Deleting the connection in Integrate.io does not remove the service account or its key in Google Cloud. Delete the key from the service account’s Keys tab in Google Cloud if you no longer need it.
Troubleshooting
- Spreadsheet not listed in the component dropdown. Confirm the spreadsheet is shared with the service account email from Step 1 and that the Google Sheets API (and Google Drive API, if used) is enabled on the project. Click Refresh in the component to reload the list.
403: The caller does not have permission. The spreadsheet has not been shared with the service account, or the shared access level is lower than required (Editor is needed for write operations).API has not been used in project ... before or it is disabled. Enable the Google Sheets API (and Google Drive API, if applicable) in the same project that owns the service account.