> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wittify.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Chats

> Every conversation your team has with this project: active, archived, and deleted.

<Note>
  **Chats** is the conversation list inside a project. Each row is a session that remembers its own message history, the knowledge bases attached to it, and the SQL sources attached to it. Three sub-views: **Chats** (active, the default), **Archived conversations**, and **Deleted conversations**.
</Note>

## Reaching this page

The **Chats** entry sits in the Chat with Your Documents sidebar between **SQL Sources** and **Project Settings**. It is a chevron-toggle parent: clicking the **Chats** label opens the active list, the chevron expands two collapsible children (**Archived** and **Deleted**) which start collapsed and auto-expand only when you are already on the matching sub-route. The topbar breadcrumb on every sub-view reads **Chat with Your Documents / `{project name}` / Chats**.

## What happens when you click Chats

The active list does not present a picker. The page auto-creates a fresh conversation the moment it loads, attaches every knowledge base in the project to it, attaches every SQL source in the project to it, and routes you straight into the Chat Canvas at `/chat-with-docs/{project}/chats/{new session id}`. While the new session is being created the body shows a centered loading spinner so the previous session list does not flash first.

This mirrors the "click logo, fresh chat" pattern in ChatGPT and Claude. To narrow the scope of the new conversation, use the **Scope** filter inside the chat composer once you are on the canvas. To go back to the conversation list itself, click any of the three sub-tabs (**Chats**, **Archived**, **Deleted**) again, or click any session row in the sidebar.

If the auto-create fails, the page shows the manual **Start a conversation** dialog instead and surfaces a toast with the server message or the fallback **Couldn't start the conversation. Try again.**

## Page header

| Element                       | What you see                                                                                                                                                                            |
| ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Title                         | **Chats**, **Archived conversations**, or **Deleted conversations** depending on the sub-view.                                                                                          |
| Subtitle (active)             | *Every conversation your team has with this project.*                                                                                                                                   |
| Subtitle (archived)           | *Archived conversations.*                                                                                                                                                               |
| Subtitle (deleted)            | *Deleted conversations.*                                                                                                                                                                |
| **+ New conversation** button | Brand-gradient pill on the end edge. Visible only on the active sub-view, and only when the project already has at least one session. Opens the manual **Start a conversation** dialog. |

When the page is in its loading state, three pulsing placeholder cards render in place of the list.

## Active list

The active list shows every live (un-archived, un-deleted) conversation in this project.

### Search and count row

Above the rows:

| Element                        | What it does                                                                                                                        |
| ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------- |
| **Search conversations** field | Filters the list by title and last-message text. Sanitizes input as you type, capped at 120 characters. Search is case-insensitive. |
| Count caption                  | *{N} conversations*. Updates live as you filter.                                                                                    |

### Session row

Each row is a card with a left-side body and a hover overflow menu on the end edge.

| Element                 | What it shows                                                                                       |
| ----------------------- | --------------------------------------------------------------------------------------------------- |
| Title                   | The conversation's title, or **Untitled conversation** if none. Long titles truncate.               |
| Preview line            | The last message in the conversation, truncated to one line.                                        |
| **Knowledge base** chip | A small book icon and the count of attached knowledge bases (only shown when greater than zero).    |
| **SQL source** chip     | A small database icon and the count of attached SQL sources (only shown when greater than zero).    |
| Date                    | A short month-and-day label (e.g. **Apr 12**) on the end edge of the meta row.                      |
| Click                   | Opens the Chat Canvas for that session.                                                             |
| Hover overflow button   | A three-dot button on the end edge. Tooltip *Conversation options*. Hidden until you hover the row. |

### Per-row overflow menu

The dropdown's contents change based on the sub-view:

| Sub-view | Menu items                       |
| -------- | -------------------------------- |
| Active   | **Archive**, **Delete**.         |
| Archived | **Restore**.                     |
| Deleted  | **Restore**, **Delete forever**. |

**Archive** moves the session to the **Archived conversations** list. Toast on success: *Archive*. Toast on failure: *Couldn't load the conversation.*

**Delete** opens the soft-delete confirmation. The session is moved to the trash where it can still be restored.

**Restore** moves the session back to the active list (no confirmation prompt).

**Delete forever** opens the typed-keyword permanent-delete confirmation.

## Empty states

Each sub-view has its own empty card.

| Sub-view | Title                    | Hint                                                          | Button                                     |
| -------- | ------------------------ | ------------------------------------------------------------- | ------------------------------------------ |
| Active   | **No conversations yet** | *Conversations you start with this project will appear here.* | **Start a conversation** (brand-gradient). |
| Archived | **Nothing archived**     | (no hint)                                                     | (no button)                                |
| Deleted  | **Nothing in the trash** | (no hint)                                                     | (no button)                                |

The active empty state's button opens the same **Start a conversation** dialog as the page-header **+ New conversation** button.

## Manual Start a conversation dialog

The dialog is shown when the auto-create flow fails or when you click **+ New conversation** on a populated active list.

| Element                      | What it shows                                                                                                                                                                                                                                                                        |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Title                        | **Start a conversation**                                                                                                                                                                                                                                                             |
| Description                  | *Pick the databases this conversation can draw from. All knowledge bases in this project attach automatically; narrow per-turn from the chat filter.*                                                                                                                                |
| Knowledge base summary strip | A small book icon plus a hint. When the project has at least one KB: *`{count}` knowledge bases in this project will be available. Narrow per-turn from the chat filter.* When it has none: *No knowledge bases in this project yet. Add one to let the chat answer from documents.* |
| **SQL sources** picker       | A scrollable list of SQL sources with a checkbox per row. Every source is checked by default each time the dialog opens. Empty state: *No SQL sources yet.*                                                                                                                          |
| Inline error line            | The dialog surfaces backend error messages directly under the picker if anything fails.                                                                                                                                                                                              |
| **Cancel** button            | Outline style, end edge. Disabled while the request is in flight.                                                                                                                                                                                                                    |
| **Start** submit button      | Brand-gradient pill. While submitting, label is **Starting** with a spinner.                                                                                                                                                                                                         |

The dialog auto-binds every knowledge base in the project even when you submit with zero SQL sources selected. Per-turn narrowing happens later in the chat composer's **Scope** panel.

On success, the dialog closes, the new session appears in the sidebar list immediately, and you are routed to the Chat Canvas at `/chat-with-docs/{project}/chats/{new session id}`.

## Soft-delete confirmation

Triggered by **Delete** in the per-row menu (active or archived sub-view).

| Element           | What it says                                                                           |
| ----------------- | -------------------------------------------------------------------------------------- |
| Title             | **Delete this conversation?**                                                          |
| Body              | *This moves the conversation to the deleted bin. You can restore it from there.*       |
| Targeted name     | The conversation's title (or **Untitled conversation**) shown in bold below the body.  |
| **Cancel** button | Closes without deleting. Disabled while a delete is in flight.                         |
| **Delete** button | Destructive (red background, white text) per the global rule. Spinner while in flight. |

Toast on success: *Delete*. Toast on failure: *Couldn't load the conversation.*

## Permanent-delete confirmation

Triggered by **Delete forever** in the per-row menu of the deleted sub-view.

| Element                          | What it says                                                                                                                                              |
| -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Title                            | **Delete this conversation forever?**                                                                                                                     |
| Body                             | *This removes the conversation, its messages, and every citation attached to it. It cannot be restored after.*                                            |
| Targeted name                    | The conversation's title (or **Untitled conversation**) shown in bold below the body.                                                                     |
| **Type DELETE to confirm** input | Type the keyword **DELETE** to confirm. The placeholder reads **DELETE**.                                                                                 |
| **Cancel** button                | Closes without deleting. Disabled while a delete is in flight.                                                                                            |
| **Delete forever** button        | Red destructive button. Disabled until the input matches **DELETE** exactly (case-sensitive). Label changes to **Deleting** with a spinner while running. |

Toast on success: *Conversation deleted*. Toast on failure: *Couldn't delete the conversation. Try again.*

## Permissions

The Chats list respects your role inside the workspace.

| Action                          | Owner | Admin | Analyst | Viewer |
| ------------------------------- | ----- | ----- | ------- | ------ |
| View the list and open sessions | Yes   | Yes   | Yes     | Yes    |
| Start a new conversation        | Yes   | Yes   | Yes     | No     |
| Archive                         | Yes   | Yes   | Yes     | No     |
| Restore                         | Yes   | Yes   | Yes     | No     |
| Delete (soft)                   | Yes   | Yes   | Yes     | No     |
| Delete forever                  | Yes   | Yes   | No      | No     |

If a control is hidden the backend still re-checks the action, so a forged request from a viewer's browser will be rejected.

## Common questions

<AccordionGroup>
  <Accordion title="I clicked Chats but it routed me into a brand-new conversation. How do I see the list?">
    That is the active sub-view's intended behavior, it auto-creates a fresh chat each time you click the parent **Chats** entry, the same as ChatGPT or Claude. To see your past conversations, click the chevron next to **Chats** in the sidebar to expand the children, then click **Archived** or **Deleted**, or pick any past session from the sidebar list directly.
  </Accordion>

  <Accordion title="The dropdown menu is invisible until I hover the row.">
    That is intentional. The three-dot button shows on hover and on keyboard focus so the row body stays uncluttered. Tab to the row to reveal it without using the mouse.
  </Accordion>

  <Accordion title="Archive vs Delete: what's the difference?">
    **Archive** keeps the conversation searchable inside the **Archived conversations** sub-tab. **Delete** moves it to the trash, where it can either be restored or removed permanently. Archiving is the right choice when you want to keep a record but clear the active list.
  </Accordion>

  <Accordion title="The Delete forever button is greyed out even after I typed DELETE.">
    The input is case-sensitive and rejects spaces, tabs, and newlines. Type **DELETE** in capital letters with nothing before or after.
  </Accordion>

  <Accordion title="I deleted a conversation and now its citations are broken in another chat.">
    Citations resolve against the source document, not the conversation. Deleting the conversation does not delete the source, so citations from other chats keep working. If they don't, the source itself was removed (a knowledge base was deleted, or the document was removed). Check the source's knowledge base.
  </Accordion>

  <Accordion title="Why does the empty active state offer Start a conversation while the populated list shows + New conversation?">
    The buttons do the same thing. The empty state uses **Start a conversation** because there is nothing else on the page to anchor the call to action; the populated list uses **+ New conversation** in the page header because the rows already imply existing chats.
  </Accordion>

  <Accordion title="Search returns fewer results than I expected.">
    Search runs over the conversation's title and over the *last* message text only. It does not full-text search every message in every chat. Open the conversation and use the canvas's history if you need a more targeted search.
  </Accordion>

  <Accordion title="I tried to create a session but I get Couldn't start the conversation. Try again.">
    The auto-create flow surfaces backend errors verbatim. The most common cause is a transient network blip; click **Start a conversation** in the manual dialog and try again. If the dialog also fails, check Project Settings to confirm the project still exists and your role still has create permission.
  </Accordion>
</AccordionGroup>

## Where to go next

<CardGroup cols={2}>
  <Card title="Chat Canvas" icon="message-bot" href="/en/Systems/Chat-with-Documents/Chat-Canvas">The single-session view, where you actually chat.</Card>
  <Card title="Knowledge Bases" icon="folder-tree" href="/en/Systems/Chat-with-Documents/Knowledge-Bases">Add documents your conversation can draw on.</Card>
  <Card title="SQL Sources" icon="database" href="/en/Systems/Chat-with-Documents/SQL-Sources">Connect a database for live SQL answers.</Card>
  <Card title="Share Links" icon="link" href="/en/Systems/Chat-with-Documents/Share-Links">Publish a chat or session to a public URL.</Card>
</CardGroup>
