Esta página aún no está traducida al español — mostrando la versión en inglés.

Conversations overview

A split-panel view of every chat — search, filter, and open any thread to read it.

The Conversations tab shows every thread your chatbot has had, across every channel. Left side: a scrollable list. Right side: the selected thread's transcript.

The page layout

┌─ Conversations ──────────────────────────────────────────────────┐
│  ┌────────────────────────┐ ┌──────────────────────────────────┐ │
│  │  [ All ][Needs Reply][Closed]                                │ │
│  │                        │                                     │ │
│  │  🔍 Search messages…   │   Select a conversation             │ │
│  │                        │   Choose from the list to view      │ │
│  │  24 conversations      │   messages                          │ │
│  │  ──────────────        │                                     │ │
│  │  J  Jane Doe   12:04   │                                     │ │
│  │     ● widget · 6 msgs  │                                     │ │
│  │                        │                                     │ │
│  │  ? a91f22a0…  Yesterday│                                     │ │
│  │     ● whatsapp · 3 msgs│                                     │ │
│  └────────────────────────┘ └──────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────────┘

Filter tabs

Three tabs at the top of the list, left to right:

Key Label
"" (empty) All
handed_off Needs Reply
closed Closed

Clicking a tab filters the list. The current filter is stored in the URL.

Below the tabs, a search input with placeholder "Search messages..." plus a submit button and (when searching) a clear button. Search runs against message content, not visitor names.

Under the field, a count updates live:

  • 24 conversations when no search is active
  • 3 results for "pricing" when searching

Hitting Enter or clicking the magnifier button submits.

The conversation list

Each row shows:

  • A circular avatar with the visitor's first initial (or ? for anonymous)
  • Name — visitor name if known, otherwise the first 14 chars of the session ID
  • Timestamp — right-aligned, formatted contextually (12:04, Yesterday, Tue, Apr 14)
  • Channel dot — color-coded: green for WhatsApp, blue for Telegram, grey for widget
  • Message count — N msg(s)
  • Status badge — Needs reply (amber dot) for handed-off, Closed (grey pill) for closed, nothing for active

Selected row has a left-side primary-color stripe.

Empty states:

  • With no filter and no conversations ever: "No conversations yet."
  • With a search that returned nothing: "No matches."

Real-time updates

Three WebSocket events keep the page fresh without a reload:

  • new_message — a new message arrived in some conversation
  • handoff — a conversation just flipped to handed_off status
  • handoff_summary — the LLM finished generating the handoff summary

Selecting a conversation

Clicking a row loads the transcript in the right panel. On mobile (<1024 px), the list is replaced by the transcript; a back arrow returns you to the list.

Next steps