Your agent is exactly as good as what it can retrieve. Most disappointing bots are not model problems — they are knowledge problems: the right document was never uploaded, or it was uploaded in a shape that retrieval cannot use. This is the playbook for getting that part right.
1. The five source types
Open a bot and look at the Knowledge Base group in the sidebar. Each entry is a genuinely different ingestion path, not five doors to the same box.
| Source | Use it for | Avoid it for |
|---|---|---|
| Documents | Files you already have — manuals, contracts, reports, spreadsheets | Content that changes weekly; you would be re-uploading constantly |
| Links | Anything already published on the web — help centres, docs sites, blogs | Pages behind a login, or JavaScript apps that render nothing server-side |
| Text | Short policies and facts that live in someone’s head, not in a file | Anything long — a 40-page policy belongs in Documents |
| Q&A | Questions where the answer must be worded exactly this way | General background; Q&A is a scalpel, not a corpus |
| Audio | Recorded training, webinars, briefings — transcribed on upload | Anything you also have as a document; the document is cleaner |
2. Documents
What is accepted
Knowledge Base → Documents accepts these file types, up to ten files per batch:
.pdf
Word
.doc · .docx
Excel
.xls · .xlsx
CSV & Markdown
.csv · .md
Uploading
- 1
Open Knowledge Base → Documents
Select the bot first — knowledge is scoped per bot, never shared implicitly.
- 2
Drop files onto the dropzone
Up to ten at a time. Files over your plan's per-file ceiling are rejected before upload starts rather than failing halfway.
- 3
Let each row finish
Text extraction, chunking and indexing happen per file. A short document is done in seconds; a long scanned PDF takes minutes because the pages have to be read optically first.
- 4
Spot-check in Test Bot
Ask a question whose answer only exists in the file you just added. If it comes back cited, that file is genuinely in the index.
3. Links & crawling
Knowledge Base → Links pulls content straight off the web. Four modes are available:
| Mode | What it does |
|---|---|
| Smart | Discovers the pages that look like real content and skips the navigational chaff. The right default for most sites. |
| Full website | Follows links recursively from the URL you give it. Thorough, and correspondingly noisy on a large site. |
| Single page | Exactly one URL. Good for a specific article, a pricing page, or a policy. |
| YouTube | Pulls the transcript from a video. Useful for recorded training and product walkthroughs. |
You review before anything is indexed
A crawl does not silently absorb whatever it finds. It discovers pages, then pauses and shows you the list. You select which pages to keep, and only those are stored and indexed. That review step is the single best defence against a knowledge base polluted with cookie banners, tag archives and paginated listing pages.
Keeping crawled content fresh
Crawls are point-in-time. When a source page changes, re-run the crawl to pick it up. Automated recurring source refreshes exist on the platform but are currently limited to managed listings rather than being available on every account — talk to us if you need a standing refresh schedule for a bot.
4. Text, Q&A and audio
Text
A single free-form body of text per bot. This is the right home for the things nobody ever wrote down properly: the escalation rule, the seasonal exception, the caveat everyone knows but no document states.
Q&A pairs
An explicit question and its exact answer. Reach for these when the wording is not negotiable — pricing, refund terms, anything with legal or contractual weight, and anything the model keeps getting subtly wrong no matter how good the source document is.
Audio
Upload a recording and Chat.co transcribes it into searchable knowledge. Both the total minutes and the number of audio files per bot are metered by plan. Transcripts of unstructured conversation retrieve less cleanly than written documents, so if the same material exists as a deck or a document, prefer that.
5. Limits
Knowledge base capacity is metered in characters of extracted text, not in files or megabytes. A 40 MB image-heavy PDF may contribute less than a 2 MB text one.
| Plan | Knowledge base | Max file size | URL crawls | Audio minutes |
|---|---|---|---|---|
| Starter | 2M characters | 50 MB | 500 | 30 |
| Pro | 5M characters | 100 MB | 10,000 | 120 |
| Business | 25M characters | 500 MB | 25,000 | 600 |
| Enterprise | Unlimited | 5 GB | Unlimited | Unlimited |
Two million characters is roughly a thousand pages of ordinary prose. Most bots that struggle are nowhere near a capacity limit — they are struggling on content quality.
6. Organising knowledge
Knowledge lives per bot. There are no folders inside a bot's knowledge base, and that is a deliberate constraint: the unit of separation is the bot itself.
One bot
Everything relates to one audience answering one kind of question. A product support bot over product docs. Simplest to run and to reason about.
Several bots
Audiences genuinely differ — a customer-facing bot and an internal-staff bot should never share a corpus, because the internal one contains things customers must not see.
The decisive question is not “is this a lot of content?” but “would I be comfortable if any of this reached any of these readers?” If the answer is no, that is a second bot, not a second folder. Managing multiple bots and teams covers the operational side.
7. What makes retrieval good
Structure beats volume
Retrieval works on passages. A document with real headings, short paragraphs and one idea per section produces passages that stand on their own. A wall of undifferentiated text produces passages that make no sense out of context — and out of context is exactly where they end up.
Say the thing the way people ask it
Your customers type “can I get my money back”, not “refund eligibility criteria”. If your content only ever uses the formal phrasing, add the colloquial one somewhere — a Q&A pair is the cheapest place to do it.
Delete contradictions
Two documents stating different return windows is worse than having neither, because retrieval will surface one of them unpredictably. When you supersede a policy, remove the old source rather than leaving both in place.
Re-test after every significant change
Keep a short list of questions you know the answers to and run them through Test Bot after each meaningful knowledge change. It takes two minutes and catches the case where a new upload quietly outranks the source that was answering correctly.
