Overview
A UI element that displays a chat interface.Usage
Basic usage
Listening to events
Events
Events emitted by the ChatElement. Listen to these events using theon() method or by passing callback functions in the options.
error
Emitted when an error occurs during element initialization or operation.
Callback signature: (error: unknown) => void
ready
Emitted when the element has finished loading and is ready for user interaction.
Callback signature: (element: ChatElement) => void
optionsUpdated
Emitted when the element’s options are updated via updateOptions().
Callback signature: (options: ChatElementOptions) => void
snapshot
Emitted when the element’s internal state changes.
Callback signature: (snapshot: ChatElementSnapshot) => void
profileClick
Emitted when the user clicks on a profile.
Callback signature: (ev: CustomEvent<{ id: string; }>) => void
linkClick
Emitted when the user clicks on a link.
Callback signature: (ev: CustomEvent<{ url: string; }>) => void
messageSent
Emitted when the user sends a message.
Callback signature: (ev: CustomEvent<{ id: string; content: string; channelId: string; }>) => void
messageDeleted
Emitted when the user deletes a message.
Callback signature: (ev: CustomEvent<{ id: string; }>) => void
experienceClick
Emitted when the user clicks on an experience mention.
Callback signature: (ev: CustomEvent<{ id: string; }>) => void
attachmentClick
Emitted when the user clicks on an attachment.
Callback signature: (ev: CustomEvent<{ messageId: string; attachments: AttachmentClickEventAttachment[]; }>) => void
Methods
mount(container)
Mount the element to a DOM container.
The container must be an empty element. The element will be appended as a child.
If the element is already mounted, this method will log a warning and return.
unmount()
Remove the element from the DOM and clean up all event listeners.
After unmounting, the element instance should not be reused.
Create a new element instance if you need to mount again.
updateOptions(options)
Update the element’s configuration options after creation.
Only the provided options will be updated; other options remain unchanged.
The element will re-render with the new options.
getSnapshot()
Get the current state snapshot of the element.
The snapshot contains the element’s current internal state, such as
loading status, form values, or other element-specific data.
Returns: ChatElementSnapshot
Styling
Customize this element withappearance.classes. See the styling reference for the full list of stable class names and example snippets.
Types
ChatElementOptions
Configuration options for the ChatElement.ChatElementSnapshot
Represents the current state of the ChatElement. Useelement.getSnapshot() to get the current state, or listen to the snapshot event for changes.

