Hi everyone! 
Google Sheets V2 “Update Row” not updating rows despite correct row_number and data – self-hosted v1.88.0
What I’m Trying to Do:
I’m trying to update a specific row in a Google Sheet based on the correct row number. Here’s the flow:
- Using Google Sheets V2 node
- Operation: Update Row
- Matching by: row_number (which I extract dynamically and pass correctly)
- Credentials: Using Google Sheets account type (not Service Account)
- Test step shows successful execution , BUT… no data is written back to the sheet.
What I’ve Tried:
- Confirmed all dynamic expressions (via console logging, all values are correct)
- Tried both Google Sheets account and Service Account – same result
- Set Data Location:
- Header Row: 1
- First Data Row: {{ $json.row_number }}
- Set Mapping Column Mode to “Map Each Column Manually”
Append Row works fine , but Update Row does nothing
Here are screenshots of my node configuration and Google Sheet structure:
Questions:
- Is this a known issue in v1.88.0 self-hosted?
- Are there known issues with leaving some fields unfilled when using “Map Each Column Manually”?
- Should I try enabling deprecated nodes and fallback to Google Sheets v1? If so, how?
- Any way to forcibly update a specific row by row_number using V2?
Thanks a ton in advance! 
– Utsav
Information on n8n setup:
- n8n version: 1.88.0 (Self Hosted)
- Database (default: SQLite): SQLite
- n8n EXECUTIONS_PROCESS setting (default: own, main): own
- Running n8n via: npm (local installation)
- Operating system: macOS (M2]
It looks like you are matching the row you want to update based on the value in the Keyword Ideas
column. Wouldn’t you want that set to row_number
?
The following workflow uses Google Sheets
node typeVersion 4.5, and it still has the option of picking the row to update by row_number
. It worked okay for me.
If it’s not just that you have things in the wrong fields, post your actual workflow/nodes in a reply and we can take a closer look.
Hi @hubschrauber, thank you for the reply but I am still quite confused, hence I have pasted my actual workflow below for better reference.
Objective: I want to copy the output from the previous node to the sheet named “Health”. I have added an additional column in the sheet which has the row_number so that it can be mapped easily. Now, the problem I am facing is I want up date 50 rows but with update row, when all 50 are sent to be updated, only last one remains because all of them are being updated on row_number(which is 2 for now but would be different later on and cannot be edited manually every time).
We want the workflow to map for the first row_number and then, update all the extracted data(from the previous cell) starting from that row i.e. 2 in this case, and update the next rows too until the data is finished.
So, we have 50 rows which needs to be updated, if we start from row_number = 2, we want the data to be updated until row_number = 51.
I hope I was able to convey the requirements and thanks in advance for the help again.
Also, I have updated half of my workflow because uploading the full was exceeding the character limit by a big margin so I would have had to update it again and again.
Here is my workflow:
Please start by changing the column header for your row number to something other than row_number
(assuming this is what you have done in column A that is clipped off of your screenshot above), for instance MyRowID
, and retry that way. n8n already assigns a special meaning to row_number
, so it would be helpful to remove the name conflict that creates.
Im facing the same issue. No matter what I try I can’t update the row, only append.
For instance, if I use the mode - Append or Update Row - I can see the values being added to the sheet but only appended to the next empty row. But it never replaces or updates rows that already have values.
If I change to - update row - mode then nothing happens.
As you can see in the image I’m using First Data Row as 3, in a hope that it starts adding the data from the row 3 onwards.