Sorry we haven’t been able to figure this out yet!
The problem is more with Google Sheets.
Technically the whole sheet already exists so “new row” isn’t really a thing.
What’s really happening when you write a new row is more like “expanding the active range” which modifies the last row in the active range.
Internally, the Google Sheets Watch New Rows is probably keeping track of the last row of the active range. Every time it runs it compares the previous “last active row” with the new “last active row” then gives you the data from all row in between (or nothing if it hasn’t changed), up to the limit you specified in the module. You can override where it starts too by right-clicking the module and selecting “Choose where to start”.
Watch New Rows can’t be instant because there’s nothing to fire it on the Google Sheets side. Make just has to poll or be told when to run the check.
Another problem with running it instantly is that you need access to the values from three different columns in the same row. Technically, the “new row” is created when the first cell in the row is updated. If it were instant, you’d get that value only because there’s nothing telling Google Sheets to wait until all three columns have data.
Watch Changes doesn’t work because it’s only detecting changes on the active range. New rows aren’t yet part of the active range when they’re newly-added. And, it needs the help of Google Apps Script/Add-on.
If possible, I would suggest using something else other than Google Sheets, such as SmartSuite or Airtable, to make your process more reliable.
If you want to continue with Google Sheets, we’d need more info.
Whatever is updating your Google Sheet, is it possible to modify that process to call a URL (Make Webhook) when it’s done adding the row?
If you are certain that the data is added to columns in the new row sequentially (like A, then B, and finally, C), then we can write an Apps Script to call the Make Webhook URL and pass it a row number only when the last column (C) receives data. Then you could start your scenario with a webhook followed by a Google Sheets get range values, because you would already know what row you want to get.
Sorry for the long-winded answer, but Google Sheets gets confusing!