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

# Platform Tables

> Read-only tables of your workspace's users, flows, runs, agents, conversations and knowledge bases

Platform tables show your workspace's own data as tables. They are read-only and live: each query reads the current data, and only rows from the current workspace are included. Deleted flows, runs, agents and conversations are left out.

<Frame>
  <video autoPlay muted loop playsInline controls preload="auto" width="3814" height="2160" style={{ width: "100%", height: "auto" }}>
    <source src="https://storage.googleapis.com/noxus-docs-videos/tables/tables-platform-tables-v2.mp4" type="video/mp4" />
  </video>
</Frame>

You can view, search, query and export them like your own tables. In the **Tables** tab, switch from **Custom** to **Platform** to see them.

Every platform table has an `id` column. Columns marked **reference** hold the `id` of a row in another platform table, so you can join on them.

<AccordionGroup>
  <Accordion title="Users" icon="user">
    <p style={{ marginTop: "16px", marginBottom: "16px" }}>SQL name: <code>platform\_users</code>. Members of the workspace.</p>

    | Column | Type |
    | :- | :- |
    | `email` | Text |
    | `display_name` | Text |
    | `is_active` | Boolean |
    | `last_login` | Date & time |
    | `created_at` | Date & time |
  </Accordion>

  <Accordion title="Flows" icon="workflow">
    <p style={{ marginTop: "16px", marginBottom: "16px" }}>SQL name: <code>platform\_flows</code>.</p>

    | Column | Type |
    | :- | :- |
    | `name` | Text |
    | `description` | Text |
    | `type` | Text |
    | `flow_version` | Text |
    | `runs_count` | Number |
    | `last_run_at` | Date & time |
    | `created_at` | Date & time |
    | `last_updated_at` | Date & time |
  </Accordion>

  <Accordion title="Runs" icon="play">
    <p style={{ marginTop: "16px", marginBottom: "16px" }}>SQL name: <code>platform\_runs</code>.</p>

    | Column | Type |
    | :- | :- |
    | `status` | Text |
    | `source` | Text |
    | `progress` | Number |
    | `workflow_id` | Reference to Flows |
    | `user_id` | Reference to Users |
    | `created_at` | Date & time |
    | `started_at` | Date & time |
    | `finished_at` | Date & time |
  </Accordion>

  <Accordion title="Agents" icon="bot">
    <p style={{ marginTop: "16px", marginBottom: "16px" }}>SQL name: <code>platform\_agents</code>.</p>

    | Column | Type |
    | :- | :- |
    | `name` | Text |
    | `description` | Text |
    | `author_name` | Text |
    | `conversations_count` | Number |
    | `last_conversation_at` | Date & time |
    | `created_at` | Date & time |
    | `last_updated_at` | Date & time |
  </Accordion>

  <Accordion title="Conversations" icon="messages-square">
    <p style={{ marginTop: "16px", marginBottom: "16px" }}>SQL name: <code>platform\_conversations</code>.</p>

    | Column | Type |
    | :- | :- |
    | `name` | Text |
    | `assistant_id` | Reference to Agents |
    | `user_id` | Reference to Users |
    | `chat_transport` | Text |
    | `created_at` | Date & time |
    | `last_updated_at` | Date & time |
  </Accordion>

  <Accordion title="Knowledge bases" icon="book-open">
    <p style={{ marginTop: "16px", marginBottom: "16px" }}>SQL name: <code>platform\_knowledge\_bases</code>.</p>

    | Column | Type |
    | :- | :- |
    | `name` | Text |
    | `description` | Text |
    | `status` | Text |
    | `kb_type` | Text |
    | `version` | Text |
    | `m_trained_count` | Number |
    | `m_total_count` | Number |
    | `m_total_size` | Number (bytes) |
    | `created_at` | Date & time |
    | `updated_at` | Date & time |
  </Accordion>
</AccordionGroup>

## Example queries

<CodeGroup>
  ```sql Runs per flow theme={null}
  SELECT f.name, COUNT(r.id) AS runs
  FROM platform_runs r
  JOIN platform_flows f ON f.id = r.workflow_id
  GROUP BY f.name
  ORDER BY runs DESC;
  ```

  ```sql Failed runs this week theme={null}
  SELECT f.name, r.started_at
  FROM platform_runs r
  JOIN platform_flows f ON f.id = r.workflow_id
  WHERE r.status = 'Failed'
    AND r.created_at >= date_trunc('week', now())
  ORDER BY r.started_at DESC;
  ```

  ```sql Conversations per agent theme={null}
  SELECT a.name, COUNT(c.id) AS conversations
  FROM platform_conversations c
  JOIN platform_agents a ON a.id = c.assistant_id
  GROUP BY a.name
  ORDER BY conversations DESC;
  ```
</CodeGroup>

<Note>
  Platform tables can't be edited, referenced from your own tables' reference columns, or attached to agents. Genie can still read them.
</Note>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.