⚡ Custom Actions
Connect your app to any API, with secrets stored encrypted.
A custom action is an API call you define once. You describe the request, the values your app passes in, and the keys it needs; Ada can then call it from anywhere in your app.
Use it for anything Adalo does not integrate with directly — a payment provider, an AI service, your own backend, a Slack channel.
The list
Section titled “The list”Each action appears as a row, with a bin icon to delete it. + New action opens the editor. If there are none yet, the panel says so.
Defining an action
Section titled “Defining an action”Name and description
Section titled “Name and description”Action name — a short name, for example Send a Slack message.
Description — required, and more important than it looks. Ada reads this to decide when and how to call your action. Say what it does and when to use it: “Posts a message to a Slack channel.”
An action with a vague description is one Ada will use in the wrong place, or not at all.
Endpoint
Section titled “Endpoint”The method and the URL.
Methods available: GET, POST, PUT, PATCH, DELETE.
The URL can contain your variables in double braces, so https://api.service.com/{{channel}}/messages takes channel from the call.
Headers
Section titled “Headers”Name and value pairs, added a row at a time. Values can reference variables and secrets, so an authorization header reads Bearer {{secret:TOKEN}}.
Request body
Section titled “Request body”The body to send, for methods that take one. Variables are substituted here too:
{ "text": "{{message}}"}Variables
Section titled “Variables”Inputs your app sends each time the action runs.
Each variable has a name and an example value. The example is not decoration — Ada uses it to wire the call into your screens, and Test uses it to make a real request.
Secrets
Section titled “Secrets”API keys and tokens.
Secrets are encrypted on the server and injected when the call is made. They are never shipped inside the app, so they cannot be read out of it. Reference one as {{secret:NAME}}.
A secret that is already stored shows as stored rather than revealing its value. Leave it alone to keep it, or type a new value to replace it.
Test runs the action for real, using the example values from your variables.
A successful test captures the response and keeps a sample of it, so Ada learns the shape of what comes back and can bind the right fields to your screens. Testing a new action before saving it is worth the extra step for that reason alone.
Warning
Test makes a genuine request. If the action charges money, sends a message, or deletes something, that really happens.
