Skip to main content

Retries

Steps within a flow can be re-tried in case of error. This feature is useful to keep a flow trying to execute even if a step momentarily failed.


If defined, upon error this step will be retried with a delay and a maximum number of attempts as defined below. If both static and exponential delay is defined, the static delay attempts are tried before the exponential ones.

From a single flow, this feature can for example help you with:

  • API requests: Retry failed API calls due to temporary server issues or network timeouts every 5 minutes, for a maximum of 5 attempts, ensuring eventual data retrieval or synchronization with third-party services.
  • Payment processing: Try again failed transactions caused by temporary issues with the payment gateway or the customer's bank for up to 3 attempts and each time clocked by longer delay (thanks to exponential backoff), reducing the likelihood of lost sales.
  • Batch processing: Reattempt failed batch processing jobs caused by temporary resource constraints or server issues every 30 minutes, for a maximum of 6 attempts, ensuring that all tasks are eventually completed.

As well as many other examples (inventory synchronization, data backups, file uploads, scraping etc.)

Constant Retries​

From the Advanced menu, pick Retries and toggle Constant retry enabled.

From there, define a maximum number of attempts and a given delay.

Although the delay is set in seconds, inputs can be given in minutes, hours or days.

Constant Retries

Exponential backoff enabled​

From the Advanced menu, pick Retries and toggle Exponential backoff enabled.

From there, define a maximum number of attempts and a given exponential delay defined by a base (in seconds), a multiplier and the number of the attempt.

The formula being given by delay = multiplier * base ^ (number of attempt).

For example, for:

  • base = 3
  • multiplier = 2
  • attempts = 5

Here are the delays between each attempts:

Exponential Delays

#DelayFormula
1After 6 seconds-
218 seconds after attempt #12 * 3^2
354 seconds after attempt #22 * 3^3
4162 seconds after attempt #32 * 3^4
5486 seconds after attempt #42 * 3^5

Continue on error with error as step's return​

When enabled, the flow will continue to the next step after going through all the retries (if any) even if this step fails. This enables to process the error in a branch one for instance.

By default, each step is set to "Stop on error and propagate error up".

Continue on error step

Continue on error flow