Hand-drawn illustration of n8n appending a row to a Google Sheet with a robot workflow icon
Tutorial

n8n Google Sheets Append Row Not Working? 7 Fixes That Usually Solve It

10 min read

Quick Summary

  • Wrong tab name is the #1 cause - check case and spaces match exactly
  • Append Row needs a header row - without one the node fails silently
  • OAuth2 scopes must include full spreadsheets access not read-only
  • Rate limits (429) silently drop rows - add Wait nodes between iterations
  • The Google API often returns 200 OK even when writes fail - always verify in the sheet

You build the workflow. It looks right. The trigger fires. And then... nothing. No new row. No error message you can see. Just silence where your data should be.

The n8n Google Sheets Append Row node is one of the most-used nodes in n8n automations, and one of the most common sources of silent failures. The node succeeds in n8n execution logs, but the row never appears in your sheet.

This guide covers the 7 fixes that solve this problem in almost every case.

Before You Debug: Verify Basic Connectivity

Run this quick check before diving into fixes: Open the workflow in n8n and trigger it manually. Check the node execution output - expand the Google Sheets node. Look for Output: Item: 0 with the row data visible. If you see data there but no row in Sheets, the problem is downstream of the node.

If the node shows an error in its output, skip to the specific fix below. If the node shows success but no row appears, you almost certainly have one of the issues in sections 2-6.

Fix 1: Wrong Sheet ID or Tab Name

The most common cause of silent failures. The node accepts a Spreadsheet ID (the long string in the Sheets URL) or a Spreadsheet URL, and a Sheet Name. The catch: Sheet1 is not always Sheet1. If someone renamed the tab, the node silently fails to find it.

How to check

Open your Google Sheet. Look at the tab name at the bottom - exact match required, including case. The URL pattern is: https://docs.google.com/spreadsheets/d/[SPREADSHEET_ID]/edit

The fix

In the Google Sheets node: Choose Spreadsheet ID as the Document Reference. Paste the ID from your Sheets URL. For Sheet Name, type the EXACT tab name including spaces and case.

Common mistake: Using Sheet1 when the actual tab name is Sheet 1 (with a space). These are treated as completely different sheets by the API.

Fix 2: Using Append Row When You Should Use Insert

This trips up almost every beginner. The Append Row node only works when the sheet has an existing header row. It appends below existing data, starting from the first empty row. If your sheet has no header row, or if the structure is ambiguous, the node fails silently.

Quick diagnosis

Create a new row manually in the sheet. If n8n then appends below it, the issue was a missing header row.

The fix

Option A (recommended): Add a proper header row to your sheet with column names that match your n8n input fields exactly. The Append Row node uses the first row as a header reference.

Option B: If you cannot add headers, use the Insert Row operation instead, which treats all rows as data without requiring headers.

Option C: Use a Code node to construct the exact row insertion via the Google Sheets API v4 directly, bypassing the dedicated node for tricky cases.

Fix 3: OAuth2 Authentication Is Missing or Expired

If your Google Sheets credential is missing write permissions, the Append Row operation silently fails. This happens when: the OAuth2 token expired and was not refreshed; the credential was set up with read-only scope; or the Google Cloud project had scopes changed after initial setup.

How to check

In n8n, go to Credentials and find your Google Sheets OAuth2 credential. Click Test - if it returns an error, the credential is broken. Check Google Cloud Console: APIs & Services > Enabled APIs > ensure Google Sheets API is enabled. Scopes must include https://www.googleapis.com/auth/spreadsheets (not just readonly).

The fix

Delete the existing Google Sheets credential in n8n. Create a new OAuth2 API credential in Google Cloud Console with the full spreadsheets scope. Reconnect in n8n with the new credential. Test by running the workflow immediately after reconnecting.

Fix 4: Column Count Mismatch

The Append Row node is strict about column alignment. If your sheet has 5 columns and your n8n node outputs 4 values (or 6), the row may be rejected or written with misaligned data.

Common mismatch: Sheet has 3 columns but n8n outputs 2 values (second value goes to column C, third column empty) or 4 values (fourth value silently dropped).

The fix

Use the Specify Column Names option in the Append Row node and ensure every column in your sheet has a corresponding input field in n8n. For optional fields, send an empty string rather than omitting the field.

Fix 5: Rate Limiting - 429 Errors Silently Eating Your Rows

Google Sheets has a write rate limit: 300 requests per minute per project, and 60 requests per minute per user per sheet. If you are running a high-frequency workflow or a loop, rows get silently dropped when the rate limit is exceeded.

Symptoms

The node runs successfully in n8n (no error shown). Rows appear intermittently - some are written, others vanish. The problem gets worse when the workflow runs faster.

The fix

Add a Wait node between iterations if your workflow loops over multiple items. Set Wait time to 1 second to limit you to 60 rows/minute per sheet. For bulk inserts, use the Batch operation instead of individual appends. In Google Cloud Console, request a quota increase if you hit this regularly.

Fix 6: The Sheet Is Full

Google Sheets has a hard limit of 10 million cells per sheet. If your sheet is anywhere near this limit, the API will return a success response (n8n logs it as success) but the row will not actually be written.

The fix

Move old data to a new sheet or archive tab, then append to the new clean sheet. Alternatively, use a Google Drive + Sheets automation to auto-archive rows older than 90 days.

Fix 7: Drive Sharing Settings Blocking the Write

If the Google Sheet is shared with View or Comment access rather than Editor access, the n8n OAuth2 credential inherits those restrictions and cannot write.

The fix

Open the Google Sheet. Click Share. Ensure your Google account (used in the OAuth2 credential) has Editor access. For n8n cloud, also check that the n8n Google Cloud project has the Sheets API enabled with the correct OAuth consent screen.

How to Debug Any Silent Failure

When the fixes above do not solve it, here is the systematic debug process. Step 1: Enable verbose logging in n8n - Workflow Settings > Execute with verbose logging. Re-run and read every line of the Google Sheets node output.

Step 2: Check the raw API response by adding a Code node after the Google Sheets node to log the raw response. Step 3: Test the API call directly using the Google Sheets API explorer with your credentials.

How Synta Prevents These Issues

Building Google Sheets workflows manually means memorizing all of the above. Synta workflow generator understands the Google Sheets API structure natively - it generates the correct node configuration (spreadsheet ID, tab name, column mapping, auth) automatically from a plain English description.

Instead of debugging a broken Append Row node for 2 hours, you describe what you want: When a new Typeform entry comes in, append a row to my Leads sheet with the name, email, and score columns - and Synta builds the correctly configured workflow. Try it at synta.io or read the Synta MCP documentation for connecting AI assistants directly to your n8n workflows.

Synta's workflow generator handles the tricky parts automatically - correct column mapping, header validation, and OAuth scopes. If you keep hitting silent failures, describe your workflow in plain English and see what Synta builds.

FAQ

Why does n8n say the Append Row succeeded but no row appears?

This is almost always Fix 1 (wrong tab name), Fix 3 (auth/permissions), or Fix 7 (sharing settings). The Google API returns a 200 OK for many failure modes that n8n does not surface as errors.

Can n8n append to a shared Google Sheet?

Yes, but the credential used by n8n must have Editor access to the sheet (see Fix 7). View or Comment access is not sufficient.

How do I append multiple rows at once?

Use the Batch operation in the Google Sheets node. Set Batch Size to the number of rows you want to write in a single API call. This is faster and uses fewer API quota units.

Does the Append Row node work with Google Sheets API v4?

Yes. The node uses the spreadsheets.values.append endpoint under the hood. If you are using the HTTP Request node instead, target https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/{range}:append.

My workflow worked yesterday but stopped today. What changed?

Likely Fix 3 (OAuth token expiry) or Fix 5 (rate limit if the workflow ran many times overnight). Re-authenticate and check the execution log for 429 codes.