Skip to content

Conversations and history

Status

Stable

A conversation in BOS is one thread of back-and-forth with a single agent. Each agent maintains its own conversation memory; the Finance agent does not see what you asked the Sales agent.

What lives in a conversation

ItemStoredVisible to
Your messagesRedis (sliding 24h TTL)You and admins of your workspace
Agent responsesRedis (same TTL)Same
Tool calls madeExecution log (30d)Same
Pinned contextConversation memoryThe agent within this conversation

A conversation is private to you. Workspace admins can read conversation history for audit (via Settings → Audit), but rank-and-file team members cannot see each other's chats.

How memory works

The agent sees the last ~20 turns of the current conversation. After that, older turns drop off — the agent will not remember what you asked at the start of a 50-turn chat.

This is by design:

  • Keeps the context window small so latency stays low
  • Forces fresh questions to be self-contained
  • Avoids carrying stale information into later answers

If you need context from earlier, paste the relevant bit into a new message.

Starting a new conversation

Click + New conversation at the top of the Chat panel. The current conversation is preserved (you can switch back to it from the conversation list), and the agent starts fresh.

When to start a new conversation:

  • You're switching topics
  • The agent seems to be carrying baggage from a prior question
  • You want to share a focused chat log with a teammate (cleaner export)

Switching between conversations

The left edge of the Chat panel shows recent conversations:

┌───────────────────────────┐
│ ▼ Finance                 │
│   · Today                 │
│     Why is cash low?      │ ← current
│     Overdue invoices      │
│   · Yesterday             │
│     Bank reconciliation   │
│   · Last week             │
│     Q1 cashflow summary   │
├───────────────────────────┤
│ ▶ Warehouse               │
│ ▶ Marketing               │
│ ▶ Sales                   │
└───────────────────────────┘

Click a conversation to reload it. Conversations from the last 24 hours are immediately available; older ones may take a moment to fetch.

Conversation retention

PeriodWhat happens
Active (you visited it recently)Lives in Redis, instant load
1–7 days oldStill in Redis but not pinned; may need a re-fetch
7–30 days oldIndexed in PostgreSQL, fetchable in 1–2 seconds
> 30 days oldAged out; the chat content is gone but the tool calls remain in the Execution log for 90 days

The TTL is per-conversation, not per-message. If you keep visiting a conversation, it stays warm.

Stopping an answer mid-stream

While an agent is streaming a response, a ■ Stop button appears. Click it to cancel — the agent stops generating immediately, no further tool calls are made, and the partial answer remains in the chat as-is.

Useful when:

  • You see the agent going wrong direction
  • You realised you asked the wrong agent
  • You want to interrupt with a refinement

You can continue the conversation right after stopping; the agent treats the cancelled answer as the current state.

Sharing a conversation

Today, sharing is copy-paste. Click the menu on a message and pick Copy as Markdown — the message and the previous turns copy as a tidy markdown block you can paste into Matrix, email, or a ticket.

A future "Share link" feature is on the roadmap (per-conversation URL visible to other workspace members with proper RBAC).

Pinning context

Sometimes you want to keep one fact in the agent's working memory across many turns — for example "we are looking at the Sofia branch only". Type the fact prefixed with pin::

You: pin: focus only on the Sofia branch's data unless I say otherwise

Sales: 📌 Pinned: "focus only on the Sofia branch's data..."
       OK — I'll restrict all future queries in this conversation to
       the Sofia branch.

The pinned context is shown above the chat input. Click the × on a pin to remove it.

Multi-line input

Use Shift + Enter for a new line within a message. Enter alone sends the message. Markdown-style formatting (lists, code blocks) is preserved.

What is recorded vs not

Recorded permanentlyRecorded temporarilyNot recorded
Tool calls (90d in audit log)Conversation text (up to 30d)Drafts you typed but didn't send
Tool argumentsPin commandsBrowser-side scroll position
Tool resultsAgent intermediate reasoning

The 30-day chat retention is a hard limit. If you need a permanent record of an answer, copy it as Markdown into a Document.

Where to read more

© PLANA Digital Ltd.