I am resorting to posting here after having a long ping-pong thread with Support on this with them not understanding my issue at all.
What I have observed is that when an external API is called and Bubble is not able to connect to the API itself (for whatever reason, say other server is down etc.), then the workflow execution stops there itself with that error of “unable to connect” and subsequent workflow actions are not executed even if the setting of
Include errors in response and allow workflow actions to continue is enabled. So there is no way for me to handle the error in next step.
In fact at the place where I faced the issue, I was not bothered a lot for handling the API error too as long as workflow continued and rest of the steps took place. Unfortunately, my those other steps didn’t get executed causing other serious issues for us.
Would be nice if someone could share their experiences in similar scenarios and how they handled it. I am unable to give “reproducing steps” to Support as “creating an API which would be working fine while initialising the call in API connector, but would have server not reachable at the time of running the API” is beyond me to reproduce.
Support team has got fixated on saying that since these errors happened during time period of capacity-peak-issue (falsely created by Bubble as mentioned in other threads), the app behaved this way. While that is not the case actually as connections to only this API were failing in this period. I had reached out to API provider of that API and they fixed the issue later. Also, after I had switched over to another provider of those APIs (SMS APIs, so I have two providers for that), the errors had gone. But Support seems to be ignoring all that, and not answering my core question of how to handle scenarios where Bubble is not able to connect to API itself.
I can understand the frustration but you aren’t getting any errors so there’s nothing for the workflow to continue on. What you are talking about if I have this right is the API is unreachable so it’s timing out.
So the question should be how can I tell if an API can’t resolve the host? This is outside the API’s remit as DNS handles finding the server. The API call hasn’t been triggered at this point.
Console recognises the API call getting a 500 error
I tried putting in a bad address into postman to see what the console says and got this
The same process in bubble doesn’t log anything so I’m not sure what you can do here. I’ll be interested to see if anyone else can elaborate
Thanks for the reply @johnnyweb
Yes, I understand that since API hasn’t been hit, there is no API error to continue for the setting of
Include errors in response and allow workflow actions to continue. And that is precisely one of the things I tried to communicate to Support team. They kept on pointing me to documentation and blog post that talk about this setting and telling that API error will be updated accordingly and I can use it.
However of course, Bubble could probably be coded to take care of retrying or continuing after not being able to connect, or maybe continue either way unless there is a step trying to access API’s results. But looks like those are not there.
By the way the error does show in logs console. But the problem is workflow stops there. Error shows like this.
You look to have token details in your image there - I’d remove that.
I was simulating the error by changing the address hence the DNS error - you are resolving the address but the server isn’t responding which is one step further on hence recording the error in the logs.
Given you capture that error have you considered this step in your workflow? How to Use the Element Has an Error Event | Bubble
Thanks. Yeah, just removed those.
Those are applicable only for front-end. My workflow is a backend one.