Building Flows — Blocks & Data
This tutorial covers the day-to-day skills you will use while building flows:
- switching between Drag mode and Edit mode
- working with the different parameter editors
- creating variables, lists and dictionaries
- dragging data references into other blocks
- nesting blocks to build more complex logic
1 · Drag mode vs. Edit mode
| Drag mode | Edit mode | |
|---|---|---|
| How to enter | • Normal state any time you are not editing a block. • If you are editing a block, click "Ok" or "Cancel". | Click ✎ on a block header. |
| What you can do | • Move or delete blocks • Open a block for editing | • Change the selected block’s parameters • Drag blocks from the Toolbox into a field • Confirm with Ok or dismiss with Cancel |
| Visual cue | Full-brightness script panel. | Everything except the active block is dimmed. |
2 · Parameter editors
- Text – free-form field; accepts drag-in blocks.
- Number – identical look, but used where numeric values are expected.
- Text/Number + ∑ – click the sigma to force numeric interpretation.
- Drop-down / Text hybrid
Click the arrow to pick an existing option, or
type a brand-new name. For variable/list/dictionary drop down, you can choose an existing item or create a new object on the fly.
3 · Creating data objects
There are two equivalent paths.
A. “new variable/list/dictionary…” in the Toolbox
- Expand Script ▸ variables (or lists / dictionaries).
- Click the grey new variable/list/dictionary… entry, type a name, press Enter.
- A coloured reference block appears (pink = variable, brown = list, purple = dictionary).
B. On-the-fly inside a Data command
- Drag Data ▸ set variable into the Script panel and open it with ✎.
- In the drop-down, type a name that does not yet exist.
- Confirm Ok.
The object is created automatically and also shows up in the Toolbox.
4 · Referencing data
- Locate the variable/list/dictionary block in the Toolbox.
- Enter Edit mode on any block.
- Drag the block into a parameter field.
You can reuse the same reference as many times as you like—it always points to the single underlying object.
5 · Nesting blocks
Any parameter field can hold another block.
Typical use-cases:
-
Text functions
Write the length of a string to the console- Add Message ▸ write to console.
- Inside its text field drag Text ▸ text length.
- Inside the nested Text field drag a variable such as
greeting.
-
Logic operators in IF
- Drag an if block to the Script panel.
- Open it; in the Condition field drag Logic ▸ == equals.
- Supply left and right values (numbers, variables or further operators).
There is no practical nesting depth limit.
6 · Hands-on mini flow
Follow the full sequence to see all concepts working together.
- Create a variable called
greetingvia new variable…. - Drag Data ▸ set variable; set
greetingtoHello, flow. - Drag Message ▸ write to console below it.
- Edit the second block and drag the
greetingreference into its text field. - ▶ Play.
Console output:Hello, flow.
Change the value, run again, experiment with lists or dictionaries—the workflow is identical.
7 · Recap
You can now:
- switch confidently between Drag and Edit modes
- recognise and use every parameter-editor type
- create variables, lists and dictionaries on demand
- drag data references into other blocks
- nest blocks to compose richer behaviour