Skip to content
Stand with Ukraine flag

Rule Engine Message Types

Every event that enters the Rule Engine is wrapped in a Message. The message type tells rule nodes what triggered the event so they can route or process it accordingly.

┌────────────────────────────────────────────┐
│ Rule Engine Message │
│ │
│ type: POST_TELEMETRY_REQUEST │
│ originator: Device / Asset / … │
│ payload: { "temperature": 22.7 } │
│ metadata: { deviceName, deviceType, … } │
└────────────────────────────────────────────┘
TypeDisplay nameOriginatorKey metadataPayload
POST_ATTRIBUTES_REQUESTPost attributesDevicedeviceName, deviceType{ "key": "value" }
POST_TELEMETRY_REQUESTPost telemetryDevicedeviceName, deviceType, ts{ "temperature": 22.7 }
TO_SERVER_RPC_REQUESTRPC Request from DeviceDevicedeviceName, deviceType, requestId{ "method": "getTime", "params": {} }
RPC_CALL_FROM_SERVER_TO_DEVICERPC Request to DeviceDevicerequestUUID, expirationTime, oneway{ "method": "getGpioStatus", "params": {} }
ACTIVITY_EVENTActivity EventDevicedeviceName, deviceTypeDevice activity JSON
INACTIVITY_EVENTInactivity EventDevicedeviceName, deviceTypeDevice activity JSON
CONNECT_EVENTConnect EventDevicedeviceName, deviceTypeDevice activity JSON
DISCONNECT_EVENTDisconnect EventDevicedeviceName, deviceTypeDevice activity JSON
ENTITY_CREATEDEntity CreatedAny entityuserName, userIdCreated entity details JSON
ENTITY_UPDATEDEntity UpdatedAny entityuserName, userIdUpdated entity details JSON
ENTITY_DELETEDEntity DeletedAny entityuserName, userIdDeleted entity details JSON
ENTITY_ASSIGNEDEntity AssignedAny entityuserName, userId, assignedCustomerName, assignedCustomerIdEntity details JSON
ENTITY_UNASSIGNEDEntity UnassignedAny entityuserName, userId, unassignedCustomerName, unassignedCustomerIdEntity details JSON
ADDED_TO_ENTITY_GROUPAdded to GroupAny entityuserName, userId, addedToEntityGroupName, addedToEntityGroupIdEmpty {}
REMOVED_FROM_ENTITY_GROUPRemoved from GroupAny entityuserName, userId, removedFromEntityGroupName, removedFromEntityGroupIdEmpty {}
ATTRIBUTES_UPDATEDAttributes UpdatedAny entityuserName, userId, scope{ "softwareVersion": "1.2.3" }
ATTRIBUTES_DELETEDAttributes DeletedAny entityuserName, userId, scope{ "attributes": ["key1"] }
ALARMAlarm eventAny entityisNewAlarm, isExistingAlarm, isClearedAlarmAlarm details JSON
ALARM_ASSIGNEDAlarm AssignedAny entityentityName, entityType, userId, userEmail, userNameAlarm details JSON
ALARM_UNASSIGNEDAlarm UnassignedAny entityentityName, entityType, userId, userEmail, userNameAlarm details JSON
COMMENT_CREATEDComment CreatedAny entityuserId, userName, userEmail, commentAlarm details JSON
COMMENT_UPDATEDComment UpdatedAny entityuserId, userName, userEmail, commentAlarm details JSON
REST_API_REQUESTREST API Request to Rule EngineAny entityrequestUUID, expirationTimeRequest payload JSON

Any rule node can produce messages with a custom type string. Custom types are not listed here — they depend on your rule chain configuration. Use the Message Type Switch or Message Type Filter nodes to route on them.