How to set row number to process in Google Sheets

My workflow is triggered on “new row” in Google Sheets.
Is there a way to set the row to start on? In Make they have “Choose Where to Start” and you can put in the row number.

When I am testing an API post, it always seems to send the top row (which is the data labels) so it always gives me errors but I can’t find where to tell it that the top row is the data labels.

If you use “New Row Added” trigger on Google Sheet,
it will consistently trigger only the most recently added row, as the system keeps track of previously own entries.

Ok, but what if I wanted to sort one of the rows? The only option is to make the system pick the most recently added row? :frowning:

I’ve got your point.

Activepieces triggers for Google Sheets are designed to watch for new rows added to the sheet, but by default, they fire only when a new row is appended-typically after the last row in your data. The “New Row Added” trigger does not let you specify a starting row, so you can’t natively choose an arbitrary row for the system to begin monitoring or processing like Make’s “Choose Where to Start” feature.​

  • How It Handles Row Data
    When using the “New Row Added” trigger, it will only fire on rows added after the workflow is enabled, not on pre-existing rows.​

The flow does not automatically skip the header row if running a test on the existing data-the top row (often containing labels or headers) may be processed and cause errors if sent to an API expecting actual data values.​

  • Options For Handling or Sorting Rows
    If you want to process or start with a specific row (not just the latest added), you need a workaround such as:

Use the “Get Row by Row Number” or “Get Next Group of Rows” actions to fetch and process rows other than the newest one.​​

Use a scheduled trigger to process rows in bulk, where you can specify a range starting from a particular row-helpful for testing or batch workflows.​

Always ensure your header is in row 1 and set your logic/actions to skip or start after row 2.

For custom scenarios, consider filtering out the header row in your flow’s logic or only mapping fields from non-header rows when sending to APIs.​

This makes it difficult (impossible?) to set up.

Row 1 has headers, so the test data is always the header text.

The “New Row Added” module has no toggle to define row 1 as headers, so its impossible to get my data into the workflow to test it as every time I hit ‘test’ it will import the headers.

Edit:
This is the only, very clunky way Ive been able to make it work:

  1. Delete the header row, load the test data from the sheet.
    (now you have test data to move on to your next step)
  2. Replace the header row and refresh the sheet in order to get the fields where you can place the results from step 1

This works to set it up, but now you have a problem that your rows are offset. It will work when a new row is created, but sometimes you have to create two new rows to get it to trigger which leaves test data in your sheet.

A ‘Start from row #’ option field
would solve all of these problems instantly.

does the sheet have any other rows apart from headers?

Yes, the data is in row 2

In case I haven’t laid it out clearly. Here’s the problem…

Flow:
module 1 - Read data.
module 2 - send data to api

This is the spreadsheet:

image

When you test this, it is going to import your headers, because “New Row Added” has no way to skip row 1.

You need to get data (not headers) into module 2 so that you can set it up and test it.

In order to get data into module 2, you need AP to skip row 1.

When you test the trigger it will fetch 5-10 rows from the sheet. You can select the result as shown in image to select the second row data.

1 Like

WOW. :exploding_head:
I don’t know how I missed that. Thank you @kishanprmr that solves my current problem! (not the one in the post title, but this is a HUGE help)

note: I accidentally flagged this response but I was trying to bookmark it. I can’t seem to unflag it :grimacing: