API Call in Editor Works Fine, But in Workflow Returns Error

So, this is a bit of a weird issue as it is happening to a few different API calls throughout the plugin I’m making. In the plugin editor I am able to Initialize the POST request and it works and creates the object. However, when I use the action in a workflow it returns an error that it is missing required information for the call.

As you can see in this screenshot the call is initialized and working.

In my test page I have the user able to type values in inputs for the calendar title and calendar type. And a button that allows them to create the calendar feed. The button will only allow the user to press it when the inputs are not empty.

In the workflow after the user clicks the button it uses the values from the inputs as the data for the workflow action.
Workflow Action

However even with the information being filled out when making a request it still gives an error saying it is missing the information for the Calendar Title and Type. The error print off is a little hard to read, but it says that “A calendar title is required” “field missing” “Calendar title was not provided” “A calendar type is required” “field missing” “Calendar type was not provided”.
Error Part 1

The fields it is requesting are not empty and so I’m not sure why it thinks they are. The odd thing is that the Update/PUT request works fine, and the fields are not missing when it is called. It does this for a few of the other API calls for this plugin and I’m not sure why. But it does work in the plugin editor when initializing it as I was able to create all the calendar feeds in the repeating group list shown in the test page through the plugin editor.

Any help on this would be much appreciated. as I cannot seem to figure out this issue.

I’m guessing your key “Calendar Title” should be something like “Calendar_Title”. See how the word “Title” after the space is blue?

Hey Brian. Thanks for the suggestion. I tried it but unfortunately it gave me the same error. I don’t think changing the variable name is the issue with it. I’m thinking it must be some weird issue with API through Bubble. As it does initialize and work in the Plugin editor, but when used in an app it gets an error. In the plugin editor I can create calendar feeds, which is how I created them to fill the repeating group on my testing page.

Are you able to take a look at your server log to see what’s actually being fed to the API endpoint from your Bubble app?

Unfortunately the API does not have a server log so I cannot check that way. However I am trying to do some tests with pipedream and it is also giving me the same results. Where the API call works upon initializing in the plugin editor, but does not work when used in a workflow in a Bubble app.

Here is the initialization of the pipedream test.

In pipedream here is how it shows the information.

Here is it being used in a bubble test app and receiving an error.

Here is the pipedream log of the error.

The only thing I really noticed between the two is that for some reason the request through a workflow reads the information in the body as one raw value as opposed to multiple values like it does in the initialization call. I’m not sure as the cause of this weird behavior, but my guess would be it maybe a Bubble issue?

Upon further testing I think I have discovered the issue. It turns out it maybe was a weird Bubble issue.
For some reason the checkbox was causing the issue. Upon removal of the checkbox the API call works in the Bubble app. But I’m still not sure why this was causing an issue for the API to give errors for values being empty.

I meant take a look at your Bubble app’s server log.

When looking at the Bubble app’s server log and also at the information in pipedream I can see that the information is not empty and is in fact being sent. I have determined the issue to be with the formatting of the checkbox values. By using the default yes/no it was not sending the correct information of true/false. I’m not sure why this results in the API thinking the information is empty though.