# Action Basics

## Quickly Learn about Actions in Adalo

This video covers the basics of Actions in Adalo. Learn how actions move users between screens, interact with the database, and add interactivity to your app.

{% embed url="<https://youtu.be/ZDpCQHmObW8>" %}
Watch a quick overview of Actions in this short YouTube tutorial.
{% endembed %}

## Actions

Actions define what happens when a user interacts with a component. If components are the nouns of your app, actions are the verbs. They let users navigate between screens, submit data, trigger notifications, and more.

You add actions to components like buttons, icons, list items, and images. A single component can have multiple actions that run in sequence.

***

### Link

Navigate the user to another screen or open an external URL.

* **Existing Screen** - link to any screen in your app
* **New Screen** - create a new screen and link to it in one step
* **Back** - return the user to whatever screen they came from
* **External Link** - open a website, email, phone number, or messaging app (listed as "Website..." in the menu)

[**Learn more about link actions →**](https://help.adalo.com/actions/links)

***

### Change Data

Create, update, or delete records in your database collections.

* **Create** - add a new record to a collection
* **Update** - edit an existing record
* **Delete** - remove an existing record

[**Learn more about change data actions →**](#change-data)

***

### Notifications

Send and manage push notifications from your app.

* [**Trigger Notification**](https://help.adalo.com/actions/notifications/trigger-push-notifications) - send a push notification immediately
* [**Schedule Notification**](https://help.adalo.com/actions/notifications/scheduled-notifications) - send a push notification at a future date and time
* [**Request Permission**](https://help.adalo.com/permissions#request-notification-permissions) - prompt the user to allow push notifications

[**Learn more about notification actions →**](https://help.adalo.com/actions/notifications)

***

### Location

* [**Request Permission**](https://help.adalo.com/permissions#request-location-permissions) - prompt the user to allow location access

Requires a Google API key to be configured in your app settings.

[**Learn more about location permissions →**](https://help.adalo.com/permissions#request-location-permissions)

***

### Custom Actions

Connect your app to external services using custom API integrations.

* **Custom Action** - call an external API you've configured
* **New Integration** - connect to popular services like Gmail, SendGrid, Google Sheets, Twilio, Mailchimp, Slack, and Google Drive through Zapier

[**Learn more about custom actions →**](https://help.adalo.com/integrations/custom-actions)

***

### More Actions

These actions are found under the **More...** submenu in the action menu.

* [**Share**](https://help.adalo.com/actions/share-action) - open the device's share sheet so the user can send content, like text, images, or files, to any app on their device
* [**Deep Linking Share**](https://help.adalo.com/component-basics/inserting-and-editing-screens/deep-linking/deep-linking-share-action) - share a direct link to a specific screen in your app
* [**Change Input Value**](#change-data) - set or update the value of a Text Input or other input component on the current screen

[**Learn more about share actions →**](https://help.adalo.com/actions/share-action)

***

#### User Login

Also found under **More...**, the User Login submenu contains authentication actions.

* **Sign Up** - create a new user account and log them in
* **Log In** - log an existing user into the app
* **Log Out** - log the current user out
* **Forgot Password** - send a password reset email to the user

***User login sessions expire after 20 days. This is the default and cannot be changed.***

***

### Conditional Actions

Any action can be made conditional so it only runs when certain criteria are met. This lets you create logic like "only delete this record if the user is the owner" or "only navigate to the next screen if all required fields are filled in."

[**Learn more about conditional actions →**](#conditional-actions)
