Custom Actions response data not available in subsequent actions

I’m following the instructions in the documentation here but unlike the example shown where the results of the query to the Geocode API are available as magic text, the custom action I execute shows no results. This screencast reproduces what I’m seeing:

Has anyone else encountered this? Is there something more I need to do in the custom action itself to expose those results to the page? The json returned from the test action shows data available in the UI of the custom action setup. It’s just seemingly not making it available to the page. TIA

bump

Is anyone successfully using results of a custom action in a page? I’ve followed the tutorial here to a T and the data returned simply isn’t to subsequent actions on the page.

I’m now going down a rabbit hole of trying to hack a workaround in Integromat to execute the call to BuiltWith and then call a Zap to stuff the data in the Adalo collection but that’s adding two extra hops and making what should be simple unnecessarily brittle… would love to get an extra set of eyes on this to determine if this is a mistake on my part or a bug in Adalo. TIA
cc @Ben @Colin

Hey Sean, I think because the get request is on the previous screen, and you didn’t save the data somewhere in the database, you can’t access it in next screen.

My suggestion would be to run all the actions (create a new record in the site collection, make an API call to BuiltWith, and update the newly created site record) in that single screen.

If it still doesn’t work, then we might have to wait for the Adalo support team to get back. But I think you’ll have to wait until next Monday… Although I’m quite confident if everything is done in the single screen, it should work (that’s what David did in the tutorial video that’s different from what you’re doing).

Hope it works!

right, that’s interestingly happening to me too today…

i have ran several custom actions in the past successfully. i get the full API response, but the values are not showing in magic text. something tells me it’s a bug :slight_smile:

hey @grid7 it’s actually working for me now, do you still need help?

@damianoredemagni hey thanks for checking. Yes unfortunately it’s still not showing the result of the custom action available for use in any subsequent actions on the page.
I’m now exploring a super kludgy hack to try and make this work (posting to Integromat, Integromat makes the GET request to BuiltWith, passes the JSON object to Zapier, Zapier parses the JSON to individual key/values and runs the Adalo zap to create a record in the db - super hackish).

I would love to figure out why the response from the custom action isn’t available and do this in a less-brittle way. If you have any ideas here is a quick screencast that reproduces what I’m seeing.

BTW @vancewong thanks for your suggestion but I have it running on same screen and it still yields the same issue. see above.

hey @grid7 take a look at this

let me know if it helps.

alternatively you could:
• add a regular action to the trigger (button, link etc.) of the custom action
• make the regular action create or update a field in a collection in your database, storing the data you are getting back from the previous call
• get that data with magic text in your next call

makes sense?

I did do this successfully as well. if the data is sensitive, you can have another action that updates that field to “blank” on the next call.

@damianoredemagni thank you so much. So I figured it out from your video and the crux of it is this:
You can only access the response of the custom actions when they’re triggered by a button press (not actions that run on page load).

Hopefully anyone else who bumps into this will discover this thread because this had me stumped and your video prompted me to try keying the action off the button press which ultimately worked. This video shows the solution and the issue with actions not yielding responses when they’re triggered by page load:

I don’t know if that’a a bug or intended behavior but definitely something for people to be aware of and I would argue should be made clear in documentation. Anyways I owe you @damianoredemagni - thank you :pray:

1 Like

aaa this is interesting! i’m gonna have to smoke on this (figuratively)…first reaction is that you’d want to pass that data to the next page via custom action from the previous, much like we need to do that when going from a list to a details page.

re: array did you try “+add items” ? there should be many more available parameters under there.

not sure im addressing either questions correctly, i might need to come back to this

1 Like

Have not tried this- I’m actually currently rethinking how I do things and might put Integromat in the middle after all to handle field validation since I don’t believe there’s a way to have Adalo enforce that the user submits a valid domain in the form field and I likely need to have something screening out junk requests or I’m going to blow a bunch of API credits on bad requests.

I’ll update this thread if I figure out how to extract the array of technologies and make those available.

Hrmm I’m not sure I follow this… I’m gonna play with it. I think it actually makes sense to have Integromat be the central orchestration hub that calls out to all the various services since I need to make multiple calls to services like Alexa, Quantcast, BuiltWith & Uptime Robot to retrieve various data. I’m guessing Integromat will let me assemble all that data into one big response I can format that will work in Adalo… we’ll see.

I’ve learned that Zapier can’t actually do this ^^ and you need the Webhook Response component of Integromat to make it actually wait and assemble & return data from other HTTP calls.

Anyways thanks again for all your help and yea if you get any epiphanies in thinking about this stuff, I would love to hear your ideas. cheers

looked into this again. might have to jump on a call with you, now i want to crack it.

That would be dope. Just DM’d you :+1:

Yes this is definitely confirmed. I asked (now gone) Jeremy Blalock about this earlier:

I’ve had to do several different types of workarounds on various apps to get it to work properly.

@pfordmedia I just backed up one screen earlier and triggered it on the button press submitting the form and that seemed to make the results accessible within the page for me. Not as terrible as the hack I was pursuing earlier chaining Integromat -> Zapier -> Adalo db to get around this…

Random peripherally-related question for you (since I know you’re a fan of Integromat): Is there any way you’re aware of within Integromat to take the result sets from different HTTP calls and meld them together to return them in one response to the calling custom action? I’m hitting multiple API’s (BuiltWith, Gtmetrix and Alexa) and ideally want to assemble one response to return. I’m playing with the “Parse Request” option in each HTTP call thinking that could do it but if you send back two objects in the body Adalo doesn’t seem to recognize it. Are you doing some kind of intermediary sorcery step to generate well-formed JSON or XML within Integromat in this situation? Just curious if you’ve dealt with this before. I’ve not been able to find a response in their forums but posting there was my next plan.

Yes Webhook response bodies need to be formatted as JSON packets and have a header that specifies the Content-Type parameter as application/json in order for Adalo to correctly recognize them.
Body should be like:
{
"dataResults": "8. data results",
"data": "7. data"
}

awesome @pfordmedia - confirmed that did the trick. thank you

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.