"watch Changes" on google sheet - not triggering on new row added

I want to trigger an instant flow based on changes in a google sheet via “Watch Changes.” I have connected the sheet via Add-on as instructed, and it works when i make a manual change to a cell. But it does not work when a new row is added. I believe it does not count it as a change when a row is added.

Im wondering if there is a work around for this. Maybe I could set up the sheet to automatically make a change when a new row is added, something that would trigger the “watch changes” trigger in Make.

I would be willing to switch to another service that would get this done, rather than Google sheets. But I do not know of one.

Hey There @nick_cph ,
Hope you are doing well,
If the “Watch Changes” trigger in make doesn’t capture the addition of new rows in Google Sheets as changes, you can try the following workaround to trigger the flow when a new row is added:

  1. Add a Timestamp Column:
  • In your Google Sheet, add a new column (let’s call it “Timestamp”).
  • Use a formula to automatically populate this column with the current timestamp whenever a new row is added. For example, in cell A2 (assuming A1 is the header), you can use the formula =IF(B2<>"", NOW(), "") where column B is the first column where data might be entered. This formula checks if the adjacent cell in column B is not empty and if true, populates the timestamp.
  1. Set up Watch Changes on the Timestamp Column:
  • Connect the “Watch Changes” trigger to the Timestamp column you just created.
  • This way, whenever a new row is added, the timestamp column will be updated, triggering the “Watch Changes” action.

This workaround essentially exploits the “Watch Changes” trigger by using the timestamp column to mark changes when new rows are added. It’s not a perfect solution, but it can be an effective workaround for triggering flows based on new row additions.
Let me know if this helps.

2 Likes

Thanks, but I believe the “watch change” trigger does not recognize the formula in cell A2 going from having no value to having a time stamp value as an actual change. I tested your method, it did not work, then I deleted the time stamp in A2 and that did trigger the “watch Chage” module and the flow worked. But I cant manually be deleting these just to trigger it. Id like it to trigger instantly when a row is added.

can you tell me how are you adding a new row ?
Because for me its working completely fine even when i am adding a new row

2 Likes

The Watch Changes module requires the Sheets Add-On installed on the sheet. (the description below it)

Can you verify that this has been set up correctly?

Instructions can be found here: Google Sheets “Connecting Instant Triggers”

If you’ve set this up correctly, then it’s likely that it’s a bug with the add-on.

For quicker assistance with such bugs and technical problems, you may want to contact support directly. They respond very quickly and update you frequently on the status of their investigation.

Hope you can share the resolution with us if you manage to solve this problem!

2 Likes

Hi @nick_cph,

Here are some other things to think about…

There’s a module for Watch New Rows in Make for new rows.
image

You would need a separate scenario specifically for new rows, in addition to the one that monitors existing sheet for changes.

Are you trying to monitor both changes and new rows?
If not, and you only want to monitor new rows, I would use this trigger module only.

If you want both, then you need 3 scenarios.

  1. The existing scenario that only monitors changes.
  2. A new scenario that only monitors New Rows.
  3. A new scenario that accepts input from the first two scenarios, containing the row number that experienced a change or that was added.

From scenario 3, once you get the row number passed into it, use another Google Sheets module called Get Range Values to get the entire row for further processing.
image

3 Likes

It was set up correctly. As it works when I make a manual change to a cell. But it does not work when my separate webhook adds a new row of data. I then make a manual change to that data and it works.

I need the flow triggered instantly, which is why I opted to use “watch for Changes” instead of “watch for new rows”

Got it. Assuming you’re unable to switch some tool more suited for these purposes, like AirTable, SmartSuite, Knack, etc…, then I think your best bet would be what you’ve already mentioned, adding a row then modifying it to cause the GSheets add-on to trigger the scenario.

3 Likes

Yes that seems like it would be the best solution, but a timestamp formula (for example) being updated when a new row is added is not triggering the “Watch Changes” task, as it seems like the trigger only looks for changes to data and not the output of formulas.

from the help center:

Note

The module only watches for changes made in the Google Sheets app by the user. Script executions and API requests do not trigger this module. The module does not watch for newly added rows to the sheet.

Good point, and good catch!

I guess that makes sense so that you don’t get into a situation in which the add-on and your Make Scenario get into a trigger loop.

I feel like there was someone that came up with a Google Apps Script workaround for something like this. If I find it, I’ll post it. Essentially the Apps Script is configured to detect ALL updates, which then runs the Scenario with a Google Sheets Watch New Rows trigger using Make’s API. That might give you the instant effect with the watch new rows functionality.

Another problem is general is distinguishing between a row add at the end of the current range vs inserting a row in the middle of the range. The end result is still the same number of rows but you don’t know which row is the newest.

3 Likes

I did try a google script that would run for each new row, where the data from the last column was copied and paste(value) into an additional column on the same row. That still wasnt firing the “Watch Changes” trigger, and I think it has something to do with the line in the help desk that says “script executions wont trigger this module, it has to be a change made by the user”

I have solved this by switching to a webhook trigger in Make (instead of Google sheets “Watch Changes”), and then adding a script to Google Apps around the onChange trigger, linked to the webhook URL.

4 Likes