Flow Reference
This document covers every Flow-related control, helper, and node so you understand what is available and how it behaves.
Workspace Controls
Live vs. Edit Mode
- Start / Stop Execution: The floating button in the action bar toggles between modes. Starting the flow animates edges, locks node movement, and runs the automation. Stopping saves the graph and returns you to edit mode.
- Execution feedback: A stats card in the top-right shows execution time. A yellow banner appears if the connection temporarily drops.
- Edge coloring: While live, connections show colors based on data type (booleans glow green/red, numbers show different colors). When stopped, edges turn grey.
Canvas and Helpers
- Action toolbar: The vertical bar near the top-left contains workflow buttons: Start/Stop, Add Node, Devices, IO Table, Composites, Fit to View, Export, Import, Introduction. Some buttons are disabled while the flow is running.
- Safe mode: The switch near the top-right shows warning messages when you try to make invalid connections (wrong data types or already-connected inputs). Turn it off to silence the warnings.
- Helper lines: Displays alignment guides when dragging nodes near each other, helping keep your graph tidy.
- Introduction dialog: Opens automatically on first use or when clicking the Introduction button to walk through the basics.
Node Selection and Properties
- Add Node catalog: Click "Add Node" to browse available nodes. Search, filter by category tags, and drag nodes onto the canvas. Some nodes (like Axis nodes) open a setup dialog before placement.
- Per-node drawer: Click a node in edit mode to open the side panel with Settings, Appearance, Inputs, and Outputs tabs. Each node also has a Help button for usage hints.
- Deletion & composites: Select nodes and press Delete to remove them. When multiple connected nodes are selected, a "Create Composite" button appears to bundle them into a reusable group.
Device and Composite Management
- Device dialog: Click "Devices" to add Axis devices with their connection details (IP, port, username, password, auth type, channel). You can test connections and manage device credentials here.
- Composite manager: Click "Composites" to view, import, export, or delete saved composite nodes.
Saving and Exporting
- Auto-save: The flow saves automatically when you stop execution.
- Graph import/export: Export downloads your flow as a JSON file. Import loads a JSON file (only works when stopped). Users need the appropriate permission to see these buttons.
- Logging: Add a Logging node to see runtime messages including errors, warnings, and info from your nodes.
- IO Table: While running, click "IO Table" to see a live table of all node inputs/outputs and their current values.
Node Setup Dialogs
Some nodes open a dialog before placement:
- Axis Output: Select the device and which physical ports to control
- Axis Metadata Subscribe: Choose the event topic and device
- Metadata Event Create: A reminder appears that these events are only visible while the flow is running
- JSON To Node: Enter sample JSON to generate output handles
- Teleport: Pick which outputs to mirror from other nodes
Node Library
The sections below describe every node you can add, grouped by purpose.
Axis & Device Nodes
Axis Live Stream
Displays a live video stream from an Axis camera.
- Inputs: Optional overlay data (ROI, Observations, Tripwire)
- Outputs: None
- Properties: Device selection, resolution, overlay settings
The stream retries automatically every 5 seconds if connection fails.
Axis Device Log
Writes messages to the Axis device system log.
- Inputs:
Write(trigger),Message(text) - Outputs: None
Axis SD Card Nodes
File operations on the camera's SD card:
| Node | Purpose | Key Outputs |
|---|---|---|
| SD Card Status | Check card state | Present, Writable, Full |
| File Exists | Check if file exists | Exists |
| Write File | Create/overwrite file | Written |
| Append File | Add to file | Written |
| Read File | Read file contents | Data, File Not Exists |
| Remove File | Delete file | Removed |
| List Files | Get all files | Data (JSON), Count |
| Usage | Storage used | Used GB |
Axis Metadata Event (Subscribe)
Listens to Axis metadata events and exposes them as outputs.
- Inputs:
Enable - Outputs:
Connected,Error,New Event,JSON, plus event-specific fields - Setup: Select the event topic through the dialog when adding the node
Axis Metadata Event (Create)
Creates custom events visible to Axis rules while the flow runs.
- Inputs:
Send(trigger), plus custom fields you define - Outputs:
Error - Properties: Event name, stateless/stateful mode, custom fields
Warning
Events are only visible to Axis rules while the flow is running.
Axis Parameter
Reads any Axis parameter value.
- Inputs:
Parameter Name(e.g.,Properties.System.SerialNumber) - Outputs:
Value,Error
Axis Outputs
Controls physical output ports (relays, digital outputs).
- Inputs: Configured per device/port
- Outputs:
Success,Status,Error
Tip
Recreate the node if you change device credentials or port mappings.
Vaxtor Cloud ANPR
Captures a camera snapshot and sends it to Vaxtor Cloud for plate recognition.
- Inputs:
Execute,Reset - Outputs:
Success,Plate Found, plate details (Number, Country, State, Category, Confidence), vehicle details (Make, Model, Color, Class),Status,Error,Executed,Image ID
Image Snapshot
Captures a JPEG snapshot from an Axis device.
- Inputs:
Capture,Reset - Outputs:
Success,Image ID,Error,Executed
Use the Image ID with JPEG Viewer or HTTP nodes.
JPEG Viewer
Displays a cached image on the canvas.
- Inputs:
Image ID(from Image Snapshot, HTTP, or Vaxtor) - Outputs: None
- Properties: Width, height, border
License Plates
Matches plates against the configured whitelist.
- Inputs:
Process,Plate,Reset - Outputs:
Matched Plate,In List,Not In List,Expired,Not Valid Yet,Processed,Total Plates, plus tag outputs
Inputs & Manual Controls
Enable Input
Always outputs true. Use as a permanent enable signal.
- Outputs:
True
Button
Outputs true while pressed, false when released.
- Outputs:
Active
Timing & Sequencing
In Time
Outputs true during configured daily time windows.
- Outputs:
In Time - Properties: Start/end times, allowed days
Debounce
Filters noisy signals. Output changes only after input is stable for the set time.
- Inputs:
Input,Reset - Outputs:
Value,Elapsed - Properties: Time amount and unit
Edge Detection
Emits a pulse when input changes state.
- Inputs:
Value - Outputs:
Value(pulse) - Properties: Rising or falling edge mode
Pulse Buffer with Release
Stores pulses until released.
- Inputs:
Add,Release,Clear - Outputs:
Pulse - Properties: Buffer size
Next Cycle Pulse
Delays a pulse to the next execution cycle.
- Inputs:
Trigger - Outputs:
Pulse
One Shot Pulse After
Emits a delayed pulse after trigger.
- Inputs:
Trigger - Outputs:
Pulse,Elapsed Time - Properties: Delay time and unit
Timer On Delay (TON)
Output goes true after input stays true for the configured duration.
- Inputs:
Enable - Outputs:
Active,Elapsed Time
Timer Off Delay (TOF)
Goes true immediately, stays true for configured time after input goes false.
- Inputs:
Enable - Outputs:
Active,Elapsed Time
Pulse Timer (TP)
Fixed-length pulse on each rising edge.
- Inputs:
Enable - Outputs:
Active,Elapsed Time
Pulse Generator
Periodic pulses while enabled.
- Inputs:
Enable - Outputs:
Active
Step Sequencer
Advances through outputs on each trigger. Only one output is active at a time.
- Inputs:
Step - Outputs:
Step 1throughStep N - Properties: Number of steps
Timer Sequence
Runs through timed stages while enabled.
- Inputs:
Enable - Outputs:
Elapsed Time,Timer Index, plus one output per timer stage - Properties: Duration and label for each stage
Counter
Counts up/down on pulses.
- Inputs:
Up,Down,Reset - Outputs:
Value
Logic & Math
Logic Gates
Standard boolean gates: AND, NAND, OR, NOR, XOR, XNOR, NOT.
- Inputs:
A,B(NOT uses onlyA) - Outputs:
Result
Compare
Compares two values.
- Inputs:
A,B - Outputs:
Result - Properties: Operator (==, !=, >, <, >=, <=, contains, startswith, endswith), data type
Value Selector
Routes one of two inputs based on a boolean.
- Inputs:
Select,Input 1,Input 2 - Outputs:
Value
Multiplexer
Routes one of many inputs based on index.
- Inputs:
Index,Value-1throughValue-N - Outputs:
Value,Selected Index
Move
Passes value through when enabled.
- Inputs:
Enable,Value - Outputs:
Value
Math
Basic arithmetic: Add, Subtract, Multiply, Divide.
- Inputs:
Enable,A,B - Outputs:
Done,Result
Advanced Math
Functions: ABS, SQRT, SIN, COS, TAN, SIGN.
- Inputs:
Enable,Value - Outputs:
Done,Value
Flip-Flop
Stores one bit with Set/Reset control.
- Inputs:
Set,Reset - Outputs:
Value - Properties: RS or SR mode
Value Latch
Stores a value until reset.
- Inputs:
Value,Set,Reset - Outputs:
Value
Edge Value Mux
On trigger, outputs a pulse and the corresponding value.
- Inputs:
Trigger 1-4,Value 1-4 - Outputs:
Pulse,Value
Conversion Helpers
- Int to Bool: Non-zero becomes true
- Bool to Int: True becomes 1, false becomes 0
Data & Transformation
Queue FIFO
First-In First-Out buffer.
- Inputs:
Value,Add,Pop,Reset - Outputs:
Value,Has,Count
Queue LIFO
Last-In First-Out buffer (stack).
- Same inputs/outputs as FIFO
Data Table
Eight configurable registers.
- Outputs: Eight values you can rename
JSON Key Extractor
Extracts a value from JSON using a key path.
- Inputs:
Extract,String,Reset - Outputs:
Value,Found - Properties: Key path (supports dot notation)
JSON To Node
Splits a JSON object into individual outputs.
- Inputs:
Process,Reset,JSON - Outputs:
Processed,Error, plus one output per key
JSON Array Selector
Picks an element from a JSON array by index.
- Inputs:
Process,JSON Array - Outputs:
Processed,Found,Error,Item JSON
JSON Viewer
Displays formatted JSON.
- Inputs:
JSON - Properties: Indent, height, color theme
SQL Nodes
- SQL Connection: Connect to MySQL, Postgres, SQL Server, or SQLite
- SQL Query: Run SELECT and get results as JSON
- SQL Insert/Update/Delete: Modify data
All SQL nodes share a connection key to keep the database connection alive.
Networking
HTTP Request
Makes HTTP requests (GET, POST, etc.).
- Inputs:
Execute,Reset,Body - Outputs:
Success,Status,Body,Error,Executed,Image ID - Properties: URL, method, headers, body, authentication, TLS options
Webhook Listener
Runs an HTTP endpoint to receive external requests.
- Inputs:
Enable,Custom Response,Response Body,Response Code - Outputs:
New Request,Body,Error, plus query parameter outputs - Properties: Port, path, authentication, rate limit, query parameters
TCP Server
Listens on a TCP port.
- Outputs:
New Message,Message - Properties: Port, rate limit
TCP Message Sender
Sends TCP messages.
- Inputs:
Send,Message - Outputs:
Sent - Properties: Host, port
Visualization & Debugging
Bool Debug Output
Shows boolean state with customizable icons and colors.
- Inputs:
Value - Properties: Icons, colors, labels for true/false states
String Debug Output
Shows the current string value.
- Inputs:
Value
Value Debug Output
Shows all input types in a table.
- Inputs:
Value - Bool,Value - Int,Value - Float,Value - String
Logging
Shows runtime log messages with timestamps.
- Inputs: None (automatically receives log messages)
Oscilloscope
Plots up to five signals on a scrolling chart.
- Inputs: Five signal inputs
- Properties: Colors, min/max ranges
Speedometer
Gauge display for numeric values.
- Inputs:
Value - Properties: Min, max, segments, colors
Text
Static label on the canvas.
- Properties: Text content, size, color
Advanced & Utility
Lua Script
Runs custom Lua code.
- Inputs:
Execute, plus additional inputs you can use in the script - Outputs: Error output, plus additional outputs you can set in the script
Built-in helpers: json_encode, json_decode, time(), date()
Teleport
Mirrors signals without drawing long wires.
When adding, select which outputs to mirror. The teleport node then shows those values.
Composite Nodes
Reusable node groups you create from selected nodes.
- Create by selecting connected nodes and clicking "Create Composite"
- Manage via the Composites button in the action bar
- Import/export as JSON files