Tutorial Mar 27, 2026 10 min read

How to Connect N8N to Google Sheets: Step-by-Step Tutorial (2026)

Google Sheets is the most common starting point for small business automation. It is where your leads live, where your team tracks orders, and where your reports get built every Monday morning. Connecting N8N to Google Sheets lets you read, write, and update that data automatically. This tutorial walks you through the full setup, from credentials to working workflows.

Why Google Sheets + N8N Is the Most Popular SMB Integration

Almost every small business runs on spreadsheets. Google Sheets is free, collaborative, and familiar. But manually copying data between Sheets and your other tools wastes hours every week.

The N8N Google Sheets integration solves this. You can pull data from Sheets into any workflow, push results back, and keep everything in sync without touching a keyboard. It is the single most-used node in N8N for small business users, and for good reason.

Unlike Zapier, where every row read or written counts against your task quota, self-hosted N8N lets you process thousands of rows at zero marginal cost. That matters when you are syncing inventory, processing leads, or generating reports from multiple sheets daily.

Prerequisites

Before you start, make sure you have these three things ready:

  1. A running N8N instance. Self-hosted or N8N Cloud, either works. If you have not set up N8N yet, follow our guide to building your first N8N workflow.
  2. A Google account. Any Gmail or Google Workspace account will do.
  3. Google Sheets API enabled. Go to the Google Cloud Console, search for "Google Sheets API," and click Enable. This takes about 30 seconds.

You will also need to enable the Google Drive API in the same console. N8N uses it to locate and access your spreadsheet files.

Step 1: Set Up Google Sheets Credentials in N8N

N8N connects to Google Sheets using OAuth2. Here is how to set it up.

Create OAuth2 Credentials in Google Cloud

  1. Go to the Google Cloud Console Credentials page.
  2. Click Create Credentials and select OAuth client ID.
  3. Choose Web application as the application type.
  4. Under Authorized redirect URIs, add your N8N OAuth callback URL. For self-hosted instances, this is typically https://your-n8n-domain.com/rest/oauth2-credential/callback. For N8N Cloud, use the callback URL shown in N8N's credential creation screen.
  5. Click Create. Copy the Client ID and Client Secret.

Add the Credentials in N8N

  1. In N8N, go to Credentials in the left sidebar.
  2. Click Add Credential and search for Google Sheets OAuth2 API.
  3. Paste your Client ID and Client Secret.
  4. Click Sign in with Google. Authorize access to your Google account.
  5. The credential status should change to Connected. You are done.

Tip: If you are on N8N Cloud, there is an even faster option. Select the built-in "Google Sheets account" credential type, which uses N8N's own OAuth app. One click and you are connected. No Google Cloud Console needed.

Step 2: Read Data from Google Sheets

The most common operation is reading rows from a sheet. Here is how to set it up.

  1. Add a Google Sheets node to your workflow.
  2. Select your Google Sheets credential.
  3. Set Operation to Read Rows.
  4. Under Document, select the spreadsheet by name or paste its URL.
  5. Choose the specific Sheet (tab) you want to read from.
  6. Click Execute Node to test. N8N pulls in all rows as JSON objects, using your header row as the field names.

Filtering Rows

You do not always want every row. Use these options to narrow things down:

Once the data is in N8N, you can send it anywhere: your CRM, email tool, Slack, a database, or another Google Sheet.

Step 3: Write Data to Google Sheets

Writing data means appending new rows to the bottom of your sheet. This is how most lead generation workflows work: a new lead comes in, and N8N writes it to your tracking sheet.

  1. Add a Google Sheets node.
  2. Set Operation to Append Row.
  3. Select your spreadsheet and sheet tab.
  4. Under Columns, map the incoming data fields to your sheet columns. If your sheet has columns "Name," "Email," and "Phone," map those fields from the previous node's output.
  5. Execute the node. N8N adds a new row at the bottom of your sheet with the mapped values.

Writing Multiple Rows

If the previous node outputs multiple items (for example, 50 leads from an API call), N8N writes all 50 rows in a single batch. You do not need a loop. The Google Sheets node handles multiple items natively, which also reduces API calls and helps you stay within rate limits.

Column mapping tip: Make sure the column names in N8N exactly match your sheet headers. "First Name" and "first_name" are not the same. If your data uses different field names, add a Set node before the Google Sheets node to rename fields.

Step 4: Update Existing Rows

Updating is more nuanced than reading or writing. You need to tell N8N which row to update and what values to change.

  1. Add a Google Sheets node.
  2. Set Operation to Update Row.
  3. Select your spreadsheet and sheet tab.
  4. Set a Matching Column. This is the column N8N uses to find the right row. For example, if each row has a unique "Order ID," set that as the matching column.
  5. Map the fields you want to update. Only the fields you map will change. Other columns stay untouched.

This is useful for workflows where the status of something changes over time. A lead moves from "New" to "Contacted." An invoice moves from "Pending" to "Paid." An order moves from "Processing" to "Shipped."

You can combine read and update in the same workflow. Read all rows with status "Pending," process them (send an email, check a payment API, whatever the logic is), then update each row with the new status.

5 Real Business Automations Using N8N + Google Sheets

Here are five workflows we have built for clients using the N8N Google Sheets integration. Each one replaces hours of manual work per week.

1. Lead Capture Form to Google Sheets to CRM

A web form captures lead information. N8N receives the submission via webhook, writes it to a Google Sheet for the sales team's visibility, then creates a contact in the CRM (HubSpot, Pipedrive, or whatever you use). The sheet becomes a real-time dashboard of incoming leads. The CRM gets the structured data it needs for follow-up sequences.

Total setup time: about 30 minutes. See our full lead generation automation guide.

2. Daily Report Generation from Multiple Sheets

A retail client had sales data in three separate Google Sheets (one per store location). Every morning, a manager spent 45 minutes merging them into a summary report. We built an N8N workflow that runs at 7 AM daily. It reads from all three sheets, aggregates the numbers in a Code node, and writes the summary to a "Daily Report" sheet. The manager now opens one sheet and the report is already there.

3. Invoice Tracking with Automated Status Updates

A services company tracked invoices in Google Sheets with columns for client name, amount, due date, and status. N8N checks the sheet every hour. For invoices marked "Sent" that are past due, it sends a reminder email to the client and updates the status to "Reminded." For invoices past 30 days, it flags them as "Overdue" and notifies the finance team on Slack.

4. Customer Feedback Collection and Categorization

Customer support emails get processed by an AI node in N8N. The workflow extracts the sentiment (positive, neutral, negative) and the topic (billing, product, shipping, other). It writes each piece of feedback to a Google Sheet with the original message, sentiment, topic, and timestamp. The product team filters the sheet to see all negative feedback about a specific topic without reading every email.

5. Inventory Monitoring with Low-Stock Alerts

An e-commerce client tracked inventory in Google Sheets. N8N reads the sheet every 4 hours and checks each product's stock level against its reorder threshold. When stock drops below the threshold, N8N sends a Slack alert to the operations team and creates a draft purchase order in another sheet. This replaced a manual process that used to cause stockouts 2 to 3 times per month.

Common Errors and How to Fix Them

These are the issues we see most often when setting up the N8N Google Sheets integration.

Authentication Errors

Rate Limit Errors

Column Mapping Issues

Frequently Asked Questions

Is the N8N Google Sheets integration free?

Yes. The Google Sheets node is included in N8N's free self-hosted version with no limits on how many times you use it. You do not need a paid plan. The only requirement is a Google account with the Sheets API enabled, which is also free for standard usage within Google's API quotas.

How do I handle Google Sheets API rate limits in N8N?

Google Sheets allows 300 requests per minute per project by default. If your workflow processes large batches, add a Wait node between operations to space out requests. You can also use the Append operation to write multiple rows at once instead of one row per request. This reduces API calls significantly. For very high-volume use cases, consider batching data with the Code node before writing to Sheets.

Can N8N trigger a workflow when a Google Sheet is updated?

N8N does not have a native real-time trigger for Google Sheets changes. Instead, use the Schedule Trigger node to poll your sheet at regular intervals (every 1, 5, or 15 minutes). The workflow checks for new or modified rows and processes only the changes. For true real-time triggers, you can set up a Google Apps Script that sends a webhook to your N8N instance whenever a sheet is edited.

Need help building your Google Sheets automation?

Book a free 30-minute call. We will map out your workflow, set up the integration, and get it running in days, not weeks.

Book Your Free Call
Suyash Raj
Suyash Raj Founder, AI Automation Agency. Helping businesses save 20+ hours/week with N8N, AI agents, and voice agents.