Skip to content

Inbox

The Inbox is where messages from outside Kanna land: a webhook delivery, or a message from an MCP source such as a Zalo conversation. Open Inbox in the sidebar. The badge beside it counts what needs you.

  1. The message becomes a thread. Messages from the same source and the same conversation (a Zalo threadId, or whatever the source’s thread key names) stack into one thread, so a chatty contact is one row, not twenty.
  2. If the source’s handler mode is New chat or Run in chat, an agent reads the message first in that thread’s own chat. For New chat the chat is created on the first message, titled <source> · <sender>, and reused for every later message in the thread, so the agent keeps the conversation context.
  3. The agent reports a verdict — needs you, FYI or handled — with a short summary and, when a reply makes sense, a draft. The agent never sends anything to the sender on its own.
  4. Only a needs you thread interrupts you: a toast (unless you are already on the Inbox), the sidebar badge, the window title count, and a push notification if you have those enabled. FYI threads sit in the Inbox quietly; handled threads appear in Activity only.

If the agent’s turn ends without a report, the thread is shown as needs you with the raw message, so nothing is lost silently. A source with the Notify handler mode skips the agent and goes straight to needs you.

Tab Shows
Inbox Threads that are new, need you, or are FYI, unread first, grouped by day — plus attention items: a failed turn, a tool call waiting for your approval (until it is answered), a failed cron, subagent or loop run. Tool calls your permission policy approves or denies on its own never appear here.
Activity Every event the server records — chats, turns, queue, tasks, cron, loops, subagents, webhooks, MCP messages — newest first, with filters by source, project, chat and needs attention, and Load older for history.

Opening a thread marks it read. Mark all read clears the whole Inbox tab.

Open a thread to see its messages (Show raw reveals the exact payload), the agent’s read, and a reply box seeded with the draft.

  • Send sends the text in the box to the sender. Kanna asks the thread’s chat to send exactly that text through the source’s own tools and to confirm what it sent. The thread moves to Replied and leaves the Inbox tab.
  • Instruct sends the text as an instruction instead: the agent does what you asked and reports a fresh draft. The thread stays in the Inbox.
  • Discard draft clears the box without sending anything.
  • Archive hides the thread from the Inbox tab. A new message in that conversation brings it back as unread.
  • Open chat jumps to the thread’s chat to read the full transcript or talk to the agent directly.

Send and Instruct are unavailable on a thread whose source has no handler chat (the Notify mode) or no reply hint; the thread still shows what arrived.

The Inbox keeps the last 2,000 threads and activity records in inbox.jsonl under the data directory. Unread threads younger than seven days are always kept. Inbox threads and cards are private: they are never included in a share link.