Hi everyone,
I’m experiencing an issue where Custom Action Outputs disappear after saving in Adalo.
I’d appreciate any insights or suggestions from those who’ve encountered this problem.
In Step 3 (Outputs), I run a successful test request — the correct JSON response is displayed.
I add these outputs from the dropdown list and set their types:
scenario_key (Text)
required_count (Number)
first_field.field_key (Text)
first_field.label (Text)
etc.
After saving, the Outputs appear correctly.
However, when I close and reopen the Custom Action, all Outputs disappear and show “No Outputs.”
■ What I’ve Tried
Added a dummy Input (nonce = "test") and sent a valid JSON body ({"nonce":"{nonce}"}) → same issue.
Ensured each Output has a Type set and clicked DONE before saving.
Confirmed the API always returns the same structure (never first_field: null).
Tested with a minimal endpoint /scenarios/min returning a fixed JSON — same behavior.
Tried multiple browsers (Chrome / Edge) and Incognito mode — still reproduces.
Tested all action types (Create / Update / Delete) — same issue.
■ What I’d Like to Know
Is this a known bug in Adalo Studio?
Are there any specific conditions or limitations that cause Outputs not to persist?
Is there a reliable workaround to make Outputs stay saved permanently?
■ Notes
The API always returns 200 OK with a valid JSON structure.
I simply need to keep these Outputs, but Adalo removes them after saving:
scenario_key → Text
required_count → Number
first_field.field_key → Text
first_field.label → Text
first_field.help → Text
first_field.type → Text
first_field.order → Number
Any help or workarounds from the community would be greatly appreciated.
Thank you so much for your earlier advice about simplifying my JSON response structure. I really appreciate you taking the time to help.
Following your suggestion, I’ve modified my API to return completely flat keys (no nested objects) such as:
{
“ok”: true,
“scenario_key”: “sales_basic”,
“required_count”: “1”,
“first_field_field_key”: “product_name”,
“first_field_label”: “What’s your product name?”,
“first_field_help”: “Enter the official name or common name.”,
“first_field_type”: “text”,
“first_field_required”: “true”,
“first_field_order”: “1”
}
I also made sure that every value is returned as a string, and that in Adalo, each Output field is set as Type = Text.
However, the issue still persists — the Outputs appear right after saving, but once I close and reopen the Custom Action, all Outputs disappear and show “No Outputs.”
I’ve confirmed that:
The API always returns a valid 200 response with this flat JSON structure.
The test request in Adalo works correctly and displays the proper data.
I’ve tried adding an input (nonce), re-running the test, waiting before saving, and even creating a brand-new Custom Action — but the Outputs still vanish after saving.
I wanted to share this update with you to see if you might have any additional ideas or known workarounds for this issue.
Thanks again for your help and for sharing your experience — it’s been really valuable.
Also keep in mind that AI advices could be misleading (which is the case in this thread). @Tola if you really want to help others, before copying AI response please take some time to check if it is correct or not.
Otherwise this is not help but poisoning the forum.
The key takeaway from his video is that whenever you re-test a Custom Action, Adalo refreshes the response structure. This means your previous Outputs are cleared and need to be re-selected. Adalo does this intentionally to make sure the Outputs always match the latest response, ensuring the correct data is available in any following actions.
Thanks a lot for all your help and for taking the time to share such a clear explanation (and the Loom video!).
Your breakdown of how Adalo handles schema caching and the step-by-step pattern for saving outputs really makes sense.
I’ll be trying your suggested workaround this weekend — creating a brand-new custom action and adding the outputs one at a time like you showed in the video.
I’ll let you know how it goes once I’ve tested everything.
Seriously, I really appreciate you sharing your experience and being so generous with your time.