Skip to main content

Legacy Nodes

Some node types still run, but are no longer offered in the node toolbox. You will only meet them when opening a flow saved by an older build.

This page exists so that a node you cannot find in the toolbox is never a mystery.

Purpose

Explain what each retired node did, what replaced it, and what to do when you find one.

When you need this page

  • You opened an older flow and see a node type that is not in the toolbox.
  • A flow validates and runs, but you cannot add another node like one it already contains.
  • You are modernising an older flow.

The retired node types

Legacy nodeStatusReplacement
Loop (classic)logic.loopRuns; not in the toolboxLoop + Loop End region markers
Parallelcontrol.parallelStartRuns as a pass-throughMonitor Scope
Parallel Endcontrol.parallelEndRuns as a pass-throughMonitor Scope
Parallel Blockcontrol.parallelRuns; not in the toolboxMonitor Scope
Loop Endcontrol.loopEndNot retired — created automatically with a Loop
Loop End is not legacy

control.loopEnd is absent from the toolbox because it is created for you when you add a Loop. Every Loop needs its paired Loop End, and the editor manages the pair. It is a normal, current part of the product.

Loop (classic)

The original loop node, which exposed its iteration routing as real ports — enter, exit, limitExceeded — that you wired yourself.

It was replaced by the Loop / Loop End region model, where you draw a plain chain of body nodes and the compiler generates the enter, repeat and exit routing. That change removed the most common authoring mistake in the product: mis-wired back-edges.

If you have one

It still runs. To modernise, replace it with a Loop region:

  1. Add a Loop node and set the same mode, max iterations, condition and counter variable.
  2. Wire the body chain from Loop to Loop End.
  3. Wire what followed exit to the node after Loop End.
  4. Delete the classic node.

Parallel, Parallel End, Parallel Block

The Parallel family ran several leaf branches against one shared screenshot and merged the results.

It was removed in the Observer Scope redesign, and Monitor Scope is its replacement for the case it was actually used for: watching for something while other work proceeds.

What happens at load time

Canonical Parallel regions are unwrapped automatically on every load path — the markers are removed and the interior chain is spliced through, so the flow keeps working with the interior running sequentially.

A region that cannot be migrated keeps validating and runs the markers as inert pass-throughs, with the interior executing sequentially. That is the same behaviour the migration produces, so the outcome is consistent either way.

Parallel never meant concurrent flow execution

Even when it was current, a session executed one node at a time. True concurrency comes from running a flow on multiple instances, or from the Flow Queue — not from a node.

If you inherited a flow using Parallel and expected it to be faster than sequential, it was not.

Branch constraints it carried

For reference, only single-step leaf node types could ever be a parallel branch — the detection nodes, and Click, Swipe, Zoom, Key Press, Input Text and Wait. Control, logic, loop and parallel nodes were excluded because they need multiple runtime steps.

A region was capped at 16 branches.

Deprecated settings

Individual settings are also retired without retiring their node:

SettingNodeStatus
Wait after click (waitAfterMs)ClickIgnored by the runtime; removed from the editor. Chain a Wait
Strength (px) (strengthPx)ZoomAccepted only from older flows. New flows use the resolution-independent Zoom factor
Start / end pointsSwipeLegacy model; resolution-dependent. Prefer direction + distance, or region mode
Fixed point (point)ClickLegacy; the editor migrates it to a Click Region
Scope / matched-item variablesMemory MatchTolerated and ignored; vanish on the next save

These are all tolerated so an older flow keeps validating and running. None of them should appear in new work.

Best practices

  • Do not deliberately author legacy nodes, even where a payload would still validate.
  • Modernise when you are already editing. Converting a classic Loop while you are in the flow anyway costs minutes; a dedicated migration project costs days.
  • Re-save older flows after opening them — several deprecated settings disappear on save.
  • Do not expect Parallel to be fast. Concurrency comes from instances, not nodes.
  • Test after modernising. Use Test Flow before putting a converted flow back into a schedule.

Performance notes

  • Legacy Parallel markers run as inert pass-throughs — near-zero cost, but they also provide no benefit.
  • A classic Loop performs identically to a Loop region; the difference is authoring safety, not speed.
  • Deprecated settings that are ignored cost nothing at run time.

Memory notes

  • Unwrapping a Parallel region happens at load, on the in-memory graph. Your saved flow is unchanged until you save it.
  • Ignored parameters occupy space in the saved flow until the next save removes them.

Common mistakes

MistakeWhat happensFix
Searching the toolbox for Loop EndIt is created automaticallyAdd a Loop
Expecting Parallel to run things concurrentlyIt never didUse multiple instances or the Queue
Relying on waitAfterMsIgnoredAdd a Wait node
Assuming a legacy flow is brokenIt still runsModernise when convenient
Copying a legacy pattern into a new flowCarries forward retired conceptsUse the current node

Troubleshooting

A node in my flow is not in the toolbox. Find it in the table above. It is either retired, or auto-created like Loop End.

My old flow with Parallel runs differently than it used to. The region is unwrapped and the interior runs sequentially — which is what it effectively did before.

A setting I remember is gone from the Properties panel. Check the deprecated-settings table. It is tolerated in storage but no longer shown.

Validation fails on an old flow after an update. Check the run log for the specific error. Most legacy shapes are tolerated deliberately; a genuine failure usually points at a missing asset or an unsupported node type rather than a legacy setting.

FAQ

Will legacy nodes stop working? Removal of the Parallel marker types is a planned cleanup. Modernise when convenient rather than urgently.

Does the app rewrite my flow automatically? Parallel regions are unwrapped in memory on load. Your stored flow changes only when you save.

Is Loop End legacy? No. It is created automatically with a Loop.

Can I still add a Parallel node? Not from the toolbox.