# Custom Actions

*Skill Level: Expert*

### Before You Begin <a href="#before-you-begin" id="before-you-begin"></a>

* You will need a [paid Adalo plan](https://www.adalo.com/pricing) to use this feature: Professional Plan or above.
* Ensure you have an understanding of [Actions](https://help.adalo.com/glossary#action), [Databases](https://help.adalo.com/database), and [Magic Text](https://help.adalo.com/glossary#magic-text)
* Ensure you have read about the basics of APIs (see [our primer on them here](https://help.adalo.com/glossary#api-application-programming-interface))

***

## Intro Video

{% embed url="<https://youtu.be/SHibYnE7v1Q>" %}

> The video above is Version 1 of Custom Actions. If you want to see Version 2 where you can now bring data back into your app from other external apps, [watch the video here! ](https://youtu.be/loNKubtci7Q)

### What Is a Custom Action?

A **Custom Action** is a request your app makes to an external API when a user interacts with something inside your app. For example, tapping a button or submitting a form.

You can use a Custom Action to:

* Send data to another service
* Trigger a webhook or automation
* Retrieve data from an API and use the results inside your app

***

{% content-ref url="custom-actions/how-to-create-a-custom-action" %}
[how-to-create-a-custom-action](https://help.adalo.com/integrations/custom-actions/how-to-create-a-custom-action)
{% endcontent-ref %}

{% content-ref url="custom-actions/simple-custom-action-walkthrough" %}
[simple-custom-action-walkthrough](https://help.adalo.com/integrations/custom-actions/simple-custom-action-walkthrough)
{% endcontent-ref %}

{% content-ref url="custom-actions/advanced-custom-action-walkthrough" %}
[advanced-custom-action-walkthrough](https://help.adalo.com/integrations/custom-actions/advanced-custom-action-walkthrough)
{% endcontent-ref %}

***

### Limitations

* When using a **Custom Action** as a **Screen Action**, the Outputs will not be available for use in subsequent actions.
* Supported property types for Custom Action Outputs are **Text**, **Number**, and **Date/Time** only.
* Custom Actions **cannot** be used directly on form submission actions.
* Custom Actions **cannot** be copied from one team to another.
* Editing a Custom Action updates it at the **team level**, not just within a single app.

#### Important Note on Team-Level Behavior

Custom Actions are unique to your **team**, not to individual apps. If you use the same Custom Action in multiple apps and later make an edit, that change will apply everywhere it’s used.\
For this reason, it’s best practice to **re-create Custom Actions for each app** if the setup or outputs differ. This helps prevent unexpected changes and ensures each app functions independently.

***

### Learn More

* For a  list of example use cases for Custom Actions, [click here](https://help.adalo.com/glossary#custom-action).&#x20;
* Test your API in Postman before connecting to Adalo.
* Custom Actions work best with REST APIs and can only recognize JSON responses. APIs utilizing XML, SOAP, or GraphQL are not supported unless they can return JSON responses.
* Custom Actions can't send multiple records in their API request.
* Custom Actions are different from External Collections in that they are used to perform a single function instead of displaying a list of items like an external collection.
