The Runs on column below tells you where each node executes.
Edge nodes are compiled into a worker that runs on your device; a few nodes
(camera, audio, and recording) only run there. Cloud nodes run only in the
hosted workflow runner. Either nodes can do both — they run in the cloud by
default, and compile into the edge worker when the workflow is edge-targeted, so a
single workflow can span both. See Cloud, edge, or both.
Triggers
Start a workflow on an event, schedule, or incoming message. A workflow has exactly one entry point.| Node | What it does | Runs on |
|---|---|---|
manual | Start the workflow by hand from the editor. | Cloud |
mission | Start when a mission begins or completes. | Cloud |
schedule | Start on a timer or cron schedule. | Cloud |
webhook | Start when an HTTP request arrives at the workflow’s URL. | Cloud |
mqtt | Start when an MQTT message lands on a twin topic. | Cloud |
zenoh | Start when a message arrives on a Zenoh channel. | Edge |
event | Start when a business/system event fires. | Cloud |
alert | Start when a matching alert fires on a twin. | Edge |
camera_frame | Run once per camera frame from a twin. | Edge |
audio_track | Run for every buffered audio chunk from a twin’s microphone. | Edge |
Data sources
Pull a snapshot or reading on demand, part-way through a run.| Node | What it does | Runs on |
|---|---|---|
data_source | Grab one image, depth map, video, audio clip, or telemetry reading from a sensor, IP camera, or twin. | Either |
twin | Load a twin’s details and the control commands its assigned controller understands. | Either |
get_pose | Read a scene object’s or twin’s live position and rotation. | Cloud |
Perception
Turn raw signals into reliable observations.| Node | What it does | Runs on |
|---|---|---|
audio_assistant | Detect speech (voice activity) or acoustic events and cut clean audio segments. | Edge |
wake_word_engine | Wait for a wake word, then stream the audio that follows. | Edge |
barcode_reader | Decode QR, Data Matrix, EAN/UPC, Code 128, and other codes from a frame. | Either |
object_pose | Estimate a detected object’s 3D position using camera depth. | Edge |
Transform & routing
Reshape, match, and render data as it moves through the graph.| Node | What it does | Runs on |
|---|---|---|
json_parser | Parse a JSON string into structured data (with optional AI repair of malformed JSON). | Cloud |
fuzzy_matcher | Match noisy text (like a voice transcript) to a list of known commands. | Either |
annotate | Draw detection boxes, masks, and labels on an image. | Either |
anonymize | Blur, pixelate, or redact detected regions (e.g. faces) in a frame. | Either |
State & memory
Persist artifacts so they show up later in your workspace.| Node | What it does | Runs on |
|---|---|---|
create_asset | Build a catalog asset from an uploaded mesh or generated GLB. | Cloud |
edit_asset | Add a point-of-interest marker to an existing asset. | Cloud |
create_attachment | Save a file capture (image, video, audio, data) onto a twin, asset, or environment. | Either |
update_attachment | Attach analysis results — text, detections, or an annotated image — to a capture. | Either |
video_tagger | Pull frames from a recording at a fixed rate or hand-picked. | Cloud |
Intelligence
Use models to interpret, reason, or predict. One unified node covers every model kind.| Node | What it does | Runs on |
|---|---|---|
call_model | Run a model — an LLM, a vision-language model, an object detector, speech-to-text, diffusion, or image-to-mesh. | Either |
Decision & control flow
Choose what happens next.| Node | What it does | Runs on |
|---|---|---|
conditional | Branch on a comparison (equals, greater than, contains, regex, …). | Either |
detection_event_gate | Let detections through by class, with modes and a cooldown. | Either |
timed_condition | Fire only when a signal holds for long enough, times out, or debounces. | Either |
spatial_filter | Keep only detections that fall inside a drawn zone. | Either |
loop | Repeat the connected downstream nodes once for each item in a list. | Cloud |
Actuation
Execute physical or twin-side actions.| Node | What it does | Runs on |
|---|---|---|
twin_control | Move a twin through one or more environment waypoints. | Either |
virtual_controller | Send a controller command to a twin over MQTT. | Either |
send_controller_command | Issue a specific command through a controller policy (e.g. a timed drive burst). | Either |
recorder | Start or stop audio/video recording on a twin. | Edge |
online_controller_lifecycle | Start or stop the twin’s assigned controller. | Cloud |
Integration
Talk to external systems and run your own logic.| Node | What it does | Runs on |
|---|---|---|
http_request | Call an external HTTP API. | Either |
send_email | Send an email. | Cloud |
send_mqtt | Publish JSON to a twin MQTT topic. | Edge |
send_ros2 | Publish a typed message onto a ROS 2 topic. | Edge |
code | Run your own Python on the edge worker. | Edge |
Observability & safety
Guard, observe, and alert on what the workflow sees.| Node | What it does | Runs on |
|---|---|---|
send_alert | Raise a business or technical alert on a twin. | Either |
How nodes connect
Nodes are wired left to right. A trigger fires, each node fills its inputs from the outputs wired into it, does its job, and passes its outputs onward. A voice-controlled rover, for example, chains an audio trigger through speech-to-text, a planner model, and an actuation node:Workflows overview
What workflows are, the three ways to build one, and running in sim or real.
Workflows reference
The full node reference, trigger types, and editor walkthrough.