Short answer
A variable is a named value, such as text, a number, or a screen position. A subflow is a named group of steps that another part of the automation can run.
Use a variable when a value changes between runs. Use a subflow when the same tested sequence appears in more than one place.
Variables & Subflows is labeled BETA
The feature is implemented and checks value types and call chains before a run. A one-step routine does not need this extra structure. First make one short workflow work without reuse, then extract only the repeated part. Keep important runs supervised.
Understand the three building blocks
Variable
A variable has a name, a type and a value. Text stores words,
Number stores a numeric value, and Coordinate stores X and Y
together. A supported field can refer to a variable with syntax
such as ${customer_name}.
Profile parameter
A profile parameter is a value supplied when the profile runs. It can be optional with a default or required. A required value prompts for the current run and is not silently saved as a new default.
Subflow
A subflow is a reusable named group of steps. It can accept typed arguments, so the same steps can work with a different text, number or coordinate while keeping the action order in one place.
Turn repeated steps into a reusable subflow
1. Find exact repetition
Look for two or more copies of the same action block. If the blocks behave differently, keep them separate until the difference is understood.
2. Mark what changes
Separate values from actions. For example, a customer name is Text, a retry count is Number and a click point is Coordinate. Give each value a short name that describes its purpose.
3. Create typed variables
Create the values in Variables & Subflows. A number-only field rejects a text variable, and a coordinate keeps X and Y together. Type checking prevents a mismatched value from being silently treated as something else.
4. Build the subflow
Name the reusable block by its result, such as Fill sample name, rather than by its position. Add or import the steps you checked, then define only the arguments the block actually needs.
5. Replace copies with calls
Add a Call Subflow action where the repeated block used to be. Map each argument to a compatible value. Test one call before replacing every copy.
6. Test errors as well as success
Try a missing required value and a wrong type in a harmless copy. The run should stop before input begins. Direct or indirect recursion and an overly deep call chain are also blocked before execution.
Checkpoint: test one caller first
Keep the original steps until one subflow call works with a valid value and stops safely for a missing or wrong value. Replace the remaining copies only after both paths are clear.
Rename, delete and storage behaviorHow references are kept safe.
- Renaming a variable or subflow updates references that can be changed safely.
- A referenced item cannot be deleted until its uses are removed.
- A missing subflow, wrong argument type or recursive call is rejected before the workflow sends input.
- Profiles can store the document, run options, variables, subflows and profile parameters. Treat regular profile values as local workflow data, not as a password vault.
- Complete JSON export carries editable workflow data. Review an imported document before running it.
- Input Variation can only make small timing or click-position changes within the limits you set after workflow decisions. It does not alter variables or subflow logic and is not a bot-protection bypass.
Beginner example: reuse a safe text-entry block
Create a Text variable named customer_name with a
harmless sample. Build a subflow called Fill sample name with a
click in a test text box, a Type Text step that uses
${customer_name}, and a short delay. Call it once,
confirm the result, change the sample value and run again. Do not
use real personal or account information while learning.
Reuse mistakes
- Creating variables for values that never change
- Giving a text value to a numeric field
- Extracting a subflow before the original steps work
- Using a profile as storage for secrets
Reuse checks
- Every variable has the narrow correct type.
- Required values prompt without changing saved defaults.
- A missing or wrong argument stops before input begins.
- One subflow edit reaches every valid caller.
- F12 stops a harmless test immediately.
Osenpa Auto Clicker
Use typed values and reusable blocks to reduce repeated setup inside a supervised workflow.