Retrying an API call if a condition is not met

I am using the Qualtrics API to export a JSON file with survey responses which involves 3 API calls to complete (1. Start the export, 2. Query the progress, 3. Download the exported file) and what I need help with is Step 2. In that response there is a percentComplete field that shows the progress. I cannot start the download of the file until that returns 100.0 (100%)

So in my project what I need to is to evaluate that field and if it's less than 100% then wait a few seconds and try the call again until it eventually returns 100% and then run the final call which downloads the file. After Step 2 everything works great but that's simply because I've been executing each step in this process manually and so by the time I get to the Step 2 API call it's always at 100% but when I eventually set this to run automatically that may not always be the case. I tried putting a Halt/Warn step in there which checks the value but if it's less than 100% it simply halts progress and tells you "The download is not yet complete" and so I'd need to manually re-run that Step 2 API without re-running Step 1 (which would start a whole new download).

Any suggestions on how to make this work?

Hi Bryan,

That's a use case for the "Repeat" action. Put the query call into a separate module and call it repeatedly using the "Repeat" action until it returns 100% (and makes the result table empty or not empty - depending on the action settings).

Thanks, @dgudkov I kind of figured that might be the solution but wasn't exactly sure. I've used something similar in running pagination for an API call so I should be able to figure it out from here.

Thanks, again!

Linking a relevant example: