Triggered when the user searches rooms.
| Property | Description | Type |
| numResults | How many results the user got to their query. | integer |
| queryLength | The length of the user's query. | integer |
| viaSpotlight | Whether the user is using the new search experience beta. | boolean |
Triggered when the user clicks/taps/activates a UI element.
| Property | Description | Type |
| index | The index of the element, if its in a list of elements. | integer |
| interactionType | The manner with which the user activated the UI element. |
|
| name | The unique name of this element. |
|
Triggered when the user sends a message via the composer.
| Property | Description | Type |
| inThread | Whether the user was using the composer inside of a thread. | boolean |
| isEditing | Whether the user's composer interaction was editing a previously sent event. | boolean |
| isReply | Whether the user's composer interaction was a reply to a previously sent event. | boolean |
| messageType | The type of the message. |
|
| startsThread | Whether this message begins a new thread or not. | boolean |
Triggered when the user joins a room.
| Property | Description | Type |
| isDM | Whether the room is a DM. | boolean |
| isSpace | Whether the room is a Space. | boolean |
| roomSize | The size of the room. |
|
| trigger | The trigger for a room being joined if known. |
|
Triggered when the user runs the troubleshoot notification test suite.
| Property | Description | Type |
| hasError | Whether one or more tests are in error. | boolean |
Triggered when the user opens the attachment dialog.
| Property | Description | Type |
| inThread | Whether the user's attachment is going to be included in a thread. | boolean |
| isReply | Whether the user's attachment is going to be a reply to a previously sent event. | boolean |
| kind | The kind of attachment dialog opened. May refer to a module uploader kind. | string |
Triggered when a poll vote has been cast.
| Property | Description | Type |
| doNotUse | Do not use this. Remove this property when the kotlin type generator can properly generate types without properties other than the event name. | boolean |
Triggered when an error occurred in a call.
| Property | Description | Type |
| isVideo | Whether its a video call or not. | boolean |
| numParticipants | Number of participants in the call. | integer |
| placed | Whether this user placed it. | boolean |
Triggered when the URL preview shows for a user. Should only be sent per event.
| Property | Description | Type |
| encryptedRoom | Is the URL being previewed in an encrypted room. | boolean |
| hasThumbnail | Do the preview(s) contain at least one thumbnail. | boolean |
| previewCount | How many URLs are being previewed. | integer |
| previewKind | The kind of preview being rendered. |
|
Triggered when the user becomes unauthenticated without actually clicking sign out(E.g. Due to expiry of an access token without a way to refresh).
| Property | Description | Type |
| errorCode | The error code as defined in matrix spec. The source of this error is from the homeserver. |
|
| errorReason | The reason for the error. The source of this error is from the homeserver, the reason can vary and is subject to change so there is no enum of possible values. | string |
| refreshTokenAuth | Whether the auth mechanism is refresh-token-based. | boolean |
| softLogout | Whether a soft logout or hard logout was triggered. | boolean |
Triggered when a moderation action is performed within a room.
| Property | Description | Type |
| action | The action that was performed. |
|
| role | When the action sets a particular power level, this is the suggested role for that the power level. |
|
Triggered when the users create a section.
| Property | Description | Type |
| from | From where the action is triggered. |
|
Triggered when the user changed screen on Element Android/iOS.
| Property | Description | Type |
| durationMs | How long the screen was displayed for in milliseconds. | integer |
| screenName |
|
Triggered when a call has ended.
| Property | Description | Type |
| durationMs | The duration of the call in milliseconds. | integer |
| isVideo | Whether its a video call or not. | boolean |
| numParticipants | Number of participants in the call. | integer |
| placed | Whether this user placed it. | boolean |
Super Properties are properties associated with events that are sent with every capture call, be it a $pageview, an autocaptured button click, or anything else.
| Property | Description | Type |
| appPlatform | Used as a discriminant to breakdown usage per client. |
|
| cryptoSDK | Which crypto backend is the client currently using. |
|
| cryptoSDKVersion | Version of the crypto backend. | string |
Describe the current session crypto state, that is if the session is verified or not, if recovery is correctly setup.
| Property | Description | Type |
| recoveryState |
|
|
| verificationState |
|
Triggered when a call is started.
| Property | Description | Type |
| isVideo | Whether its a video call or not. | boolean |
| numParticipants | Number of participants in the call. | integer |
| placed | Whether this user placed it. | boolean |
Triggered when an error occurred.
| Property | Description | Type |
| context | Context - client defined, can be used for debugging. | string |
| cryptoModule | DEPRECATED: Which crypto module is the client currently using. |
|
| cryptoSDK | Which crypto backend is the client currently using. |
|
| domain |
|
|
| eventLocalAgeMillis | An heuristic based on event origin_server_ts and the current device creation time (origin_server_ts - device_ts). This would be used to get the source of the event scroll-back/live/initialSync. | integer |
| isFederated | true if userDomain != senderDomain. | boolean |
| isMatrixDotOrg | true if the current user is using matrix.org. | boolean |
| name |
|
|
| timeToDecryptMillis | UTDs can be permanent or temporary. If temporary, this field will contain the time it took to decrypt the message in milliseconds. If permanent should be -1. | integer |
| userTrustsOwnIdentity | true if the current user trusts their own identity (verified session) at time of decryption. | boolean |
| wasVisibleToUser | true if that unable to decrypt error was visible to the user. | boolean |
Triggered once onboarding has completed, but only if the user registered a new account.
| Property | Description | Type |
| authenticationType | The type of authentication that was used to sign up. |
|
Triggered when the user changed screen on Element Web/Desktop
| Property | Description | Type |
| $current_url |
|
|
| durationMs | How long the screen took to load, if applicable. | integer |
Triggered when the user runs a slash command in their composer.
| Property | Description | Type |
| command | The name of this command. |
|
Triggered when the user creates a room.
| Property | Description | Type |
| isDM | Whether the room is a DM. | boolean |
Triggered when a poll is created or edited.
| Property | Description | Type |
| action | Whether this poll has been created or edited. |
|
| isUndisclosed | Whether this poll is undisclosed. | boolean |
| numberOfAnswers | Number of answers in the poll. | integer |
Triggered when the user changes a permission status.
| Property | Description | Type |
| granted | Whether the permission has been granted by the user. | boolean |
| permission | The name of the permission. |
|
Triggered when the user changes the room list filters.
| Property | Description | Type |
| activeFilters | The set of filters that are now active after this change. This helps track which filter combinations users prefer. | array |
| changedFilter | The filter that was toggled by the user. |
|
| isEnabled | Whether the filter was enabled (true) or disabled (false). | boolean |
Triggered when the users pin or unpins a message.
| Property | Description | Type |
| from | From where the action is triggered. |
|
| kind | Is pin or unpin. |
|
Triggered when the user cancels sending an attachment.
| Property | Description | Type |
| inThread | Whether the user's attachment is going to be included in a thread. | boolean |
| isReply | Whether the user's attachment is going to be a reply to a previously sent event. | boolean |
| kind | The kind of attachment dialog opened. May refer to a module uploader kind. | string |
| stage | Where did the user perform the cancellation. |
|
Triggered after timing an operation in the app.
| Property | Description | Type |
| context | Client defined, can be used for debugging. | string |
| itemCount | Client defined, an optional value to indicate how many items were handled during the operation. | integer |
| name | The timer that is being reported. |
|
| timeMs | The time reported by the timer in milliseconds. | integer |
Triggered when the users collapse or expand a section.
| Property | Description | Type |
| from | From where the action is triggered. |
|
| kind | Is expand or collapse. |
|
Triggered when a poll has been ended.
| Property | Description | Type |
| doNotUse | Do not use this. Remove this property when the kotlin type generator can properly generate types without properties other than the event name. | boolean |
Triggered when user changes room list sorting algorithm.
| Property | Description | Type |
| newAlgorithm | The new sorting algorithm. |
|
| oldAlgorithm | The old sorting algorithm. |
|
Triggered when the user resizes a layout panel.
| Property | Description | Type |
| panel | The panel that was resized. |
|
| roomType | The type of room the user is viewing when resizing the panel. |
|
| size | The size to which the user has resized the panel in pixels. | integer |
Triggered when the user sends an attachment.
| Property | Description | Type |
| count | The number of attachments sent. | integer |
| inThread | Whether the user's attachment is going to be included in a thread. | boolean |
| isReply | Whether the user's attachment is going to be a reply to a previously sent event. | boolean |
| kind | The kind of attachment dialog opened. May refer to a module uploader kind. | string |
| type | The types of attachment sent. If multiple are being sent, use the most common type. | string |
The user properties to apply when identifying. This is not an event definition. These properties must all be device independent.
| Property | Description | Type |
| URLPreviewsEnabled | Whether the user has enabled URL previews globally. | boolean |
| WebLayout | Which layout the user is using in Element Web/Desktop. This is known to clobber between devices. |
|
| WebMetaSpaceFavouritesEnabled | Whether the user has the favourites space enabled. | boolean |
| WebMetaSpaceHomeAllRooms | Whether the user has the home space set to all rooms. | boolean |
| WebMetaSpaceHomeEnabled | Whether the user has the home space enabled. | boolean |
| WebMetaSpaceOrphansEnabled | Whether the user has the other rooms space enabled. | boolean |
| WebMetaSpacePeopleEnabled | Whether the user has the people space enabled. | boolean |
| allChatsActiveFilter | The active filter in the All Chats screen. |
|
| ftueUseCaseSelection | The selected messaging use case during the onboarding flow. |
|
| numFavouriteRooms | Number of joined rooms the user has favourited. | integer |
| numSpaces | Number of spaces (and sub-spaces) the user is joined to. | integer |
| recoveryState | Describe the current session recovery state, that if 4S is setup, complete (all secrets cached) or not. |
|
| verificationState | Describe the current session verification state, that is if the session is verified or not. |
|
Triggered when the user chooses to hide or show a URL preview.
| Property | Description | Type |
| hasThumbnail | Do the preview(s) contain at least one thumbnail. | boolean |
| previewCount | How many URLs are being previewed. | integer |
| previewKind | The kind of preview being rendered. |
|
| visible | Has the user made the previews visible or hidden. | boolean |
Triggered when the user changes rooms.
| Property | Description | Type |
| activeSpace | active space when user navigated to the room. |
|
| isDM | Whether the room is a DM. | boolean |
| isSpace | Whether the room is a Space. | boolean |
| trigger | The reason for the room change if known. |
|
| viaKeyboard | Whether the interaction was performed via the keyboard input. | boolean |