Hello everyone,
I would like to propose an enhancement to microflow design: introducing local sub-microflows that can only be accessed within their parent microflow.
Diagram Mock

Current Challenge
For small, auxiliary logic blocks, we currently have two options:
- Keep everything inline, which makes the main microflow cluttered.
- Create a separate microflow file, which adds unnecessary overhead for simple logic.
This often results in reduced readability and makes it harder to visually separate concerns.
Proposed Solution: Local Sub-Microflows
Introduce a feature that allows developers to define sub-microflows inside a parent microflow, with the following characteristics:
- Scoped Access: Sub-microflows are only accessible within the parent microflow.
- Separate Scope: Variables inside the sub-microflow do not conflict with those in the parent or other sub-microflows.
- Parameters and Return Values: Sub-microflows can receive input parameters and return values, similar to standalone microflows.
- Easy Promotion: If needed, a sub-microflow can be converted into a standalone microflow file with minimal effort.
Benefits
- Improved Visual Clarity: Keeps the main microflow clean and organized.
- Better Maintainability: Avoids naming conflicts and excessive suffixes like _1_1_1_1_1.
- Local Reusability: Logic can be reused within the parent without creating global artifacts.
- Scalable Design: Simple to promote to a standalone microflow when reuse beyond the parent is required.
Example Use Case
A parent microflow could contain:
- A sub-microflow for normalizing shift data.
- Another sub-microflow for calculating overlaps. Both are visually separated, scoped locally, and reusable within the parent without polluting the global namespace.