MQTT Telemetry Trigger

The persistent IoT backbone. Maintains long-lived subscriptions to message brokers, handles high-frequency telemetry, and decodes binary payloads for real-time workflow routing.

Spec v1.1 IoT / Edge

Port Overview

No input ports
Entry point node — driven by persistent broker subscriptions.
MqttTelemetry Trigger
Trigger
Output ports
onMessage

Node Properties

Configuration for the MQTT client and payload decoding. The engine manages the connection lifecycle, including automatic retries and backoff if the broker becomes unreachable.

MqttTelemetryTrigger

Broker & Subscription

Property Type Default Description
brokerRef string required Vault reference to broker details (host, port, TLS, credentials).
topic string # The MQTT topic subscription string. Supports wildcards (e.g., telemetry/+/sensors).
qos int (0-2) 1 Quality of Service level for the subscription.

Payload & Decoding

Property Type Default Description
payloadFormat enum JSON JSON — Standard text parsing.
Protobuf — Binary decoding via schema.
RawBinary — Passes payload as hex/base64 string.
schemaRef string null Reference to a .proto file or binary template in the WBSKT Registry. Required for Protobuf.

Instance Strategy

Property Type Default Description
correlationExpression expression null JSONPath for payload fields, or $topic[index] for topic segments (e.g., $topic[1] for 2nd segment).
onMatch enum MapOrCreate MapOrCreate(Genesis) Creates a new instance if the resolved ID is unknown. Updates if known.
MapOrDiscard(Signal) Only updates existing instances. If no match is found, the signal is dropped.
AlwaysCreate — Ignores the resolved ID and spawns a parallel instance (useful for stateless logs).
MapOrReplace — Aborts the existing instance and starts a fresh one with the new payload.
Topic-Based Routing The MQTT Trigger is uniquely capable of extracting identity from the topic metadata. This allows the engine to route messages to the correct instance even if the payload is encrypted or in a proprietary binary format that cannot be parsed by the node itself.

Port Detail

Releases a signal containing the decoded payload and broker metadata.

Output ports
onMessage signal
Fires instantly upon message arrival and successful decoding.
// Written to WorkflowContext[nodeId]:
{
  "metadata": { "topic": "v1/dev_99/status", "qos": 1, "retained": false },
  "payload": { "temp": 24.5, "humidity": 48.2, "status": "ONLINE" }
}