# Run Data Flow Repeatedly

The **Run Data Flow Repeatedly** Action is used to run a [Data Flow](../studio/data-flows) on every item in a [List](../variable-data-types/the-list-data-type). For instance, if this action was run with an input List of names, it could run a Data Flow to [create a Salesforce Lead](../building-apps/integration-guides/create-a-salesforce-lead) for each of the names in a List.

The Run Data Flow Repeatedly Action creates an implicit `item` variable that can be used in the Action Builder popup to access each element of the input List.

![](https://4185914948-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSItjRhbHaLQ4ar3DUljt%2Fuploads%2Fgit-blob-478ed2887974bfa3d68623798df0db04465bae8c%2Fthe-run-data-flow-repeatedly-action-v181-0.png?alt=media)

## Use Cases

* To take a List of data that the user entered and save each item as an Object in [AirData](../data-and-integrations/airdata/airdata-app-objects).
* To convert a List of names to Salesforce Leads. To do this, use the Data Flow from [Create A Salesforce Lead](../building-apps/integration-guides/create-a-salesforce-lead) with a Text input as the name. In the Run Data Flow Repeatedly Action properties, use the Salesforce Data Flow with `item` under the **Inputs** list.

## Properties

### Data Flow

The selected Data Flow that will be executed for each item in the input List when this Action runs. Data Flows can be created and managed in the [Connections Builder](../studio/builder-bar/connections-builder).

### List of Items

The input List. The selected Data Flow will be run once for each of the items in this List.

### Inputs

If the selected Data Flow has Input Variables, they will be listed here. To use data from each element of the input List, use the automatically created Variable `item`.

For example, consider a  `list_of_cars` Object. To run a Data Flow on each of the cars' year field, specify `item.year` in Inputs.

### Output Binding

An optional field to specify where the results of the Data Flows will be stored. The Output Binding will be set to a List of the same length as the input List, where each element is the result of one execution of the Data Flow.

For instance, an input list containing 3 elements would run a Data Flow 3 times. If the 3 results were **TRUE**, **FALSE**, **TRUE**, the value stored in Output Binding would become **\[TRUE, FALSE, TRUE]**.

## Example

In this example, a list of objects is passed into the action. The data flow will then run through the list and be run 4 times. The output binding will create a list of objects based on the data flow.

![](https://4185914948-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSItjRhbHaLQ4ar3DUljt%2Fuploads%2Fgit-blob-2cc92576fdd4b35d2050ce0023280f0f079d67df%2Fthe-run-data-flow-repeatedly-action-v181-1.png?alt=media)
