Process workflow
A process is built as a workflow made of multiple modules. The workflow controls how modules are executed, handling:
parallel execution
conditions (branching)
loops (repetition)
This keeps control logic outside individual modules (sometimes called blocks), so each module stays focused on a single task.
Module Types
There are three kinds of modules.
Script
A Script module contains the actual commands to run. Use it to define the step-by-step actions of your protocol.
Loop
A Loop module repeats one or more modules. Use it when a part of the protocol must run multiple times (for example: iterating over modules or repeating a some step).
Conditional
A Conditional module creates a branching point in the workflow. Depending on the defined criteria, the process follows one branch or another.
Why use workflows?
Technically, you can implement loops and conditionals inside a single Script module using Python packages and native functions. However, we recommend using the workflow approach because it makes protocols:
easier to read and maintain
more modular and reusable
better structured (logic is explicit in the workflow)
Example
In the example above, you can follow how the workflow is executed:
1) Parallel execution (fan-out)
After modules 1, 2, and 7, the workflow splits into multiple branches. This means the next connected modules can run in parallel (when they are independent).
2) Loop execution
The module loop_1 repeats a part of the workflow. In this example, it triggers the repeated execution of the branch that starts at module 2.
3) Conditional execution (branching)
The module conditional_1 chooses one branch based on the condition criteria. Here, it selects between the branch starting at module 5 or module 6.
4) Synchronization (wait / join)
Some modules only start when all required input branches have finished. For example, module 11 waits until every incoming branch completes before it begins execution.
Building a module
To create a new module, click New Module.
A window like the one below will open:

Required information
Fill in the following fields:
Module name
A unique name that identifies the module in the workflow.
Block type (Choose the module type):
Script
Loop
Conditional
Number of inputs
How many modules will connect into this module. This is used only for layout/design in the workflow editor (it does not change the execution logic).
Script path
The location of the script file associated with this module.
Script options
You can either:
create a new script for this module, or
upload an existing script.
Saving
When you click Save, the script is stored automatically in the project directory using this structure:
...\ <project_folder> \ <current_process> \ module_name.py
Note: The saved filename is based on the module name.