Flow
Design automation visually by dragging nodes onto a canvas and wiring them together. Flows can listen to Axis events, apply logic and timing, call HTTP endpoints, and debug live data without coding.
Open the Flow Builder
- Launch the app UI and pick Flow from the feature list.
- The last saved flow loads automatically; if none is stored, a short intro dialog appears.
Device Management (for Flow)
- Add/edit devices once and reuse them across Flow nodes (Axis outputs, RTSP preview, HTTP image uploads, Vaxtor Cloud ANPR).
- Fields: Name, IP/Protocol/Port, RTSP port, username/password, auth type (digest/basic/none), channel, Non-video device flag, optional resolution list.
- Snapshots: nodes that send images pull a snapshot from the selected device; non-video devices will reject snapshot requests.
- Resolutions: if available, nodes can request a specific resolution; otherwise the default stream is used.
- If Axis passwords change, update the device entry; recreate Axis Output nodes if port mappings change.
Floating Action Bar (left, draggable)
- Start / Stop Execution: Switches between edit mode and live mode. Live mode locks editing, animates edges, and runs the graph. Stopping saves the graph.
- Add Node: Opens the catalog. Drag a template to the canvas. Axis nodes open an extra dialog to pick ports or events before placement.
- IO Table: Opens a live table listing every node with its inputs/outputs and current values.
- Fit to View: Reframes the canvas around all nodes.
- Export / Import: Download or load a graph JSON. Import is disabled while the flow is running, and the button is hidden for roles that lack the Flow update permission so read-only operators never see the dialog.
- Introduction: Reopen the short walkthrough (video steps).
Video: Floating action bar
Canvas and Wiring
- Pan/Zoom: Drag the background to pan; use the mouse wheel to zoom.
- Select/Delete: Hold Shift and drag to multi-select; press Delete to remove selected nodes/edges.
- Edges: Hover to add bend points (yellow). Right-click a bend point to remove. Double-click an edge or click its small x to delete.
- Handles: Outputs on the right, inputs on the left. Shapes indicate type: round = bool, square = int/float, diamond = string. In live mode booleans glow green/red; int uses magenta, float uses purple, string uses cyan.
- Edge colors: Mirror the source output in live mode; turn gray in edit mode.
- Connections: Each input accepts a single connection. Mismatched data types are blocked (bool only to bool, string only to string, numeric to numeric). Safe mode shows warning toasts when a connection is rejected.
Video: Adding nodes
Video: Connect and disconnect
Video: Rectangle selection and delete
Node Properties and Actions
- Hover a node to show a toolbar for copy, delete, and disconnect all edges (disabled in live mode).
- Click a node in edit mode to open the right-side drawer:
- Rename Title/Sub Title, change Header Color, and rename inputs/outputs.
- Nodes with missing required data show an orange dotted border until fixed.
- Device pickers pull from Device Management (Flow); update devices there to refresh selectors.
- A small badge at the top-right shows the last execution time while running; a warning banner appears if the websocket reconnects.
Video: Node properties
Node Reference
Use Add Node to drag any template. Each entry lists what it does, its ports, and what you can configure.
For a complete, per-node breakdown covering every template in the catalog (inputs, outputs, tips, and dialog flows), see Flow Reference.
Axis and device
-
Axis Device Log
- What it does: Write a message to the Axis device syslog.
- Inputs:
Write(bool),Message(string).
-
Axis Metadata Event (Subscribe)
- What it does: Subscribe to Axis metadata events and expose fields as outputs.
- Inputs:
Enable. - Outputs:
Connected,Error,New Event, plus one output per Axis field; override inputs let you simulate values.
-
Axis Metadata Event (Create)
- What it does: Create a custom stateless Axis event on this device (visible in Axis rules while running).
- Inputs:
Sendplus user-added fields marked as Trigger (Source) or Data. - Outputs:
Error. - Properties: Event name; add/remove fields and choose their type/direction.
Warning
Axis Metadata Event (Create) nodes are only visible in the Axis event rule list while the flow is running.
-
Axis Live Stream
- What it does: RTSP video preview from an Axis camera (live mode only).
- Properties: IP, port, username, password, channel. Shows connecting/error overlays and retries every 5 s on failure.
-
Axis Outputs
- What it does: Toggle Axis output ports via VAPIX.
- Inputs:
ENplus one input per discovered port. - Outputs:
Success,Status,Error. - Tip: Recreate the node if device credentials or port mapping change.
-
Vaxtor Cloud ANPR
- What it does: Captures a snapshot from the selected device and sends it to Vaxtor Cloud ALPR.
- Inputs:
Execute,Reset. - Outputs:
Success,Plate Found, plate fields (number, country, state, category, confidence), vehicle fields (make, model, color, class),Status,Error,Executedpulse. - Properties: Client ID/Secret, scope (api), token URL, API URL, timeout, device + optional resolution (from Device Management).
-
License Plates
- What it does: Matches detected plates against a whitelist with validity windows and per-tag outputs.
- Inputs/Outputs: Dynamic outputs per tag plus match info; configure plates, dates, tags, and deviation in the License Plate List feature.
Inputs and manual controls
- Enable Input - Always outputs
true. - Button - Outputs
truewhile pressed,falseon release (live mode).
Video: Handle shapes and colors
Timing and pulses
- Debounce - Boolean filter; output changes only after the input is stable for the set time. Properties: unit (ms/s/m), amount.
- Edge Detection - Rising or falling edge detector; outputs a pulse.
- Pulse Buffer with Release - Buffers pulses until
Releasegoes true. Inputs:Set,Release,Clear. Property: buffer size. - Timer on Delay (TON) -
Activeturns true afterEnablestays true for the configured time; outputs elapsed time. - Timer off Delay (TOF) -
Activeturns true immediately on rising edge and stays true for the set time afterEnablegoes false. - Pulse Timer (TP) - Fixed-length pulse on each rising edge of
Enable; outputs elapsed time. - Pulse Generator - Periodic single-cycle pulse while
Enableis true. - Step Sequencer - Advances one step per
Steppulse; exactly one output is true. Property: steps (2-16). - Timed Sequenced - Runs timers in order while enabled, then wraps back to the first timer.
- Counter - Counts up/down on pulses;
Resetclears to zero.
Logic, selection, and math
- Boolean gates (AND, NAND, OR, NOR, XOR, XNOR, NOT) - Standard two-input gates (NOT is single-input).
- Compare - Compares
AandB(==, !=, >, <, >=, <=, contains, startswith, endswith). Properties: operator; data type (int/float/string); inputs reset to the chosen type. - Value Selector - Switch between two inputs with
Select(false = input 1, true = input 2). Property: shared data type. - Multiplexer - Route one of many value inputs to output based on numeric
Index. Properties: data type; add/remove value inputs; output also reports selected index. - Move - Pass
Valueto output whenEnableis true. - Math - Add/Subtract/Multiply/Divide
AandBwhenEnableis true. Outputs:Done,Result. Property: operation. - Advanced Math - ABS, SQRT, SIN, COS, TAN, SIGN on
ValuewhenEnableis true. Outputs:Done,Value. Property: operation. - Flip-Flop - Set/Reset latch. Properties: mode
RS(reset-dominant) orSR(set-dominant); input labels update automatically. - Value Latch - Stores the last value when
Setis true; holds untilReset. Property: data type syncs input/output. - Lua Script - Execute custom Lua against inputs/outputs; includes JSON/time helpers and preserves state between executions. Reserved error output fires on script/runtime failures.
Data, buffers, routing
- Queue First-In First-Out / Queue Last-In First-Out - Push while
Enableis true;Popreturns the next value;Resetclears. Outputs:Value,Has,Count. Properties: max size, data type. - Data Table - Multi-output register block; add/remove outputs and set data types.
- Routing helpers - Combine Value Selector, Multiplexer, and Move to branch, gate, or forward values unchanged.
Networking and parsing
- HTTP Request - Fires when
Enableis true;Resetclears state. Outputs:Success,Status,Body,Error. Properties: URL, method, body type (none/form/JSON/raw/XML), auth (none/basic/digest), headers, params, timeout, skip TLS verify. - JSON Key Extractor - On
Extract, pulls a key (dot notation allowed) from a JSON string;Resetclears. Outputs:Value,Found. Properties: key and output type. - JSON to Node - Splits a JSON object into individual outputs for each top-level key; configure keys and sample JSON for auto-generation.
- JSON Array Selector - Selects an array element by index from a JSON string; outputs the item JSON plus
Found/Processedflags. - TCP Server - Accepts raw TCP connections and converts each payload to a string. Outputs: a per-request
New Messagepulse, the latestMessage, and anErrorstring when listener failures occur. Properties: bind port, per-second rate limit and enable input. - TCP Message Sender - Sends the provided string payload to a configured host/port on every rising
Sendtrigger. Outputs a one-cycleSuccesspulse plusError. Properties assume a host/IP, port, and timeout. - Webhook Listener - Runs an HTTP or HTTPS endpoint (self-signed TLS) and exposes the request body plus any configured query params as outputs. Accepts Basic/Digest auth, enforces a 1‑15 rps rate limit, and always responds with
{"success":bool,"message":string}to guide clients. Outputs:New Request,Body,Error, plus one string output for each query parameter.
Debug and visualization
- Bool Debug Output - Large icon/label that follows the boolean state. Properties: icons, colors, labels for true/false.
- String Debug Output - Shows latest string input.
- Value Debug Output - Table of all input states (bool/int/float/string).
- Oscilloscope - Plots up to five signals. Properties: line colors, per-input data type, min/max ranges for numeric inputs.
- Logging - Live log viewer (level, time, node id/name, message) from the flow runtime.
- Text - Static label. Properties: text and size.
- Axis Live Stream - Also handy for visual debugging of camera feeds.
- Speedometer - The Speedometer visualizes a numeric input value using a gauge-style dial.
Tips
- If a node shows an orange dotted border, open its properties and complete the required fields (URL, event name, etc.).
- Keep a Logging node in your flow to see backend messages when testing HTTP calls or Axis events.