# Action nodes

Appfarm Create features a built-in library of logical operations, known as *action nodes*, that can be dropped into an [action](https://docs.appfarm.io/reference/apps/actions). Each action node runs a distinct operation with customizable properties. These include [if statements](https://docs.appfarm.io/library/action-nodes/if) and [foreach loops](https://docs.appfarm.io/library/action-nodes/foreach) as well as [data operations](#data) and advanced functionality such as [generating PDFs](https://docs.appfarm.io/library/action-nodes/generate-document) and [sending SMS](https://docs.appfarm.io/library/action-nodes/send-sms).&#x20;

You can add Action Nodes to an Action with drag & drop, by clicking the Action Node (will add it after the selected action node inside the selected action), or by using [Appfarm Commander](https://docs.appfarm.io/reference/appfarm-create/appfarm-commander) (`CTRL/CMD + k` <i class="fa-right">:right:</i> Seach by name <i class="fa-right">:right:</i> Add the action node).

## Data

Create and manipulate data in [data sources](https://docs.appfarm.io/reference/apps/data/data-sources).

* [Create Object](https://docs.appfarm.io/library/action-nodes/create-object)
* [Create File Object](https://docs.appfarm.io/library/action-nodes/create-file-object)
* [Create File Archive](https://docs.appfarm.io/library/action-nodes/create-file-archive)
* [Read Objects](https://docs.appfarm.io/library/action-nodes/read-objects)
* [Update Object](https://docs.appfarm.io/library/action-nodes/update-object)
* [Delete Objects](https://docs.appfarm.io/library/action-nodes/delete-objects)
* [Duplicate Objects](https://docs.appfarm.io/library/action-nodes/duplicate-objects)
* [Persist Objects](https://docs.appfarm.io/library/action-nodes/persist-objects)
* [Set Selection](https://docs.appfarm.io/library/action-nodes/set-selection)
* [Set Data Source Attributes](https://docs.appfarm.io/library/action-nodes/set-data-source-attributes)
* [Sort Objects](https://docs.appfarm.io/library/action-nodes/sort-objects)
* [Advanced Search](https://docs.appfarm.io/library/action-nodes/full-text-search)

## Logic

Loop through [data sources](https://docs.appfarm.io/reference/apps/data/data-sources) and use conditionals to control what other action nodes are run.

* [While](https://docs.appfarm.io/library/action-nodes/while)
* [Foreach](https://docs.appfarm.io/library/action-nodes/foreach)
* [Next Iteration](https://docs.appfarm.io/library/action-nodes/next-iteration)
* [Exit Loop](https://docs.appfarm.io/library/action-nodes/exit-loop)
* [If](https://docs.appfarm.io/library/action-nodes/if)
* [Block](https://docs.appfarm.io/library/action-nodes/block)
* [Exit Block](https://docs.appfarm.io/library/action-nodes/exit-block)
* [Catch Exception](https://docs.appfarm.io/library/action-nodes/catch-exception)
* [Throw Exception](https://docs.appfarm.io/library/action-nodes/throw-exception)
* [End Execution](https://docs.appfarm.io/library/action-nodes/end-execution)
* [Sleep](https://docs.appfarm.io/library/action-nodes/sleep)

## Navigation

Navigate through an app and interact with dialogs and popovers.

* [Navigate](https://docs.appfarm.io/library/action-nodes/navigate)
* Open Dialog
* Close Dialog
* [Open Confirm Dialog](https://docs.appfarm.io/library/action-nodes/open-confirm-dialog)
* [Open Snackbar](https://docs.appfarm.io/library/action-nodes/open-snackbar)
* [Open Popover](https://docs.appfarm.io/library/action-nodes/open-and-close-popover)
* [Close Popover](https://docs.appfarm.io/library/action-nodes/open-and-close-popover)
* [Toggle Drawer](https://docs.appfarm.io/library/action-nodes/toggle-drawer)
* [Open URL](https://docs.appfarm.io/library/action-nodes/open-url)
* Open User Dialog
* [Log Out](https://docs.appfarm.io/library/action-nodes/log-out)
* [Log In](https://docs.appfarm.io/library/action-nodes/log-in)
* [Auth Operations](https://docs.appfarm.io/library/action-nodes/auth-operations)

## Other

Run complex operations to enhance your app.

* [Run Other Action](https://docs.appfarm.io/library/action-nodes/run-other-action)
* [Run Service](https://docs.appfarm.io/library/action-nodes/run-service)
* [Run Code](https://docs.appfarm.io/library/action-nodes/run-code)
* [Import Data](https://docs.appfarm.io/library/action-nodes/import-data)
* [Export Data](https://docs.appfarm.io/library/action-nodes/export-data)
* [Generate Document](https://docs.appfarm.io/library/action-nodes/generate-document)
* [Web Request](https://docs.appfarm.io/library/action-nodes/web-request)
* [Send Email](https://docs.appfarm.io/library/action-nodes/send-email)
* [Send SMS](https://docs.appfarm.io/library/action-nodes/send-sms)
* [Scan Barcode/QR Code](https://docs.appfarm.io/library/action-nodes/scan-barcode-qr-code)
* [Push Notification](https://docs.appfarm.io/library/action-nodes/push-notifications)
* [Copy to Clipboard](https://docs.appfarm.io/library/action-nodes/copy-to-clipboard)
* Create Calendar Event
* Create Shortlink
* [Set Client Language](https://docs.appfarm.io/library/action-nodes/set-client-language)
* [Set Theme](https://docs.appfarm.io/library/action-nodes/set-theme)
* [Request Permissions](https://docs.appfarm.io/library/action-nodes/request-permissions)
* Keep Device Awake
* [Show Install App Prompt](https://docs.appfarm.io/library/broken-reference)
* [Open Unsplash dialog](https://docs.appfarm.io/library/action-nodes/open-unsplash-dialog)
* [Open Print Dialog](https://docs.appfarm.io/library/action-nodes/open-print-dialog)
* [Update Secret](https://docs.appfarm.io/library/action-nodes/update-secret) (Services only)
* [Invalidate Cache](https://docs.appfarm.io/library/action-nodes/invalidate-cache) (Services only)

## User accounts

Manage [user accounts](https://docs.appfarm.io/reference/security/users) via apps.

* [Create User Account](https://docs.appfarm.io/library/action-nodes/create-user-account)
* [Update User Account](https://docs.appfarm.io/library/action-nodes/update-user-account)
* [Set User Account Image](https://docs.appfarm.io/library/action-nodes/set-user-account-image)
* [Delete User Account](https://docs.appfarm.io/library/action-nodes/delete-user-account)

## Debug

Find and resolve issues in your action nodes.

* [Log to Console](https://docs.appfarm.io/library/action-nodes/log-to-console)
