Analytics events for Element clients

Composer

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.
  • Text: A text message.
  • LocationPin: A pin drop location message.
  • LocationUser: A user current location message.
  • Poll: A poll message.
  • VoiceMessage: A voice message.
startsThread Whether this message begins a new thread or not. boolean

Signup

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.
  • Password: Registration with a username and password.
  • Apple: Social login using Apple.
  • Facebook: Social login using Facebook.
  • GitHub: Social login using GitHub.
  • GitLab: Social login using GitLab.
  • Google: Social login using Google.
  • SSO: Registration using another SSO provider.
  • Other: Registration using some other mechanism such as fallback.

NotificationTroubleshoot

Triggered when the user runs the troubleshoot notification test suite.

Property Description Type
hasError Whether one or more tests are in error. boolean

SuperProperties

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 by web to identify the platform (Web Platform/Electron Platform). string
cryptoSDK Which crypto backend is the client currently using.
  • Legacy: Legacy crypto backend specific to each platform.
  • Rust: Cross-platform crypto backend written in Rust.
cryptoSDKVersion Version of the crypto backend. string

Error

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.
  • Native: Native / legacy crypto module specific to each platform.
  • Rust: Shared / cross-platform crypto module written in Rust.
cryptoSDK Which crypto backend is the client currently using.
  • Legacy: Legacy crypto backend specific to each platform.
  • Rust: Cross-platform crypto backend written in Rust.
domain
  • E2EE
  • VOIP
  • TO_DEVICE
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
  • OlmIndexError: E2EE domain error. The room key is known but is ratcheted (index > 0).
  • OlmKeysNotSentError: E2EE domain error. Generic unknown inbound group session error.
  • OlmUnspecifiedError: E2EE domain error. Any other decryption error (missing field, format errors...).
  • UnknownError: E2EE domain error. Decryption failed due to unknown error.
  • HistoricalMessage: E2EE domain error. Decryption failed for a message sent before the device logged in, and key backup is not enabled.
  • ExpectedDueToMembership: E2EE domain error. Decryption failed for a message sent before you were in the room (shared history visibility and support for sharing past keys is not available/supported).
  • VoipUserHangup: VOIP domain error. The user hung up the call.
  • VoipIceFailed: VOIP domain error. ICE negotiation failed.
  • VoipInviteTimeout: VOIP domain error. The call invite timed out.
  • VoipIceTimeout: VOIP domain error. ICE negotiation timed out.
  • VoipUserMediaFailed: VOIP domain error. The user's media failed to start.
  • ToDeviceFailedToDecrypt: TO_DEVICE domain error. The to-device message failed to decrypt.
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

Interaction

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.
  • Pointer
  • Keyboard
  • Touch
name The unique name of this element.
  • WebRoomListRoomTileContextMenuFavouriteToggle: User adjusted their favourites using the context menu on a room tile in the room list in Element Web/Desktop.
  • WebRoomHeaderContextMenuFavouriteToggle: User adjusted their favourites using the context menu on the header of a room in Element Web/Desktop.
  • WebSettingsNotificationsShowBoldToggle: User toggled the 'Notifications.showbold' in Element Web/Desktop.
  • WebSettingsNotificationsTACOnlyNotificationsToggle: User toggled the 'Notifications.tac_only_notifications' in Element Web/Desktop.
  • WebRoomListRoomTileNotificationsMenu: User accessed their room notification settings via the context menu on a room tile in the room list in Element Web/Desktop.
  • WebRoomHeaderContextMenuNotificationsItem: User accessed their room notification settings via the context menu on the header of a room in Element Web/Desktop.
  • WebRoomHeaderContextMenuPeopleItem: User accessed room member list using the context menu on the header of a room in Element Web/Desktop.
  • WebRightPanelRoomInfoPeopleButton: User accessed room member list using the 'People' button in the right panel room summary card of Element Web/Desktop.
  • WebRightPanelRoomUserInfoBackButton: User accessed room member list using the back button in the right panel user info card of Element Web/Desktop.
  • WebRoomListRoomTileContextMenuLeaveItem: User interacted with leave action in the context menu on a room tile in the room list in Element Web/Desktop.
  • WebRoomHeaderContextMenuLeaveItem: User interacted with leave action in the context menu on the header of a room in Element Web/Desktop.
  • WebRoomSettingsLeaveButton: User interacted with leave action in the general tab of the room settings dialog in Element Web/Desktop.
  • WebRoomListRoomTileContextMenuSettingsItem: User accessed room settings using the context menu on a room tile in the room list in Element Web/Desktop.
  • WebRoomHeaderContextMenuSettingsItem: User accessed room settings using the context menu on the header of a room in Element Web/Desktop.
  • WebRightPanelRoomInfoSettingsButton: User accessed room settings using the 'Settings' button in the right panel room summary card of Element Web/Desktop.
  • WebRoomListRoomTileContextMenuInviteItem: User accessed the room invite flow using the context menu on a room tile in the room list in Element Web/Desktop.
  • WebRoomListRoomTileContextMenuMarkRead: User marked a message as read using the context menu on a room tile in the room list in Element Web/Desktop.
  • WebRoomListRoomTileContextMenuMarkUnread: User marked a room as unread using the context menu on a room tile in the room list in Element Web/Desktop.
  • WebRoomHeaderContextMenuInviteItem: User accessed the room invite flow using the context menu on the header of a room in Element Web/Desktop.
  • WebRightPanelMemberListInviteButton: User accessed the room invite flow using the button at the top of the room member list in the right panel of Element Web/Desktop.
  • WebRightPanelRoomUserInfoInviteButton: User invited someone to room by clicking invite on the right panel user info card in Element Web/Desktop.
  • WebQuickSettingsThemeDropdown: User interacted with the theme dropdown in the quick settings menu of Element Web/Desktop.
  • WebUserMenuThemeToggleButton: User clicked the theme toggle button in the user menu of Element Web/Desktop.
  • WebSettingsAppearanceTabThemeSelector: User interacted with the theme radio selector in the Appearance tab of Settings in Element Web/Desktop.
  • WebQuickSettingsPinToSidebarCheckbox: User interacted with pin to sidebar checkboxes in the quick settings menu of Element Web/Desktop.
  • WebSettingsSidebarTabSpacesCheckbox: User interacted with the pre-built space checkboxes in the Sidebar tab of Settings in Element Web/Desktop.
  • WebRoomSettingsSecurityTabCreateNewRoomButton: User interacted with the prompt to create a new room when adjusting security settings in an existing room in Element Web/Desktop.
  • WebHomeCreateRoomButton: User clicked the create room button in the home page of Element Web/Desktop.
  • WebRoomDirectoryCreateRoomButton: User clicked the create room button in the room directory of Element Web/Desktop.
  • WebRoomListRoomsSublistPlusMenuCreateRoomItem: User clicked the create room button in the + context menu of the rooms sublist in Element Web/Desktop.
  • WebRoomListHeaderPlusMenuCreateRoomItem: User clicked the create room button in the + context menu of the room list header in Element Web/Desktop.
  • WebSpaceHomeCreateRoomButton: User clicked the new room button in the context menu on the space home in Element Web/Desktop.
  • WebSpaceContextMenuNewRoomItem: User clicked the new room button in the context menu of a space in Element Web/Desktop.
  • WebAddExistingToSpaceDialogCreateRoomButton: User clicked the create room button in the add existing room to space dialog in Element Web/Desktop.
  • WebHomeCreateChatButton: User clicked the create DM button in the home page of Element Web/Desktop.
  • WebRoomListRoomsSublistPlusMenuCreateChatItem: User clicked the create DM button in the + context menu of the rooms sublist in Element Web/Desktop.
  • WebRoomListHeaderPlusMenuCreateChatItem: User clicked the create DM button in the + context menu of the room list header in Element Web/Desktop.
  • WebSpaceContextMenuHomeItem: User clicked the home button in the context menu of a space in Element Web/Desktop.
  • WebHomeExploreRoomsButton: User clicked the explore rooms button in the home page of Element Web/Desktop.
  • WebHomeMiniAvatarUploadButton: User clicked on the mini avatar uploader in the home page of Element Web/Desktop.
  • WebProfileSettingsAvatarUploadButton: User clicked on the avatar uploader in the profile settings of Element Web/Desktop.
  • WebLeftPanelExploreRoomsButton: User clicked the explore rooms button next to the search field at the top of the left panel in Element Web/Desktop.
  • WebSpaceContextMenuExploreRoomsItem: User clicked the explore rooms button in the context menu of a space in Element Web/Desktop.
  • WebRoomListHeaderPlusMenuExploreRoomsItem: User clicked the explore rooms button in the + context menu of the room list header in Element Web/Desktop.
  • WebRoomListRoomsSublistPlusMenuExploreRoomsItem: User clicked the explore rooms button in the + context menu of the rooms sublist in Element Web/Desktop.
  • WebRightPanelThreadPanelFilterDropdown: User clicked the threads 'show' filter dropdown in the threads panel in Element Web/Desktop.
  • WebRoomHeaderButtonsThreadsButton: User clicked the Threads button in the top right of a room in Element Web/Desktop.
  • WebThreadViewBackButton: User clicked the back button on a Thread view going back to the Threads Panel of Element Web/Desktop.
  • WebThreadsPanelThreadItem: User selected a thread in the Threads panel in Element Web/Desktop.
  • WebThreadsActivityCentreButton: User clicked on the Threads Activity Centre button of Element Web/Desktop.
  • WebThreadsActivityCentreRoomItem: User clicked on a room in the Threads Activity Centre of Element Web/Desktop.
  • WebThreadsMarkAllReadButton: User clicked on the button to mark all threads in a room as read in Element Web/Desktop.
  • WebRoomTimelineThreadSummaryButton: User clicked a thread summary in the timeline of a room in Element Web/Desktop.
  • WebUserOnboardingHeaderSendDm: User clicked on the send DM CTA in the header of the new user onboarding page in Element Web/Desktop.
  • WebUserOnboardingTaskSendDm: User clicked on the action of the find people task on the new user onboarding page in Element Web/Desktop.
  • WebUserOnboardingTaskDownloadApps: User clicked on the action of the download apps task on the new user onboarding page in Element Web/Desktop.
  • WebUserOnboardingTaskSetupProfile: User clicked on the action of the your profile task on the new user onboarding page in Element Web/Desktop.
  • WebUserOnboardingTaskEnableNotifications: User clicked on the action of the enable notifications task on the new user onboarding page in Element Web/Desktop.
  • WebRoomListUserOnboardingButton: User clicked on the button to return to the user onboarding list in the room list in Element Web/Desktop.
  • WebRoomListUserOnboardingIgnoreButton: User clicked on the button to close the user onboarding button in the room list in Element Web/Desktop.
  • SpacePanelSelectedSpace: User tapped the already selected space from the space list.
  • SpacePanelSwitchSpace: User tapped an unselected space from the space list -> space switching should occur.
  • SpacePanelSwitchSubSpace: User tapped an unselected sub space from the space list -> space switching should occur.
  • MobileRoomLeave: User tapped on Leave Room button on Room Details screen.
  • MobileRoomAddHome: User tapped on Add to Home button on Room Details screen.
  • MobileRoomFavouriteToggle: User switched the favourite toggle on Room Details screen.
  • MobileRoomThreadListButton: User tapped on Threads button on Room screen.
  • MobileRoomThreadSummaryItem: User tapped on a thread summary item on Room screen.
  • MobileThreadListThreadItem: User selected a thread on ThreadList screen.
  • MobileThreadListFilterItem: User tapped on the filter button on ThreadList screen.
  • MobileAllChatsRecentsEnabled: User enabled recents from the all chats layout settings.
  • MobileAllChatsRecentsDisabled: User disabled recents from the all chats layout settings.
  • MobileAllChatsFiltersEnabled: User enabled filters from the all chats layout settings.
  • MobileAllChatsFiltersDisabled: User disabled filters from the all chats layout settings.
  • MobileAllChatsFilterAll: User tapped the All filter in the All Chats filter tab.
  • MobileAllChatsFilterFavourites: User tapped the Favourites filter in the All Chats filter tab.
  • MobileAllChatsFilterUnreads: User tapped the Unreads filter in the All Chats filter tab.
  • MobileAllChatsFilterPeople: User tapped the People filter in the All Chats filter tab.
  • MobileSpaceCreationValidated: User validated the creation of a new space.
  • MobileRoomListRoomContextMenuUnreadToggle: User adjusted their unread rooms using the context menu on a room in the room list.
  • MobileRoomListRoomContextMenuFavouriteToggle: User adjusted their favourite rooms using the context menu on a room in the room list.

CallEnded

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

PollEnd

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

PermissionChanged

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.
  • Notification: Permissions related to sending notifications have changed.

$screen

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
  • Home: The Home tab on iOS | possibly the same on Android?
  • Welcome: The splash screen.
  • Login: The screen that displays the login flow (when the user already has an account).
  • ForgotPassword: The form for the forgot password use case.
  • Register: The screen that displays the registration flow (when the user wants to create an account).
  • Room: The screen that displays the messages and events received in a room.
  • RoomDetails: The screen shown when tapping the name of a room from the Room screen.
  • RoomMembers: The screen that displays the list of members that are part of a room.
  • User: A screen that shows information about a room member.
  • RoomSearch: The screen that allows you to search for messages/files in a specific room.
  • RoomUploads: The screen that allows you to see all of the files sent in a specific room.
  • RoomSettings: The settings screen shown from the Room Details screen.
  • RoomNotifications: The notifications settings screen shown from the Room Details screen.
  • RoomAddresses: The room addresses screen shown from the Room Details screen.
  • RoomPermissions: The roles permissions screen shown from the Room Details screen.
  • RoomDirectory: The screen that lists public rooms for you to discover.
  • RoomFilter: The screen that lists all the user's rooms and let them filter the rooms.
  • StartChat: The screen shown to create a new direct room.
  • CreateRoom: The screen shown to create a new (non-direct) room.
  • DeactivateAccount: The confirmation screen shown before deactivating an account.
  • Group: Legacy: The screen that shows information about a specific group.
  • MyGroups: Legacy: The screen that shows all groups/communities you have joined.
  • SpaceExploreRooms: Screen that displays the list of rooms and spaces of a space.
  • Sidebar: The sidebar shown on mobile with spaces, settings etc.
  • Favourites: The Favourites tab on mobile that lists your favourite people/rooms.
  • People: The People tab on mobile that lists all the DM rooms you have joined.
  • Rooms: The Rooms tab on mobile that lists all the (non-direct) rooms you've joined.
  • Dialpad: The tab on mobile that displays the dialpad.
  • SearchRooms: The Rooms tab shown in the global search screen on Mobile.
  • SearchMessages: The Messages tab shown in the global search screen on Mobile.
  • SearchPeople: The People tab shown in the global search screen on Mobile.
  • SearchFiles: The Files tab shown in the global search screen on Mobile.
  • SwitchDirectory: The screen shown to select which room directory you'd like to use.
  • InviteFriends: The screen shown to share a link to download the app.
  • Breadcrumbs: The screen that displays the user's breadcrumbs.
  • Settings: The global settings screen shown in the app.
  • SettingsSecurity: The global security settings screen.
  • SettingsDefaultNotifications: The settings screen to change the default notification options.
  • SettingsGeneral: The settings screen with general profile settings.
  • NotificationTroubleshoot: The screen containing tests to help user to fix issues around notifications.
  • SettingsNotifications: The notifications settings screen.
  • SettingsPreferences: The preferences screen (theme, language, editor preferences, etc.
  • SettingsVoiceVideo: The calls settings screen.
  • SettingsIgnoredUsers: The settings screen with list of the ignored users.
  • SettingsLabs: The experimental features settings screen.
  • SettingsAdvanced: The advanced settings screen (developer mode, rageshake, push notification rules).
  • SettingsHelp: The Help and About screen.
  • SettingsLegals: The settings screen with legals information.
  • SettingsMentionsAndKeywords: The settings screen to manage notification mentions and keywords.
  • SpaceMenu: The bottom sheet that list all space options.
  • SpaceMembers: Screen that displays the list of members of a space.
  • RoomPreview: Screen that displays room preview if user hasn't joined yet.
  • ThreadList: Screen that displays list of threads for a room.
  • SpaceBottomSheet: Room accessed via space bottom sheet list.
  • Invites: Room accessed via space bottom sheet list.
  • CreateSpace: The screen shown to create a new space.
  • LocationSend: The screen shown to share location.
  • LocationView: The screen shown to view a shared location.
  • CreatePollView: The screen shown to create a poll.
  • EditPollView: The screen shown to edit a poll.

PerformanceTimer

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.
  • StartupInitialSync: The duration of an initial /sync request during startup (if the store has been wiped). In this case, `itemCount` should contain the number of joined rooms.
  • StartupIncrementalSync: The duration of a regular /sync request when resuming the app. In this case, `itemCount` should contain the number of joined rooms in the response.
  • StartupStorePreload: The time to preload data in the MXStore on iOS. In this case, `itemCount` should contain the number of rooms in the store.
  • StartupStoreReady: The time to load all data from the store (including StartupStorePreload time). In this case, `itemCount` should contain the number of rooms loaded into the session
  • StartupLaunchScreen: How long the app launch screen is displayed for.
  • InitialSyncRequest: The time spent waiting for a response to an initial /sync request. In this case, `itemCount` should contain the number of joined rooms.
  • InitialSyncParsing: The time spent parsing the response from an initial /sync request. In this case, `itemCount` should contain the number of joined rooms.
  • NotificationsOpenEvent: The time taken to display an event in the timeline that was opened from a notification.
timeMs The time reported by the timer in milliseconds. integer

UnauthenticatedError

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.
  • M_UNKNOWN
  • M_FORBIDDEN
  • M_UNKNOWN_TOKEN
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

WebSearch

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

$pageview

Triggered when the user changed screen on Element Web/Desktop

Property Description Type
$current_url
  • Home: Home page.
  • Welcome: The splash screen.
  • Login: The screen that displays the login flow (when the user already has an account).
  • ForgotPassword: The form for the forgot password use case
  • Register: The screen that displays the registration flow (when the user wants to create an account)
  • UseCaseSelection: The screen where users choose their expected use case for Element.
  • Room: The screen that displays the messages and events received in a room.
  • RoomDetails: The screen shown when tapping the name of a room from the Room screen.
  • RoomMembers: The screen that displays the list of members that are part of a room.
  • User: A screen that shows information about a room member.
  • RoomSearch: The screen that allows you to search for messages/files in a specific room.
  • RoomUploads: The screen that allows you to see all of the files sent in a specific room.
  • RoomNotifications: The notifications settings screen shown from the Room Details screen.
  • RoomDirectory: The screen that lists public rooms for you to discover.
  • RoomFilter: The screen that lists all the user's rooms and let them filter the rooms.
  • StartChat: The screen shown to create a new direct room.
  • CreateRoom: The screen shown to create a new (non-direct) room.
  • DeactivateAccount: The confirmation screen shown before deactivating an account.
  • Group: Legacy: The screen that shows information about a specific group.
  • MyGroups: Legacy: The screen that shows all groups/communities you have joined.
  • SpaceExploreRooms: Screen that displays the list of rooms and spaces of a space
  • Loading: Screen showing loading spinner.
  • CompleteSecurity: Screen showing flow to trust this new device with cross-signing.
  • E2ESetup: Screen showing flow to setup SSSS / cross-signing on this account.
  • SoftLogout: Screen showing device has been soft logged out by the server.
  • UserSettings: Screen showing User Settings (unknown tab).
  • UserSettingsGeneral: Screen showing User Settings General Tab.
  • UserSettingsAppearance: Screen showing User Settings Appearance Tab.
  • UserSettingsNotifications: Screen showing User Settings Notifications Tab.
  • UserSettingsPreferences: Screen showing User Settings Preferences Tab.
  • UserSettingsKeyboard: Screen showing User Settings Keyboard Tab.
  • UserSettingsSidebar: Screen showing User Settings Sidebar Tab.
  • UserSettingsVoiceVideo: Screen showing User Settings Voice & Video Tab.
  • UserSettingsSecurityPrivacy: Screen showing User Settings Security & Privacy Tab.
  • UserSettingsLabs: Screen showing User Settings Labs Tab.
  • UserSettingsIgnoredUsers: Screen showing User Settings Ignored Users Tab.
  • UserSettingsHelpAbout: Screen showing User Settings Help & About Tab.
  • UserSettingMjolnir: Screen showing User Settings Mjolnir (labs) Tab.
  • UserSettingFlair: Legacy: screen showing User Settings Flair Tab.
  • RoomSettings: Screen showing Room Settings (unknown tab).
  • RoomSettingsGeneral: Screen showing Room Settings General Tab.
  • RoomSettingsSecurityPrivacy: Screen showing Room Settings Security & Privacy Tab.
  • RoomSettingsRolesPermissions: Screen showing Room Settings Roles & Permissions Tab.
  • RoomSettingsNotifications: Screen showing Room Settings Notifications Tab.
  • RoomSettingsBridges: Labs: Screen showing Room Settings Bridges Tab.
  • RoomSettingsAdvanced: Screen showing Room Settings Advanced Tab.
  • UnifiedSearch: Screen showing the new unified search modal (Project Spotlight).
  • FavouriteMessages: Screen showing all messages that have been added to favourites.
  • ConfirmStartup: Screen showing that the app is already running in another window.
  • SessionLockStolen: Screen showing that the app has been started in another window.
durationMs How long the screen took to load, if applicable. integer

UserProperties

The user properties to apply when identifying. This is not an event definition. These properties must all be device independent.

Property Description Type
WebLayout Which layout the user is using in Element Web/Desktop. This is known to clobber between devices.
  • IRC: IRC layout.
  • Bubble: Bubble layout.
  • Group: Modern layout.
  • Compact: Modern layout with compact option enabled.
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.
  • All: Filters are activated and All is selected.
  • Unreads: Filters are activated and Unreads is selected.
  • Favourites: Filters are activated and Favourites is selected.
  • People: Filters are activated and People is selected.
ftueUseCaseSelection The selected messaging use case during the onboarding flow.
  • PersonalMessaging: The first option, Friends and family.
  • WorkMessaging: The second option, Teams.
  • CommunityMessaging: The third option, Communities.
  • Skip: The footer option to skip the question.
numFavouriteRooms Number of joined rooms the user has favourited. integer
numSpaces Number of spaces (and sub-spaces) the user is joined to. integer

ViewRoom

Triggered when the user changes rooms.

Property Description Type
activeSpace active space when user navigated to the room.
  • Home: Active space is Home.
  • Private: Active space is a private space.
  • Public: Active space is a public space.
  • Meta: Active space is a meta space.
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.
  • Created: Room accessed due to being just created.
  • RoomList: Room accessed via the room list.
  • RoomDirectory: Room accessed via the public rooms directory.
  • SpaceHierarchy: Room accessed via the space hierarchy view.
  • Timeline: Room accessed via a timeline pill or link in another room.
  • Notification: Room accessed via a push/desktop notification.
  • Tombstone: Room accessed via a tombstone at the bottom of a predecessor room.
  • Predecessor: Room accessed via the predecessor link at the top of the upgraded room.
  • Widget: Room switched due to widget interaction.
  • MessageSearch: Room switched due to user interacting with a message search result.
  • MessageUser: Room switched due to user selecting a user to go to a DM with.
  • VerificationRequest: Room switched due to user interacting with incoming verification request.
  • SlashCommand: Room accessed via a slash command in Element Web/Desktop like /goto.
  • Shortcut: Room accessed via a shortcut.
  • WebNotificationPanel: Room accessed via Element Web/Desktop's notification panel.
  • WebKeyboardShortcut: Room accessed via an Element Web/Desktop keyboard shortcut like go to next room with unread messages.
  • WebHorizontalBreadcrumbs: Room accessed via the Element Web/Desktop horizontal breadcrumbs at the top of the room list.
  • WebVerticalBreadcrumbs: Room accessed via the Element Web/Desktop vertical breadcrumb hover menu.
  • WebAcceptCall: Room switched due to accepting a call in a different room in Element Web/Desktop.
  • WebDialPad: Room switched due to making a call via the dial pad in Element Web/Desktop.
  • WebForwardShortcut: Room accessed via the shortcut in Element Web/Desktop's forward modal.
  • WebUnifiedSearch: Room accessed via Element Web/Desktop's Unified Search modal.
  • WebPredecessorSettings: Room accessed via the predecessor link in Settings > Advanced in Element Web/Desktop.
  • WebSpaceContextSwitch: Room switched due to the user changing space in Element Web/Desktop.
  • WebRoomListNotificationBadge: Room accessed via clicking on a notifications badge on a room list sublist in Element Web/Desktop.
  • WebSpacePanelNotificationBadge: Room accessed via clicking on the notifications badge on the currently selected space in Element Web/Desktop.
  • WebFloatingCallWindow: Room accessed via interacting with the floating call or Jitsi PIP in Element Web/Desktop.
  • WebThreadsActivityCentre: Room accessed via interacting with the Threads Activity Centre in Element Web/Desktop.
  • MobileFileSearch: Room switched due to user interacting with a file search result.
  • MobileRoomSearch: Room switched due to user interacting with a room search result.
  • MobileSearchContactDetail: Room accessed via interacting with direct chat item in the search contact detail screen.
  • MobileRoomMemberDetail: Room accessed via interacting with direct chat item in the room contact detail screen.
  • MobileSpaceMemberDetail: Room accessed via interacting with direct chat item in the space contact detail screen.
  • MobileInCall: Room accessed via interacting with the incall screen.
  • MobileSpaceMenu: Space accessed via interacting with the space menu.
  • MobileSpaceSettings: Space accessed via interacting with a space settings menu item.
  • MobileRoomPreview: Room accessed via preview.
  • MobilePermalink: Room accessed via link.
  • MobileLinkShare: Room accessed during external sharing.
  • MobileExploreRooms: Room accessed via space explore.
  • MobileSpaceMembers: Room accessed via space members list.
  • MobileSpaceBottomSheet: Room accessed via space bottom sheet list.
viaKeyboard Whether the interaction was performed via the keyboard input. boolean

PollCreation

Triggered when a poll is created or edited.

Property Description Type
action Whether this poll has been created or edited.
  • Create: Newly created poll.
  • Edit: Edit of an existing poll.
isUndisclosed Whether this poll is undisclosed. boolean
numberOfAnswers Number of answers in the poll. integer

JoinedRoom

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.
  • One
  • Two
  • ThreeToTen
  • ElevenToOneHundred
  • OneHundredAndOneToAThousand
  • MoreThanAThousand
trigger The trigger for a room being joined if known.
  • Invite: Room joined via an invite.
  • RoomPreview: Room joined via its preview.
  • SlashCommand: Room joined via the /join slash command.
  • RoomDirectory: Room joined via the public rooms directory.
  • SpaceHierarchy: Room joined via the space hierarchy view.
  • Timeline: Room joined via a timeline pill or link in another room.
  • Notification: Room joined via a push/desktop notification.
  • MobilePermalink: Room joined via link.

CreatedRoom

Triggered when the user creates a room.

Property Description Type
isDM Whether the room is a DM. boolean

RoomModeration

Triggered when a moderation action is performed within a room.

Property Description Type
action The action that was performed.
  • ChangeMemberRole: Changed a room member's power level.
  • KickMember: Kicked a room member.
  • BanMember: Banned a room member.
  • UnbanMember: Unbanned a room member.
  • ChangePermissionsRoomName: Changed the power level required to set the room's name.
  • ChangePermissionsRoomAvatar: Changed the power level required to set the room's avatar.
  • ChangePermissionsRoomTopic: Changed the power level required to set the room's topic.
  • ChangePermissionsSendMessages: Changed the power level required to send messages in the room.
  • ChangePermissionsRedactMessages: Changed the power level required to redact messages in the room.
  • ChangePermissionsInviteUsers: Changed the power level required to invite users to the room.
  • ChangePermissionsKickMembers: Changed the power level required to kick room members.
  • ChangePermissionsBanMembers: Changed the power level required to ban room members.
  • ResetPermissions: Reset all of the room permissions back to their default values.
role When the action sets a particular power level, this is the suggested role for that the power level.
  • Administrator: A power level of 100.
  • Moderator: A power level of 50.
  • User: A power level of 0.
  • Other: Any other power level.

CallStarted

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

SlashCommand

Triggered when the user runs a slash command in their composer.

Property Description Type
command The name of this command.
  • Part
  • Invite

CallError

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

PollVote

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