Back to Blog

Try n8n free for 10 days

After trial, plans start from $7/mo. No charge until day 11.

n8nGoogle Sheetsintegrationautomationtutorial

n8n + Google Sheets Integration: 5 Powerful Workflows You Can Build

n8nautomation TeamMay 23, 2026
TL;DR: This guide shows you how to connect n8n and Google Sheets to automate tedious tasks. We walk through five practical workflows, including syncing form data, creating dynamic reports, and even building a two-way sync with other apps like Notion.

The n8n Google Sheets integration is one of the most powerful and popular ways to automate data workflows. While spreadsheets are easy to use for data entry, they become truly powerful when connected to other systems. With n8n, you can turn your Google Sheets into dynamic databases, automated reporting engines, and central hubs for your business data, all without writing a single line of code.

This guide will walk you through setting up the integration and building five practical workflows. We'll cover everything from capturing form submissions to creating complex two-way data syncs. Whether you're a marketer tracking leads, an operator monitoring inventory, or a founder building a dashboard, these automations will save you hours of manual work every week.

Setting Up the Google Sheets Integration in n8n

Before you can build workflows, you need to connect your Google account to n8n. n8n uses OAuth v2 to securely authenticate, so your credentials are never exposed directly in the workflow. The process is straightforward.

  1. Add a Google Sheets Node: In your n8n canvas, add a Google Sheets node. It doesn't matter which action you choose initially.
  2. Create New Credentials: In the node's properties panel, click the "Credential" dropdown and select "Create New".
  3. Authenticate with Google: A new window will pop up, guiding you through the Google authentication process. You'll be asked to sign in to your Google account and grant n8n permission to access your Google Sheets. Make sure to check the box that allows n8n to edit, create, and delete spreadsheets.
  4. Name Your Credential: Give the connection a descriptive name, like "My Google Account," and save it.

That's it! Your n8n instance is now authorized to interact with your Google Sheets. This single credential can be reused across all your workflows. If you're running on a managed platform like n8nautomation.cloud, your credentials are encrypted and stored securely, so you never have to worry about managing API keys manually.

Workflow 1: Add Webhook or Form Data to a Google Sheet

One of the most common use cases for the n8n Google Sheets integration is collecting data from webhooks or online forms. This workflow instantly saves submissions from tools like Typeform, Jotform, or even custom HTML forms to a new row in a sheet.

This creates a real-time database of your leads, feedback, or entries without any manual copy-pasting.

  1. Trigger Node (Webhook): Start with a Webhook node. This node generates a unique URL that will listen for incoming data. Copy this URL and paste it into the webhook or form provider's settings.
  2. Get Data: Submit your form or send a test webhook request to the URL. The Webhook node in n8n will capture the incoming JSON data, making it available to the rest of the workflow.
  3. Google Sheets Node (Append Row): Add a Google Sheets node.
    • Authentication: Select the credential you created earlier.
    • Operation: Choose "Append/Update".
    • Sheet ID: Enter the ID of your Google Sheet. You can find this in your sheet's URL: https://docs.google.com/spreadsheets/d/SHEET_ID/edit.
    • Range: Specify the tab name, like "Sheet1".
    • Columns: This is where the mapping happens. Use expressions to map the data from the Webhook node to your sheet's columns. For example, if your form sends a field called "email", you would create a column "Email" and use the expression {{ $json.body.email }} to populate it.

When you activate this workflow, every new form submission will automatically create a new row in your target sheet, perfectly formatted and ready for analysis.

Tip: Use a Set node before the Google Sheets node to rename or reformat incoming data. For example, you can combine a "First Name" and "Last Name" field into a single "Full Name" field before sending it to your sheet.

Workflow 2: Sync a Database to a Google Sheet for Live Dashboards

While databases like PostgreSQL or MySQL are great for storing application data, Google Sheets is often better for ad-hoc analysis and visualization by non-technical team members. This workflow periodically syncs data from your database to a Google Sheet, creating a live dashboard that's always up to date.

  1. Trigger Node (Cron): Start with a Cron node to run the workflow on a schedule (e.g., every hour).
  2. Database Node (e.g., PostgreSQL): Add the node for your database (e.g., Postgres).
    • Operation: "Execute Query".
    • Query: Write a SQL query to select the data you want to sync. For example: SELECT id, name, email, signup_date FROM users WHERE signup_date > NOW() - INTERVAL '1 day';
  3. Spreadsheet File Node (Optional, to clear sheet): Before adding new data, you might want to clear the old data. Add a Google Sheets node with the "Delete" operation to clear a specific range.
  4. Google Sheets Node (Append): Add a final Google Sheets node to add the fresh data from your database.
    • Operation: "Append/Update".
    • Input Data: Ensure the node is receiving data from the PostgreSQL node.
    • Sheet ID & Range: Specify your target sheet and tab.
    • Columns: Map the columns from your SQL query result to the columns in your Google Sheet (e.g., "ID" column gets {{ $json.id }}).

This turns Google Sheets into a powerful Business Intelligence tool, powered by your production data but accessible to everyone. You can connect it to Google Looker Studio or other tools for even richer visualizations.

Automate Reporting by Emailing Sheets as CSV/PDF

Manually downloading and emailing reports is a time-consuming task. You can fully automate this by having n8n generate a report in Google Sheets, export it, and email it to stakeholders.

  1. Trigger Node (Cron): Use a Cron node to schedule the report (e.g., every Monday at 9 AM).
  2. Data Source Nodes: Use various nodes (e.g., Google Analytics, PostgreSQL, Stripe) to fetch the data you need for your report.
  3. Google Sheets Node (Update/Append): Populate a "Report" tab in a Google Sheet with this fresh data. You can perform calculations and summaries directly in the sheet or using a Code node in n8n.
  4. HTTP Request Node (Download File): This is the key step. Add an HTTP Request node to download the sheet as a PDF or CSV.
    • URL: Use a special Google Sheets export URL. For PDF, it looks like: https://docs.google.com/spreadsheets/d/SPREADSHEET_ID/export?format=pdf&gid=SHEET_GID. Replace `SPREADSHEET_ID` and `SHEET_GID` (the tab ID).
    • File Name: Set a dynamic file name, e.g., Weekly-Report-{{ $now.toFormat('yyyy-MM-dd') }}.pdf
    • Response Format: Set this to 'File'.
  5. Email Node (e.g., SendGrid/Gmail): Add an email node to send the report.
    • Attachments: Drag the output from the HTTP Request node into the attachments field. This tells n8n to send the downloaded file.
    • To/Subject/Body: Fill in the recipient details and a message.

This workflow transforms your manual reporting process into a fully automated, hands-off system.

Workflow 4: Two-Way Sync Between Google Sheets and Another App

A two-way sync is more complex but incredibly powerful. It ensures that data remains consistent across two different systems. For example, updating a project status in Notion could automatically update a corresponding row in a Google Sheet, and vice-versa.

This requires two workflows:

  1. Workflow A: Notion to Google Sheets
    • Trigger: Use the Notion Trigger node to watch for updated database pages.
    • Logic: Use an IF node to check which property was updated.
    • Action: Use the Google Sheets node with the "Append/Update" operation to find the corresponding row (using a unique ID) and update its values.
  2. Workflow B: Google Sheets to Notion
    • Trigger: Use the Google Sheets Trigger node, which polls for row updates. Note: this is a polling trigger, so it may not be instantaneous. For instant updates from Sheets, you'd need to use a webhook tied to an App Script.
    • Logic: Find the corresponding Notion Page ID (which you should store in a column in your sheet).
    • Action: Use the Notion node's "Update Page" operation to sync the change back to Notion.

Building a robust two-way sync requires careful planning to avoid infinite loops. A common strategy is to use a "Last Edited By" field in both systems, so a workflow only proceeds if the change was made in the *other* system.

Workflow 5: Use Google Sheets as a Simple Database for Other Tools

Sometimes you just need a simple key-value store or a configuration file for another workflow, and a full-blown database is overkill. You can use a Google Sheet for this. For instance, you could store a list of keywords to monitor on social media or a list of users to send a weekly newsletter to.

  1. Main Workflow Trigger: This can be anything (e.g., Cron, Webhook).
  2. Google Sheets Node (Get Rows): In the middle of your workflow, add a Google Sheets node.
    • Operation: "Get Rows".
    • Sheet ID & Range: Point it to your "config" sheet.
    • Options: You can specify headers or leave it to read the entire sheet. The output will be a JSON object containing all the rows.
  3. Loop Over Data: Use the Split in Batches or Loop Over Items node to process each row from the sheet. For example, for each keyword in the sheet, you could trigger a Twitter search. For each user in the sheet, you could send an email.

This pattern is extremely versatile and lets you manage the inputs for your complex workflows from a simple, user-friendly spreadsheet that anyone on your team can edit without touching the automation logic itself—a core benefit of using the n8n Google Sheets integration.

By leveraging these five workflow patterns, you can transform Google Sheets from a simple data entry tool into the dynamic, automated hub of your business operations. A dedicated hosting platform like n8nautomation.cloud ensures your workflows run reliably 24/7, giving you the power of enterprise-grade automation without the overhead of managing servers.

Ready to automate with n8n?

Get affordable managed n8n hosting with 24/7 support.