Conversations
The Conversations screen (/conversations) is the global browse view across every instance and every channel.
Listing
- Pagination. 20 conversations per page (
PAGE_SIZEinpackages/web/src/app/(admin)/conversations/page.tsx). - Search. Full-text search over message content. Implemented as PostgreSQL FTS with the
simpleconfig (no language stop-words) so multilingual content works. - Filters. Single drop-down to filter by instance — there is no date-range filter and no channel filter on the list page.
- Columns. Title (auto-generated), instance, channel, message count, last activity, status.
The list is ordered by last-activity desc by default. Click a column header to sort by another field.
Conversation detail
Click a conversation row to open the detail view. You see:
- Header. Title, instance, channel, conversation id (copyable), open/closed, language detected.
- Metadata grid. Started at, last message at, message count, total tokens (in/out), estimated cost.
- Message list. Each message displays role (
user,assistant,tool,system), content, and timestamp. - Tool calls. Tool calls are rendered inline under the assistant message that issued them, with the tool name, arguments, return value, and duration.
- Attachments. Photos and PDFs from WhatsApp/Telegram appear inline when the engine has S3 storage configured (
PLATFORM_S3_*env vars).
Deletion
Delete a single conversation from its detail page (top-right, Delete button), or bulk-delete from the list (select rows, Delete selected). Deletion cascades: messages, tool calls, attachments, latency traces, and audit logs scoped to the conversation are all removed in one transaction.
Tip. When auditing, export the conversation first (the Export JSON button in the detail view), then delete. Exported conversations are full-fidelity dumps including system prompts and tool internals.