Node Reference
This section documents every node you can place on the canvas. Each node has its own page covering what it is for, when not to use it, every setting with its range and default, its ports, and how it behaves at run time.
How the toolbox is organised
The node toolbox has six groups. This reference follows the same order, so what you see in the app and what you read here line up.
| Group | Nodes | What they do |
|---|---|---|
| Actions | 6 | Send input to the device |
| Detection | 3 | Read what is on the screen |
| Logic | 6 | Branch, loop, and compute |
| Memory | 2 | Remember things across runs |
| Captcha | 1 | Get past a challenge |
| Control | 5 | Start, stop, call, and monitor |
All nodes
Actions
| Node | Summary |
|---|---|
| Click | Taps — or presses and holds — one point on the screen |
| Swipe | Swipes or drags across the screen, to scroll, flick, or move something |
| Zoom | Pinches with two fingers to zoom the screen in or out |
| Input Text | Types text into the input field that currently has focus |
| Wait | Pauses the flow for a fixed amount of time |
| Key Press | Sends a hardware / navigation key such as Back, Home, or Enter |
Detection
| Node | Summary |
|---|---|
| Find Image | Waits for a saved template image to appear, then branches on whether it was found |
| Check Region | Tests a rectangle's colour, brightness, or change against a rule |
| Read Text (OCR) | Reads text out of one or more rectangles into variables |
Logic
| Node | Summary |
|---|---|
| If | Branches on a condition — five different modes |
| Branch | Picks one of its outputs at random |
| Loop | Repeats the nodes between Loop and Loop End |
| Break | Leaves the enclosing loop early |
| Continue | Skips to the enclosing loop's next iteration |
| Variable | Sets, clears, deletes, or logs flow variables |
Memory
| Node | Summary |
|---|---|
| Memory Match | Asks whether a candidate matches anything already remembered |
| Runtime Memory | Remembers, forgets, clears, or counts entries |
Captcha
| Node | Summary |
|---|---|
| Captcha | Reads a challenge, carries it out, and verifies it was accepted |
Control
| Node | Summary |
|---|---|
| Start | Where every run begins |
| Stop | Ends the run with a declared status and message |
| Return | Ends the whole flow from anywhere, including inside a loop |
| Monitor Scope | Watches for a condition while the nodes in a zone run |
| Sub Flow | Calls another saved flow as a function |
Older flows may also contain node types that are no longer offered in the toolbox. See Legacy nodes.
Reading a node page
Every page uses the same structure, so you can jump straight to what you need:
- Purpose / When to use / When not to use — is this the right node at all?
- How it runs — what the runtime actually does, step by step.
- Settings — every field, with type, range, default and effect.
- Ports — every exit and what routes there.
- Examples — a basic one and a realistic one.
- Best practices, Performance, Memory — how to use it well at scale.
- Common mistakes / Troubleshooting / FAQ — what goes wrong and why.
Ports every node shares
Most nodes expose some subset of these. The meaning is consistent everywhere:
| Port | Taken when | Notes |
|---|---|---|
Success | The node did its job | Required on most nodes |
Failure | A recoverable problem, or a detection "not found" | Wire it |
Timeout | The operation did not complete in time | Action nodes only |
Cancelled | The run was stopped mid-node | Never followed — the run finalizes |
Fatal | Device disconnected, or invalid configuration | Never followed — the run finalizes |
The runtime finalizes the run the moment a node reports cancelled or fatal. Those ports exist on the canvas, but an edge from them is not followed during a normal run. Everything you intend to recover from must arrive on Failure.
Status is not route
For detection nodes, the node's status and the port it leaves through deliberately differ. A Find Image that does not find its template reports status success — the search worked — while routing to Failure.
The practical effect is that a "not found" never trips retry and never counts toward the consecutive-failure guardrail. This is explained in full in The Execution Model.
Nodes whose ports depend on their settings
Four nodes compute their port list from their own configuration rather than having a fixed set:
| Node | Ports |
|---|---|
| If — Multiple Branches mode | case1…caseN, plus default |
| If — Text-match mode | match, noMatch |
| Find Image — Branch by template | one port per template, plus notFound |
| Branch | branch1…branchN |
Lowering a count removes the trailing ports and the editor prunes the orphaned edges.
Related pages
- The Execution Model — how nodes are run and routed
- Flow Anatomy — ports, edges and settings
- Retry and Failures — the retry policy every node can carry
- Variables and Memory — what nodes read and write