# Knowledge base

Ground the assistant's answers in your client's business instead of the model's guesses

> Full REST + WebSocket API reference: https://api.happ.tools/reference

Attach files and URLs so the assistant answers from your client's real content — we extract, chunk, embed, and retrieve only what's relevant per question.

<KnowledgePageDemo />

## Add sources [#add-sources]

1. Open the **Knowledge** tab inside an assistant.
2. **Files** — PDF, DOCX, TXT, CSV, Markdown. PDF / DOCX up to 50 MB, TXT up to 10 MB.
3. **URLs** — crawled on add, re-fetched on a schedule.
4. **Plain text** — paste an FAQ, policy, or opening hours.

## How it's used [#how-its-used]

* Every reply runs vector search over the knowledge base; only the top chunks enter the LLM context (top-3, dynamic score threshold).
* Short items (hours, policies) can be marked non-vector — inlined into the system prompt so the AI always sees them.
* Embeddings use `text-embedding-3-large`, stored in Qdrant. The assistant calls the built-in `searchKnowledge` tool on demand.
* System-managed entries (e.g. allergens, compliance text) are read-only and kept in sync centrally.

**API:** [api.happ.tools/reference](https://api.happ.tools/reference)

## Next [#next]

* [Tools & webhook actions](/docs/tools) — give it real actions, not just info
* [AI control](/docs/ai-control) — when the AI hands off to a human
* [Channels](/docs/channels) — wire it to Telegram, Instagram, WhatsApp, voice
