I believe your best bet would be to try adding a delay after queue step https://zapier.com/help/create/customize/add-delays-to-zaps
@cinnes There’s no guarantee of in-order processing. Zapier has a ton of hook endpoint processors and queues and at any moment one may handle a message faster than another. Thinking through work-arounds… the only thing springing to mind is implementing an ACK. Your Zapier trigger handler can positively send a message receipt to your server, and your messaging system could queue messages until the prior one had been acknowledged. Not a quick and easy fix, I recognize.
Anybody else here implemented a solution for guaranteed ordered messaging with hook triggers?
@GetUWired First thing that popped into my head too. But with Delay, every user of the the integration would have to know to do that, and set up that delay for each Zap. And I’m not sure that would address the issue - I think it would still process the messages out of order, just slower!
I have this issue too. Use case: Parent pickup at our day camp. We have QR codes on cars. When the car enters the property we scan them (using Codereadr) which sends the data into a Zapier web hook which then does some stuff in our CRM and Airtable. If the person scanning cars scans them “too quickly” Zapier processes them out of order which messes things up because the cars enter in order and the campers are told what spot to meet the car at, again in order. Adding a delay in the zap simply delayed the next step, it doesn’t help the out of order execution. Any ideas?
Hey all! If this happens with a single trigger (instead of relying on separate triggers from separate zaps), you could have a Webhook at the end of the zap push to a catch hook trigger zap to start the second process.
It might help for certain instances? But if you have multiple triggers then that gets super difficult to accomplish short of using a database check, like say Airtable to check for the first zap having completed and then the second zap checks with the Airtable document, and if it's not shown as completed, you have it push to a catch hook that essentially does a delay and then try again. A circular loop of sorts that starts with a delay and it'll keep trying and push through once the system is showing that the first zap has been completed.
It might get a bit complicated, but I've totally used a catch hook trigger + Webhook action at the end to call upon itself and then have it go a different path depending on the data that exists/doesn't using paths.
Either this is helpful or more confusing, but maybe it'll help trigger an idea!