---
title: Fix connection errors
slug: fix-connection-errors
description: Understand what causes connection errors and how to manage them with error handlers
image: https://archbee-image-uploads.s3.amazonaws.com/oAyFj2GHlBeBVWF5OAir2/Ks1LbZ5mV1k58GSiEF-Q5_11.png
docTags: 
createdAt: 2025-02-03T13:29:15.598Z
---

App modules output the `ConnectionError` when the app is unavailable. For example, the app might be offline for maintenance.

Make uses the [HTTP 503 and 504 status codes](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes) to identify the `ConnectionError`.

:::hint{type="info"}
Make follows the standard error codes and their definitions. Note that it is possible that the third party may not fully comply with the standard.
:::

When a module in your scenario outputs the `ConnectionError`, you should check the status page of the module app. Chances are that the status page will have the URL `https://status.domain`, for example [https://status.make.com](https://status.make.com).

When Make recognizes the module output as the [`ConnectionError`](docId\:n4w0YAeoP7a-A4VfW-EBp) and you don't use any error handling, Make acts depending on the following attributes:

- scenario scheduling
- enabling of the incomplete executions

|                     | Incomplete executions disabled                                                                   | Incomplete executions enabled                                                                                                                                                |
| ------------------- | ------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Scheduled scenario  | Make pauses the scheduling of the scenario for 20 minutes.<br />Make doesn't rerun the scenario. | Make pauses the scheduling of the scenario for 20 minutes.<br />Make retries the incomplete execution with the incomplete execution [backoff](docId\:QIox8zKLNPuRKZSNOP8rC). |
| Instant scenario    | Make reruns the incomplete execution with the scenario [backoff](docId\:QIox8zKLNPuRKZSNOP8rC).  | Make retries the incomplete execution with the incomplete execution [backoff](docId\:QIox8zKLNPuRKZSNOP8rC).                                                                 |

## How to fix the ConnectionError

To handle the `ConnectionError`, you can use the [strategies for handling the rate limit errors](docId\:EQ8GGnx95Q7r047EeLhP3) . The most efficient strategy is to use the [Retry error handler](docId\:cPTWi8yI45ZL3M5slzjNV) to rerun the scenario after a delay:

:::::WorkflowBlock
::::WorkflowBlockItem
If your scenario triggers with an [instant trigger](docId\:PDoPIBceCKCboMPpKplmY) (for example, a custom webhook module), consider enabling Process data in order in scenario settings. With Process data in order, the trigger module processes incoming data one by one in the order they arrive.

Otherwise, skip this step.

:::hint{type="info"}
If a scenario has incomplete executions and Process data in order enabled, Make pauses the scenario until the incomplete executions are processed to keep the order of incoming data.
:::
::::

:::WorkflowBlockItem
Add the **Retry** error handler to the module that is causing the errors.

Consider setting the delay and the number of attempts according to the importance and the schedule of your scenario.

For example, if the app has occasional downtime for maintenance for a few hours with no availability, it might be best to set a lower number of attempts with longer time periods between them.

On the other hand, if the app is occasionally unavailable because it's overloaded, and the scenario is important for you, it might be best to use a short time period (a few minutes) with a higher number of attempts.
:::

:::WorkflowBlockItem
Enable incomplete executions in the scenario settings. Make will save bundles that caused the error.
:::
:::::

For example, if you would use the **Webhook** trigger to ask questions to **ChatGPT**, but the **ChatGPT** app is sometimes overloaded with requests and sending back errors, your Make and Make settings with error handling could look like this:

![](https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/knZ45PKnPwPT5mEYOYbRk_uuid-00ea2d20-42c0-038a-d330-a7a44c61907b.png)

Whenever the **Create a completion** module outputs the `ConnectionError` because the OpenAI servers are overloaded or unavailable, Make creates an incomplete execution with the **Create a completion** module.

After the delay set in the **Retry** error handler, Make reruns the **Create a completion** module. If the rerun succeeds, Make will continue scheduling new scenario runs.

If the rerun fails, Make reruns the module again after the delay, up to the number of attempts set in the **Retry** error handler settings.
