It is not 'perfect' but a lot of integrations (including some of Google's own) to Google Sheets are not designed to actually INSERT_ROW as the default action. They will edit new data on empty rows if present as an EDIT.
In short, whatever you are using to update your sheet, it is not creating a brand new row, it is merely editing the next free cell at the end of the data.
I do have a really simple work around for this, though, skip to the end for that.
Testing This
If you created your trigger correctly (either by service or the GUI) you will, as you state, see many EDIT updates, instead of INSERT_ROW.
To test out where things are being made or done correctly, you run the following tests to show you how various interfaces handle the actions.
- Firstly, in Google Sheets let's create the control data:
- Control Test 1 - Add data on a new empty row at the end.
- Control Test 2 - Right click a row and select the 'Insert 1 above' or 'Insert 1 below' option.
- Now, in Power Automate:
- Make a new 'Insert row' sheets action.
- Test that.
- Now, in Slack:
- In a Workflow use 'Add a spreadsheet row'.
- Test that.
- Now, in Zapier:
- In a ZAP use 'Create Spreadsheet Row in Google Sheets'.
- Test that.
From the above tests (or others that you choose) you will see definitive differences.
- Google Sheets - Adding data to an empty row at the end is an EDIT, and inserting a row above/below is an INSERT_ROW.
- Power Automate - This gives an EDIT.
- Slack - This gives an EDIT.
- Zapier - This gives an INSERT_ROW.
So we can surmise that not all integrations are born equal. Only Zapier is inputting the data as you would expect, which is most disappointing, given how many other folks will be relying on the other two.
Work Around
Delete ALL empty cells at the end of your data.
That's it.
To be clear, that is:
- Left click a row number once so that it is highlighted.
- Hold down CTRL+SHIFT (win/linux), and tap down until it's reached the last available row on the sheet (you will see the 'Add 1000 more rows at the bottom' option).
- Right click any visible row number and select 'Delete rows # - ##'
Now, if you run tests 2 and 3 again, you will note that they are forcing themselves to insert the new row. The change is correctly logged as a INSERT_ROW.
INSERT_ROW
is the change type used for "add new row". Please show what you tried and add a brief description of your search efforts as is suggested in How to Ask.