Knowledge and citations
An AI with no knowledge of your product is a confident stranger. Knowledge sources are what it's allowed to answer from — and what it cites when it does.
Adding a source
Knowledge in the workspace settings, or /workspaces/:id/knowledge. Two kinds:
- Paste text
- Markdown or plain text straight into the box. Best for things that live in your head or in a doc nobody publishes — refund rules, shipping timelines, the answer to the question you get every Tuesday.
- Fetch URL
- Give an
httporhttpsaddress and Doorwick fetches the page and strips it to readable text. It also retains the labels and validated destinations of same-site public page links so the agent can guide a visitor to an exact next step without guessing a route. Good for a public FAQ, docs, demo, signup, or pricing page. It's a one-time fetch, not a subscription — see re-indexing below.
Every source needs a title. The title is what visitors see cited under an answer, so write it for them: "Refund policy", not "notes-v3-FINAL".
Discover pages from a website
Scan website explores a bounded set of public pages on one domain. Choose recommended pages, a specific path such as /help, or the entire public site. Doorwick respects the site's robots rules, uses sitemaps when available, and never follows unrelated domains. Recommended scans include customer-help and policy pages as well as onboarding destinations such as demos, trials, signup, activation, and getting-started pages.
Discovery is not indexing. Found pages appear under Recommended knowledge with their title, category, URL, and a reason for the recommendation. Select the pages you trust and choose Add selected; only then do they enter the same indexing and citation pipeline as a URL you added manually.
After every scan, Review all scanned pages shows each attempted URL and whether it is ready to add, already indexed, outside the selected scope, duplicated, excluded by the page, unreadable, or failed to fetch. Sites that render their body with JavaScript can still contribute bounded public page metadata such as titles, descriptions, and structured data; Doorwick displays the exact result before you approve it.
What indexing does
When you add a source, Doorwick splits it into chunks of roughly 1,500 characters, breaking on paragraphs and carrying about 200 characters of overlap so a sentence spanning a boundary isn't lost. Each chunk is embedded and stored scoped to your workspace — a source in one workspace is never visible to another.
The status badge tracks it, and the page polls until it settles:
- pending
- Queued.
- indexing
- Fetching, chunking, embedding.
- ready
- Live. The chunk count beside it tells you how much text actually made it through — a "ready" source with 1 chunk usually means the fetch found less than you hoped.
- failed
- With the reason on the row. Usually a missing AI provider, an embeddings endpoint that rejected the key, or a URL that didn't return a page.
Page questions and freshness
After a URL source finishes indexing, Doorwick writes three to five visitor-phrased questions that page can answer. The widget offers them when a visitor opens it on that exact page, and the assistant gives that page's passages a small head start when answering there. Questions are regenerated only when the page content changes, and only for sources you added yourself; managed releases do not generate them.
Citations from URL sources show when the page was last checked. If that date looks old, set a refresh interval on the source or reindex it.
Search from the widget
Ready sources can also appear in the widget's Help tab if you turn on Help search under Widget → Behavior. Visitors search the same index the agent uses; they do not get a separate help center. URL results open the page. Pasted text offers Ask about this. Sources that are not ready stay out of the tab, and the tab itself stays hidden while the index is empty. Citations in an AI reply are unchanged — see Widget conversations.
How an answer gets grounded
On each visitor message, the question is embedded and matched against your chunks. What comes back determines which of three things happens:
- Nothing indexed yet
- The agent answers from the model's own knowledge and your system prompt. No citations, no grounding — fine for a smoke test, not for production.
- Indexed, but nothing relevant
- The agent is told explicitly that your knowledge base has nothing on this, to say so rather than guess, and to hand off to a human. This is the behaviour you're paying for: a support bot that admits it doesn't know is worth more than one that improvises.
- Relevant passages found
- They're passed in with instructions to answer using only that material, and the sources they came from are attached to the reply as citations the visitor can act on. A citation from a URL source opens that page in a new tab; one from pasted text asks the agent to say more about that source.
Matches have to clear a relevance bar before they count, so a question about something you've never written about doesn't get answered from the nearest unrelated paragraph.
Guiding visitors to the next page
A ready URL source can do more than support an answer. When that page or one of its validated same-site links is a useful next step, Doorwick can attach a clear action such as View membership and pricing or Try the demo. The destination comes from the page you approved; the AI does not make up, shorten, or rewrite a route from the wording of the question.
Doorwick only offers a link when it can confidently match the recommendation to a known, healthy URL. Pasted-text sources have no destination, and discovered pages remain unavailable until you add and index them. A pending, failed, deleted, or uncertain source leaves the answer as ordinary text instead of showing a speculative link.
Gaps: questions the assistant could not answer
Knowledge → Gaps lists the questions the assistant could not answer from your sources, clustered by meaning so eleven ways of asking “how do I cancel?” are one row with a count. A gap is recorded when retrieval found nothing relevant, when the model declined to answer, and when a visitor marks an answer not helpful. Each row links to the real conversations so you can read the exchange.
- Write answer
- Opens a short form with the question as the title. Saving creates a text source, indexes it through the normal pipeline, and marks the gap answered by that source.
- Dismiss
- Hides a gap that does not deserve an article. Dismissed gaps keep counting quietly and can be restored.
- Reopened
- If the same question misses again after you answered it, the gap reopens. That is the honest signal that the article did not cover it; edit the source or write a better one.
- Save as answer
- In the inbox, an operator reply has a Save as answer action. The visitor's question becomes the title and the reply the body, with no names, and any matching open gap closes automatically.
Keeping sources current
Reindex re-runs a source from scratch: a URL is fetched again, its validated page-link inventory is refreshed, and pasted text is re-embedded. Old chunks and link destinations are replaced only once the new ones are built, so nothing goes blind mid-way.
URL sources don't re-fetch on their own — if your pricing page changes, reindex it. Delete removes the source and its chunks immediately, and the agent stops citing it on the next message.
What makes a good source
- Split by topic, not by document. Five sources named for the questions they answer beat one 40-page handbook.
- Write in answers. "Refunds are available within 30 days of purchase" retrieves and reads better than a policy clause.
- Use real paragraphs. Chunking breaks on blank lines, so a wall of text chunks worse than the same words with spacing.
- Leave out what changes weekly. Prices and dates go stale silently — put those behind a handoff instead.