Skip to main content

Captcha

Reads a challenge, carries it out, and watches the challenge to confirm the answer was accepted.

Purpose

Gets a flow past a challenge gate in one node. It reads the challenge, performs the answer (types, drags, rotates, or taps), then verifies the challenge's state before deciding whether it was actually solved.

Solved and Unsolved are real ports rather than an output flag, because branching on "did we get through" is the whole point of placing this node.

When to use it

  • A challenge gate blocks a flow you otherwise control end to end.
  • You need a flow to continue automatically past a routine verification step.

When not to use it

  • To read arbitrary text — use Read Text.
  • To find an image — use Find Image.
  • Where an operator can simply be prompted. A human is more reliable than any automated solver.
Use this responsibly

Only use this node against systems you own or are explicitly authorised to automate. Challenge gates exist to enforce a policy; bypassing one you have no right to bypass may breach the service's terms.

Requirements

The challenge region and its type are the irreducible minimum: without them there is nothing to read and no way to know how to read it.

The seven challenge types

TypeThe challengeAnswer shape
textDistorted characters to read and typeText
mathA rendered arithmetic expression to read and evaluateNumber
sliderA piece to drag horizontally into a gapDrag offset
puzzleA jigsaw piece to drag into its notchDrag offset
rotateAn image to turn uprightAngle
clickOrderSeveral targets to tap in a stated orderOrdered points
imageSelectA grid of pictures; tap the ones matching a promptPoints

slider and puzzle produce the same answer shape but stay distinct types so the editor can name what you are actually looking at. clickOrder and imageSelect likewise: in click-order the sequence carries meaning, in image-select it does not.

The two modes

ModeBehaviour
solveAndApplyDefault. Read it, then type/drag so the flow carries on past the gate
solveOnlyAdvanced: publish the answer to variables and touch no input

How it runs

Performing an answer is not solving a captcha

The node does not route Solved because it typed something. It watches the challenge afterwards and only routes Solved once the challenge's state shows the answer was accepted — gone, or verified.

A refused challenge is normally replaced by a new one, so the next attempt is a fresh puzzle, and the correction learned from the refusal is applied on the way round.

Settings

SettingTypeRangeDefaultNotes
Captcha typechoicethe seven aboveRequired
Regionrectanglepercentage of screenRequired. Where the challenge is drawn
ModechoicesolveAndApply, solveOnlysolveAndApply
Answer field regionrectanglefocused fieldWhere the answer is typed
Submit regionrectangleTapped after the answer. Absent = do not submit
Handle regionrectangleleft edgeSlider/puzzle: where the draggable handle starts. Rotate: the dial
Prompt regionrectangleImage-select: where the challenge draws its picture prompt
Target orderlist≤ 8 entriesClick-order: the target names in tap order. Image-select: the prompt subject
Grid columnsinteger1–83Image-select grid width
Grid rowsinteger1–83Image-select grid height
Select countinteger1–163How many cells to choose
Max attemptsinteger1–103Re-reads and retries within one execution
Timeoutinteger1–120000 ms60000Whole-node budget across every attempt
Verification delayinteger0–30000 ms1500Wait after the answer before looking
Verification timeoutinteger500–30000 ms4000Upper bound on polling for a decisive state
Save results to variableslist≤ 8Bind output fields to variables

Verification delay is the knob that matters

A look taken too soon reads the animation, not the outcome. The default of 1500 ms sits in the band that covers real gates' render times — a fast site can lower it, a slow one should raise it.

If your node reports Unsolved on challenges you can see were accepted, this is almost always the setting to change.

The prompt region for image-select

When an image-selection grid draws its prompt as a picture rather than words, the prompt region is what makes the challenge answerable at all. Without it, the solver is being asked "which cells go together" — a different and much harder question.

Max attempts is not node retry

maxAttempts re-reads and retries within one execution, because the challenge usually re-renders after a wrong answer. This is deliberately distinct from the node-level retry policy, which covers operational failure rather than a wrong answer.

Ports

PortTaken whenRequired
SolvedThe challenge's state confirmed the answer was acceptedYes
UnsolvedAttempts ran out without acceptanceNo — lenient; unwired ends the flow gracefully
FailureOperational: no frame, input rejected, engine unavailableNo
CancelledThe run was stoppedNo — never followed
FatalInvalid configurationNo — never followed

Failure is deliberately distinct from Unsolved: one means the machinery broke, the other means the answer was wrong.

Basic example

A text challenge with a submit button:

  • Captcha type: text
  • Region: the distorted-characters image
  • Answer field region: the input box
  • Submit region: the Verify button

Realistic example — gate with a clean give-up

Unsolved and Failure go to different endings, because they are different problems: one is a wrong answer, the other is broken machinery.

Advanced example — solveOnly

Use solveOnly when the flow needs to perform the answer itself — for instance when the answer must be combined with other input, or the submit control needs a specific gesture:

  • Mode: solveOnly
  • Save results to variables: bind the answer output
  • Then use Input Text and Click explicitly

Best practices

  • Set the verification delay to match the site. It is the single most impactful setting.
  • Wire Unsolved and Failure separately. They need different handling.
  • Give the challenge region a tight, stable rectangle.
  • Set the submit region so the whole gate is one node.
  • For image-select, always set the prompt region when the prompt is a picture.
  • Keep max attempts at around 3. More rarely helps, and each attempt costs a full verification cycle.
  • Always have a clean give-up path. A flow that loops forever on a challenge is worse than one that stops.

Performance notes

  • This is the most expensive node in the product. Each attempt is a read, an input sequence, a delay, and a verification poll.
  • Worst case ≈ maxAttempts × (read + apply + verification delay + verification timeout), bounded by the node timeout (default 60000 ms).
  • The verification delay is paid on every attempt regardless of outcome; the verification timeout only bites when the region never settles.
  • Put the node behind a Find Image check so it only runs when a challenge is actually present.

Memory notes

  • Each attempt captures and processes challenge imagery; the working set is proportional to the challenge region size.
  • Grid solving for image-select processes each cell, so a large grid costs more than a 3×3.
  • Nothing persists between runs.

Common mistakes

MistakeWhat happensFix
Verification delay too shortReads the animation → false UnsolvedRaise it
Treating Unsolved and Failure the sameMasks a broken engine as a wrong answerWire them separately
Region includes surrounding chromePoor readsTighten it
No prompt region on a picture-prompt gridThe solver cannot know what to selectSet it
Max attempts at 10Long, expensive runsAround 3
Running it unconditionallyPays the cost on every runGate it behind a Find Image
Leaving Solved unwiredRequired portWire it

Troubleshooting

Unsolved on challenges that clearly succeeded. Raise the verification delay — the node is looking before the gate has updated.

Always routes Failure. Operational, not an answer problem: no frame captured, input rejected, or the engine is unavailable. Check the device connection and input mode.

Slider drags to the wrong place. Set the handle region so the drag starts where the handle actually is.

Image-select picks the wrong cells. Check grid rows/columns and select count, and set the prompt region if the prompt is a picture.

The node takes a very long time. maxAttempts × verification cycle. Lower attempts, or lower the verification timeout.

FAQ

How many attempts happen inside one execution? Up to maxAttempts, default 3.

What is the default grid? 3×3, selecting 3 — which matches every commonly observed nine-image challenge.

Does the node type the answer for me? In solveAndApply mode, yes. In solveOnly, it only publishes the answer.

Can a later If check the captcha outcome? Yes — If in Node outcome mode offers Captcha solved / Captcha unsolved.

What is the whole-node budget? Default 60000 ms across every attempt.

  • Find Image — detect that a challenge is present
  • Input Text — typing in solveOnly mode
  • Click — submitting in solveOnly mode
  • If — branch on the captcha outcome later