Guide · Make.com · Google Sheets · Troubleshooting

Make Google Sheets "Watch New Rows" not picking up new rows

Short answer: Make's Google Sheets Watch New Rows trigger checks the sheet on the scenario's schedule and returns rows it hasn't processed yet. It misses rows when a blank row sits above them (Make's docs say rows after a blank row aren't processed), when it watches the wrong tab or header row, when its start point is past the new rows, or when rows are inserted, sorted or deleted. Remove blank rows, check the settings, reset Choose where to start, and add new rows only at the bottom.

By Flowpaja · Published

A blank row 5 in a Google Sheet stopping Watch New Rows from reading row 6, and the row picked up as one bundle after the blank row is deleted
One blank row above your data is enough to hide every new row below it.
Disclosure: everything in this guide works with plain Make.com and the apps it connects. At the end we mention our own Make templates and our Make scenario fix service on Fiverr. Module names, settings and limits were checked against Make's Google Sheets modules docs and types of modules in October 2026. Menus and limits change, so check them if something looks different.

What you need

  • The scenario with the Google Sheets → Watch New Rows trigger
  • Edit access to the sheet
  • A test row you can add and delete

How the trigger works (read this first)

Watch New Rows is a polling trigger: Google doesn't notify Make. Make checks the sheet on the scenario's schedule (e.g. every 15 minutes) and returns new rows, up to the Limit you set.

Make doesn't document how it remembers its place. In practice it behaves like a bookmark on row position, returning rows below the last one it processed, which fits Make's blank-row warning (step 2). It watches positions, not content, and most problems follow from that.

Step 1: Check the spreadsheet, tab and header row

  • Is the module pointing at the right spreadsheet (not an old copy) and the right Sheet Name (tab)? Re-linking a Google Form, for example, often creates a new tab such as "Form Responses 2".
  • Table contains headers: if Yes, the header row isn't returned as data, and the fields are named after the headers.
  • Row with headers: if your headers aren't in row 1, enter their range here, e.g. A3:F3.
  • The connected Google account must be able to open the file. A 403 or 404 here is an access problem, not a trigger problem: see Make.com Google connection errors.

Step 2: Remove blank rows

Make's documentation for Watch New Rows says: if a sheet contains a blank row, Make doesn't process the rows after it. One empty row in the middle of the data is enough to make every new row below it invisible.

Delete blank rows between the header and the data, and between data rows. Ask people who type into the sheet not to leave gaps.

Step 3: Reset "Choose where to start"

Right-click the trigger and click Choose where to start. The options vary by app. Make's help lists the typical ones: the current moment (From now on), a specific date, a specific record, or the first record (All). Your choice only applies to the first run after you save. Later runs continue from wherever the previous run stopped.

If the bookmark is past your new rows (e.g. after deleted rows were reused), the trigger skips them. Pick a start point just before the first unprocessed row, save, and click Run once.

Step 4: Inserting, sorting and deleting rows

Because the trigger follows row positions:

  • Inserting a row above the bookmark: that row is never picked up, and the rows below move down, so one of them can be processed twice.
  • Sorting the sheet causes the same problem on a larger scale.
  • Deleting rows: new rows can land on row numbers the trigger already counts as done.

Fix: treat the watched tab as an append-only log and sort on another tab, e.g. =SORT(Data!A2:F). If duplicates would hurt, store each processed row's unique ID in a data store and check it first.

Step 5: Rows added by formulas, forms and people

  • Formulas copied far down the sheet, or an ARRAYFORMULA that fills the whole column, can make rows look used before real data arrives. If the trigger returns bundles that contain only formula output, keep calculated columns on a separate tab, or only calculate where data exists, e.g. =IF(A2="","",…) (some locales use ; instead of ,). Then add a filter after the trigger: [key column] → Exists.
  • Rows added by other tools are fine if they're appended at the bottom, as Google Forms does.
  • Rows typed by hand can be picked up half-finished. Watch New Rows sees each row only once, so a "Ready" filter would skip that row for good. For hand-typed sheets, use Search Rows on a schedule with a Status column, as in the Gmail-on-new-row guide. If Search Rows then returns nothing, see Search Rows returns nothing.

Step 6: The schedule and the limit

  • With a 15-minute schedule, a new row can take up to 15 minutes to show up. That's expected.
  • Limit caps rows per run: 50 new rows with a limit of 2 take many runs.
  • Each check is one operation (one credit), even when nothing is new.
  • Check that the scenario is on. A scenario switched off after errors (see Errors before deactivation) picks up nothing. See why a Make scenario stopped running.

Step 7: When you need something instant

The Google Sheets Watch Changes module is instant, but it doesn't solve this. Make's docs say it only reacts to changes a person makes in Google Sheets, not to script or API edits, and it doesn't watch for newly added rows.

For rows that people add or edit, an installable Apps Script trigger can send the row to a Make custom webhook:

// Installable trigger: Extensions → Apps Script → Triggers → Add trigger
// → function sendRowToMake, event source "From spreadsheet", event type "On edit".
// Store the Make webhook URL in Script Properties as MAKE_WEBHOOK_URL.
function sendRowToMake(e) {
  const sheet = e.range.getSheet();
  if (sheet.getName() !== 'Data' || e.range.getRow() === 1) return;
  const row = sheet.getRange(e.range.getRow(), 1, 1, sheet.getLastColumn()).getValues()[0];
  const url = PropertiesService.getScriptProperties().getProperty('MAKE_WEBHOOK_URL');
  UrlFetchApp.fetch(url, {
    method: 'post',
    contentType: 'application/json',
    payload: JSON.stringify({ row: e.range.getRow(), values: row })
  });
}

Two limits: it fires on every edit, so filter in Make (e.g. only when "Ready" is TRUE). And Google's docs say script executions and API requests don't fire triggers, so rows written by other apps won't fire it. See receiving webhook data in Make.

If the rows come from Google Forms, start from the form instead: Make's Google Forms app has a Watch Responses trigger, and Apps Script has a separate "On form submit" trigger.

Common errors and fixes

SymptomLikely causeFix
New rows never picked upBlank row above them, wrong tab, or bookmark past themDelete blank rows; check the tab; reset "Choose where to start"
Some rows skippedRows inserted above the bookmark, or the sheet was sortedAppend only; sort on another tab
Same row processed twiceInserted or deleted rows shifted positionsAppend-only tab + ID check
Empty bundlesFormulas filling the columnLimit formulas to filled rows; filter "Exists"
Half-filled rows processedPicked up while someone was typingSearch Rows + Status column for hand-typed sheets
Nothing happens at allScenario switched offFix the error, switch it back on

FAQ

Why doesn't Make's Watch New Rows see my new row?
It only runs on its schedule and only returns unprocessed rows. Check for blank rows above it, the tab and header settings, and the Choose where to start point.
Does a blank row stop Watch New Rows?
Yes. Make's documentation says that if a sheet contains a blank row, the rows after it aren't processed. Delete blank rows between your data.
Does Watch New Rows detect edits to existing rows?
No, only new rows. Watch Changes reacts to edits a person makes in Google Sheets, and an Apps Script on-edit trigger calling a Make webhook is another option.
Can I sort the sheet that Make is watching?
It's safer not to. Sorting moves rows to new positions, so rows can be skipped or processed twice. Sort on a separate tab.
How fast does Watch New Rows react?
As fast as the scenario's schedule. With a 15-minute interval, a row can wait up to 15 minutes, and each check uses one credit.

Rows still not picked up?

Send the exported blueprint and a copy of the sheet with fictional data to our Make scenario fix service on Fiverr. No logins needed.

Stuck on an error in your own Make scenario? Make scenario fix / debugging on Fiverr, from $25: send the exported blueprint and a description of the error, no logins needed.

← All guides · All templates

Make, Slack, Google, Gmail, Google Sheets and the other app names mentioned are trademarks of their owners. Flowpaja is independent and not affiliated with or endorsed by them. Menus and features change; check the providers' current help.