Knowledge bases
Create a knowledge base, add websites, files, text, APIs and MCP servers, keep them fresh, connect them to agents, and fix sources that fail.
A knowledge base is a named set of sources: your website, your documents, pasted text, your own APIs and MCP servers. Amomic-AI reads each source, splits it into chunks, and makes them searchable. Any agent you connect to the knowledge base answers from those chunks.
This page is the how-to for the Knowledge page in the console. For how a question finds its chunks, and what to do when an agent says it doesn't know, read How retrieval works.
Who can do what
| Owner, Admin | Member | |
|---|---|---|
| See knowledge bases, their sources and connected agents | Yes | Yes |
| Use the Retrieval tester | Yes | Yes |
| Create, rename or delete a knowledge base | Yes | No |
| Add, edit, re-sync or remove a source | Yes | No |
| Connect or disconnect an agent | Yes | No |
Members get a read-only page: the buttons for writing are not shown at all. A live API source is a tool the agent can call, so changing one is an admin decision.
Plan limits. Knowledge is on every plan. The number of knowledge bases you can create is capped by plan: 1 on Free, 3 on Starter, 10 on Growth, and no plan cap on Enterprise. Every workspace also has a hard ceiling of 50. Sources, chunks and crawled pages are not capped by plan. See Limits and plans.
The Knowledge page #
Open Knowledge in the sidebar. Each knowledge base is a card with its name, its description, how many sources it has and how many chunks they produced.
A Dynamic badge means the knowledge base contains something that changes without you touching it: an API or MCP source, or any source with a refresh schedule. A knowledge base built only from uploaded files and pasted text never shows it.
Chunks are the pieces your content is split into, about 1,600 characters each. The chunk count is a quick way to tell how much the agent can actually draw on. Live API sources and MCP servers add no chunks, because they are called at answer time instead of being stored.
To delete a knowledge base, hover its card and click the trash icon. See Delete a source or a knowledge base before you do.
Create a knowledge base #
- 1
Open the dialog
On the Knowledge page, click New knowledge base. In an empty workspace the button reads Create a knowledge base.
- 2
Name it
Enter a Name (required, up to 80 characters). Add a Description if it helps your team pick the right one later (up to 500 characters).
- 3
Create
Click Create. The console opens the new, empty knowledge base. Add your first source from there.
If your plan's limit is reached, the console says Your plan includes 3 knowledge base(s). Upgrade to add more. (with your plan's number). At the workspace ceiling it says Knowledge base limit reached for this organization.
Split by topic, not by agent. One Warranty & service policy knowledge base can teach your chat agent, your phone agent and your booking agent at once. That is easier to maintain than three copies.
To rename a knowledge base or change its description, open it and click the pencil next to its name. The Edit knowledge base dialog has the same two fields.
Inside a knowledge base #
Click a card to open it. The header shows the description, the source count and the chunk count. Sources are listed on the left. Connected agents and the Retrieval tester are on the right.
Each source row shows:
- Its title. For a website this defaults to the address; for a file, the file name; for a live API source, the tool name.
- Its type and size. For example
Website · 142 chunks. A live API source shows its tool name instead of a chunk count. An MCP server shows how many tools it offers. - ↻ daily, ↻ weekly or ↻ monthly when it refreshes on a schedule.
- Key secured when it authenticates with headers you supplied. Hover it to see the header names.
- Action (amber) when it can change things in your systems, not only answer questions.
- Its status, on the right. See Source status.
Hover a row to reveal its actions: edit (pencil), Re-sync, and delete (trash). Edit and re-sync are hidden while the source is syncing.
Add a source #
Click Add source. The dialog has five tabs, one per source type.
| Tab | Use it for | Adds chunks | Can refresh on a schedule |
|---|---|---|---|
| Website | Anything already published: help centre, FAQ, policy and product pages | Yes | Yes |
| Files | Documents that exist as documents: a warranty PDF, a price sheet | Yes | No |
| Text | Facts that live nowhere else, such as the exception your team knows by heart | Yes | No |
| API | Data from your own systems, either stored on a schedule or fetched live mid-answer | Only when ingested | Only when ingested |
| MCP | An MCP server whose tools become abilities for the agent | No | No |
When a source is added, the console says Source added — syncing now. and the row starts showing its progress.
Website #
| Field | What it does |
|---|---|
| Website address | Required. Where the crawl starts. |
| Keep it fresh | How often to re-crawl: Only when I re-sync (the default), Every day, Every week or Every month. See Keep it fresh. |
How the crawler reads a site:
- It renders each page the way a browser does, so content that loads with JavaScript is read.
- It honours
robots.txt. - It reads the address you gave first. Then it reads the URLs in the site's
sitemap.xml, then links it finds on the pages. - It stays on the same host and its subdomains, ignoring
www.. Starting atveloriahome.inalso coverssupport.veloriahome.in. Starting atsupport.veloriahome.instays onsupport.veloriahome.in. - It skips cart, checkout and admin paths and non-page files, and treats URLs that differ only by query string (
?utm_source=…) as the same page. - It reads up to 60 pages per source. There is no page-limit, depth or include/exclude setting in the console.
A path does not fence the crawl
Starting at https://yourcompany.com/help does not keep the crawler under /help. After the start page it reads the site's sitemap, which usually lists the whole site, and follows links anywhere on the same host. On a large site, 60 pages can run out before your help pages are reached. To keep a crawl focused, start from a help-centre subdomain, or upload the documents or paste the key facts as text instead.
Two addresses are refused before anything is created:
That doesn't look like a valid website address.That address can't be reached from the crawler.The crawler only reaches the public internet. A staging site behind a VPN, an intranet or a private IP address can't be crawled.
While it runs, the row shows Crawling 34/57: pages read out of pages found so far, which grows as links are discovered.
Files #
Click Choose files and pick one or more files. Each uploads separately; when they are all sent, the console says Files uploading. and closes the dialog.
| Accepted | Notes |
|---|---|
PDF, Word (.docx, .doc), Excel (.xlsx, .xls), CSV, TXT, Markdown, HTML |
Text is extracted. Spreadsheet rows become lines of text. |
| Images: PNG, JPG/JPEG, WEBP, GIF | Read visually and turned into text, so a photo of a price board becomes usable knowledge. |
The limit is 15 MB per file. A file that's refused shows a toast with the file name and the reason, while the others carry on:
Unsupported file type .pages — use PDF, DOCX, XLSX, CSV, TXT, MD or images.File is too large (max 15 MB).The file is empty.
Files are never re-read on a schedule. When a document changes, upload the new version and remove the old one. If both stay, the agent will sometimes quote last year's prices.
Prefer the real document to a scan
A scanned PDF works, but every page has to be read visually and the chunks come out messier. If you have the original file, upload that. Save older .doc and .xls files as .docx and .xlsx first.
Text #
| Field | What it does |
|---|---|
| Title | Optional. Defaults to Pasted text. A descriptive title helps retrieval: Commercial-use exception beats Notes. |
| Content | Required. Up to 200,000 characters. |
Text sources are where the facts that exist nowhere else belong: the escalation path, the exception you make for commercial customers, the number on the contact page that nobody answers any more. They are often the most valuable chunks you have. Keep each one to a single topic.
API #
Your own HTTPS endpoint, in one of two modes. Choose the mode first; the form changes with it.
| Mode | What happens | Submit button |
|---|---|---|
| Ingest the response | Fetched now, and on a schedule if you set one. The response is converted to text and stored as chunks. Use it for a product catalogue, a branch list or a rate card. | Add source |
| Call it live + Look up data | Never stored. Registered as a tool the agent calls mid-answer for data that changes by the minute: stock, availability, one order's status. | Add live tool |
| Call it live + Take an action | A tool that changes something for the customer: reschedule a visit, accept a return. | Add action |
| Field | What it does |
|---|---|
| Method | GET or POST when ingesting or looking up. POST, PUT, PATCH, DELETE or GET for an action. |
| Endpoint URL | Required, public HTTPS. For an action, put values the agent fills in inside braces: /visits/{visit_id}/reschedule. |
| Headers (optional) | See Credentials for authenticated sources. |
| Keep it fresh | Ingest mode only. |
| Tool name | Live modes, required. Letters, digits and underscores; anything else becomes _ as you type. Use a short verb: check_service_request. |
| When should the agent use it? | Live modes. Plain words that tell the agent when to call it. For an action, be specific: this is what stops the agent acting too eagerly. |
Responses larger than 2 MB are refused. A live tool's answer is trimmed to a prompt-sized length before the agent reads it.
Tools and actions covers live tools and actions in depth: how the agent decides to call them, and the safety model for actions.
MCP #
Point at an MCP server and the tools it lists become abilities for your agent.
| Field | What it does |
|---|---|
| Server URL | Required, public HTTPS. |
| Headers (optional) | Usually an Authorization header. |
| What can this server do? | Look up data or Take an action. MCP doesn't say which of a server's tools change data, so you classify the whole server once. If any of its tools change data, choose Take an action. |
| Allowed tools (optional) | Comma-separated tool names. Leave it empty to allow everything the server lists. |
Click Connect server. When the row shows Connected, its detail line tells you how many tools were found. At most 20 tools from one server are used.
There is no test-connection button on the API or MCP tabs. Add the source and watch its status: Connected (or Synced ✓ when ingesting) means it worked; Failed shows the reason.
Source status #
| What the row shows | Meaning |
|---|---|
Syncing… |
Queued, or text extracted and chunks being stored. MCP tool discovery also happens here. |
Crawling 34/57 |
Website only. Pages read out of pages found so far. |
Synced ✓ |
Serving. Website, file, text and ingested API sources. |
Connected |
Serving. Live API sources and MCP servers, which store no chunks by design. |
Failed |
Something went wrong. The reason is printed under the row in red, and on the badge when you hover it. |
The page checks for progress every few seconds while any source is busy, so you don't need to reload.
Re-syncs are last-good-serving. When a source is re-read, its old chunks keep answering until the new ones are stored, then they are swapped. A re-crawl never leaves an agent briefly knowing nothing. If the re-read fails, the old chunks stay in place.
A source showing Connected with no chunks is working correctly.
Keep it fresh #
Websites and ingested API sources can re-read themselves. Pick the interval in Keep it fresh when you add the source, or later by editing it.
| Console label | Interval |
|---|---|
| Only when I re-sync | Never automatic. The default. |
| Every day | 24 hours |
| Every week | 7 days |
| Every month | 30 days |
There is no hourly option. If content changes more often than daily, use a live API source, which fetches at answer time.
- The next refresh is scheduled before a refresh starts, so a source that keeps failing retries at its next interval rather than in a loop.
- A source that is already syncing is skipped by the schedule.
- Re-sync on a row starts a refresh now. On a source that is already syncing the console says
This source is already syncing. - After a successful refresh every connected agent uses the new content straight away. On phone agents the call-time fact sheet is rebuilt too.
The refresh safety check. If a source that had at least 8 chunks comes back from a refresh with fewer than a quarter of them, the refresh is rejected and the old chunks keep serving. This protects you from a site redesign or a login wall silently emptying your agent's memory. The row shows Failed until the next successful re-read. If the content really did shrink that much, remove the source and add it again.
Edit a source #
Hover the row and click the pencil. You can change a source in place instead of deleting and re-adding it. The source keeps its identity, so a live tool stays the same tool to the agent.
| Type | Dialog | What you can change |
|---|---|---|
| Website | Edit website source | Title, Website address, Keep it fresh. A new address re-crawls the site from scratch. |
| Text | Edit text | Title, and Replace the content. Leave the content box empty to change only the title; the current text isn't shown. |
| File | Rename file | Title only. A file's content can't be edited; upload the new version instead. |
| API | Edit API source | Everything on the add form: mode, capability, method, URL, headers, schedule, tool name and description. |
| MCP | Edit MCP server | Server URL, headers, What can this server do?, Allowed tools. |
Click Save changes. If your edit changed what the source knows (an address, the text, a method, a header), the console says Saved — re-syncing now. and reads it again. If you only changed metadata such as a title or a description, it says Source updated.
A source that is still syncing can't be edited. The dialog says This source is still syncing. Once it finishes you can edit it.
Credentials for authenticated sources #
API and MCP sources can send up to 10 HTTP headers: an API key, a bearer token, a client id.
- Header values go straight to encrypted secret storage when you save. They are never shown again, in the console or anywhere else. The console keeps only the header names and shows Key secured on the row.
- When you edit the source, saved headers show
•••••••• unchanged. Leave the value empty to keep it. Type a new value only when you are replacing the credential. - To fix a mistyped header name, rename the row and leave its value empty. The saved value moves to the new name:
Renamed headers keep their saved value — you don't need to re-enter it. - To remove a header, click the × on its row.
- The form checks each row:
"X Key" isn't a valid header name.,Enter a value for Authorization.,Two headers have the same name.,At most 10 headers. - Authentication is header-based only. There is no OAuth flow and no client certificates.
If a stored credential goes missing, the source reports This source's credentials are missing; re-enter them on the source. Edit the source and type the value again.
Connect agents #
An agent answers only from knowledge bases connected to it. Creating a knowledge base doesn't teach any agent anything. There is no workspace-wide pool.
The Connected agents card lists every agent in the workspace, each marked Live or Draft. Live here means the agent's web chat widget is live. An agent that answers only on WhatsApp or the phone reads Draft, even while it is taking calls, so check the agent's Deployments tab for where it really runs. Click Connect or Disconnect. You can also attach a knowledge base from the agent's own Knowledge tab; see Agents.
Connecting and disconnecting take effect immediately
Connect a knowledge base and the agent answers from it on its very next message, on every channel it is deployed to. Disconnect it and the agent stops using it just as quickly. This is true from the agent's Knowledge tab too, even though that tab talks about publishing a version: the change is already live when you click. Use the Retrieval tester and the agent's test chat before you connect a new knowledge base to a live agent.
The same knowledge base can teach several agents. That is the usual shape: one policy knowledge base connected to your chat agent, your phone agent and your booking agent.
Built-in knowledge. When you add sources while setting up a web chat widget, they go into a knowledge base named after the agent, such as Veloria Support knowledge. It works like any other knowledge base, but it can't be disconnected from its own agent: This is the bot's built-in knowledge — delete its sources instead of disconnecting.
Members see the same card with Connected or Not connected badges instead of buttons.
Delete a source or a knowledge base #
Deleting is immediate, for every agent
Removing a source takes its chunks out of every connected agent's memory at once. The confirmation says how many, for example: That takes 104 chunks out of your agent's memory. Re-adding the source means crawling it again. Click Remove source to confirm.
Deleting a knowledge base (Delete in the confirmation) stops all its chunks serving every connected agent immediately, and its sources are gone. There is no undo for either.
If you only want an agent to stop using a knowledge base, Disconnect it instead. The knowledge base and its sources stay intact.
Limits #
| Limit | Value |
|---|---|
| Knowledge bases per workspace | Free 1, Starter 3, Growth 10, Enterprise no plan cap; 50 hard ceiling |
| Knowledge base name / description | 80 / 500 characters |
| Pages per website crawl | 60 |
| File size | 15 MB per file |
| Pasted text | 200,000 characters per source |
| Chunks per source | 1,500 |
| API response size | 2 MB |
| Tools used from one MCP server | 20 |
| Headers per source | 10 |
| Shortest refresh interval | Daily |
Troubleshooting #
| What you see | Why | What to do |
|---|---|---|
That address can't be reached from the crawler. when adding |
The address isn't on the public internet. | Use the public address, or upload the documents instead. |
Couldn't read any pages from that website. |
The site was reached but no page could be read, often because it blocks automated visitors. | Allow the crawler, or upload or paste the content. |
We reached the site but couldn't read any text on it. … |
The pages are images, an unusual embed, or behind a login. | Paste the content as text or upload the documents. |
Couldn't reach the endpoint. Check the URL and try again. |
The API didn't answer. | Check the URL and that it's publicly reachable over HTTPS. |
The endpoint response is too large (max 2 MB). |
The response is over the limit. | Return a smaller, filtered response, or use a live tool. |
The endpoint returned no readable content. |
The response was empty or unreadable. | Check the endpoint returns JSON or text with content. |
Couldn't reach the MCP server. Check the URL and try again. |
The server didn't answer. | Check the URL and that it's public. |
The MCP server rejected our credentials (401). |
The header is wrong or expired. | Edit the source and re-enter the header value. |
Our AI provider was busy. Re-sync to try again. |
A temporary capacity limit while processing. | Click Re-sync in a minute. |
Something went wrong while processing this source. |
Processing failed. After a scheduled refresh this is also what the refresh safety check looks like. | Click Re-sync. If a refresh keeps failing because the content shrank, remove and re-add the source. |
A source is Synced ✓ but has very few chunks |
Most pages had little readable text, or the crawl spent its 60 pages elsewhere. | Check the pages in a browser, and see the crawl warning. |
| The agent still doesn't know something | Usually retrieval, not the source. | Follow When the agent says it doesn't know. |
Where to go next #
How answers are found
How retrieval works: search, the retrieval tester, and fixing "I don't know".
Turn a source into an ability
Tools and actions: live API sources, MCP servers, and the difference between reading and doing.
Tune the agent that reads it
Agents: purpose, instructions, and the grounding policy.