Skip to main content
This page focuses on what you need while customizing UI. The complete canonical references are API methods on() and Data models.
This list is generated from the Velt SDK and is complete for what it covers: a name that isn’t listed here doesn’t exist; don’t guess names. Comments and notifications are covered in the most depth; other features (recorder, presence, live-state-sync, rewriter, suggestions, CRDT, core/resolvers) are included for completeness.
Every event you can subscribe to, grouped by feature. Event names are the verbatim string VALUES from the SDK (what you pass to .on(...)).

Subscription pattern

Subscribe via the feature’s element accessor on the Velt client, then .on('<eventName>').subscribe(cb):
React equivalent: each feature subscribes via its use<Feature>EventCallback('<eventName>') hook (e.g. useCommentEventCallback('addCommentAnnotation'), useRecorderEventCallback('recordingDone'), usePresenceEventCallback('multipleUsersOnline'), useNotificationEventCallback('settingsUpdated'), useLiveStateSyncEventCallback('accessRequested'), useSuggestionEventCallback('suggestionCreated'), useCrdtEventCallback('updateData')) that returns the latest event payload: same string event names. Exception: Rewriter has no use…EventCallback hook: subscribe via useAIRewriterUtils()rewriterElement.on('textSelected').subscribe(...) (there is no useRewriterEventCallback). Payload entity shapes referenced below (CommentAnnotation, Comment, User, UserContact, CustomStatus, CustomPriority, ReactionAnnotation, RecordedData, etc.) are documented in Data models. Every event carries a metadata field (VeltEventMetadata: timestamp, document/organization/location context).

Comments: client.getCommentElement().on(...)

All Comments events carry annotationId (string), commentAnnotation (CommentAnnotation), and metadata (VeltEventMetadata) unless noted otherwise.
Common payload fields across these events: annotationId, commentAnnotation (CommentAnnotation), and metadata (VeltEventMetadata). Deprecated payloads (CommentAddEventData, CommentEvent, CommentUpdateEventData, CommentSuggestionEventData) are excluded: they are not in the active event map.

Recorder / Transcription: client.getRecorderElement().on(...)

Recorder data events extend RecorderData: recorderId (string), from (User \| null), metadata, assets (RecorderDataAsset[]), transcription (RecorderDataTranscription). See Data models for RecordedData/recorder shapes.

Presence: client.getPresenceElement().on(...)


Notifications: client.getNotificationElement().on(...)


Live State Sync

Single-editor mode / access requests. Subscribe via client.getLiveStateSyncElement().on(...). AccessRequestEvent carries viewer/editor (User | undefined), timestamp, status, and optional presence counts (totalUsers, presenceClientUserIds). SEMEvent carries editor/viewer, timestamp, role, and the same presence counts.

Rewriter (AI text actions): client.getRewriterElement().on(...)


Suggestions: client.getSuggestionElement().on(...)

Suggestion events carry a suggestion object (annotationId, targetId, oldValue, newValue, summary, status, createdBy/resolvedBy (User), timestamps) and a top-level timestamp.

CRDT: client.getCrdtElement().on(...)


Core (resolvers, button clicks, lifecycle)

Client-level core events (resolver hooks, init/user lifecycle, button clicks). These are subscribed at the client level rather than through a use<Feature>EventCallback hook. Resolver events deliver a BaseResolverEvent<…> whose nested event field is itself a sub-event string union representing the resolver round-trip lifecycle: request formed (request built, no call yet) → triggered (resolver/provider invoked) → result (success) | error (timeout/rejection) | result-from-cache (served from in-memory cache, skipping the call). Each sub-event shares a uniqueId so you can correlate the stages of one round-trip; methodName/moduleName identify the call source.
Event-name strings above are the exact values you pass to .on(...) (or to the use<Feature>EventCallback hook). Generated from the SDK’s event enums + payload maps; exhaustive per feature.