# Run Data Flow

The **Run Data Flow** Action is a very important action since it triggers any [Data Flow](../studio/data-flows) on an Event like a Button press or Timer. Data Flows can perform many operations, including making an HTTP request to an external API.

![](https://2093598723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FC2DgLBPTrwoEhWaU24LL%2Fuploads%2Fgit-blob-714af4c64362ce874cf0f41826f93c918016e3c9%2Fthe-run-data-flow-action-v180-0.png?alt=media)

&#x20;

## Use Cases

* To take data that has been entered into a form and run a Data Flow to save it to [AirData](../data-and-integrations/airdata/airdata-app-objects)
* To run a command against an external API such as [Salesforce](../building-apps/integration-guides/create-a-salesforce-lead)
* To send an email to a customer at a specified time using a [Timer](the-start-timer-action)
* To [validate](../building-apps/working-with-forms-agreements/validation-of-user-data) the content of a user input form

## Properties

### Data Flow

The Data Flow to be executed when this Action runs. Data Flows can be created and managed from [Connections Builder](../studio/builder-bar/connections-builder).

### Inputs

If the selected Data Flow has Inputs, they will be listed in this property. For each Input to the Data Flow, an Airscript Expression may be provided. The Airscript Expression can be a function whose return type matches the Input's type.

### Output Binding

When the selected Data Flow completes, the end result will be stored in the variable in Output Binding.

## Example

In this example, after the Data Flow action completes, if the **Get Pets by Location** Data Flow returns the string "Success!", the variable `activityGroup.pets` will now contain "Success!".

![](https://2093598723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FC2DgLBPTrwoEhWaU24LL%2Fuploads%2Fgit-blob-64efd3ace9ef272c7771ccfb9a7737c5f3616f87%2Fthe-run-data-flow-action-v180-1.png?alt=media)
