Policy-Based Trigger
The behavioral fleet trigger. Binds a workflow to specific registration policies or device profiles (e.g., Firmware_v2_Beta), allowing for automated fleet management and targeted CI/CD for hardware.
Spec v1.1
Identity: Policy
Port Overview
No input ports
Entry point node — listens to clients with specific registration policies.
Policy Trigger
Trigger
Output ports
onEvent
Node Properties
Configuration for the targeted registration policy. This is powerful for handling lifecycle events, such as auto-upgrading devices that register with an outdated policy.
PolicyClientTrigger
Identity Target
| Property | Type | Default | Description |
|---|---|---|---|
| policyName | string | required | The name of the registration policy to monitor. |
| triggerOnRegistration | bool | true | If true, the workflow fires immediately when a device checks in for the first time using this policy. |
Instance Strategy
| Property | Type | Default | Description |
|---|---|---|---|
| correlationExpression | expression | $.client_id | Required. Maps the signal to the correct client instance within the policy group. |
| onMatch | enum | MapOrCreate |
MapOrCreate — (Genesis) Standard fleet behavior.MapOrDiscard — (Signal) Only updates existing instances.AlwaysCreate — Not recommended (spawns unlinked parallel flows for every message).MapOrReplace — Frequently used for lifecycle flows (e.g., re-running a setup script on every check-in).
|
Smart Fleet Routing
Policy triggers allow for behavioral segregation. You can target all devices on a "Legacy" policy for a security audit workflow, while "Gold Tier" devices follow a high-priority automation path, regardless of their physical location.
Port Detail
Releases the payload enriched with policy name and client profile metadata.
Output ports
onEvent
signal
Fires when any client assigned to the policy publishes data.
// Written to WorkflowContext[nodeId]:
{
"payload": { "fw_ver": "1.0.8" },
"client": { "id": "dev_404", "policy": "Legacy_Upgrade_Plan" }
}
{
"payload": { "fw_ver": "1.0.8" },
"client": { "id": "dev_404", "policy": "Legacy_Upgrade_Plan" }
}