Source of truth: exhaustive for what it covers. Generated from Velt API metadata. If a name isn’t on this page, it doesn’t exist: don’t use it (a missing identifier resolves to
undefined / renders nothing). Never invent or guess a name; use only identifiers that appear verbatim here or that you verified against ground truth and added here. Scope: exhaustive per feature element over the public, customer-facing method surface (verbatim method names + parameter types; a few any returns are intentional). Comments + notifications are the in-scope focus; other feature elements are included for completeness.How customers obtain an element
Every feature is accessed through its element getter on the Velt client. Get the client once, then ask it for the feature element you need:client.getCommentElement()). Velt.getXElement() and client.getXElement() are equivalent.
Signatures are the public, customer-facing API of each feature element (verbatim method names and parameter types). A few any return types are intentional on the public surface. Exhaustive per feature element.
Feature elements
Comments: client.getCommentElement()
Class: CommentElement (extends InjectorElement).
| Method | Returns | Description |
|---|---|---|
getAllCommentAnnotations(documentId?: string, location?: Location) | Observable<CommentAnnotation[] | null> | Subscribe to comments on the current document. |
deleteSelectedComment() | Promise<any> | Delete the currently selected comment. |
enableTextComments() | any | Enable text comment selection. |
disableTextComments() | any | Disable text comment selection. |
allowedElementIds(elementIds: string[]) | any | Allow text selection in specific elements by id only. |
allowedElementClassNames(classNames: string[]) | any | Allow text selection in specific elements by class name only. |
allowedElementQuerySelectors(querySelectors: string[]) | any | Allow text selection in specific elements by query selector only. |
enableFloatingCommentDialog() | any | Enable floating comment dialog. |
disableFloatingCommentDialog() | any | Disable floating comments (enabled by default). |
attachComment(elementId: string) | any | Attach comments to a specific html element by id. |
openCommentSidebar() | any | Open the comment sidebar. |
closeCommentSidebar() | any | Close the comment sidebar. |
toggleCommentSidebar() | any | Toggle the comment sidebar. |
enableModeratorMode() | any | Enable moderator mode. |
disableModeratorMode() | any | Disable moderator mode. |
enableStreamMode() | any | Enable stream mode. |
disableStreamMode() | any | Disable stream mode. |
enableSignInButton() | any | Show sign in button in comments if user is signed out. |
disableSignInButton() | any | Hide sign in button in comments if user is signed out. |
enableUpgradeButton() | any | Show upgrade button in comments when plan is expired. |
disableUpgradeButton() | any | Hide upgrade button in comments when plan is expired. |
onCommentModeChange() | Observable<boolean> | Subscribe to add-comment-mode change. |
enableAttachments() | any | Enable adding attachments in comments. |
disableAttachments() | any | Disable adding attachments in comments. |
enableAttachmentDownload() | any | Enable downloading comment attachments. |
disableAttachmentDownload() | any | Disable downloading comment attachments. |
isUserGlobalContact() | Observable<boolean> | Get whether the user is part of the global contact list. |
enableDeviceInfo() | any | Show device/screen-size info in comments. |
disableDeviceInfo() | any | Hide device/screen-size info in comments. |
enableCommentMode() | any | Enable comment mode to add comments. |
disableCommentMode() | any | Disable comment mode. |
enablePersistentCommentMode() | any | Enable persistent comment mode. |
disablePersistentCommentMode() | any | Disable persistent comment mode. |
enableCommentIndex() | any | Show comment number/index. |
disableCommentIndex() | any | Hide comment number/index. |
enablePopoverMode() | any | Enable popover mode. |
disablePopoverMode() | any | Disable popover mode. |
enablePopoverTriangleComponent() | any | Enable the popover triangle component. |
disablePopoverTriangleComponent() | any | Disable the popover triangle component. |
enableDialogOnHover() | any | Open the comment dialog on hover. |
disableDialogOnHover() | any | Disable opening the comment dialog on hover. |
enableDialogOnTargetElementClick() | any | Open the comment dialog on target element click. |
disableDialogOnTargetElementClick() | any | Disable opening the comment dialog on target element click. |
enablePriority() | any | Enable comment priority. |
disablePriority() | any | Disable comment priority. |
enableStatus() | any | Enable comment status. |
disableStatus() | any | Disable comment status. |
enableVisibilityOptions() | any | Enable comment visibility options. |
disableVisibilityOptions() | any | Disable comment visibility options. |
enableResolveButton() | any | Enable the resolve button. |
disableResolveButton() | any | Disable the resolve button. |
enableGhostComments() | any | Enable ghost comments. |
disableGhostComments() | any | Disable ghost comments. |
enableGhostCommentsIndicator() | any | Enable the ghost comments indicator. |
disableGhostCommentsIndicator() | any | Disable the ghost comments indicator. |
setCustomStatus(statuses: CustomStatus[]) | void | Set custom comment statuses. |
setCustomPriority(priorities: CustomPriority[]) | void | Set custom comment priorities. |
setCustomCategory(categories: CustomCategory[]) | void | Set custom comment categories. |
enableInboxMode() | any | Enable inbox mode. |
disableInboxMode() | any | Disable inbox mode. |
enableAutoCategorize() | any | Enable auto-categorize. |
disableAutoCategorize() | any | Disable auto-categorize. |
enableDarkMode() | any | Enable dark mode. |
disableDarkMode() | any | Disable dark mode. |
setContextProvider(provider: CommentContextProvider | null) | void | Set the comment context provider. |
enableSuggestionMode() | any | Enable suggestion mode. |
disableSuggestionMode() | any | Disable suggestion mode. |
enableMobileMode() | any | Enable mobile mode. |
disableMobileMode() | any | Disable mobile mode. |
enableInlineCommentMode() | any | Enable inline comment mode. |
disableInlineCommentMode() | any | Disable inline comment mode. |
enableMinimap() | any | Enable the minimap. |
disableMinimap() | any | Disable the minimap. |
showCommentsOnDom() | any | Show comment pins on the DOM. |
hideCommentsOnDom() | any | Hide comment pins on the DOM. |
enableCommentTool() | any | Enable the comment tool. |
disableCommentTool() | any | Disable the comment tool. |
setTotalMediaLength(totalMediaLength: number) | void | Set the total media length (for media comments). |
onCommentAdd() | Observable<CommentAddEventData> | (legacy: use the AddCommentAnnotation event instead) Subscribe to comment-add events. |
onCommentUpdate() | Observable<CommentUpdateEventData> | (legacy: use action-specific events instead) Subscribe to comment-update events. |
addCommentOnSelectedText() | any | Add a comment on the currently selected text. |
enableSidebarUrlNavigation() | void | Enable sidebar URL navigation. |
disableSidebarUrlNavigation() | void | Disable sidebar URL navigation. |
setDStrategy(strategy: DetectionStrategy) | void | Set the detection strategy. |
enableSidebarButtonOnCommentDialog() | void | Show the sidebar button on the comment dialog. |
disableSidebarButtonOnCommentDialog() | void | Hide the sidebar button on the comment dialog. |
onSidebarButtonOnCommentDialogClick() | Observable<any> | Subscribe to clicks on the sidebar button in the comment dialog. |
enableReactions() | void | Enable reactions. |
disableReactions() | void | Disable reactions. |
enableAnonymousEmail() | void | Enable anonymous email. |
disableAnonymousEmail() | void | Disable anonymous email. |
setRecordings(allowedRecordings: string | string[]) | void | Set allowed recordings. |
addCommentOnElement(data: CommentOnElementConfig) | void | Add a comment on a specific element. |
enablePrivateCommentMode() | void | (deprecated) Enable private comment mode. |
disablePrivateCommentMode() | void | (deprecated) Disable private comment mode. |
enablePrivateMode(config: PrivateModeConfig) | void | Enable private mode with config. |
disablePrivateMode() | void | Disable private mode. |
enableScrollToComment() | void | Enable scroll-to-comment. |
disableScrollToComment() | void | Disable scroll-to-comment. |
enableUserMentions() | void | Enable user mentions. |
disableUserMentions() | void | Disable user mentions. |
setCommentSidebarFilters(filters: CommentSidebarFilters) | void | Set comment sidebar filters. |
setSystemFiltersOperator(operator: CommentSidebarSystemFiltersOperator) | void | Set the system filters operator. |
enableCommentPinHighlighter() | void | Enable the comment pin highlighter. |
disableCommentPinHighlighter() | void | Disable the comment pin highlighter. |
enableDeleteOnBackspace() | void | Enable delete on backspace. |
disableDeleteOnBackspace() | void | Disable delete on backspace. |
enableHotkey() | void | Enable hotkey. |
disableHotkey() | void | Disable hotkey. |
enableDeviceIndicatorOnCommentPins() | void | Enable device indicator on comment pins. |
disableDeviceIndicatorOnCommentPins() | void | Disable device indicator on comment pins. |
getElementRefByAnnotationId(annotationId: string) | { xpath: string } | undefined | Get an element reference (xpath) by annotation id. |
scrollToCommentByAnnotationId(annotationId: string) | void | Scroll to a comment by annotation id. |
selectCommentByAnnotationId(annotationId?: string) | void | Select a comment by annotation id. |
enableRecordingSummary() | void | (deprecated: use enableRecordingTranscription) Enable recording summary. |
disableRecordingSummary() | void | (deprecated: use disableRecordingTranscription) Disable recording summary. |
enableRecordingTranscription() | void | Enable recording transcription. |
disableRecordingTranscription() | void | Disable recording transcription. |
enableRecordingCountdown() | void | Enable recording countdown. |
disableRecordingCountdown() | void | Disable recording countdown. |
setUnreadIndicatorMode(mode: UnreadIndicatorMode) | void | Set the unread indicator mode. |
enableEnterKeyToSubmit() | void | Enable Enter key to submit. |
disableEnterKeyToSubmit() | void | Disable Enter key to submit. |
enablePinShadowDOM() | void | Enable Shadow DOM for pins. |
disablePinShadowDOM() | void | Disable Shadow DOM for pins. |
enableDialogShadowDOM() | void | Enable Shadow DOM for the dialog. |
disableDialogShadowDOM() | void | Disable Shadow DOM for the dialog. |
enableSidebarShadowDOM() | void | Enable Shadow DOM for the sidebar. |
disableSidebarShadowDOM() | void | Disable Shadow DOM for the sidebar. |
enableChangeDetectionInCommentMode() | void | Enable change detection in comment mode. |
disableChangeDetectionInCommentMode() | void | Disable change detection in comment mode. |
showResolvedCommentsOnDom() | void | Show resolved comments on the DOM. |
hideResolvedCommentsOnDom() | void | Hide resolved comments on the DOM. |
setCustomReactions(reactions: ReactionMap) | void | Set custom reactions. |
onCommentSelectionChange() | Observable<CommentSelectionChangeData | null> | Subscribe to comment selection changes. |
getUnreadCommentCountByAnnotationId(commentAnnotationId: string) | Observable<UnreadCommentsCount> | Get unread comment count by annotation id. |
getUnreadCommentAnnotationCountOnCurrentDocument() | Observable<UnreadCommentsCount> | Get unread comment-annotation count on the current document. |
getUnreadCommentCountOnCurrentDocument() | Observable<UnreadCommentsCount> | Get unread comment count on the current document. |
getUnreadCommentAnnotationCountByLocationId(locationId: string) | Observable<UnreadCommentsCount> | Get unread comment-annotation count by location id. |
getUnreadCommentCountByLocationId(locationId: string) | Observable<UnreadCommentsCount> | Get unread comment count by location id. |
updateCommentDialogPosition() | void | Update the comment dialog position. |
enableAreaComment() | void | Enable area comments. |
disableAreaComment() | void | Disable area comments. |
setPinCursorImage(image: string) | void | Set the pin cursor image. |
addManualComment(config: ManualCommentAnnotationConfig) | Promise<any> | Add a manual comment annotation. |
createCustomListDataOnAnnotation(data: CustomAnnotationDropdownData) | void | Create custom list/dropdown data on an annotation. |
createCustomListDataOnComment(data: AutocompleteData) | void | Create custom list/autocomplete data on a comment. |
excludeLocationIdsFromSidebar(locationIds: string[]) | void | Exclude location ids from the sidebar. |
enableBubbleOnPin() | void | Enable bubble on pin. |
disableBubbleOnPin() | void | Disable bubble on pin. |
enableBubbleOnPinHover() | void | Enable bubble on pin hover. |
disableBubbleOnPinHover() | void | Disable bubble on pin hover. |
enablePinDrag() | void | Enable pin drag. |
disablePinDrag() | void | Disable pin drag. |
enableMultiThreadMode() | void | Enable multi-thread mode. |
disableMultiThreadMode() | void | Disable multi-thread mode. |
enableGroupMultipleMatch() | void | (deprecated: use enableGroupMatchedComments) Enable grouping of multiple matches. |
disableGroupMultipleMatch() | void | (deprecated: use disableGroupMatchedComments) Disable grouping of multiple matches. |
enableGroupMatchedComments() | void | Enable grouping of matched comments. |
disableGroupMatchedComments() | void | Disable grouping of matched comments. |
enableMultiThread() | void | Enable multi-thread. |
disableMultiThread() | void | Disable multi-thread. |
updateContext(annotationId: string, context: any, config?: UpdateContextConfig) | Promise<any> | Update the context of an annotation. |
updateVisibility(visibility: CommentVisibilityConfig) | Promise<any> | Update comment visibility. |
getSelectedComments() | Observable<CommentAnnotation[]> | Get the currently selected comments. |
enableDeleteReplyConfirmation() | void | Enable delete-reply confirmation. |
disableDeleteReplyConfirmation() | void | Disable delete-reply confirmation. |
onCopyLink() | Observable<string> | Subscribe to copy-link events. |
getCommentAnnotationById(config: { annotationId: string, documentId?: string }) | Observable<CommentAnnotation | null> | Get a comment annotation by id. |
enableCollapsedComments() | void | Enable collapsed comments. |
disableCollapsedComments() | void | Disable collapsed comments. |
enableCollapsedRepliesPreview() | void | Enable collapsed replies preview. |
disableCollapsedRepliesPreview() | void | Disable collapsed replies preview. |
onCommentSidebarActionButtonClick() | Observable<CommentSidebarCustomActionEventData | null> | Subscribe to comment sidebar action-button clicks. |
setCommentSidebarData(data: CommentSidebarData[], options?: CommentSidebarDataOptions) | void | Set comment sidebar data. |
onCommentSidebarInit() | Observable<CommentSidebarCustomActionEventData | null> | Subscribe to comment sidebar init. |
onCommentSidebarData() | Observable<CommentSidebarCustomActionEventData | null> | Subscribe to comment sidebar data. |
setCommentSidebarDefaultCustomActions(data: CommentSidebarCustomActionsState) | void | Set default custom actions for the comment sidebar. |
enableSidebarCustomActions() | void | Enable sidebar custom actions. |
disableSidebarCustomActions() | void | Disable sidebar custom actions. |
enableQueryParamsComments() | void | Enable query-params comments. |
disableQueryParamsComments() | void | Disable query-params comments. |
enableResolveStatusAccessAdminOnly() | void | Restrict resolve-status access to admins only. |
disableResolveStatusAccessAdminOnly() | void | Remove the admin-only restriction on resolve-status access. |
enableLinkCallback() | void | Enable link callback. |
disableLinkCallback() | void | Disable link callback. |
enableSeenByUsers() | void | Enable seen-by users. |
disableSeenByUsers() | void | Disable seen-by users. |
enableShortUserName() | void | Enable short user name. |
disableShortUserName() | void | Disable short user name. |
enableReadOnly() | void | Enable read-only mode. |
disableReadOnly() | void | Disable read-only mode. |
setAssignToType(config: AssignToConfig) | void | Set the assign-to type. |
enableContextInPageModeComposer() | void | Enable context in the page-mode composer. |
disableContextInPageModeComposer() | void | Disable context in the page-mode composer. |
clearPageModeComposerContext() | void | Clear the page-mode composer context. |
setContextInPageModeComposer(config: PageModeComposerConfig | null) | void | Set context in the page-mode composer. |
focusPageModeComposer() | void | Focus the page-mode composer. |
addCommentAnnotation(addCommentAnnotationRequest: AddCommentAnnotationRequest) | Promise<AddCommentAnnotationEvent | null> | Add a comment annotation. |
approveCommentAnnotation(approveCommentAnnotationRequest: ApproveCommentAnnotationRequest) | Promise<ApproveCommentAnnotationEvent | null> | Approve a comment annotation. |
acceptCommentAnnotation(acceptCommentAnnotationRequest: AcceptCommentAnnotationRequest) | Promise<AcceptCommentAnnotationEvent | null> | Accept a comment annotation. |
rejectCommentAnnotation(rejectCommentAnnotationRequest: RejectCommentAnnotationRequest) | Promise<RejectCommentAnnotationEvent | null> | Reject a comment annotation. |
subscribeCommentAnnotation(subscribeCommentAnnotationRequest: SubscribeCommentAnnotationRequest) | Promise<SubscribeCommentAnnotationEvent | null> | Subscribe to a comment annotation. |
unsubscribeCommentAnnotation(unsubscribeCommentAnnotationRequest: UnsubscribeCommentAnnotationRequest) | Promise<UnsubscribeCommentAnnotationEvent | null> | Unsubscribe from a comment annotation. |
deleteCommentAnnotation(deleteCommentAnnotationRequest: DeleteCommentAnnotationRequest) | Promise<DeleteCommentAnnotationEvent | null> | Delete a comment annotation. |
getCommentAnnotations(query?: CommentRequestQuery) | Observable<GetCommentAnnotationsResponse> | Get comment annotations matching a query. |
getCommentAnnotationsCount(query?: CommentRequestQuery) | Observable<GetCommentAnnotationsCountResponse> | Get the count of comment annotations matching a query. |
assignUser(assignUserRequest: AssignUserRequest) | Promise<AssignUserEvent | null> | Assign a user to a comment. |
updatePriority(updatePriorityRequest: UpdatePriorityRequest) | Promise<UpdatePriorityEvent | null> | Update comment priority. |
updateStatus(updateStatusRequest: UpdateStatusRequest) | Promise<UpdateStatusEvent | null> | Update comment status. |
updateAccess(updateAccessRequest: UpdateAccessRequest) | Promise<UpdateAccessEvent | null> | (deprecated) Update comment access. |
resolveCommentAnnotation(resolveCommentAnnotationRequest: ResolveCommentAnnotationRequest) | Promise<any> | Resolve a comment annotation. |
getLink(getLinkRequest: GetLinkRequest) | Promise<GetLinkResponse | null> | Get a link to a comment. |
copyLink(copyLinkRequest: CopyLinkRequest) | Promise<CopyLinkEvent | null> | Copy a link to a comment. |
addComment(addCommentRequest: AddCommentRequest) | Promise<AddCommentEvent | null> | Add a comment (reply) to an annotation. |
updateComment(updateCommentRequest: UpdateCommentRequest) | Promise<UpdateCommentEvent | null> | Update a comment. |
deleteComment(deleteCommentRequest: DeleteCommentRequest) | Promise<DeleteCommentEvent | null> | Delete a comment. |
getComment(getCommentRequest: GetCommentRequest) | Promise<Comment[]> | Get comments. |
addAttachment(addAttachmentRequest: AddAttachmentRequest) | Promise<AddAttachmentResponse[]> | Add an attachment. |
deleteAttachment(deleteAttachmentRequest: DeleteAttachmentRequest) | Promise<DeleteAttachmentEvent | null> | Delete an attachment. |
getAttachment(getAttachmentRequest: GetAttachmentRequest) | Promise<Attachment[]> | Get attachments. |
deleteRecording(deleteRecordingRequest: DeleteRecordingRequest) | Promise<DeleteRecordingEvent | null> | Delete a recording. |
getRecording(getRecordingRequest: GetRecordingRequest) | Promise<RecordedData[]> | Get recordings. |
addReaction(addReactionRequest: AddReactionRequest) | Promise<AddReactionEvent | null> | Add a reaction. |
deleteReaction(deleteReactionRequest: DeleteReactionRequest) | Promise<DeleteReactionEvent | null> | Delete a reaction. |
toggleReaction(toggleReactionRequest: ToggleReactionRequest) | Promise<ToggleReactionEvent | null> | Toggle a reaction. |
enableCustomAutocompleteSearch() | void | Enable custom autocomplete search. |
disableCustomAutocompleteSearch() | void | Disable custom autocomplete search. |
fetchCommentAnnotations(fetchCommentAnnotationsRequest: FetchCommentAnnotationsRequest) | Promise<FetchCommentAnnotationsResponse> | Fetch comment annotations. |
setTransformContext(transformContext: TransformContext | null) | void | Set the transform context. |
enableSvgAsImg() | void | Render SVGs as images. |
disableSvgAsImg() | void | Stop rendering SVGs as images. |
enableFullExpanded() | void | Enable full-expanded mode. |
disableFullExpanded() | void | Disable full-expanded mode. |
enableCommentToNearestAllowedElement() | void | Enable commenting on the nearest allowed element. |
disableCommentToNearestAllowedElement() | void | Disable commenting on the nearest allowed element. |
enableDraftMode() | void | Enable draft mode. |
disableDraftMode() | void | Disable draft mode. |
enableFilterCommentsOnDom() | void | Enable filtering comments on the DOM. |
disableFilterCommentsOnDom() | void | Disable filtering comments on the DOM. |
enableReplyAvatars() | void | Enable reply avatars. |
disableReplyAvatars() | void | Disable reply avatars. |
setMaxReplyAvatars(maxReplyAvatars: number) | void | Set the maximum number of reply avatars. |
setSidebarButtonCountType(type: SidebarButtonCountType) | void | Set the sidebar button count type. |
enableFilterGhostCommentsInSidebar() | void | Enable filtering ghost comments in the sidebar. |
disableFilterGhostCommentsInSidebar() | void | Disable filtering ghost comments in the sidebar. |
enableFullScreenInSidebar() | void | Enable full-screen in the sidebar. |
disableFullScreenInSidebar() | void | Disable full-screen in the sidebar. |
setComposerFileAttachments(data: UploadFileData) | void | Set composer file attachments. |
setAllowedFileTypes(allowedFileTypes: string[]) | void | Set allowed file types for attachments. |
enableForceCloseAllOnEsc() | void | Enable force-close-all on Esc. |
disableForceCloseAllOnEsc() | void | Disable force-close-all on Esc. |
markAsRead(annotationId: string) | Promise<void> | Mark an annotation as read. |
markAsUnread(annotationId: string) | Promise<void> | Mark an annotation as unread. |
enableScreenshot() | void | Enable screenshot. |
disableScreenshot() | void | Disable screenshot. |
enablePaginatedContactList() | void | Enable paginated contact list. |
disablePaginatedContactList() | void | Disable paginated contact list. |
enableFormatOptions() | void | Enable text format options. |
disableFormatOptions() | void | Disable text format options. |
setFormatConfig(config: FormatConfig) | void | Set the text format config. |
submitComment(request: SubmitCommentRequest) | void | Programmatically trigger comment submission for the composer with the given targetComposerElementId. |
clearComposer(request: ClearComposerRequest) | void | Programmatically clear the composer state for the given targetComposerElementId. |
on<T extends keyof CommentEventTypesMap>(action: T) | Observable<CommentEventTypesMap[T]> | Subscribe to a typed comment event by action name. |
getComposerData(request: GetComposerDataRequest) | ComposerTextChangeEvent | null | One-time fetch of the current composer data for a given targetComposerElementId (same data as the COMPOSER_TEXT_CHANGE event), or null if not found. |
Note: onCommentNavigationButtonClick exists in source but is commented out and not part of the public surface.
Cursor: client.getCursorElement()
Class: CursorElement.
| Method | Returns | Description |
|---|---|---|
getLiveCursorsOnCurrentDocument() | Observable<CursorUser[] | null> | (deprecated: use getOnlineUsersOnCurrentDocument) Subscribe to cursors of all online users (active or inactive) on the current document. |
getOnlineUsersOnCurrentDocument() | Observable<CursorUser[] | null> | Subscribe to cursors of all online users (active or inactive) on the current document. |
setInactivityTime(time: number) | void | Set inactivity time in milliseconds (default 2 minutes). |
allowedElementIds(elementIds: string[]) | any | Allow cursors only in specific elements by id. |
Presence: client.getPresenceElement()
Class: PresenceElement.
| Method | Returns | Description |
|---|---|---|
enableFlockMode(options?: FlockOptions) | any | Enable flock mode globally. |
disableFlockMode() | any | Disable flock mode globally. |
startFollowingUser(userId: string, name: string) | void | Start/join a flock session via leader user ID. (Impl _startFollowingUser(externalId) joins via the leader’s external/user ID.) |
stopFollowingUser() | void | Exit the flock session. |
getOnlineUsersOnCurrentDocument() | Observable<PresenceUser[] | null> | (deprecated: use getData) Subscribe to all online users (active or inactive) on the current document. |
setInactivityTime(time: number) | void | Set inactivity time in milliseconds (default 5 minutes). |
enableSelf() | void | Add self to the presence list. |
disableSelf() | void | Remove self from the presence list. |
getData(query?: PresenceRequestQuery) | Observable<GetPresenceDataResponse> | Get presence data (normalizes documentId/organizationId in the query). |
on<T extends keyof PresenceEventTypesMap>(action: T) | Observable<PresenceEventTypesMap[T]> | Subscribe to presence actions/events. |
addUser(request: { user: Partial<PresenceUser>, localOnly?: boolean }) | void | Add a custom user (e.g. an AI agent) to the presence list. localOnly (default false) adds locally only, not persisted. |
removeUser(request: { user: Partial<PresenceUser>, localOnly?: boolean }) | void | Remove a previously added custom user. localOnly (default false) removes locally only. |
Huddle: client.getHuddleElement()
Class: HuddleElement.
| Method | Returns | Description |
|---|---|---|
enableCursorMode() | void | Enable huddle bubble on cursor. |
disableCursorMode() | void | Disable huddle bubble on cursor. |
enableChat() | void | Enable chat. |
disableChat() | void | Disable chat. |
enableFlockModeOnAvatarClick() | void | Enable flock mode on avatar click. |
disableFlockModeOnAvatarClick() | void | Disable flock mode on avatar click. |
Recorder: client.getRecorderElement()
Class: RecorderElement.
| Method | Returns | Description |
|---|---|---|
initRecording(type: string, panelId?: string) | any | Start recording by type and optional panelId. |
onRecordedData() | Observable<RecordedData | null> | (deprecated: use on('recordingDone')) Subscribe to recorded data when recording completes. |
enableDarkMode() | any | Enable dark mode. |
disableDarkMode() | any | Disable dark mode. |
enableRecordingCountdown() | void | Enable recording countdown. |
disableRecordingCountdown() | void | Disable recording countdown. |
getRecordingDataByRecorderId(recorderId: string) | Observable<RecorderData | null> | (deprecated: use getRecordingData()) Get recording data by recorder id. |
enableRecordingTranscription() | void | Enable recording transcription. |
disableRecordingTranscription() | void | Disable recording transcription. |
getRecordingData(query: RecorderRequestQuery) | Promise<GetRecordingDataResponse> | (deprecated: use fetchRecordings()) Get recording data by recorder ids. |
enableVideoEditor() | void | Enable video editor. |
disableVideoEditor() | void | Disable video editor. |
getRecordings(query?: RecorderRequestQuery) | Observable<GetRecordingsResponse[]> | Get recordings by recorder ids (observable). |
fetchRecordings(query?: RecorderRequestQuery) | Promise<GetRecordingsResponse[]> | Fetch recordings by recorder ids (promise). |
deleteRecordings(query?: RecorderRequestQuery) | Promise<DeleteRecordingsResponse[]> | Delete recordings. |
on<T extends keyof RecorderEventTypesMap>(action: T) | Observable<RecorderEventTypesMap[T]> | Subscribe to recorder actions/events. |
setRecordingQualityConstraints(constraints: RecorderQualityConstraints) | void | Set recording quality constraints. |
setRecordingEncodingOptions(options: RecorderEncodingOptions) | void | Set recording encoding options. |
downloadLatestVideo(recorderId: string) | Promise<boolean> | Download the latest recorded video. |
enableRecordingMic() | void | Enable recording mic. |
disableRecordingMic() | void | Disable recording mic. |
enableOnboardingTooltip() | void | Enable onboarding tooltip. |
disableOnboardingTooltip() | void | Disable onboarding tooltip. |
enableRetakeOnVideoEditor() | void | Enable retake on video editor. |
disableRetakeOnVideoEditor() | void | Disable retake on video editor. |
askDevicePermission(options: RecorderDevicePermissionOptions) | void | Ask for device permission. |
setMaxLength(seconds: number) | void | Set max recording length in seconds. |
openPictureInPicture() | Promise<void> | Open Picture-in-Picture mode for the video. |
exitPictureInPicture() | Promise<void> | Exit Picture-in-Picture mode. |
requestScreenPermission() | Promise<MediaStream | null> | Request screen-sharing permission and get the screen stream. |
enablePictureInPicture() | void | Enable Picture-in-Picture. |
disablePictureInPicture() | void | Disable Picture-in-Picture. |
enablePlaybackOnPreviewClick() | void | Enable playback on preview click. |
disablePlaybackOnPreviewClick() | void | Disable playback on preview click. |
Notifications: client.getNotificationElement()
Class: NotificationElement.
| Method | Returns | Description |
|---|---|---|
openHistoryPanel() | any | Open the notification history panel. |
closeHistoryPanel() | any | Close the notification history panel. |
toggleHistoryPanel() | any | Toggle the notification history panel. |
getNotificationsData(query?: GetNotificationsDataQuery) | Observable<Notification[] | null> | Get notifications data. |
setMaxDays(days: number) | void | Set max days for notification history. |
setTabConfig(tabConfig: NotificationTabConfig) | void | Set tab configuration. |
enableReadNotificationsOnForYouTab() | void | Enable read notifications on the For You tab. |
disableReadNotificationsOnForYouTab() | void | Disable read notifications on the For You tab. |
setAllNotificationsAsRead(config?: { tabId: NotificationTabId }) | void | Mark all notifications as read (optionally scoped to a tab). |
getUnreadNotificationsCount() | Observable<{ forYou: number | null, all: number | null }> | Get unread notifications count. |
markNotificationAsReadById(notificationId: string) | void | Mark a notification as read by id. |
setSettings(config: NotificationSettingsConfig) | void | Set notification settings. |
getSettings() | Observable<NotificationSettingsConfig | null> | Get notification settings. |
muteAllNotifications() | void | Mute all notifications. |
enableSettings() | void | Enable settings. |
disableSettings() | void | Disable settings. |
enableSettingsAtOrganizationLevel() | void | Enable settings at organization level. |
disableSettingsAtOrganizationLevel() | void | Disable settings at organization level. |
enableSelfNotifications() | void | Enable self notifications. |
disableSelfNotifications() | void | Disable self notifications. |
setSettingsInitialConfig(settings: NotificationInitialSettingsConfig[]) | void | Set the initial settings config. |
openNotificationsPanel() | void | Open the notifications panel. |
closeNotificationsPanel() | void | Close the notifications panel. |
enableCurrentDocumentOnly() | void | Enable current-document-only notifications. |
disableCurrentDocumentOnly() | void | Disable current-document-only notifications. |
enableCrossOrganization(config?: CrossOrganizationConfig | null) | void | Opt in to cross-organization “For You” notifications (merges other orgs into the feed). |
disableCrossOrganization() | void | Opt out of cross-organization “For You” notifications. |
on<T extends keyof NotificationEventTypesMap>(action: T) | Observable<NotificationEventTypesMap[T]> | Subscribe to notification actions/events. |
Reactions: client.getReactionElement()
Class: ReactionElement.
| Method | Returns | Description |
|---|---|---|
enableDarkMode() | any | Enable dark mode in reactions. |
disableDarkMode() | any | Disable dark mode in reactions. |
setCustomReactions(reactions: ReactionMap) | void | Set custom reactions. |
Activity Log: client.getActivityElement()
Class: ActivityElement.
| Method | Returns | Description |
|---|---|---|
getAllActivities(config?: ActivitySubscribeConfig) | Observable<ActivityRecord[] | null> | Subscribe to activities with optional filtering; auto-cleans up the internal subscription on unsubscribe. |
createActivity(data: CreateActivityData) | Promise<void> | Create a new activity record. |
Area: client.getAreaElement()
Class: AreaElement.
| Method | Returns | Description |
|---|---|---|
enableArea() | void | (deprecated: use enableAreaComment) Enable area feature. |
disableArea() | void | (deprecated: use disableAreaComment) Disable area feature. |
enableAreaComment() | void | Enable area feature. |
disableAreaComment() | void | Disable area feature. |
Arrow: client.getArrowElement()
Class: ArrowElement.
| Method | Returns | Description |
|---|---|---|
allowedElementIds(elementIds: string[]) | any | Allow arrows only in specific elements by id. |
Autocomplete: client.getAutocompleteElement()
Class: AutocompleteElement.
| Method | Returns | Description |
|---|---|---|
create(data: AutocompleteData) | void | Set autocomplete data. |
onAutocompleteChipClick() | Observable<AutocompleteChipData> | Callback on autocomplete chip click. |
Tag: client.getTagElement()
Class: TagElement.
| Method | Returns | Description |
|---|---|---|
getAllTagAnnotations(documentId?: string, documentParams?: object) | Observable<TagAnnotation[] | null> | Subscribe to tags on the current document. |
deleteTag() | any | Delete selected tags. |
allowedElementIds(elementIds: string[]) | any | Allow text selection only in specific elements by id. |
attachTag(elementId: string) | any | Add tags on specific elements. |
addTagModeChange() | Observable<boolean> | Subscribe to add-tag-mode change. |
Contact: client.getContactElement()
Class: ContactElement.
| Method | Returns | Description |
|---|---|---|
isUserGlobalContact() | Observable<boolean> | Get whether the user is part of the global contact list. |
onContactSelected() | Observable<SelectedUserContact | null> | Get selected contact details. |
enableAtHere() | void | Enable @here for the contact list. |
setAtHereLabel(label: string) | void | Set the @here label. |
setAtHereDescription(description: string) | void | Set the @here description. |
disableAtHere() | void | Disable @here for the contact list. |
updateContactListScopeForOrganizationUsers(scope: ContactListScopeForOrganizationUsers[]) | void | Update contact list scope for organization users. |
updateContactList(userContacts: UserContact[], config?: { merge: boolean, options?: any }) | void | Update the contact list. |
updateOrgList(config: UpdateOrgListConfig) | void | Update the list of orgs/teams offered by the “Selected Teams” visibility picker. |
getContactList() | Observable<GetContactListResponse | null> | Get the contact list. |
Selection: client.getSelectionElement()
Class: SelectionElement.
| Method | Returns | Description |
|---|---|---|
enableLiveSelection() | void | Enable selections. |
disableLiveSelection() | void | Disable selections. |
enableUserIndicator() | void | Enable user indicator. |
disableUserIndicator() | void | Disable user indicator. |
setUserIndicatorPosition(position: UserIndicatorPosition) | void | Set user indicator position. |
setUserIndicatorType(type: UserIndicatorType) | void | Set user indicator type. |
enableDefaultElementsTracking() | void | Enable default elements tracking. |
disableDefaultElementsTracking() | void | Disable default elements tracking. |
enableDefaultStyling() | void | Enable default styling. |
disableDefaultStyling() | void | Disable default styling. |
getLiveSelectionData() | Observable<LiveSelectionData | null> | Get live selection data. |
setInactivityTime(time: number) | void | Set inactivity time in milliseconds (default 5 minutes). |
CRDT: client.getCrdtElement()
Class: CrdtElement.
| Method | Returns | Description |
|---|---|---|
updateData(updateDataQuery: CrdtUpdateDataQuery) | Promise<any> | Update CRDT data. |
onDataChange(onDataChangeQuery: CrdtOnDataChangeQuery) | () => void | Subscribe to CRDT data changes; returns an unsubscribe function. |
getData(getDataQuery: CrdtGetDataQuery) | Promise<any> | Get CRDT data. |
onStateChange(onStateChangeQuery: CrdtOnStateChangeQuery) | () => void | Subscribe to CRDT state changes; returns an unsubscribe function. |
updateState(updateStateQuery: CrdtUpdateStateQuery) | Promise<any> | Update CRDT state. |
registerSyncUser(registerSyncUserQuery: CrdtRegisterSyncUserQuery) | Promise<void> | Register a sync user. |
onRegisteredUserChange(onRegisteredUserChangeQuery: CrdtOnRegisteredUserChangeQuery) | () => void | Subscribe to registered-user changes; returns an unsubscribe function. |
setPresence(setPresenceQuery: CrdtSetPresenceQuery) | Promise<void> | Set presence. |
onPresenceChange(onPresenceChangeQuery: CrdtOnPresenceChangeQuery) | () => void | Subscribe to presence changes; returns an unsubscribe function. |
saveVersion(saveVersionQuery: CrdtSaveVersionQuery) | Promise<any> | Save a version. |
getVersion(getVersionQuery: CrdtGetVersionQuery) | Promise<any> | Get a version. |
getVersions(getVersionsQuery: CrdtGetVersionsQuery) | Promise<any> | Get versions. |
enableWebhook() | void | Enable webhook. |
disableWebhook() | void | Disable webhook. |
setWebhookDebounceTime(time: number) | void | Set webhook debounce time in milliseconds (default 5 seconds). |
pushMessage(pushMessageQuery: CrdtPushMessageQuery) | Promise<void> | Push a lib0-encoded message to the unified message stream (sync + awareness). |
onMessage(onMessageQuery: CrdtOnMessageQuery) | () => void | Subscribe to the unified message stream; emits each new message as it arrives. Returns an unsubscribe function. |
getMessages(getMessagesQuery: CrdtGetMessagesQuery) | Promise<CrdtMessageData[]> | Fetch all messages after a given timestamp (one-time read for replay). |
getSnapshot(getSnapshotQuery: CrdtGetSnapshotQuery) | Promise<CrdtSnapshotData | null> | Get the latest full-state snapshot for a document. |
saveSnapshot(saveSnapshotQuery: CrdtSaveSnapshotQuery) | Promise<void> | Save a full-state snapshot (state + vector) for fast initial load. |
pruneMessages(pruneMessagesQuery: CrdtPruneMessagesQuery) | Promise<void> | Remove messages older than a given timestamp from the message stream. |
setActivityDebounceTime(time: number) | void | Set activity debounce time for batching CRDT edits in milliseconds (default 10 min, minimum 10 sec). |
on<T extends keyof CrdtEventTypesMap>(action: T) | Observable<CrdtEventTypesMap[T]> | Subscribe to CRDT actions/events. |
Live State Sync / Store: client.getLiveStateSyncElement() / client.getStoreElement()
Class: LiveStateSyncElement.
| Method | Returns | Description |
|---|---|---|
getLiveStateData$<T = unknown>(liveStateDataId?: string, liveStateDataConfig?: LiveStateDataConfig) | Observable<T> | (deprecated: use getLiveStateData) Get live state data. |
getLiveStateData<T = unknown>(liveStateDataId?: string, liveStateDataConfig?: LiveStateDataConfig) | Observable<T> | Get live state data. |
fetchLiveStateData<T = unknown>(request?: FetchLiveStateDataRequest) | Promise<T> | Fetch live state data. |
setLiveStateData<T = unknown>(liveStateDataId: string, liveStateData: T, config?: SetLiveStateDataConfig) | Promise<void> | Set live state data. |
enableSingleEditorMode(config?: SingleEditorConfig) | void | Enable single editor mode. |
disableSingleEditorMode() | void | Disable single editor mode. |
isUserEditor$() | Observable<UserEditorAccess | null | undefined> | (deprecated: use isUserEditor) Check if the user is editor. |
isUserEditor() | Observable<UserEditorAccess | null | undefined> | Check if the user is editor. |
getEditor() | Observable<User | null> | Get the editor. |
setUserAsEditor() | Promise<SetUserAsEditorResponse | void> | Set the current user as editor. |
resetUserAccess() | void | Reset user editor access in single editor mode. |
singleEditorModeContainerIds(elementIds: string[]) | void | Disable elements inside specific elements only when single editor mode is on. |
enableAutoSyncState() | void | Enable auto sync state. |
disableAutoSyncState() | void | Disable auto sync state. |
requestEditorAccess() | Observable<boolean | null> | Request editor access. |
isEditorAccessRequested() | Observable<{ requestStatus: string, requestedBy: User } | null> | Check if editor access is requested. |
acceptEditorAccessRequest() | void | Accept an editor-access request. |
rejectEditorAccessRequest() | void | Reject an editor-access request. |
cancelEditorAccessRequest() | void | Cancel an editor-access request. |
editCurrentTab() | void | Edit the current tab. |
setEditorAccessTimeout(timeout: number) | void | Set the editor-access timeout. |
enableEditorAccessTransferOnTimeOut() | void | Enable editor-access transfer on timeout. |
disableEditorAccessTransferOnTimeOut() | void | Disable editor-access transfer on timeout. |
enableDefaultSingleEditorUI() | void | Enable the default single-editor UI. |
disableDefaultSingleEditorUI() | void | Disable the default single-editor UI. |
getEditorAccessTimer() | Observable<EditorAccessTimer> | Get the editor-access timer. |
onServerConnectionStateChange() | Observable<ServerConnectionState> | Get the server connection state. |
updateUserPresence(userPresence: LiveStateSingleEditorExternalUserPresence) | void | Update external user presence. |
enableHeartbeat() | void | Enable heartbeat. |
disableHeartbeat() | void | Disable heartbeat. |
on<T extends keyof LiveStateEventTypesMap>(action: T) | Observable<LiveStateEventTypesMap[T]> | Subscribe to live state events. |
Doc: client.getDocElement()
Class: DocElement.
| Method | Returns | Description |
|---|---|---|
getDocumentMetadata() | Observable<DocumentMetadata | null> | Get document metadata. |
Rewriter: client.getRewriterElement()
Class: RewriterElement.
| Method | Returns | Description |
|---|---|---|
enableRewriter() | void | Enable the rewriter feature. |
disableRewriter() | void | Disable the rewriter feature. |
enableDefaultUI() | void | Enable the default rewriter UI on text selection. |
disableDefaultUI() | void | Disable the default rewriter UI on text selection. |
on<T extends keyof RewriterEventTypesMap>(action: T) | Observable<RewriterEventTypesMap[T]> | Subscribe to rewriter events. |
askAi(request: RewriterAskAiRequest) | Promise<RewriterAskAiResponse> | Call AI with the currently selected text. |
replaceText(request: RewriterReplaceTextRequest) | Promise<RewriterReplaceTextResponse> | Replace the selected text in the DOM with the given text. |
addComment(request: RewriterAddCommentRequest) | Promise<RewriterAddCommentResponse> | Add a comment annotation on the selected text. |
Suggestion: client.getSuggestionElement()
Class: SuggestionElement.
| Method | Returns | Description |
|---|---|---|
enableSuggestionMode(config?: EnableSuggestionModeConfig) | void | Turn on suggestion mode. |
disableSuggestionMode() | void | Turn off suggestion mode. |
isSuggestionModeEnabled() | boolean | Synchronous read of the suggestion-mode flag. |
isSuggestionModeEnabled$() | Observable<boolean> | Reactive suggestion-mode stream. |
registerTarget<T = unknown>(config: RegisterTargetConfig<T>) | void | Register a complex-object getter for a target. |
unregisterTarget(targetId: string) | void | Drop the registered getter for a target. |
startSuggestion(targetId: string) | void | Manually capture the current value as the snapshot for a target. |
commitSuggestion<T = unknown>(config: CommitSuggestionConfig<T>) | Promise<{ id: string }> | Commit a suggestion. |
getSuggestions(filter?: SuggestionGetSuggestionsFilter) | Suggestion[] | Synchronous read of all suggestions on the current document. |
getSuggestions$(filter?: SuggestionGetSuggestionsFilter) | Observable<Suggestion[]> | Reactive variant of getSuggestions. |
getPendingSuggestion<T = unknown>(targetId: string) | Suggestion<T> | null | Newest pending suggestion for a target, or null. |
getPendingSuggestion$<T = unknown>(targetId: string) | Observable<Suggestion<T> | null> | Reactive variant of getPendingSuggestion. |
on<T extends SuggestionEventType>(action: T) | Observable<SuggestionEventTypesMap[T]> | Subscribe to a suggestion event. |
Views: client.getViewsElement()
Class: ViewsElement.
| Method | Returns | Description |
|---|---|---|
getUniqueViewsByUser(clientLocationId?: string) | Observable<ViewsByUser> | Get unique views by user. |
getUniqueViewsByDate(clientLocationId?: string) | Observable<ViewsByDate> | Get unique views by date. |
Injector (base): client.getInjectorElement()
Class: InjectorElement: the base class all feature elements extend. It exposes a single public method (the rest are protected).
| Method | Returns | Description |
|---|---|---|
ha(hideAnalytics: boolean) | (none declared) | Set the hideAnalytics flag (suppresses analytics tracking). |

