Google Sheets "Get Row(s)" returns 0 results intermittently - same workflow, same data, no error

Hi everyone,

I’m experiencing a frustrating intermittent issue with the Google Sheets node and hoping someone can help explain what’s happening.

Setup:

  • n8n Cloud, version 2.13.3

  • Workflow: Form trigger → Parse input → Split Out → Get data (Google Sheets) → Filter → Aggregate → Build HTML → Send email

  • Get data node uses Get Row(s) with a filter - expression from Split Out, Return All Matches enabled, By ID document reference

The problem:

The exact same workflow, with the exact same saved configuration, returns completely different results between executions:

  • Execution at 12:17 - Get data returns 606 items, full workflow completes successfully, email sent ✓

  • Execution at 12:28 - Get data returns 0 items, workflow stops, no error message of any kind - not a quota error, not a timeout, not a permission error, just silently returns nothing

Nothing changed between these two runs. Same credentials, same Sheet ID, same filter.

Important observations:

  • When it fails, there is no error - the node shows “Success” but with 0 items returned

  • When I remove the filter and run without it, I get a Maximum call stack size exceeded error (the sheet has ~258k rows, too large to load without filtering) - so the connection itself is working, the issue is specifically with the filter returning empty results

  • Create spreadsheet operation works fine with the same credentials, confirming the OAuth connection is valid

  • The node runs for 2-3 minutes before returning 0 results when failing

Possible node version change:

I also noticed that when I add a brand new Google Sheets node today, the Options section looks different from my existing node (added yesterday):

  • Existing node (yesterday): Options shows When Filter Has Multiple Matches: Return All Matches

  • New node (today): Options shows Return only First Matching Row toggle (disabled by default)

Could there have been a Google Sheets node update between yesterday and today that is causing this behavior? Is the node silently switching its behavior mid-execution?

What I’ve tried:

  • Re-authorizing credentials multiple times

  • Creating new credentials (OAuth)

  • Using By ID instead of From list for the document

  • Testing with hardcoded filter value instead of expression > did not work

  • Checking Sheet permissions - all fine

Has anyone seen this? Any help appreciated!

welcome to the n8n community @Aneta_Wozniak

sometimes n8n gets stuck with corrupted cache or node state, and recreating it really fixes the issue.
tip to avoid this, always save a copy of your workflow JSON before touching important nodes. If it happens again, just import it back.

the option change between node versions is probably it — iirc they merged some options and behavior can get out of sync if youre not recreating the node completely. try deleting the entire node and re-adding it from scratch with the exact same config. in 1.x we hit something similar with the split in batches node where the old config just silently broke when they added new params

Hi, thanks for the responses!

Following up with what I’ve tried since posting:

**Node version difference.**I noticed my original node shows Google Sheets node version 4.4 while the newly created node is version 4.7. The UI is also different between versions:

  • v4.4 (original): Options shows When Filter Has Multiple Matches: Return All Matches dropdown

  • v4.7 (new): Options shows Return only First Matching Row toggle (disabled)

What I’ve tried:

  • Imported the entire workflow JSON as a completely new workflow - still 0 results, no error

  • Deleted the Get data node and replaced it with a brand new v4.7 node with identical config - still 0 results

  • Tried two different Google OAuth credentials - no difference

My question: Is the only remaining option to rebuild the entire workflow manually from scratch, node by node?

The version difference is the culprit — v4.4 and v4.7 handle the options completely differently, and deleting/re-adding can still inherit cached state from the old config. Try this: clear your browser cache completely (or use incognito), then delete the node, refresh the entire workflow page, and re-add it fresh. The silent failure is exactly what happens when stale option data persists internally despite the UI looking correct.