Botpress Knowledge Base: Make Your Bot Answer From Docs
How-to — — by Mahmoud Zalt
How to add websites, documents and tables to a Botpress Knowledge Base, and how to make sure the bot actually searches them before it answers.
There is a specific kind of frustration that shows up a day or two into building a Botpress bot. You uploaded the PDFs. You added the website. The bot still answers from general knowledge, or says it does not know, and nothing in the interface tells you why.
Almost always it is one of two things. Either the source did not index the way you assumed, or the node doing the answering was never told to search. This guide covers both, in that order, because fixing the second one without the first just gives you confident wrong answers.
What is a Botpress Knowledge Base?
A Knowledge Base is a set of information sources you give your bot. Botpress describes it as a way to have the bot reference specialised material, such as company policies, pricing or troubleshooting guides, so its answers stay scoped to your topics rather than to whatever the model already knows.
Under the hood this is retrieval-augmented generation. The bot searches the sources you selected, gets a ranked set of results back, and writes its reply using them. That distinction matters: the bot is not memorising your documents, it is looking them up each time it needs them.
What can you put in a Botpress Knowledge Base?
Botpress documents six kinds of knowledge source. They behave differently enough that picking the wrong one is a common cause of a bot that will not answer properly.
| Source type | What it is | Good to know |
|---|---|---|
| Websites | A crawled site, indexed for retrieval | Enter a root domain and Botpress discovers the subpaths under it. Choose Specific Web Pages instead if you only want exact URLs. |
| Documents | Files you upload | PDF, HTML, TXT, DOC, DOCX and MD are supported, up to 50 MB each. You can upload through the interface or programmatically through the Files API. |
| Tables | An existing table connected as a source | Lets people ask natural-language questions about the data. It needs at least one searchable column, and you can filter to specific columns. |
| Web Search | Live search of the internet | Different from an indexed website. You can restrict it to specific sites, allow the whole web, or exclude domains, and filter to pages found in the last 24 hours, 7 days or 30 days. |
| Rich Text | Formatted content written in the platform | For facts that live nowhere else yet. Created and edited directly in the Knowledge Base. |
| Integrations | Sources pulled from a connected tool | Compatible integrations such as Notion and Google Drive appear alongside the native options, and some provide their own synchronisation cards. |
The website option is the one to be deliberate about. Pointing it at a root domain is fast, but it takes everything under that domain, including pages you would rather the bot never quote. If your site has a careers page, an old campaign landing page and a blog you no longer stand behind, Specific Web Pages is the safer starting point.
How do you add a knowledge source in Botpress?
Go to the Knowledge section of your agent's menu and select Add Knowledge Source to add to an existing Knowledge Base, or Add Knowledge Base to create a new one. Botpress notes that your agent will automatically reference the sources you add when answering users.
- Open the Knowledge section — Find Knowledge in your agent's menu. The top of the section shows an overview of what you are consuming, because sources count against your File Storage and Vector DB Storage.
- Decide whether you need a second Knowledge Base — Choose + Add Knowledge Base if this material should be searchable separately from what you already have. Choose + Add Knowledge Source to add to an existing one. Splitting by subject is what later lets the bot pick the right body of knowledge for a question.
- Pick the source type — Websites, Documents, Tables, Web Search, Rich Text, or a connected integration. For a first pass, a small set of documents or a handful of specific web pages beats a whole domain.
- Set the crawl behaviour for websites — Botpress lets you configure a recrawling schedule so the index keeps up with the live site. Daily is among the options. Content that changes weekly does not need an hourly crawl.
- Manage the source after it indexes — A website source has a Manage button offering Reconfigure to change the recrawling frequency, Resync to trigger a manual recrawl, and Remove this source. Resync is what you press after publishing a page you need the bot to know about today.
- Watch your storage — Usage counts towards File Storage and Vector DB Storage, with the overview at the top of the section. If you run out, Add Storage is offered there.
One habit is worth forming early. Add sources in small batches and test after each one. When a bot starts answering badly after you have loaded twelve sources at once, you have no way to tell which one poisoned the well.
Why is my Botpress bot not using my knowledge base?
Most often because a Standard Node is answering. Botpress documents this clearly: Standard Nodes do not consult Knowledge Bases automatically. You have to add a card that does it, either a Capture Information Card or a Query Knowledge Bases Card.
An Autonomous Node behaves differently. It has a default Search Knowledge Card that queries all of your Knowledge Bases, and its built-in tools include one for searching internal knowledge. It also has a Search Knowledge section where you specify which Knowledge Bases it is allowed to reach.
Two controls do most of the work here. The Included Knowledge Bases dropdown limits which bases a card searches, and the Instructions field supplies the context the bot uses to choose between them.
There is also a documented way to detect that nothing was found, so you can branch to a fallback rather than let the bot improvise. Botpress gives this condition for it:
That single line is the difference between "I could not find that in our documentation, would you like a human?" and a fluent, plausible answer that nobody in your company ever wrote. Handling the empty case is the highest-value thing most people skip.
How do you tell whether the bot actually searched?
Use the Emulator in Studio, opened with Cmd or Ctrl plus E. It prints inline logs alongside the conversation, and Knowledge Base activity and results are among the things it reports.
That is the fastest diagnosis available. If you ask a question your documents answer and the log shows no Knowledge Base activity, the problem is routing, not indexing. If it shows a search that returned nothing useful, the problem is your sources.
Worth saying plainly: this layer is where a lot of the ongoing effort in any bot platform lives. Sources drift, the site changes, a new pricing page goes up and nobody resyncs. It is exactly the maintenance we tried to remove at Sistava, where an AI Employee holds its own knowledge and keeps it current as part of doing the job, rather than as a separate index you own and remember to refresh.
None of that takes away from what Botpress gives you here. Six source types, per-source crawl control, storage you can see, and an explicit condition for the empty-answer case is a genuinely well-specified retrieval layer. It just needs someone to own it.
FAQ
What file types can you upload to a Botpress Knowledge Base?
Botpress documents PDF, HTML, TXT, DOC, DOCX and MD, with a limit of 50 MB per document. You can upload them through the interface or programmatically through the Files API. If your material is in a format outside that list, converting to PDF or Markdown before uploading is the straightforward route.
Why is my Botpress bot ignoring the knowledge base I added?
The most common cause is that a Standard Node is answering, and Standard Nodes do not search Knowledge Bases automatically. You need to add a card that queries them, either a Capture Information Card or a Query Knowledge Bases Card. Autonomous Nodes are different, they come with a default Search Knowledge Card that queries all Knowledge Bases. Open the Emulator and look for Knowledge Base activity in the inline logs to confirm which situation you are in.
How do you keep a Botpress website source up to date?
Website sources support recrawling. From the Manage button you can Reconfigure the recrawling frequency, which controls how often the Knowledge Base updates, or Resync to trigger a manual recrawl immediately. Manual resync is what you want after publishing something the bot needs to know about today rather than at the next scheduled crawl.
What is the difference between a website source and web search in Botpress?
A website source is crawled and indexed ahead of time, so the bot searches your copy of that content. Web Search queries the internet in real time instead. Web Search can be restricted to specific sites, opened to the entire web, or set to exclude certain domains, and it can be filtered to pages found within the last 24 hours, 7 days or 30 days.
Can a Botpress bot answer questions about data in a table?
Yes. Tables are one of the documented knowledge source types. You connect an existing table so people can ask natural-language questions about the data in it. The table needs at least one searchable column, and you can filter the source to specific columns if you do not want everything exposed to the bot.
How do you stop a Botpress bot from making up an answer?
Handle the empty case explicitly rather than hoping. Botpress documents a condition you can use to detect that no answer was found, checking that the knowledge agent's answer for the turn is not set, and branch from there to a fallback message or a human handoff. Scoping each Search Knowledge Card to the right Knowledge Base and writing clear card instructions also reduces the odds of the bot retrieving irrelevant material and building an answer on it.
Sources
- Botpress documentation, Knowledge Bases introduction
- Botpress documentation, Add sources to Knowledge Base
- Botpress documentation, Add knowledge sources
- Botpress documentation, Autonomous Node
- Botpress documentation, Emulator
- DataCamp, Botpress Tutorial: Build and Deploy AI Chatbots