Action Condition ("Only when ...") technically working, but not stopping "Get data from an external API" call from running

I’ve never had any issue applying action conditions before, but in a new app I’m noticing a problem. I have an action in a workflow that makes a change to a thing where the change involves a “Get data from an external API” call. I have a condition on this action to only run it when the necessary API inputs are present (i.e., “Input XYZ’s value is not empty”), so that I don’t trigger an errant API call. But the conditions aren’t working – even when the condition is clearly false, the action (or more specifically the API call within the action) runs, and I see an big gray API error during runtime. I want to be clear on the nuance here – the action condition itself seems to be working. If I replace the dynamic part of my “Get data from an external API” call with a static value that meets the API requirements, I can see the action condition is properly evaluated because my Thing is – correctly – not touched by the workflow action (as it otherwise would be if the condition were true). But regardless of whether the action condition evaluates to TRUE or FALSE, the API call within the action is being made.

Can someone on the @Bubble please team take a look?

Thanks,

-Ed

Bumping this back up to Team @Bubble – I really think this is a problem. It seems that API calls in workflows are always triggered and then their results “thrown out” if their “Only when …” action conditions evaluate to true. Perhaps I am missing something, but why wouldn’t it first evaluate the action condition and, if and only if the condition evaluates to true, then and only then attempt to execute the action itself?

After 4-5 hours of tinkering, I was finally able to cobble together a workaround to avoid triggering the unwanted API calls, but this has really added a lot of extra “cognitive overhead” to my app. For the most part I’ve avoided letting this overhead bleed into the end user experience, but all the added conditional logic and workflow actions seem awfully brittle compared to simply setting up the equivalent of “don’t do step x if it’s obviously not going to work.”

Sorry for the mini-rant, but I wanted to highlight the impact of the previously-reported problem. Happy to supply more info as needed.

I would suggest filing a bug report - https://bubble.io/bug_report

1 Like

This topic was automatically closed after 14 days. New replies are no longer allowed.