How to connect Google Sheets on n8n
Connecting Google Sheets to n8n involves creating a workflow, adding the Google Sheets node, and authenticating via OAuth2 credentials from Google Cloud Console. Enable Sheets and Drive APIs, create OAuth client ID/secret with n8n redirect URI, then test in n8n. Common issues like 403 errors or empty sheets are fixed by re-authenticating and ensuring proper sharing.
Prerequisites
- Google account with Cloud Console access
- n8n instance (cloud or self-hosted)
- Target Google Sheet with headers in row 1
- Basic familiarity with n8n workflows
Step-by-Step Instructions
Log in to n8n dashboard
Create a new workflow
Add trigger node
Add Google Sheets node
Create Google Cloud project
Enable Google Sheets and Drive APIs
Create OAuth 2.0 credentials
https://your-n8n-instance/rest/oauth2-credential/callback). Click Create. Copy Client ID and Client Secret.Configure credentials in n8n
https://accounts.google.com/o/oauth2/v2/auth, Access Token URI: https://oauth2.googleapis.com/token, Scope: https://www.googleapis.com/auth/spreadsheets https://www.googleapis.com/auth/drive.Test the connection
Common Issues & Troubleshooting
Sheet dropdown empty or 'No columns found' after auth
Enable Google Sheets/Drive APIs in correct project; refresh credentials; ensure sheet shared with auth account and headers in row 1.
403 permission errors
Re-authenticate OAuth; verify API enabled; check sheet sharing permissions; refresh token.
OAuth redirect URI mismatch or callback failure
Copy exact redirect URI from n8n dialog to Google Cloud; for self-hosted, set correct WEBHOOK_URL env var.
Expired token or auth fails after initial setup
Delete/recreate credentials in n8n; re-authorize; check OAuth consent screen scopes.
Data mapping issues (e.g., auto-map fails)
Switch to manual mapping mode; ensure incoming JSON keys match sheet headers exactly.