Conversations

How live chat turns and imported coding-agent sessions land in one seeded Dotabase, what a conversation row carries, and how to read one back from the CLI, search, or the app.

Conversations is one of the four foundational Dotabases every workspace starts with, and it holds dialogue. Every conversation — one you have in Chat, one your coding agent had with you last month — is a row in a , with a schema, typed properties, and edges to everything else you know.

Stored as rows, conversations can be filtered, searched, grouped, charted, and linked to the code and decisions they produced. Foundational and Internal Dotabases explains where Conversations sits among the seeded set.

What Flows In

Three sources write into the same Dotabase, in the same shape.

Live chat. Every conversation you start in Chat persists as it happens. The row grows turn by turn rather than being written once at the end, so a conversation is queryable while it is still going. Chat covers the conversation surface itself.

Your coding agents. Sessions from Claude Code, Codex, and Cursor on your own machine are read from their local logs, normalized into one common conversation shape, and routed in. Import runs only over folders you have explicitly consented to, and secrets are scrubbed before anything is persisted. Import your coding-agent conversations is the golden path.

Ongoing sync. Once a source is consented, a tail can watch it and push changes as they land. A session that grows updates the row it already owns instead of creating a second one, so a live tail and a backfill over the same history converge rather than duplicate.

Cursor Conversation Import records the arrival of the third provider and the per-platform consent posture that came with it.

What A Conversation Row Carries

A conversation is addressed by a human id like CONVO-7 and carries the messages, the provider it ran against, and a set of metrics derived from the body — turn counts, token usage, and the other aggregates a conversation implies rather than states. Those are derived by the platform, never hand-entered, so they are comparable across imports from all three providers.

Because rows carry edges, conversations connect outward. A session that discusses work you later committed can be linked to that commit, so the reasoning behind a change is reachable from the change itself.

Reading It Back

Everything that works on a Dotabase works here — there is no separate conversation API to learn. From the CLI, dots conversations list walks the Dotabase and dots conversations get CONVO-7 prints one conversation as an agent envelope. Universal search spans conversations alongside every other Dotabase, so a half-remembered discussion is findable by what was said in it rather than by when it happened.

In the app, the Conversations Dotabase opens like any other: table, board, graph, or dashboard. Conversation Insights Dashboard describes the multi-widget view that ships seeded over it, so the rollup is present the first time you open the Dotabase.

Why It Is A Dotabase

Conversations uses the same rows, schemas, views, edges, and behaviors as a Dotabase you create yourself, which is what Dotabases describes. The only difference is that the platform seeds it rather than you creating it; the runtime underneath is the same one.

Conversations · This page in the graph

Connected Records35

Documented by
Mentions
DOT
References
35 connections.

Where To Go Next

Reading this as an agent?For Agents
Something wrong on this page?Dots On GitHub