I am building a private integration that performs some complex API operations in a single Zapier Action.
Due to the complexity (number of outbound API calls it has to perform), it is possible that during the Action, the private API will exceed its throttle limits and return an error to Zapier, initiating a ThrottledError.
The Zapier docs tell us that:
If a response receives a status code of 429 and is not caught, Zapier will re-attempt the operation after a delay.
In this case, what is an “operation”? It would be great if that was the exact API call, deep inside the Action, that prompted the error, but I don’t see how Zapier would know how to get back to that exact point in the code to repeat it. So, does this mean that Zapier will restart the same Action from the beginning, with its original parameters? Or does the whole Zap repeat?
Whichever way it does this, how do other people handle this to perhaps detect where the Action was up to, and avoid repeating any API calls that had already been performed?
e.g. if the Action creates a record via the API, then has to create some additional attached records, and gets throttled on those additional records, I don’t want the Action to create the same record all over again.
Lastly, is there any way to distinguish when an Action is being re-attempted versus its initial run?
Thanks
Stephen