---
title: Retry error handler
slug: retry-error-handler
description: Use Retry error handler to store incomplete executions and enable automatic or manual retries.
image: https://archbee-image-uploads.s3.amazonaws.com/oAyFj2GHlBeBVWF5OAir2/48Ms2m82obih6jpOJbMji_11.png
docTags: 
createdAt: 2025-02-03T13:29:13.656Z
---

When a scenario hits an error, the default behavior is often to simply stop. The Retry error handler allows you to pause a failed bundle, store the error message, mappings and the remaining scenario flow. Depending on the Retry error handler settings, Make retries the incomplete scenario either automatically or manually.&#x20;

**When to use it**: Use the Retry error handler when you want to pause and potentially retry the failed run rather than just skipping or rolling back.

**For example:** A new order is placed and triggers a scenario. Tim uses Make to write the order data to the database. The database write fails due to a temporary connection issue. He adds the Retry error handler which pauses that bundle and stores the error, the order data, and the remaining scenario flow as an incomplete execution. Make continues processing any other orders in the queue. Make automatically retries the failed bundle after a set interval (e.g. 3 attempts, every 15 minutes) until the database connection is restored and the entry is successful. Once the database write completes, the confirmation email is sent as normal.

For more information about error handling strategies check the [Overview of error handling](docId\:sN7McE4QmL-Q6wDTOOcSy) .

### How does the Retry error handler works

The Retry error handler acts as a time-out corner for a problematic module. Instead of stopping the whole scenario, the Retry handler pulls the failing bundle out of the flow. Make saves exactly what went wrong, including the error message and the data that caused it. Make processes the rest of the modulesin the scenario flow.

Automatic retry is most effective for temporary errors or errors where another attempt might be successful.

:::hint{type="info"}
Make automatically retries the most frequent temporary errors, the `ConnectionError` and `RateLimitError`. You don't need the Retry error handler to automatically retry these types of errors.

To automatically retry the `ConnectionError` and `RateLimitError`, you only need to enable incomplete executions in scenario settings.

You can read more about automatic retry in the article about [incomplete executions](docId:6zZNn7v35hERRCJFccp9Q).&#x20;
:::

To use the **Retry** error handler in your scenario, you have to enable incomplete executions in scenario settings.

### Use the Retry error handler

In this example, we have a scenario that updates a data store and then sends a Slack message. If the data store update fails because of a missing value (a `BundleValidationError`), a Slack message will never be sent.&#x20;

This demo scenario contains five modules.

1. **JSON** - **Parse JSON** provides test data in the form of an array of ten record IDs.
2. **Iterator** splits the array into individual bundles.
3. **Data store** - **Update a record** Updates the data in the data store.
4. **Data store** - **Update a record** This module updates the data again. This time the module works differently. In the module mapping, there is a mapping that intentionally creates an error:

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/IGuzVI2USP_2J2uaI6DiO_uuid-38a27efa-f066-3ba0-d77f-c1fac59dbb6a.png" size="100" width="882" height="254" position="center" darkWidth="882" darkHeight="254" showCaption="false" indent="2"}

:::Paragraph{indent="1"}
The mapping inserts a `null` value into the required **Key** field, which always creates the `BundleValidationError`.
:::

5. **Slack** - **Send a message**: Sends a message to a private testing channel.

**This is how the example&#x20;**&#x73;cenari&#x6F;**&#x20;looks:**

![](https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/L6a2XCwEDQWUCbUSajRPF-20260525-093117.png)

When we run the example scenario, we would get the `BundleValidationError`.

![](https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/FVita6Pz8FHNk0QTzNyv9-20260525-093231.png)

**Let's see how to handle this error using a Retry error handler.**

::::WorkflowBlock
:::WorkflowBlockItem
Right-click the data store module that failed and click **Add error handler.**
:::

:::WorkflowBlockItem
From the list of error handlers, click **Retry**.&#x20;
:::

:::WorkflowBlockItem
Configure the **Automatically complete execution** by toggling between **Yes** or **No**.

If you set it as **Yes**, the system automatically retries depending upon the the number of attempts and the interval (e.g., try 3 more times, every 15 minutes).

If you leave this as **No**, the error will stay in your **Incomplete Executions** tab until you resolve it.
:::

:::WorkflowBlockItem
In the bottom panel, click th&#x65;**&#x20;Scenario settings**.&#x20;
:::

:::WorkflowBlockItem
In **Store incomplete executions**, selec&#x74;**&#x20;Yes.**
:::

:::WorkflowBlockItem
Click **Save**.
:::
::::

You've successfully added the **Retry** error handler to your scenario.&#x20;

**What happens when you run the scenario after you add a Retry error handler.**

Here, we added the **Retry** error handler to the **Update a record** module, the **Retry&#x20;**&#x65;rror handler would remove the bundle from the scenario flow.&#x20;

When an error occurs in the **Data store** module, Make issues a warning and creates an incomplete execution. The incomplete execution contains the error message, scenario mappings and data.

Make would then process the remaining bundles in the scenario flow.

![](https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/Sqqw28dZbN76adAIzgWy5-20260525-093939.png)

You can finish the scenario run in the incomplete executions tab manually or Make can finish the run automatically.

If you use the automatic scenario completion, Make attempts to finish the scenario automatically.
