Input and output variables
Key Takeaway
Select "Available for input" to let data into a flow and "Available for output" to send data back out. New variables have neither option selected, and these options don't change how the variable is assigned or used inside the flow.
Input and output variables are flow variables marked so that data can cross the edge of a flow. The data moves between the flow and its caller, which is whatever launches the flow. Without these variables, a flow can't see its caller's data, and the caller can't see the flow's results.
Input variables and output variables
A variable is a flow resource that stores a value you can use or change throughout the flow. Its "Availability Outside the Flow" setting has two options, one for data coming in and one for data going back out.
| Input variable | Output variable | |
|---|---|---|
| Option | Available for input | Available for output |
| What it does | Receives a value from the caller, which can set it at the start of the flow | Passes values from the flow back to the caller |
| Examples of callers | A Lightning page, a process, or another flow | Another flow or a Lightning web component |
For example, a record page can send a record's ID to a screen flow, but only if the screen flow has an input variable to store it.