I’m not sure if I should post this as a bug on Git or not, but…I don’t think the Google Sheet node’s append function is working how you’d expect.
Append is weird even within the Sheet API. Instead of appending to the end of a Google Sheet, the API will only append to the end of a given range.
So if you want to add data to the end of your Sheet without overwriting, you send in a range like “Sheet1!A:L”. This is how things work on n8n.
However, as n8n stands right now. If the Google Sheet you’re working on has a filtered column and the filter is active, using a range like “Sheet1!A:L” will only “append” after the last row in the filtered sheet. Not the last row in the whole sheet.
And n8n’s append node is set to overwrite rows rather than insert them.
This is causing rows in the Google Sheet to be overwritten. What ends up happening is the next row after the filtered data gets overwritten rather than a row being added at the end.
Changing this behavior revolves around the
insertDataOption param here, which is why I’m adding this as a feature request. For Sheet’s API,
insertDataOption has to be set to “INSERT_ROWS” to not overwrite a filtered sheet.
There’s no way to set this option within the node right now though.
It would be great if Google Sheet’s append node was set to “INSERT_ROWS” by default. The best solution of course would be being able to set that option from within the node itself.
Again, not sure if I should add as a bug or a feature request. Hoping others feel the same way. Thanks everybody and thanks to the n8n team for all your hard work!