Feature Request: Enhance Workato Monitor… Retry with More Flexible Retry Counts and Intervals for API Failures
I have a Feature Request around the “Monitor… Retry” functionality in Workato… For every API call I make to an external system I am, of course, enclosing the call in a Monitor… Retry clause in my Recipes. For the most part this is working nicely (or at least seems to be – we’d only notice if there was either a code/data or transitory failure). It’s the later scenario (transitory failures) that we’ve encountered a few times in the Dev environments when connecting to the API of a SaaS product (HubSpot since you ask). Very rarely (but enough to make a note) we get a 404 error from the HubSpot sandbox. However, by the time the error message is brought to my attention (even a few mins later), re-running the job then always works. So this feels like a transitory failure of the HubSpot API which seems to last just a bit longer than the maximum retry values allowed by Workato (i.e. 3 attempts with 10 second intervals between retries). Obviously the question of the availability of the HubSpot API is one for their support team, but it does raise a question around what seems to me to be an unnecessary limitation of the current Monitor… Retry functionality in Workato. Previously I’ve worked with integration teams and we’ve coded our own bespoke solutions to handle API failures. With this experience in mind I was surprised to see a maximum number of retries of only 3? In addition, the Time Interval Between Retries is very simple and also very limited in scope – allowing a maximum of only 10 seconds between retries. So with Workato currently, if an API endpoint doesn't recover in 30 secs max you're out of luck. And that seems quite a short period. With systems I’ve been involved in building we’d typically have more than 3 retries and the time intervals would span a longer period (usually spanning several minutes if not longer). And often we’d specify non-linear waiting periods as the retry count increased - say 10 secs, then 30 secs, 2 mins, 5 mins, etc. The aim obviously is to give the target system time to recover from any transitory failure. I realise that the Monitor… Retry clause is generic and not just for API use. And I assume there might be issues with a Recipe pausing for a prolonged period of time. But I still would have thought it would be possible to enhance the Monitor… Retry functionality along similar lines to that which I’ve set out above? Although this suggestion is prompted by the specific scenario we’ve seen recently, it is a common one in integrations, so I’d have thought it would be of wide benefit to the Workato customer base? This post at least serves to kick off this Channel anyway 😀