How to organize your Agents knowledge

📋Tables

When to Use

Tables are structured, live databases. Each row is a record. Each column is a typed field. The agent reads, creates, updates, and deletes via Table Actions.

Use Tables when:

  • Data changes frequently and needs to be written by the agent in real time

  • Data has a fixed, predictable structure — defined columns with types

  • You need to persist information across conversations

  • The use case involves CRUD operations

Examples:

  • Leads: name, email, phone, status, contact date

  • Inventory: SKU, name, price, stock

  • Schedule: client, date, time, service type

  • Tickets: ID, description, status, assignee

Golden rule: if the agent is going to write to that data, it's a Table.


URL and Image Columns

Tables work with typed columns. Beyond the basic types (text, number, boolean, date), there are two specialized types for external references.

URL Column

Stores web addresses as the primary cell value. The system recognizes that field as a link — not generic text.

When to use:

  • Each record has an associated link the agent needs to return

  • Catalogs with a link to a purchase page

  • Articles with a link to external access

  • Records with links to forms, videos, or landing pages

Example:

Table: Course Catalog

Image Column

Stores URLs pointing to image files. The difference from the URL type is visual semantics — the system knows the content is an image.

When to use:

  • Product catalogs with photos

  • Digital menus

  • Portfolios with thumbnails

  • Profiles with avatars

Example:

Table: Menu

Aspect
URL
Image

Content

Any link

Link to an image file

Rendering

Clickable link

Image displayed (where supported)

Typical use

Page, form, video

Product photo, thumbnail


Semantic Search and Non-Searchable Items

Semantic search in Tables is fundamentally different from a SQL query.

Exact match:

Semantic search: Query: "sports footwear for running" → Finds: "Nike Air Max Sneaker", "Adidas Running Shoe" → Even with no words in common with the query


Searchable vs Non-Searchable Columns

Not all columns should be included in the semantic index.

Include in embedding:

  • Descriptive fields: name, description, category, tags

  • Fields the user will reference in natural language

Exclude from embedding:

  • Internal IDs (PRD-00847)

  • Dates and timestamps

  • Booleans (true/false)

  • Exact numeric values (97.50, 12)

  • URLs and images

  • Internal control fields

Including non-semantic fields pollutes the index. The model cannot create meaningful embeddings from "true" or "PRD-00847". This reduces search precision with no benefit.

How to Handle Non-Searchable Items

📍Strategy 1 — Separate search from filtering

The agent first runs semantic search on descriptive columns, then applies exact filters on numeric/boolean columns.

User: "I want running sneakers under $100 that are in stock"

  1. Semantic search: "running sneakers" → name, description, category columns

  2. Filter: price <= 100 AND available = true

  3. Returns items that passed both

📍Strategy 2 — Derived text fields

To make normally non-searchable data easier to query, create an auxiliary column that describes it:

price_range (text): "budget" / "mid-range" / "premium" -- Instead of letting the search try to interpret "89.90"

📍Strategy 3 — Explicit prompt instruction

"When searching for products in the Table, use semantic search on the 'description' and 'category' fields. Then filter by 'available = true'. For price range, use the 'price_range' field, not the numeric field."


📚 Knowledge Base

When to Use

Knowledge Bases are knowledge repositories for semantic lookup. The agent does not write to them — it only reads via the Knowledge Base Search Tool.

Use a Knowledge Base when:

  • Content is textual, unstructured, or semi-structured

  • Content is meant to answer questions, not to be manipulated

  • Volume is too large for the Prompt (above ~5000 characters)

  • Content changes editorially — you update it, not the agent

  • You need similarity-based semantic search

Examples:

Golden rule: if the agent is only going to read/consult, it's a KB (if long) or Prompt (if short and static).


Query Scoped by Document

By default, KB Search scans all documents in the base simultaneously. A scoped query restricts the search to one specific document.

When to Use

KB with documents from very different contexts

Multi-context agent with dynamic scoping

Compliance and information isolation

Very large KBs

Scoping reduces the search space and improves both precision and speed.

How to Implement in the Prompt

When Not to Scope

  • The question is genuinely cross-document

  • You don't know in advance which document is relevant

  • Small KB with few homogeneous documents

📄 PDF Reader Tool

When to Use

Use when the document does not exist beforehand — it is brought by the user at the moment of interaction.

Use cases:

The document is different for every user. It makes no sense to index it in a KB because each instance is unique. The agent only needs the content for that conversation.

PDF Reader vs Knowledge Base

Dimension
PDF Reader
Knowledge Base

When the document exists

At runtime (user sends it)

Pre-loaded in configuration

Who provides it

The user, during the conversation

The agent creator

Reading type

Direct file reading

Semantic search on vector index

Persistence

Temporary (lasts the conversation)

Permanent

Volume

One document at a time

Multiple indexed documents

Pitfall: using KB to process documents the user sends. KB does not accept uploads at execution time.

Pitfall: using PDF Reader for documents that are always the same. Inefficient — processes the same file repeatedly with no semantic search.

Using Both Together

There are scenarios where both make sense in the same solution.

Contract analysis agent:

Onboarding agent:

Last updated