Webhook Response not executed after HTTP error (redirect issue)

:bullseye: What is your goal?

I want the user to always be redirected to a confirmation page after clicking a link, even if the HTTP request fails.

:thinking: What is the problem & what have you tried?

I have a scenario: Webhook → HTTP (Brevo API) → Webhook Response.

The goal is to update a contact (DOI confirmation) and then redirect the user to a confirmation page.

The problem is:
When the HTTP module returns an error (for example “Email address or ID is required” or other Bad Request errors), the scenario stops and the Webhook Response is not executed.

As a result, the user sees the default Make response instead of being redirected.

What I have tried:

  • Mapping the email from the webhook into the HTTP URL
  • Testing with a static email in the URL
  • Verifying API key and headers
  • Using HTML meta refresh in the Webhook Response
  • Running tests with “Run once”

However, the redirect only works when the HTTP request is successful. If it fails, the response is not executed.

:clipboard: Error messages or input/output bundles

Error message from HTTP module (Brevo API):

[400] Email address or ID is required

Request:
PUT https://api.brevo.com/v3/contacts/{email}

Headers:
api-key: (set correctly)
Content-Type: application/json

Body:
{
“attributes”: {
“DOI_STATUS”: “bestaetigt”
}
}

Input (Webhook):
email = example@test.com

Issue:
When this error occurs, the scenario stops and the Webhook Response (redirect) is not executed.

:camera_with_flash: Screenshots (scenario flow, module settings, errors)

screenshots make community problemanfrage.pdf (380 KB)

This is normal behavior in Make.

If the HTTP module fails, the scenario stops right there, so the Webhook Response step after it never runs.

The simple fix is to add error handling on the HTTP module and send the redirect from there too. That way, whether the API call works or fails, the user still gets redirected to your confirmation page.

So short answer: the Webhook Response is not running because the scenario stops on the HTTP error first.

The best strategy to deal with this is to have an Error Handler on your HTTP request. This means that when your HTTP request hits an error for any reason it will go down a separate path with specific steps that you setup that can help you resolve the situation. It is basically a backup plan in case something goes wrong.

To implement an error handler right click on the HTTP request and in the menu that appears click Add Error Handler

You will see a new blank module and a menu of specific error handlers that you can add. This gives you a range of options for just ignoring it and continuing the scenario, Resume which will allow you to map the variables of the original module that failed and then continue the scenario with those variables. Break will stop the scenario. You can treat this path as a normal path in Make as well with nodes from other apps that you would normally include in Make as well. This means there are filters and routers available meaning you could have the flow do something different depending on the specific error given.

I hope this information helps. You can learn more about error handlers here: Overview of error handling - Help Center