Skip to main content

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 modeEdit 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 cueFull-brightness script panel.Everything except the active block is dimmed.

2 · Parameter editors

  1. Text – free-form field; accepts drag-in blocks.
  2. Number – identical look, but used where numeric values are expected.
  3. Text/Number + ∑ – click the sigma to force numeric interpretation.
  4. 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

  1. Expand Script ▸ variables (or lists / dictionaries).
  2. Click the grey new variable/list/dictionary… entry, type a name, press Enter.
  3. A coloured reference block appears (pink = variable, brown = list, purple = dictionary).

B. On-the-fly inside a Data command

  1. Drag Data ▸ set variable into the Script panel and open it with ✎.
  2. In the drop-down, type a name that does not yet exist.
  3. Confirm Ok.
    The object is created automatically and also shows up in the Toolbox.

4 · Referencing data

  1. Locate the variable/list/dictionary block in the Toolbox.
  2. Enter Edit mode on any block.
  3. 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

    1. Add Message ▸ write to console.
    2. Inside its text field drag Text ▸ text length.
    3. Inside the nested Text field drag a variable such as greeting.
  • Logic operators in IF

    1. Drag an if block to the Script panel.
    2. Open it; in the Condition field drag Logic ▸ == equals.
    3. 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.

  1. Create a variable called greeting via new variable….
  2. Drag Data ▸ set variable; set greeting to Hello, flow.
  3. Drag Message ▸ write to console below it.
  4. Edit the second block and drag the greeting reference into its text field.
  5. ▶ 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