The best solution for this is definitely a Read All Rows card. In the past, if you’ve been reading each row individually, that means you’re making an API call to Google Sheets for every single row. With the Read All Rows card, you’re only making one call to get all the data you’re looking for, not a call for every row. Also, our Read All Rows card ignores your first row because it’s assumed that’s the header row, which it sounds like yours is.
I’ve created a couple screenshots to illustrate a simple way to set this up.
The basic structure of this includes a Parent FLO (above) and a Child FLO (below). In the parent FLO, you’re simply reading all the data from your Google Sheet and then giving all of that data to another FLO. (Note: In order to see the “Row” field under the “With the following values” section of the For Each Async card, you’ll need to have set up the Child FLO and have it turned on. So be prepared to have a couple tabs or windows open switching back and forth between the Parent and the Child.)
The Child FLO is where you’ll put all of the operations you want to perform on the data you’ve gotten. When you first create this child FLO, you’ll be able to add fields in the “Inputs to this FLO” section. As shown in the screenshot, you’ll want to name the first field “Row.” Once you’ve named it “Row,” you’ll also need to hover over it and click the “Aa” symbol to change the field type to an Object. Then, you can continue to add fields in the same manner as shown above. For reference, “Row Number” should be a number field and “Columns” is an object field. Everything inside “Columns” should be a string.
It’s important to match the naming and hierarchy structure to the structure shown in the Read All Rows card. You don’t need to type in every single column you have, only the ones you actually plan on using. Then, you’ll be able to drag this info out of the Child FLO card and use it to operate on.
For example, I added that Continue If card to demonstrate filtering your data down. If you had 1000 rows but only wanted to act on the ones that were marked as “Done,” you would simply create a Continue If like I have.
I know this is a lot of content to take in at once so if you have more questions, definitely ask. There’s a lot of different concepts being covered here so if anything doesn’t make sense, I can cover it in more detail.