Skip to main content
A workflow is a graph of nodes wired together. Every node has a job, a set of input ports (data it needs), and output ports (data it produces). You draw a connection from one node’s output to the next node’s input, and the workflow passes data down the graph — starting from a single trigger.
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.
Nodes are organised into ten categories. The same categories appear in the editor palette, so this page mirrors what you see when you build.

Triggers

Start a workflow on an event, schedule, or incoming message. A workflow has exactly one entry point.
NodeWhat it doesRuns on
manualStart the workflow by hand from the editor.Cloud
missionStart when a mission begins or completes.Cloud
scheduleStart on a timer or cron schedule.Cloud
webhookStart when an HTTP request arrives at the workflow’s URL.Cloud
mqttStart when an MQTT message lands on a twin topic.Cloud
zenohStart when a message arrives on a Zenoh channel.Edge
eventStart when a business/system event fires.Cloud
alertStart when a matching alert fires on a twin.Edge
camera_frameRun once per camera frame from a twin.Edge
audio_trackRun 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.
NodeWhat it doesRuns on
data_sourceGrab one image, depth map, video, audio clip, or telemetry reading from a sensor, IP camera, or twin.Either
twinLoad a twin’s details and the control commands its assigned controller understands.Either
get_poseRead a scene object’s or twin’s live position and rotation.Cloud

Perception

Turn raw signals into reliable observations.
NodeWhat it doesRuns on
audio_assistantDetect speech (voice activity) or acoustic events and cut clean audio segments.Edge
wake_word_engineWait for a wake word, then stream the audio that follows.Edge
barcode_readerDecode QR, Data Matrix, EAN/UPC, Code 128, and other codes from a frame.Either
object_poseEstimate a detected object’s 3D position using camera depth.Edge

Transform & routing

Reshape, match, and render data as it moves through the graph.
NodeWhat it doesRuns on
json_parserParse a JSON string into structured data (with optional AI repair of malformed JSON).Cloud
fuzzy_matcherMatch noisy text (like a voice transcript) to a list of known commands.Either
annotateDraw detection boxes, masks, and labels on an image.Either
anonymizeBlur, pixelate, or redact detected regions (e.g. faces) in a frame.Either

State & memory

Persist artifacts so they show up later in your workspace.
NodeWhat it doesRuns on
create_assetBuild a catalog asset from an uploaded mesh or generated GLB.Cloud
edit_assetAdd a point-of-interest marker to an existing asset.Cloud
create_attachmentSave a file capture (image, video, audio, data) onto a twin, asset, or environment.Either
update_attachmentAttach analysis results — text, detections, or an annotated image — to a capture.Either
video_taggerPull 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.
NodeWhat it doesRuns on
call_modelRun 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.
NodeWhat it doesRuns on
conditionalBranch on a comparison (equals, greater than, contains, regex, …).Either
detection_event_gateLet detections through by class, with modes and a cooldown.Either
timed_conditionFire only when a signal holds for long enough, times out, or debounces.Either
spatial_filterKeep only detections that fall inside a drawn zone.Either
loopRepeat the connected downstream nodes once for each item in a list.Cloud

Actuation

Execute physical or twin-side actions.
NodeWhat it doesRuns on
twin_controlMove a twin through one or more environment waypoints.Either
virtual_controllerSend a controller command to a twin over MQTT.Either
send_controller_commandIssue a specific command through a controller policy (e.g. a timed drive burst).Either
recorderStart or stop audio/video recording on a twin.Edge
online_controller_lifecycleStart or stop the twin’s assigned controller.Cloud

Integration

Talk to external systems and run your own logic.
NodeWhat it doesRuns on
http_requestCall an external HTTP API.Either
send_emailSend an email.Cloud
send_mqttPublish JSON to a twin MQTT topic.Edge
send_ros2Publish a typed message onto a ROS 2 topic.Edge
codeRun your own Python on the edge worker.Edge

Observability & safety

Guard, observe, and alert on what the workflow sees.
NodeWhat it doesRuns on
send_alertRaise 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:
audio_track → call_model (speech-to-text) → call_model (plan) → send_controller_command
For the full detail on any node — every input and output port, parameters, and edge vs. cloud behavior — see the Workflows reference.

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.