Build agents

Knowledge bases

Create a knowledge base, index documents, test retrieval, and understand how hybrid retrieval works inside a run.

Knowledge bases live at the organisation level under Knowledge and can be attached to any agent.

#Creating a knowledge base

  1. Knowledge → New knowledge base. Name and description.
  2. Add documents. The button opens three ways in: Upload files, Web pages and Write (text written or pasted in the editor). Uploads and web pages are imports, described below.
  3. Build an index. Open a document: the column on the right shows Vector index. Build index opens the form, where you pick the embedding provider (Models and providers), the chunk size (200 to 8,000 characters) and the overlap. The index chunks every document of the knowledge base and embeds each chunk. Each index opens its own panel with its status, settings, build log, Reindex and Delete.
  4. Test retrieval. Test retrieval runs a query against the knowledge base and shows the matching chunks with scores, so you can tune chunk size and thresholds before attaching it to an agent.

#Uploading files

Add documents → Upload files takes PDF, Word (.docx), text, Markdown, CSV or HTML files, up to 20 MB each and 20 at a time (100 MB per upload).

  • Only the extracted text is kept; the files themselves are not stored.
  • A PDF's text keeps a marker for each page. A scanned PDF with no text layer cannot be read yet (PDF_NO_TEXT), and a password-protected PDF is refused (PDF_ENCRYPTED).
  • A CSV becomes one block of column: value lines per row, so FAQ and product sheets retrieve well.
  • One document holds up to 2,000,000 characters of text. A larger one fails with DOCUMENT_TOO_LARGE; split it into several files.

#Importing web pages

Add documents → Web pages takes web addresses, one per line, up to 500 per import. A line that is not a web address (starting with http:// or https://) is pointed out before anything is sent.

  • Each page's main text is imported: menus, footers and cookie banners are left out, and headings, lists and tables are kept.
  • An address may also point at a PDF, Word, text, Markdown or CSV file.
  • A page already in the knowledge base is skipped; refresh it from the list instead.
  • Each fetch waits up to 20 seconds and follows up to 5 redirects. A web page can be up to 5 MB, a file up to 20 MB.
  • Only public addresses are imported. localhost, private networks and other internal addresses are refused on the line that names them; a name that turns out to point at a private address, directly or through a redirect, fails with the reason when it is fetched (Guardrails, approvals and safety).

Importing a whole site at once, where AgentRow finds the site's pages and you pick the ones to import, is planned, not available yet.

#After an import

  • Imported documents appear at once as Importing and fill in as they are read. A progress line shows each running import (for example "Importing 3 of 10 pages · 1 failed · 2 already here, skipped"), and a notice says when it has finished.
  • A document that could not be imported shows why in the Attention column, for example "The page answered HTTP 404.", with what to do: refresh a web page to try again, or upload the file again.
  • When an import finishes, every vector index of the knowledge base updates by itself, embedding only the new text. A refresh that changed a page does the same.
  • The documents a plan allows per knowledge base include imported ones. An import that would go past the allowance is refused as a whole, before anything is imported (PLAN_LIMIT_DOCUMENTS, with the numbers).

#The documents list

  • The list shows 25 documents a page, newest first, with Previous and Next (for example "26–30 of 30 documents" and "Page 2 of 2").
  • Search documents searches titles, sources (web addresses and file names) and text.
  • The filter switches between All documents and Needs attention (N). While all are shown, a link says how many documents need attention. Needs attention lists, from every page, the documents that are still importing, not indexed yet or indexing, failed, whose last refresh failed, or that changed since the last index run.
  • The columns are Document, Source, Indexed, Chunks and Updated, plus Attention when a document on the page needs a person.
  • The list updates live when documents are imported, indexed, written, edited or deleted, in another browser tab, by a teammate or through the API; no reload is needed.

#Editing documents

  • Written documents can be edited and saved. Saving re-chunks the document at once, but a vector index keeps the old text until it is reindexed: the document shows "Changed since the last index run. Reindex to include the change.", and the index panel offers Reindex now.
  • Imported documents are read-only: you can rename them, but their text comes from the source. Opening one shows the extracted text with its source, the import and last-check dates, and any error.
  • A web page is updated with Refresh from source. A page that has not changed is left as it is. While a refresh runs the old text stays searchable, and if the refresh fails the old text is kept and the Attention column says "Last refresh failed".
  • A file is updated by uploading the changed file again. It arrives as a new document, so delete the old one.

#How retrieval works in a run

The knowledge retrieval node embeds the query (by default the latest user message), runs keyword and vector search, fuses the results (reciprocal rank fusion), optionally reranks them, drops results under the minimum score, and keeps the top k within the token caps. Selected chunks enter the prompt as "Relevant knowledge" with scores and, when enabled, citations. Every retrieval is logged with the candidates, the selected chunks, what was trimmed and why.

#Tips

  • Write documents in self-contained sections with clear headings; the heading travels with each chunk.
  • Prefer several focused documents over one very long one when topics differ.
  • Use the retrieval test with real user questions and adjust top k and minimum score.
  • If a chunk is edited later, run logs still show what the model saw at the time.

Updated 30 September 2026