Knowledge bases
A knowledge base is a store of your own content that flows can search, query, and traverse at run time. You build it once — upload documents, spreadsheets, or let AI extract a graph — and any flow in your workspace can use it. The knowledge base lives independently of the flows that read it: update the knowledge, and every flow wired to it sees the new content on its next run.
Knowledge bases live in Workbench under Knowledge Bases in the workspace navigation.
Three types
When you create a knowledge base, you pick its shape. The shape determines how content is ingested and which nodes can read it.
Documentssearch by meaningUpload markdown, text, CSV, PDF, or DOCX files. Each document is split into chunks and embedded, so flows can search it by meaning (semantic search) or by exact words (keyword search), and page through documents chunk by chunk.
Spreadsheetsquery with SQLUpload CSV files. Each becomes a typed table your flows query with SQL — real filters, joins, and aggregates over your data, not text search. Column types (numbers vs. text) are inferred from the data. No embedding step, so building one draws no inference credit.
Knowledge graphentities and relationshipsUpload the same document formats. Instead of chunking, AI reads them and extracts the entities they mention (people, products, places, concepts) and the relationships between them. Flows can then answer structural questions — "what depends on X?", "how are A and B connected?" — that text search can't.
All three are workspace-visible by default and respect the same visibility controls as flows.
Creating one and adding knowledge
- Open Knowledge Bases and pick a type from the gallery.
- On the detail page, click Add knowledge and drop in files (drag-and-drop or browse).
- Ingestion runs in the background — the page shows progress and tells you when the content is ready.
Adding more files later adds to the knowledge base; it never replaces what's already there. A documents knowledge base keeps its existing documents, a spreadsheet one keeps its existing tables, and a graph merges new entities into the graph it already has — a re-mentioned entity enriches the existing one instead of creating a duplicate.
Documents: chunking and embedding
The Documents type splits each file into overlapping chunks before embedding. You can tune this per knowledge base in Edit details:
- Frontmatter — strip YAML frontmatter into document metadata (cleaner search results), or leave it in the text.
- Chunking — the default recursive splitter works well for most content. For full control, pick Custom and choose one of your own Workbench flows as the chunker: it receives
text(one document's content) anddocument_nameas inputs, and must return{ "chunks": ["...", "..."] }— an array of strings, in order. Your flow decides everything: split by headings, by sentences, semantically, whatever the content needs.
You can also change the embedding model from the detail page; existing content is re-embedded with the new model.
The detail page includes a test search tab, so you can try queries against the knowledge base before wiring it into a flow.
Knowledge graph: the canvas
A graph knowledge base's detail page is an interactive canvas:
- Overview shows the most-connected entities and the relationships among them. Very large graphs show the most important slice, with the full counts alongside.
- Walk the graph by double-clicking any entity — the view re-centers on its neighborhood, and a breadcrumb trail records your path.
- Edit by hand: add entities, connect them with typed relationships, fix names and descriptions, or delete extraction mistakes. You can also start from an empty graph and build it entirely manually. Deleting an entity removes its relationships with it.
- A list view sits alongside the canvas with searchable, paginated entities and relationships.
Entities in a graph are also embedded, so semantic search works there too — a flow can find a starting entity by meaning, then walk outward from it.
Using a knowledge base in an agent
The fastest path: open a flow in the agent editor, and under Capabilities choose Add capability → Knowledge base. Pick one of your workspace's knowledge bases and Workbench wires everything for you. What gets wired depends on the type:
- Documents — two strategies, switchable from the row's settings:
- Agentic (the default): the model gets search as a tool and decides when to use it. Optional extra tools let it browse — list the documents, page through chunks, or read a whole document. Best when not every message needs retrieval.
- Every turn: each user message is automatically searched and the results are placed into the system prompt before the model answers. Predictable grounding on every reply. This inserts a
{{data}}placeholder into your system prompt — keep it; that's where the retrieved content lands (the editor warns you if it goes missing).
- Spreadsheets — the model gets your table schemas in its system prompt (via a
{{tables}}placeholder) and a SQL tool to query them. - Knowledge graph — the model gets the full toolkit: semantic search to find a starting entity, plus tools to list entities, fetch an entity's neighbors, find the path between two entities, and query the graph with SQL.
Attach as many knowledge bases as the agent needs — they appear as rows in the capabilities list, each with its own settings.
Using a knowledge base on the canvas
In the full editor, knowledge access is explicit: drop a Knowledge Base node, pick which knowledge base it references, and wire its output into any knowledge node's knowledge_base input. One Knowledge Base node can feed many readers, and a flow can reference several knowledge bases side by side.
Knowledge nodes can run two ways:
- In the data flow — wired inline, they run on every execution. Example: search on every message and feed the results into a prompt.
- As tools on a model — connected to a model with a plugin link, they run only when the model decides to call them. The
knowledge_basewiring stays invisible to the model; it just sees a search tool.
The knowledge nodes
| Node | What it does | Works with |
|---|---|---|
| Knowledge Base | References one of your knowledge bases; its output feeds every node below. | all types |
| Semantic Search | Finds chunks (or graph entities) by meaning. Tunable result limit and similarity threshold. | Documents, Knowledge graph |
| Keyword Search | Exact word/phrase matching, ranked by occurrences. | Documents |
| List Documents | Lists what's in the knowledge base — names, types, sizes, chunk counts. | Documents, Knowledge graph |
| Read Chunks | Pages through one document's chunks in order. | Documents |
| Expand Chunk Context | Given one chunk, returns it with its neighbors — more context around a search hit. | Documents |
| Get Chunk by Index | Fetches one specific chunk of a document. | Documents |
| Combine Document Chunks | Reassembles a full document from its chunks. | Documents |
| Describe Tables | Emits table schemas plus sample rows — paste-ready context for a model that's about to write SQL. | Spreadsheets, Knowledge graph |
| Query Knowledge Base | Runs SQL (SQLite dialect) against the knowledge base's tables. | all types |
| List Entities | Lists graph entities, most-connected first, with type and name filters. | Knowledge graph |
| Get Entity Neighbors | One hop of traversal: every relationship touching an entity, with what's on the other end. | Knowledge graph |
| Find Entity Path | The shortest chain of relationships connecting two entities — "how are these related?" | Knowledge graph |
Knowledge nodes fail soft: if a search finds nothing or a knowledge base is empty, they return empty results and an explanatory message rather than crashing the run — the model (or your flow logic) can recover and try another approach.
Good to know
- Ingestion is additive. To remove or replace content, edit it at the source and re-add, or (for graphs) edit the graph directly on the canvas.
- Big graph uploads are batched by you. Extraction reads documents in sections, and one ingestion caps how many sections it will process; a very large upload is rejected up front with the count, so you can split it.
- Concurrent edits are safe. If two people edit a graph at once, or an ingestion finishes while you're editing, the second write is asked to reload instead of silently overwriting the first.
- Sizing: knowledge bases are built for the working knowledge of a team — docs, handbooks, catalogs, datasets — not for warehouse-scale corpora. Your plan's storage allowance is the guide.
Where to go next
The agent editor end to end — add a knowledge base as a capability.
ConceptNodesThe full catalog the canvas gives you, knowledge nodes included.