New! Error Handling on API steps

Hey everyone – big news on the API front!

Time and time again, we’ve heard from you all about the need for error handling in our API steps (like this post, that post, this other post… the list goes on). The problem? Parabola Flows would fail if just 1 request out of potentially thousands hit an error. Sometimes the desired behavior was to have these errors ignored, other times customers wanted to re-try these failed API calls.

Keeping these problems top of mind, we’re very excited to share that our “Enrich with an API” and “Send to an API” steps now support error handling! This new functionality allows you to ignore select errors, retry specific API calls, export a list of failed requests, etc. – the choice is yours.

How does it actually work?

In our API steps, you will now see an Error Handling section at the bottom of the settings:

By default, the behavior has not changed – if just 1 request fails, the whole step will fail. You can change that setting to stop the step after a specific number of rows fail, or after a percentage of all API calls fail. Enabling this setting will make 3 new columns appear in your dataset reporting on those API calls:

With these error messages in-hand, you can then add a filter rule to handle failed API calls differently than those that succeeded. For a full explanation of our error handling, feel free to check out our How To docs.

Overall, we hope this new feature drastically cuts down unnecessary flow failures, makes Parabola flows much more flexible and dynamic, and enables our customers to connect with more APIs that may have previously been impractical.

We would love to hear your thoughts on the new release – let us know what you think in this post below, and feel free to reply with any questions!

6 Likes

Gamechanger. Thank you Parabola team! This makes Parabola that much more powerful and useful.

2 Likes

Hey everyone,

I’ve got a question about error handling that might be broadly relevant.

I have error handling set up on an API enrichment step, so that the flow will only fail after 7 rows fail.

At the same time, I have steps set up to catch rows where the API Success Status = false, in other words, to catch the rows that fail.

A flow failed, so I checked the steps, and I see a 400 error:


At first I assumed this meant that at least 8 rows had failed. But, when I check my steps which catch rows that failed, it’s empty:


Does this mean that the 8th row failed, and failed rows just aren’t visible in draft mode, or is it possible that this is causing the flow to fail on the first row that fails, even though it’s supposed to not do so until 8 rows fail?

Thanks!

Hey @Brian_Dawson,

In this case, looks like you’re seeing the error message for the eighth failure in that dataset. Since that causes the entire step to fail (and data does not pass through failed steps), that caused ‘no data to be received’ in the subsequent filter step.

If the number of failures fell below the threshold you set, you would be good to go on that filter set up! Let us know if you have any other questions.

1 Like

Ah, that makes perfect sense. Thanks for clarifying that for me @Adam_R!

1 Like