Skip to main content
The knowledge base is the corpus your Keebai assistants answer from. It is a tree of folders and documents that you can write to from your own systems, query as a retrieval backend, and assign to specific assistants.

What you can do

Browse the tree

Read the full folder and document hierarchy for your company.

Publish content

Create folders and push documents from markdown — your CMS, a docs pipeline, or a scheduled sync.

Retrieve

Full-text, vector, and hybrid search — usable as retrieval for your own LLM, not just Keebai’s.

Assign to assistants

Decide which assistants can read which nodes.

Scopes

An external app that only uses Keebai as a retrieval backend needs knowledge:read and knowledge:query — nothing else. Keep knowledge:delete out of any token a sync job holds.

Everything is a node

Folders and documents are both nodes in one tree, which is why deletion is a single endpoint rather than one per type. That has a consequence worth stating plainly: deleting a folder deletes its descendants. There is no “move children up” behaviour and no recycle bin.

Documents are written as markdown

You publish markdown; Keebai converts it to BlockNote (the editor format the portal uses) and reindexes it for retrieval. That conversion is one-way — read a document back and you get the stored structure, not the markdown you sent. Keep your source of truth on your side and treat Keebai as the published copy. Indexing happens on write, so a document is searchable shortly after creation rather than instantly. Do not write a document and assert on a search result in the same breath.

Publishing does not mean an assistant can read it

Creating a document puts it in the tree. It does not make any assistant use it — assignment is a separate, explicit step. A sync that creates documents and never assigns them produces a knowledge base that looks full in the portal and changes nothing about what your assistants say. The usual pipeline is: create folder → create documents → list assistants → assign.

Errors

Branch on error.code, not on the message text.

Next steps

Read the tree

See what is already there before you write.

Publish a document

Push markdown and index it for retrieval.