What does this node do?
The Google Sheets node connects your workflows to Google Sheets. Read data from spreadsheets, write results back, and automate your spreadsheet workflows. Common uses:- Read input data (URLs, contacts, keywords)
- Store workflow results
- Build automated reports
- Sync data between systems
Quick setup
1
Connect Google account
Go to Builder → Integrations → Google and authenticate
2
Add the Google Sheets node
Find it in Integrations → Google → Sheets
3
Enter spreadsheet ID and range
Specify which data to read or write
Configuration
Required fields
The unique identifier of your Google Sheet.How to find it:
From the URL:
docs.google.com/spreadsheets/d/[SPREADSHEET_ID]/editExample: 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upmsThe operation to perform.
| Operation | Description |
|---|---|
read | Read data from the sheet |
write | Write data to the sheet |
append | Add rows to the end |
update | Update existing cells |
The cell range in A1 notation.Examples:
Sheet1!A:D- Columns A through DSheet1!A1:D100- Specific rangeSheet1!A2:D- Skip header rowData!A:Z- Named sheet
Optional fields
Data to write (for write/append operations).Format as array of arrays:
How to interpret input values.
| Option | Behavior |
|---|---|
RAW | Values stored as-is |
USER_ENTERED | Parsed as if typed by user |
Treat first row as headers (returns objects instead of arrays).
Output
Read operation
With headers:Write operation
Examples
Read URLs for scraping
Operation: ReadRange:
URLs!A2:A (skip header)
Access data: {{GoogleSheets_0.data}}
Save analysis results
Operation: AppendRange:
Results!A:E
Values:
Update existing records
Operation: UpdateRange:
Data!A2:D2
Updates specific cells without affecting others.
Common patterns
Read → Process → Write
Incremental append
Adds rows without overwriting existing data.Sheet as database
Use Sheets as a simple database:- Read to get current state
- Process and transform
- Write updates back
A1 notation reference
| Notation | Meaning |
|---|---|
A1 | Single cell |
A1:B2 | Range from A1 to B2 |
A:A | Entire column A |
1:1 | Entire row 1 |
A:C | Columns A through C |
Sheet1!A1:B2 | Range on specific sheet |
Best practices
Use named ranges
Create named ranges in Sheets for stable references:Include headers
Always use headers for readable data:Handle empty sheets
Check for empty results:Use specific ranges
Be precise to improve performance:Common issues
Permission denied
Permission denied
- Ensure Google account has access to the sheet
- Re-authenticate in Settings → Integrations
- Check sheet sharing settings
Sheet not found
Sheet not found
- Verify spreadsheet ID is correct
- Check sheet name (case-sensitive)
- Ensure account has access
Data appears wrong
Data appears wrong
- Check
include_headerssetting - Verify range includes all needed columns
- Check for merged cells (can cause issues)
Write overwrites data
Write overwrites data
- Use
appendinstead ofwriteto add rows - Specify exact range for updates
- Check range doesn’t overlap existing data

