@Shawn_L I think I understand what you are trying to do and the additional information really helps!
Option 1
So that’s not really how Zapier works, sure we can trigger off of a specific time to start a zap, but then it would need to find an unknown number of rows (the current limits are either 10 or 20 depending on which function you choose) and then write those to the other sheet. Doable, but the limit of 10 or 20 is kinda messy.
Option 2
A better solution would be to update the “database” sheet every time a new order comes in, so you could set up a zap that triggers on a new row in the today sheet and have that write the same row to the database sheet.
This will get messy too, because once that zap is turned on if you delete rows (say 2-25) the zap will only trigger when the row greater (in this case row 26) is written to. There is a workaround to pause the zap (automatically) before the script clears the contents) and then re-enable the zap afterward (automatically) You would do this with Zapier Manager
Option 3
The best way to do this is very similar to Option 2, but just backward. Whatever is creating the rows for new orders have it create those rows in your “database” sheet. Then have a zap trigger off of a new row in that sheet and create the row in today’s sheet. -- This Zap is not dependent upon the script clearing the data and wouldn’t need to be turned off and back on again like in option #2.
So yeah, while option 1 is what you were thinking to do hopefully I’ve convinced you to do option 3
Of course Option 3! I can’t believe I didn’t think of that! Thank you very much, I appreciate the time you took to explain!
The only draw back to option 3 is it is causing you to run many zaps (tasks?) since it is triggering for every order instead of once per day.
I wonder if I can create a new trigger row that fills a Trigger cell every x number of orders so it’s not triggering with each order. You’d still have an issue of dealing with the remainder orders but I suppose that’s a Google Sheets problem to work out.
Eg
cell A1 fills with “X” every 10 new orders
trigger zap when A1=x
There were 96 orders today, how do you trigger the last 6?
in this case simple is the best way to do it.
if you have a two step zap, trigger on a new row and the action is creating a row you will be charged 96 tasks for today's orders. (Trigger steps never count as a task)
If you needed to trigger every 10 rows, then you have an initial three step zap.</p>
- Trigger when A1=x
- get the last 10 rows
- write a row for each line item
so this would be 2 tasks instead of 10, (for those ten rows, so assume you’ve taken 90 of those 96 tasks down to 18)
then you would need a zap that runs at the end of the day and finds the last x number of (rows up to 10) that do not have A1=x
- Trigger at 11:30pm
- get the last 10 rows where a1 does not = x
- write a row for each line item
so this would again be 2 tasks for each line, so 12 instead of 6 and you’d end up with a total of 30 tasks for today instead of 96… sounds great right?
Here’s the catch, how are you going to get your system to only put an x on the tenth line? There are ways to have Zapier do this, but it will double the task usage from 96 to at least 200.
OK so maybe that’s not the way to go! I think my best bet is to bite the bullet and go with option 3 as you suggested.
Frustrating that there’s not a way in Google Sheets to say run this formula only once as that would eliminate the issue of data being deleted but I guess I can’t blame Zapier for that!
And it looks like one other intermediate step is required. I want to trigger it when the order is marked as fulfilled which is on “Todays Order sheet”. However it looks like the Zap can’t be triggered by a value in a cell, it has to be the creation of a new row. So I think I will have to have another helper sheet that just creates a row when the ‘Fulfilled’ cell on Today’s order is filled in so that the helper page can trigger it.
@Shawn_L or you can trigger on an updated row, and add a filter for the “Fulfilled” column has to = fulfilled.
Oh I didn’t realize you could do this! Thanks a million, Paul!