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" }
}
{
"metadata": { "topic": "v1/dev_99/status", "qos": 1, "retained": false },
"payload": { "temp": 24.5, "humidity": 48.2, "status": "ONLINE" }
}