Single Client Trigger
The "Pinned" identity trigger. Binds a workflow to exactly one specific device in the registry, ensuring dedicated, isolated execution for high-value assets.
Spec v1.1
Identity: Single
Port Overview
No input ports
Entry point node — filtered by specific Client UUID.
Single Client Trigger
Trigger
Output ports
onEvent
Node Properties
Configuration for the targeted client. Because this trigger is locked to one identity, the engine handles instance mapping automatically.
SingleClientTrigger
Identity Target
| Property | Type | Default | Description |
|---|---|---|---|
| clientId | uuid | required | The unique identifier of the device in the platform registry. |
| filterExpression | expression | null | Optional JSONPath to filter specific events from this client (e.g., $.type == 'ALARM'). |
Instance Strategy
| Property | Type | Default | Description |
|---|---|---|---|
| correlationExpression | expression | null | Implicit. Set to null as the clientId acts as the fixed correlation key for the instance. |
| onMatch | enum | MapOrCreate |
MapOrCreate — (Genesis) Creates the instance on first signal. Updates thereafter.MapOrDiscard — (Signal) Only accepts signals if the instance was manually started.AlwaysCreate — Not recommended for single client (spawns parallel flows for one device).MapOrReplace — Resets the device's digital twin state on every new signal.
|
Dedicated Workspaces
Single Client triggers are best for "Digital Twin" scenarios where a workflow represents the persistent state of one specific physical machine. No data parsing is needed to find the instance; the engine knows exactly which "room" to put the data in.
Port Detail
Releases the raw client payload enriched with Registry Metadata.
Output ports
onEvent
signal
Fires when the specific client publishes data or changes state.
// Written to WorkflowContext[nodeId]:
{
"payload": { ... },
"client": { "id": "dev_01", "name": "Main Pump", "tags": ["critical"] }
}
{
"payload": { ... },
"client": { "id": "dev_01", "name": "Main Pump", "tags": ["critical"] }
}