ScriptTap

No-code data flow

Logic, variables, arrays, and data

ScriptTap scripts can read typed values, calculate and classify results, branch, loop, coordinate concurrent work, call reusable child scripts, and exchange structured data without embedded code.

Typed values and arrays

ScriptTap supports Integer, Decimal, Boolean, Hex, String, and Time variables. The same typed families can be used as sparse arrays for screen results, coordinate lists, parsed data, classifications, and repeated calculations.

Flow and reusable scripts

Conditions
Use up to five rows in IF(OR), IF(AND), or IF(XOR), plus ELSE, comparisons, ranges, and string containment. These multi-row conditions have no shared confidence control; use IF(RGB Confidence) for color confidence.
Loops and arrays
Use Loop, ForEachIndex, ArrayGet, ArraySet, ArraySegmentScan, AppendPoints, and ColorClassify for repeated work. End Loop repeats until its count is met; an infinite Loop continues until stopped or exited. GoTo within a Loop or ForEachIndex keeps its progress; GoTo out ends it. A jump in from outside counts the arrival at End Loop as the first pass, while End ForEachIndex returns to ForEachIndex before its first indexed pass. Turning ForEachIndex Stop Variable off retains its configured variable.
Concurrent control
Run concurrent loop branches and protect exact sections with Exclusive, End Exclusive, and Break Exclusive.
Call Script
Build a parent and reusable child-script hierarchy, with THREAD variables available for typed values shared across calls.

Array and classification limits

  • SetVariable Array Capacity accepts 1–4096 as an Integer value or a prior Integer variable.
  • ArraySet Bulk accepts at most 255 total rows. Overflow is rejected rather than truncated.
  • ArraySet Single, Bulk, Fill Range, and Sequence each save their selected mode's fields. Sparse and offset array diagnostics keep the accepted slot positions.
  • PixelSampleBatch reads at most 2048 points from one accepted screen frame and writes fixed Hex output.
  • ColorClassify accepts up to 16 row targets and writes Integer, Decimal, or String results.
  • AppendPoints is limited to 4096 points and commits no partial append on failure. In Grid mode, X Pitch advances columns and Y Pitch advances rows. A blank Max Count can be saved or imported as an incomplete draft; complete it before Play.
  • ArraySegmentScan output toggles retain their destinations. Its Aggregate sums are Integer or Decimal.

Data sources and persistence

Clipboard, TextTransform, JSON, HTTP, File, StateGet, OCR, image matching, and pixel commands can feed the same variable system. HTTP supports GET reads, POST submits or creates, PUT replacements, PATCH partial updates, and DELETE removals with user-controlled headers and POST/PUT/PATCH bodies. Same-origin redirects keep configured headers; cross-origin redirects omit them, and HTTPS-to-HTTP redirects are rejected. Timeout accepts 1000–60000 ms; an invalid visible value remains incomplete rather than being clamped.

Runtime variables start fresh for every Play session. File can read or create user-selected Text, CSV, or JSON, and append Text or CSV only. JSON append is not supported.

Selected HTTP response text is available to later commands and the live variable panel; HTTP logs retain request metadata rather than response content. Manual AM/PM Time editing uses dedicated clock fields, while supported whole Time-variable JSON values keep their loaded raw-value representation.

Structured composition

ScriptTap logic is assembled from the visible command catalog. Call Script composes reusable scripts, typed variables and arrays carry data, and branches, loops, and concurrent blocks control execution.

Try the ScriptTap open beta

Related pages