# Knowledge

> Teach GiovBot about your business with your website, documents, FAQs and text, and learn the limits of each source.

GiovBot answers only from the knowledge you give it. Each source is split into short passages. When a visitor asks something, GiovBot looks up the passages that match the question and writes its answer from them.

You manage an agent's knowledge in **GiovBot → your agent → Knowledge Base**. In the setup guide, the same sources are added in the **Teach it** step.

## Source types

| Type | What to add | Limits |
|---|---|---|
| Website | A public `https://` address | 20 pages by default, up to 50 |
| Documents | PDF (`.pdf`) or Word (`.doc`, `.docx`) files | Up to 20 MB per file; 10 MB per file in the setup guide |
| FAQs | Question-and-answer pairs typed in, or an imported JSON file | Up to 20 MB per file |
| Text | Any text you paste, with a label | — |

A source shows **Ready** when GiovBot can use it, **Syncing** while it's being read, and **Failed** if it couldn't be read. Its row also shows how many passages it produced. A failed source shows the reason. To try again, resync a failed website. For a failed document or FAQ file, remove it and upload it again.

## Websites

1. Choose **Add source → Website**, enter the address and choose **Queue crawl**.
2. GiovBot reads that page, the links on it and your `sitemap.xml`, and stays on the same site.
3. Large sites take a few minutes. You can keep working while it runs.

Choose **Configure RAG** on a website source to change what is read:

- **Max pages**: 1 to 50. The default is 20.
- **Include paths** and **Exclude paths**: one path per line, to limit the crawl to parts of your site.
- **Loaded pages**: the pages that were read. **Exclude** removes a page from answers. You can crawl it again later.

Choose **Resync** after you change your site. GiovBot doesn't re-read it on its own.

> [!TIP]
> GiovBot reads the HTML your server sends. Text that only appears after JavaScript runs in the browser may be missed. If a page comes back nearly empty, add that content as a document or as pasted text instead.

## Documents

Upload PDF or Word files. In the setup guide you can drop several at once.

- PDFs are read up to their first 200 pages.
- Text is cut off after 2,000,000 characters.
- `.docx` is read in full. Older `.doc` files are read on a best-effort basis and may need cleaning up.
- Scanned PDFs that contain only images have no text for GiovBot to read. Upload a version with real text.

## FAQs

In the setup guide, type each question and its answer, then choose **Save FAQs**. They're saved together as one source called "Frequently asked questions".

You can also import a JSON file. Any of these shapes works:

```json title="faqs.json"
[
  { "question": "Do you ship internationally?", "answer": "Yes, to over 40 countries." },
  { "question": "How long does delivery take?", "answer": "5 to 10 working days." }
]
```

```json title="faqs.json"
{ "faqs": [{ "question": "Do you ship internationally?", "answer": "Yes, to over 40 countries." }] }
```

```json title="faqs.json"
{ "Do you ship internationally?": "Yes, to over 40 countries." }
```

Entries without both a question and an answer are skipped.

> [!NOTE]
> The import box also accepts `.csv` files, but CSV import isn't supported yet. For now, convert your FAQs to JSON, or paste them as text.

## Pasted text

Choose **Add source → Pasted text**, give it a label and paste the content. It's ready straight away. Use it for policies, opening hours and anything else that isn't on your site.

## Sharing sources between agents

Sources belong to the workspace. The **Workspace library** on the Knowledge Base page lists every source, and **Attach** adds one to the current agent.

- **Detach** removes a source from this agent only.
- **Delete** removes the source from the workspace and from every agent that uses it.

Which sources are attached is part of the agent's draft, so attaching or detaching takes effect when you publish. A source's content is shared: when you resync a website, every agent using it gets the new pages straight away, without publishing.

## Check what GiovBot finds

**Test RAG** on the Knowledge Base page lets you ask a question and see the passages GiovBot would use. In the setup guide's test chat, each reply lists the sources it drew on.

If the right passage doesn't come up, add a short FAQ or a pasted text that answers the question in plain words.

## Known limits

- **Works best in English.** Knowledge and questions in other languages match less well.
- **Recent changes can take up to an hour.** GiovBot reuses results for questions that were asked recently. A passage you just added can take up to an hour to appear for those questions.
- **Stalled jobs time out.** A crawl or import that makes no progress for 20 minutes, or waits in the queue for three hours, is marked "Indexing timed out". Try it again. If it fails several times in a row, it's marked "Indexing did not finish after several attempts".
