Feature Request
Summary
The @filigran/chatbot library currently supports a single active conversation at a time, with minimal persistence (only the active conversation_id is saved to localStorage). This request proposes two related improvements:
- Conversation History — a browsable list of past conversations in the chat panel UI
- Workspace Support — the ability to organise conversations into named workspaces
1. Conversation History
Current behaviour
The panel starts fresh (or restores one previous conversation via conversation_id in localStorage). There is no way for users to navigate back to older conversations.
Desired behaviour
A conversation history sidebar/drawer inside the chat panel that:
- Lists past conversations (title, agent, last message date)
- Lets users click a conversation to reload it (reusing the existing
POST {apiBaseUrl}/chat/sessions endpoint)
- Lets users delete a conversation or start a new one
- Supports search / filter by title or agent
Proposed API contract addition
GET {apiBaseUrl}/chat/conversations?agent_slug=&workspace_id=&limit=&offset=
{
"conversations": [
{
"id": "uuid",
"title": "How do I configure SSO?",
"agent_slug": "general",
"workspace_id": "uuid-or-null",
"updated_at": "2026-05-29T10:00:00Z"
}
],
"total": 42
}
DELETE {apiBaseUrl}/chat/conversations/{id}
New ChatPanel props
| Prop |
Type |
Description |
showHistory |
boolean |
Enable the conversation history panel (default false) |
onConversationDelete |
(id: string) => void |
Optional callback after a conversation is deleted |
2. Workspace Support
Current behaviour
All conversations are flat — there is no grouping or organisational layer.
Desired behaviour
Users can organise conversations into workspaces (named collections, e.g. "Project Alpha", "Support", "General"). The chat panel should:
- Display a workspace selector (dropdown or top-level tabs) above the conversation list
- Filter the conversation history to the selected workspace
- Allow creating a new conversation inside a chosen workspace
- Show a workspace name/icon in the chat header
Proposed API contract addition
GET {apiBaseUrl}/chat/workspaces
[
{ "id": "uuid", "name": "General", "icon": "Folder", "color": "cyan", "is_default": true },
{ "id": "uuid", "name": "Project Alpha", "icon": "Briefcase", "color": "violet", "is_default": false }
]
The existing POST {apiBaseUrl}/chat/messages request body should accept an optional workspace_id field so new conversations are created inside the right workspace.
New ChatPanel props
| Prop |
Type |
Description |
showWorkspaces |
boolean |
Enable workspace selector (default false, requires showHistory) |
workspaceDashboardUrl |
string |
URL to the workspace management page |
Context
This feature is being developed as part of XTM One — see the companion issue in that repository. The backend already exposes /api/v1/chat/conversations (with workspace filtering) and workspace CRUD endpoints.
Priority
Medium — required to surface the workspace feature introduced in the XTM One platform to embedded chat consumers.
Feature Request
Summary
The
@filigran/chatbotlibrary currently supports a single active conversation at a time, with minimal persistence (only the activeconversation_idis saved tolocalStorage). This request proposes two related improvements:1. Conversation History
Current behaviour
The panel starts fresh (or restores one previous conversation via
conversation_idinlocalStorage). There is no way for users to navigate back to older conversations.Desired behaviour
A conversation history sidebar/drawer inside the chat panel that:
POST {apiBaseUrl}/chat/sessionsendpoint)Proposed API contract addition
{ "conversations": [ { "id": "uuid", "title": "How do I configure SSO?", "agent_slug": "general", "workspace_id": "uuid-or-null", "updated_at": "2026-05-29T10:00:00Z" } ], "total": 42 }New
ChatPanelpropsshowHistorybooleanfalse)onConversationDelete(id: string) => void2. Workspace Support
Current behaviour
All conversations are flat — there is no grouping or organisational layer.
Desired behaviour
Users can organise conversations into workspaces (named collections, e.g. "Project Alpha", "Support", "General"). The chat panel should:
Proposed API contract addition
[ { "id": "uuid", "name": "General", "icon": "Folder", "color": "cyan", "is_default": true }, { "id": "uuid", "name": "Project Alpha", "icon": "Briefcase", "color": "violet", "is_default": false } ]The existing
POST {apiBaseUrl}/chat/messagesrequest body should accept an optionalworkspace_idfield so new conversations are created inside the right workspace.New
ChatPanelpropsshowWorkspacesbooleanfalse, requiresshowHistory)workspaceDashboardUrlstringContext
This feature is being developed as part of XTM One — see the companion issue in that repository. The backend already exposes
/api/v1/chat/conversations(with workspace filtering) and workspace CRUD endpoints.Priority
Medium — required to surface the workspace feature introduced in the XTM One platform to embedded chat consumers.