> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hacktionbase.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Conversations

> Real-time messaging between users and your team.

## 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 the `useSubscribeObject` 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 `identify` with a new `account.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)
