> ## Documentation Index
> Fetch the complete documentation index at: https://docs.moneypenny.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# The knowledge library

> Documents and websites for your workspace that agents can be assigned to search at conversation time.

The **Knowledge** page (sidebar: **Build → Knowledge**) holds everything your agents can answer from: documents you upload, text you paste, and websites the Hub reads for you. Knowledge belongs to your workspace, not to one agent — add a source once, then assign it to as many agents as need it from each agent's own Knowledge tab. See [Giving an agent knowledge](/building/agent-knowledge) for that side.

At conversation time, an agent searches the sources it's been assigned and answers from what it finds — so the quality of its answers follows directly from what you put here.

## Four ways to add knowledge

Choose **Add to Knowledge** at the top of the page. (When your Knowledge is empty, the same four options appear as cards on the page itself.)

### Upload document

Pick **Upload document** to add files — PDF, DOCX, PPTX, XLSX, CSV or TXT, up to 25 MB each. You can drag in up to 25 files at once; they upload a few at a time and the rest queue automatically. The Hub then reads and indexes each file in the background, and the Knowledge list shows when it's ready to search.

If you upload a file that's identical to one already in your Knowledge, the Hub tells you and doesn't store it twice. If a file with the same name already exists but the content differs, you choose what happens: **Replace** (every agent using it gets the new version), **Keep both**, or **Skip**.

<Tip>
  Scanned or photographed documents with unclear or handwritten text may not extract cleanly, which can affect answer quality. If you can, upload the original file rather than a scan.
</Tip>

### Add text

Pick **Add text** to paste content straight in — opening hours, key policies, product facts, anything short and factual. Give it a title, paste the text, and it's searchable like any other source. Unlike uploaded files, pasted text stays editable afterwards.

### Add website

Pick **Add website** and enter the address. The Hub starts at that page and follows links on the same site, reading each page it finds. You control the reach:

* **How deep to go** — 1 fetches just the starting page's links, 2 the next level, and so on.
* **Most pages to fetch** — a ceiling on how many pages are read.
* **Include patterns** and **Exclude patterns** — limit the crawl to parts of the site (for example include `/docs/*`, exclude `/login`).

Once added, click the website's row to see every page that was read, and open any page to check its content. Use the **Fetch pages** action on the row whenever the site has changed and you want the Hub to read it again.

### Add transfer directory

Pick **Add transfer directory** to upload a spreadsheet of who calls should go to — a CSV or XLSX with a "Key" column naming who or where each row is for. A transfer directory is different from ordinary knowledge: only your agents' transfer action looks rows up in it, and its contents are never used to answer general questions, so the names and numbers in it stay out of everyday answers.

A row marked as a transfer directory carries a **Transfer directory** chip. If you stop needing it, its row menu offers **Stop using as a transfer directory** — the file goes back to being ordinary knowledge and is re-read from scratch.

## What each row tells you

Every source row shows more than a name:

* **Which agents use it** — each agent appears as a chip, so you can see a source's reach at a glance. A source no agent uses yet says so.
* **Status** — a healthy, ready source shows no status at all. You'll see a chip only while something is happening (*processing…* for a document being read, *fetching…* for a website being crawled) or when something went wrong (*failed*, *couldn't fetch*).
* **What was read** — uploads report back in plain terms. A spreadsheet's row says things like how many sheets were read, how many rows in how many sections, and which column its current figures came from — so you know what the agent will be answering from before anyone asks it anything.
* **Why an upload failed** — when a file can't be read, the reason appears on the row in plain words, with an **Upload again** link right there to retry once you've fixed it.
* **Who uploaded it and when** — uploaded files carry their provenance on the row.

## Editing and removing sources

Uploaded files and crawled pages are read-only — to change one, use **Download original** from the row's menu, edit the file, and re-upload it. Pasted text and website settings stay editable in place. Uploaded files also offer **Preview extracted text**, which shows exactly what the Hub read from the file.

To remove a source, use **Delete** on its row. If any agents are using it, the confirmation warns you how many will lose access — so you can't quietly pull knowledge out from under a live agent.

## What's next

Adding a source here doesn't change any agent by itself. Head to an agent's Knowledge tab to [assign sources to it](/building/agent-knowledge), then [test the agent](/building/testing) to hear it answer from what you've added.
