What the knowledge base is
The knowledge base holds the background information your Finn needs about your business: menu, pricing, hours, policies, FAQs. When a caller asks a question, the Finn retrieves matching content from the index and answers from it.
Everything in the knowledge base is searchable across every call that Finn handles. It is not per-caller storage. Account balances, order status, and anything else that differs by caller belong in a live lookup instead. See tools-custom and integrations.
Configure it in the dashboard: Create New Finn → Knowledge Base tab. To edit later, go to View All Finn → your Finn → Edit → Knowledge Base. There is no public API endpoint for knowledge base sources.
Three source types, one index
| Source | What it is |
|---|---|
| Uploaded files | PDF, DOCX, Markdown, plain text |
| Pasted text | Content typed or pasted directly into the editor |
| Website imports | A URL the platform crawls and indexes |
All three feed a single index per Finn. At call time the Finn does not distinguish between them.
Uploaded files
| Format | Best for |
|---|---|
| Product manuals, policy documents, brochures | |
| DOCX | Knowledge the team maintains and edits |
| Markdown (.md) | Technical docs |
| Plain text (.txt) | Simple content |
Limits:
| Limit | Value |
|---|---|
| Max file size | 25 MB per file |
| Max files per Finn | 100 |
| Total indexed size | 500 MB per Finn (varies by plan) |
The platform extracts text, tables, and headings. Images are skipped. Scanned PDFs with no embedded text layer produce nothing usable, so run OCR on them before uploading. A scanned brochure that uploads without error will still leave the Finn unable to answer anything from it.
Split content into several focused files rather than one large document. Retrieval matches on smaller units, and a single 200-page PDF covering ten topics returns weaker matches than ten files covering one topic each. Strip headers, footers, and page numbers, which add noise to the index. One topic per file also means you can update that topic without re-indexing everything.
Pasted text
For content that does not warrant a file. Limits: 100,000 characters per paste, 10 pastes per Finn.
Use it for FAQ snippets, short product descriptions, and content that changes daily such as a current promo code. For content that changes faster than you can edit it, use a webhook lookup instead.
Website imports
Give the platform a URL and it crawls the site.
| Option | Default | Notes |
|---|---|---|
| Max depth | 2 | Levels of links followed from the root |
| Max pages | 100 | Hard cap regardless of depth |
| Include paths | * | Glob whitelist, e.g. /help/* |
| Exclude paths | /login*, /cart* | Glob blacklist |
| Re-crawl frequency | weekly | Or manual |
Crawling works on public help centers, FAQ pages, product catalogs with clean HTML, and static-rendered marketing pages.
Three cases fail. Pages behind a login are not reachable. Single-page apps that render content with JavaScript after load index as empty or near-empty, so upload files for those instead. Sites that disallow crawling in robots.txt are skipped, because the platform respects it.
How retrieval works during a call
- The Finn forms a query from what the caller said.
- The platform searches the index using hybrid vector and keyword matching.
- The top matching snippets are injected into the LLM prompt.
- The Finn answers from those snippets.
To see what was retrieved on a specific call, open the Data Extractor Sidebar → Knowledge tab in the dashboard. This is the first place to look when a Finn gives an answer you cannot explain. See call-logs.
Fixing bad answers
Wrong or off-topic answers usually trace to the content, not the model.
- Vague answers to a specific question. Add a dedicated file for that topic. If "what is your refund policy" returns hedged answers, the index has no concentrated refund content to match.
- Inconsistent answers across calls. Two sources say different things and retrieval picks whichever scores higher on that phrasing. Audit for contradictions and reconcile them.
- Answers to questions you never wanted answered. Constrain scope in the prompt, not the index. Tell the Finn what it covers and what to do otherwise: "You only answer questions about scheduling. Anything else, transfer to a human." See agents-prompting and tools-transfer.
- Old content winning over new. Premium plans allow per-source priority so newer sources outrank older ones.
What does not belong here
| Content | Use instead |
|---|---|
| Per-caller data (balances, order status) | Webhook lookup, see tools-custom |
| Sensitive data (SSNs, full card numbers) | Never place in the knowledge base at all |
| Content that changes hourly (live pricing) | Webhook lookup |
The knowledge base is for background context identical for every caller. Sensitive values placed here are retrievable on any call by any caller who asks the right question. See compliance and retention.
Re-indexing
Re-indexing happens automatically when you add, remove, or edit a source. Website imports also re-index on the crawl schedule. To force a full rebuild, use Knowledge Base → Re-index Now in the dashboard.
Small knowledge bases re-index in seconds. A 500 MB index takes a few minutes. Answers during a rebuild may reflect the previous state of the index.
Cost
Storage and queries are included in your plan up to the limits above. Exceeding them requires a plan upgrade.
Next
- agents-prompting — constrain what the Finn answers.
- tools-custom — live lookups for caller-specific data.
- integrations — connecting external systems.