Knowledge
Train your agent on your website, docs, help centre, and FAQs so every reply is grounded in your business rather than guessed.
Your agent does not answer from general world knowledge. It answers from your knowledge — the pages, documents, and FAQs you give it. This page explains what you can connect, how a reply gets grounded in a source, and why keeping that source current is the whole game.
What you can connect
| Source type | What it is | Notes |
|---|---|---|
| Website | A crawl of your public site, docs, or help centre | Crawled and cleaned to plain text; navigation, footers, and boilerplate are stripped |
| Files | Uploaded documents (product sheets, policies, price lists, catalogs) | Same chunk-and-embed path as a crawl |
| FAQs | Hand-written question-and-answer pairs | Each Q&A is kept whole as one unit, never split |
| Learned answers | Answers your team gives during a handoff, promoted to FAQs | Roadmap — needs an approval step before anything is trusted |
Knowledge is owned by your organisation, and each agent is linked to the sources it is allowed to read. Two agents in the same org can have different knowledge — a support agent reading the help centre, a sales agent reading pricing and case studies — without duplicating anything.
How ingestion works
Fetch
For a website, a crawler pulls the pages and converts them to clean markdown — main content only, so menus and cookie banners never become "knowledge". For files, we read the document directly.
Chunk
Each document is split into passages of roughly 400–500 tokens with a small overlap, cut on heading boundaries and carrying their heading breadcrumb so a passage still knows which section it came from. FAQs are atomic: one chunk per question, never split mid-answer.
Embed and index
Every chunk gets a vector embedding and a full-text index entry. The language of each document is detected at ingest so full-text search works on non-English content instead of quietly failing.
Ready
Chunks become retrievable for the agents linked to that source. During onboarding the crawl is progressive — your homepage and top-level pages land first, so you can test the agent while the rest of the site is still ingesting.
How a reply gets grounded
On every incoming message, before the model writes a single word, CoPhrase assembles the turn's context:
- your persona and instructions (see persona)
- your structured business facts
- the top few knowledge chunks retrieved for this specific question
- the contact's card and history
- guardrail directives
Retrieval is hybrid. Two searches run against your knowledge — a vector search (semantic: "how much is it" finds a page titled Pricing) and a full-text search (lexical: exact product names, SKUs, and error codes that embeddings blur). The two ranked lists are fused, and the best five to seven passages are injected into the turn.
Ties are broken on per-source authority and freshness that you control, not on a hard-coded ordering. A curated FAQ usually beats a crawled page — but not if the FAQ is two years old and the page is not.
The promise, and the limit
Every reply is traceable. The chunks used to write it are recorded with the reply, so you can always ask which source said that — and you can see, per chunk, how often it has been cited.
The agent's job is to answer from your data, not to guess. Retrieval confidence is banded:
| Confidence | Behavior |
|---|---|
| Strong | Answers from the retrieved passages |
| Weak | Answers cautiously, and is more likely to escalate |
| None | Does not free-generate. It sends a templated "I can't answer that" and escalates to a human |
Prices, policies, and opening hours are held to a stricter rule: they must come from your structured business profile or from a cited chunk. The agent is not permitted to invent them.
Grounding is not the same as being right
Grounding guarantees the agent answers from your source. It does not make your source correct. If your pricing page is stale, the agent will confidently quote stale prices — and it will be traceable back to the page that told it to. Wrong knowledge in, wrong answer out. This is why sync matters.
Keeping knowledge in sync
- Re-crawl a website source to pick up changes. Each document is content-hashed, so a re-sync only re-processes pages that actually changed — the rest are skipped, which keeps re-syncs fast and cheap (see billing).
- Edit FAQs directly for anything that changes faster than your website does, or that was never on your website in the first place.
- Watch what is being cited. Chunk-level citation counts show you which passages are actually carrying your conversations. A page nobody cites is dead weight; a page cited constantly deserves to be accurate.
- Watch what the agent could not answer. Escalations and "none"-confidence conversations are your knowledge gaps, surfaced as work rather than lost.
No website yet?
A crawl is the fastest path to a useful agent, but it is not the only one. You can start from a vertical template plus a short interview about your business, and add FAQs and uploaded files by hand.
Multilingual
Language is detected per document at ingest, and indexed accordingly. The agent mirrors the language of the incoming message — a Spanish question against an English knowledge base still gets a Spanish answer grounded in the English source.