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

# Agents

> Audit and inspect every agent across all teams and projects from a single system-wide view.

The Agents tab is a **read-only, system-wide audit surface** over every agent in EK. It lets super administrators inventory agents, inspect their full configuration, correlate them with their project and team, and export results for compliance or governance reporting — all without navigating into individual projects.

<Note>
  The Agents tab does not allow editing or deleting agents. Any change to an agent must be made from within its owning project by a user with the appropriate project role.
</Note>

## Prerequisites

Only users flagged as super admins can access this tab. Every backend endpoint independently verifies admin status and returns `403 Unauthorized` for all other users — including direct API calls made outside the UI.

## Where to Find It

Go to **Super Admin → Users & Workspaces → Agents**.

The tab renders alongside **App Licenses**, **Projects**, **Teams**, **Teams Bots**, and **Users** in the dashboard's main content area.

## Agents Table

The table is ordered by **Last Updated (descending)** by default. This ordering is stable across page turns — paginating forward and backward never shuffles rows mid-session.

| Column         | Description                                                                                                                                                                |
| -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Agent**      | The agent's name. Falls back to "Untitled" if blank.                                                                                                                       |
| **Agent ID**   | The public agent identifier used by chat and project routes. Shown truncated in monospace — hover for the full value.                                                      |
| **Project**    | The owning project's name, with its project ID on a second line.                                                                                                           |
| **Team**       | The team that owns the project.                                                                                                                                            |
| **Creator**    | The user who created the first version of the agent. Falls back to the project owner for legacy agents that pre-date version history. Shown as name with email underneath. |
| **Created**    | Agent creation time, in your local timezone.                                                                                                                               |
| **Updated**    | Time of last update. Default sort column.                                                                                                                                  |
| **Memory**     | On / Off badge. `NULL` is treated as Off.                                                                                                                                  |
| **Prompt Lib** | On / Off badge for the Prompt Library feature. `NULL` is treated as Off.                                                                                                   |
| **Blocks**     | Count of building blocks attached to the agent.                                                                                                                            |
| **Actions**    | Eye icon — opens the [View Details modal](#view-details-modal).                                                                                                            |

<Note>
  Em dashes (`—`) appear wherever a value is `NULL` or empty, including timestamps.
</Note>

## Search vs. List Mode

The tab operates in two modes depending on whether the search box is active.

### List Mode (default)

* Active when the search box is empty
* Table is paginated at **12 rows per page**
* Pagination control shows `Page X of Y`
* Filters apply normally; the page resets to 1 when any filter changes

### Search Mode

* Activated as soon as you type in the search box (400 ms debounce)
* Pagination is hidden; the backend returns up to **200 matching rows** in a single response
* When the true match count exceeds 200, a summary line reads: `4815 match(es) (showing first 200 — narrow the search to see more)` — refine your query or add filters to see the rest
* Search is **case-insensitive partial match** across agent name, agent ID, project name, and creator name/email simultaneously
* Pasting a UUID with `_` or `%` characters is safe — those characters are not treated as wildcards
* Maximum query length: **100 characters**

Dropdown filters stack on top of search in both modes, so you can combine a text search with project, creator, and feature filters simultaneously.

## Filters

Four filters appear below the search bar. Changing any filter resets the page to 1.

| Filter             | Behavior                                                                                                                      |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------- |
| **Project**        | Dropdown of every project that has at least one agent, sorted by name.                                                        |
| **Creator**        | Dropdown of every distinct creator (first-version author or project owner of a project with agents). Shown as `name (email)`. |
| **Memory**         | Tri-state: **Any** / **Enabled** / **Disabled**. Disabled includes both `FALSE` and `NULL`.                                   |
| **Prompt Library** | Same tri-state semantics as Memory.                                                                                           |

<Note>
  The Project and Creator dropdowns are capped at **1,000 entries**. If the cap is reached, an amber hint appears below the dropdown. Use the search box to find projects or creators not shown in the list — search runs against the full table.
</Note>

Use the **Clear search & filters** button to reset the search box and all dropdowns at once.

## View Details Modal

Clicking the eye icon on any row opens the full configuration for that agent. The modal always refetches live data on open.

**Header grid** — key configuration fields at a glance:

| Field                                                        | Description                                       |
| ------------------------------------------------------------ | ------------------------------------------------- |
| Agent Name / Agent ID                                        | Identifiers                                       |
| Project (name + ID)                                          | Owning project                                    |
| Team (name + ID)                                             | Owning team                                       |
| Creator (name + email + user ID)                             | First-version author, with project-owner fallback |
| Temperature                                                  | Formatted to 2 decimal places                     |
| Created / Last Updated                                       | Timestamps                                        |
| Building Blocks                                              | Count of attached blocks                          |
| Memory Enabled / Prompt Library                              | Feature flags                                     |
| Mask URLs / Enrich Sources / Inline Citations / Filter Links | Response behavior flags                           |
| Use Google / Use KB                                          | Source flags                                      |

**JSON / text blocks** — raw, scrollable, pretty-printed:

* **Personality** — the full system prompt (untruncated, unlike exports)
* **Attached Blocks** — building block configuration
* **Rules** — agent rules
* **Document Keys** — document scope configuration
* **Memory Settings** — memory configuration
* **Prompt Settings** — prompt library configuration

Empty and null values render as `—` throughout.

## Refreshing Data

The **refresh button** (circular arrow, right of the search box) re-runs the current query — same page, search, and filters. It does not trigger a new search when the search box has pending input; it waits for the debounce to settle first to avoid showing stale results for a query that is about to change.

Table queries are cached for **30 seconds**, so navigating between pages or filter states you have already visited is instant.

## Export

The **Export** dropdown (top-right) streams the current view — including all active search terms and filters — to a downloadable file.

| Setting                | Detail                                                                                                                                                       |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Formats**            | CSV and XLSX                                                                                                                                                 |
| **Filename**           | `agents-<timestamp>.csv` or `agents-<timestamp>.xlsx`                                                                                                        |
| **Row cap**            | 100,000 rows. Narrow filters or search if you exceed this.                                                                                                   |
| **Timestamps**         | Formatted in your browser's local timezone                                                                                                                   |
| **Personality column** | Truncated to 500 characters with a trailing `...` — open View Details for the full prompt                                                                    |
| **Column order**       | Stable, starting with: `name`, `agent_id`, `id`, `project_name`, `project_id`, `team_name`, `team_id`, `creator_name`, `creator_email`, `creator_user_id`, … |

## Common Workflows

### Find every agent in a project

1. Open **Super Admin → Agents**.
2. Select the project in the **Project** filter dropdown.
3. Optionally filter by **Memory** or **Prompt Library**.
4. Click **Export** to save the result as a file.

### Audit agents by creator

1. Pick a user in the **Creator** filter dropdown.
2. If the user isn't in the dropdown, type their name or email into the search box — search runs against the full table.

### Inspect a specific agent's full configuration

1. Search for the agent by name, or paste its `agent_id` into the search box.
2. Click the eye icon.
3. Review the header grid for high-level config and the JSON blocks for personality, rules, attached blocks, and settings.

### Produce a compliance report

1. Apply filters to define the scope.
2. Click **Export → XLSX** (or CSV).
3. The file matches the on-screen view exactly, up to 100,000 rows.

## Troubleshooting

<AccordionGroup>
  <Accordion title="Failed to load agents">
    The backend returned a non-2xx response. Open browser DevTools → Network to see the status code; the full error detail is in the backend log under `Error fetching agents`.
  </Accordion>

  <Accordion title="Project or creator missing from filter dropdown">
    The dropdown is capped at 1,000 entries. Look for the amber "Showing first 1000…" hint below the dropdown. Use the search box instead — it queries the full table.
  </Accordion>

  <Accordion title="Search shows fewer rows than expected">
    Search results are capped at 200 rows per response. The summary line shows the true match count. Add filters or narrow the query to bring the result set under 200.
  </Accordion>

  <Accordion title="Creator column shows the project owner, not the actual author">
    The agent was created before version history existed. The project owner is used as a deliberate fallback for these legacy agents.
  </Accordion>

  <Accordion title="Memory or Prompt Lib shows Off but the feature appears configured">
    The column treats `NULL` as Off, which matches runtime behavior. If the value should be On, verify `agents.memory_enabled` or `agents.prompt_library_enabled` directly in the database.
  </Accordion>

  <Accordion title="Export file is missing personality text past ~500 characters">
    Personality is intentionally truncated to 500 characters in exports. Open the View Details modal to see the full system prompt.
  </Accordion>

  <Accordion title="403 Unauthorized on every request">
    Your account is not flagged as a super admin (`users.is_admin = true`). Contact your system administrator.
  </Accordion>
</AccordionGroup>
