Notification types
chatCreateMessage
Fired when a new message is created in a chat (user messages, public/guest messages, AI assistant replies and system messages).
Delivered as the
notification socket event with type set to chatCreateMessage.Fired when a new message is created in a chat (user messages, public/guest messages, AI assistant replies and system messages).
Fired when a new message is created in a chat. Published on chat/{chatId}, the topic resource channel(s) and user/{userId} for member chats.
Payload for the chatCreateMessage event.
Token keys marked with (*) will be deprecated in a future release and should not be used for new development; replace them with the values and objects in the changes key in existing implementations.
Payload
| Property | Type | Required | Description |
|---|---|---|---|
type | string | yes | The specific type of notification event (matches the top-level key, e.g., 'workspaceCreate'). Every notification type is documented as its own event in this reference. |
initiatorId | string (uuid) | no | ID of the user or system that initiated the event. Null if initiatorType is 'system'. |
initiatorType | "user" | "system" | yes | Type of initiator (user or system). |
initiator | object | null | no | Populated initiator user object (if initiatorType is 'user'). |
resourceId | string (uuid) | yes | ID of the primary resource this notification pertains to. |
resourceType | string | yes | Type of the primary resource this notification pertains to. |
channels | string[] | no | The specific channels this notification was published on. Present on notification objects returned by the REST API only; the socket 'notification' payload omits it (and id). |
createdAt | string (date-time) | yes | Timestamp when the notification was created. |
tokens | object | no | |
changes | object | no | changes.create holds the message and changes.update the parent chat (lastMessage etc.). When the message creates the chat itself (first message in a new topic chat) the chat entry appears in changes.create instead of changes.update. |
tokens
| Property | Type | Required | Description |
|---|---|---|---|
(*)requesterId | string (uuid) | no | Deprecated. Use initiatorId. |
(*)requester | object | no | Deprecated. Use initiator. |
(*)chatId | string (uuid) | no | Deprecated. |
(*)messageId | string (uuid) | no | Deprecated. |
(*)resourceType | string | no | Deprecated. Topic/scope resource type of the chat (e.g. 'project', 'asset', 'task', 'public'). |
(*)resourceId | string (uuid) | no | Deprecated. |
(*)visibility | string[] | no | Deprecated. |
(*)mentions | object[] | no | Deprecated. Mentions contained in the message. |
(*)message | object | no | Deprecated. The created message object. Use resource from changes.create. |
changes
| Property | Type | Required | Description |
|---|---|---|---|
create | object[] | no | |
update | object[] | no |
create (items)
| Property | Type | Required | Description |
|---|---|---|---|
resourceId | string (uuid) | no | |
resourceType | "chatMessage" | no | |
resource | object | no | The created message. |
update (items)
| Property | Type | Required | Description |
|---|---|---|---|
resourceId | string (uuid) | no | |
resourceType | "chat" | "chatMember" | "chatSubmission" | no | |
resource | object | no | The chat the message belongs to (resourceType reflects the chat model: 'chat' for topic chats, 'chatMember' for member chats, 'chatSubmission' for submission chats). |