How it works
The widget provides a built-in messaging interface. Users can start conversations, send messages, and receive replies from your team — all within the widget panel.Widget views
The widget has two main views:Home view
The home screen shows:- A welcome message (configured in dashboard settings)
- A list of the user’s existing conversations
- A “New conversation” button
Conversation view
When a user opens a conversation or starts a new one:- Messages are displayed in a threaded view
- New messages appear in real time via WebSocket
- Users can send text messages (and files, if enabled)
Real-time updates
Conversations update in real time using WebSocket subscriptions. When your team replies from the dashboard inbox, the message appears instantly in the widget. The SDK uses theuseSubscribeObject pattern internally to subscribe to conversation updates.
User context
Every conversation is linked to the current user’s session:- Anonymous users — conversations are tied to the
anonymousId. If the user returns later with the same browser, their conversations persist. - Identified users — conversations are tied to the
userId. They persist across devices after identification. - Account switch — if the user switches accounts (via
identifywith a newaccount.id), the session rotates and previous conversations are not carried over.
Dashboard inbox
Your team views and responds to conversations from the Inbox in the Hacktionbase dashboard. The inbox supports:- Real-time message updates
- User profile details in a side drawer
- Session history and event timeline
- Conversation status (open/closed)

