Skip to content
Try for free

ThingsBoard Cloud

Choose your data region

Your data stays in the region you choose, for residency and compliance. No credit card required.

Rather run it yourself? Install on your own servers

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.

Type Display name Originator Key metadata Payload
POST_ATTRIBUTES_REQUEST Post attributes Device deviceName, deviceType { "key": "value" }
POST_TELEMETRY_REQUEST Post telemetry Device deviceName, deviceType, ts { "temperature": 22.7 }
TO_SERVER_RPC_REQUEST RPC Request from Device Device deviceName, deviceType, requestId { "method": "getTime", "params": {} }
RPC_CALL_FROM_SERVER_TO_DEVICE RPC Request to Device Device requestUUID, expirationTime, oneway { "method": "getGpioStatus", "params": {} }
ACTIVITY_EVENT Activity Event Device deviceName, deviceType Device activity JSON
INACTIVITY_EVENT Inactivity Event Device deviceName, deviceType Device activity JSON
CONNECT_EVENT Connect Event Device deviceName, deviceType Device activity JSON
DISCONNECT_EVENT Disconnect Event Device deviceName, deviceType Device activity JSON
ENTITY_CREATED Entity Created Any entity userName, userId Created entity details JSON
ENTITY_UPDATED Entity Updated Any entity userName, userId Updated entity details JSON
ENTITY_DELETED Entity Deleted Any entity userName, userId Deleted entity details JSON
ENTITY_ASSIGNED Entity Assigned Any entity userName, userId, assignedCustomerName, assignedCustomerId Entity details JSON
ENTITY_UNASSIGNED Entity Unassigned Any entity userName, userId, unassignedCustomerName, unassignedCustomerId Entity details JSON
ADDED_TO_ENTITY_GROUP Added to Group Any entity userName, userId, addedToEntityGroupName, addedToEntityGroupId Empty {}
REMOVED_FROM_ENTITY_GROUP Removed from Group Any entity userName, userId, removedFromEntityGroupName, removedFromEntityGroupId Empty {}
ATTRIBUTES_UPDATED Attributes Updated Any entity userName, userId, scope { "softwareVersion": "1.2.3" }
ATTRIBUTES_DELETED Attributes Deleted Any entity userName, userId, scope { "attributes": ["key1"] }
ALARM Alarm event Any entity isNewAlarm, isExistingAlarm, isClearedAlarm Alarm details JSON
ALARM_ASSIGNED Alarm Assigned Any entity entityName, entityType, userId, userEmail, userName Alarm details JSON
ALARM_UNASSIGNED Alarm Unassigned Any entity entityName, entityType, userId, userEmail, userName Alarm details JSON
COMMENT_CREATED Comment Created Any entity userId, userName, userEmail, comment Comment details JSON
COMMENT_UPDATED Comment Updated Any entity userId, userName, userEmail, comment Comment details JSON
REST_API_REQUEST REST API Request to Rule Engine Any entity requestUUID, expirationTime Request payload JSON

Any rule node or integration 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.