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.

Note that errors have a specific shape.

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