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

# Knowledge Base

> How to train your agent with your company's content.

# Knowledge Base

The Knowledge Base is the set of information you train your agent with. The more complete and accurate it is, the better answers the bot gives.

![Knowledge Base list](https://mintcdn.com/chatnorris/_RNPg7jBCB9AE-Bf/images/Lista-de-base-de-conocimientos.png?fit=max\&auto=format\&n=_RNPg7jBCB9AE-Bf\&q=85\&s=248e0abcf4c0f61160927f399deea804)

## Source types

You can add information in several ways:

> [card] URL
>
> Enter the address of a web page, blog, documentation or online PDF. ChatNorris extracts the content automatically.

> [card] Text
>
> Paste any text directly: FAQs, policies, catalogs, product descriptions.

> [card] Sitemap
>
> Enter the URL of a `sitemap.xml` and ChatNorris automatically discovers and indexes every page listed there.

> [card] URL list
>
> Paste several URLs at once (one per line) when you already know exactly which pages you want to index and don't need a full sitemap.

> [card] Document
>
> Upload PDF, Word (.docx), plain text (.txt) or Markdown (.md) files from your computer: up to 10 at a time, up to 25 MB each.

> [card] Frequently asked questions (FAQ)
>
> Build question-and-answer pairs by hand, or import them all at once from a two-column CSV.

> [card] WooCommerce
>
> Sync your product catalog from a WooCommerce store connected in Integrations. From the Standard plan — see below.

> [card] [Jumpseller catalog](https://docs.chatnorris.ai/en/guias/jumpseller.md#import-the-catalog-into-the-knowledge-base)
>
> Imports the available products from your Jumpseller store (description, variants, SKU and link to the product page) and keeps them in sync. From the Standard plan.

> [card] Zendesk
>
> Imports articles from your Zendesk Help Center as a knowledge source. Available only to organizations with the pilot enabled, from the Standard plan — see below.

> [card] Freshdesk
>
> Imports the public articles from your Freshdesk knowledge base (the whole base or the categories and folders you choose). From the Standard plan — see below.

> [card] Google Drive
>
> Imports specific documents and folders from your Google Drive account. From the Standard plan — see below.

> [card] Online store (public site)
>
> Imports products and prices from your store's public site, without an API (Odoo, WooCommerce, Shopify and similar). All plans — see below.

> [!TIP]
>
> When you open the Knowledge Base you first see **All sources**, with a **Type** column that shows where each one comes from. Use the type filters (Link, Text, FAQ, Document, WooCommerce, Jumpseller, Zendesk, Freshdesk, Google Drive, Online store) to see only one group.

### Live catalog from your store

If the agent has an active store Action with stock and price lookup (for example [WooCommerce](https://docs.chatnorris.ai/en/guias/acciones.md#woocommerce), [Jumpseller](https://docs.chatnorris.ai/en/guias/jumpseller.md) or [Odoo](https://docs.chatnorris.ai/en/guias/acciones.md#odoo)), the list shows an informational row **Live {store} catalog**, with the **Live** label and the **View action** link. It isn't a source: the agent checks price and stock directly in the store in each conversation, so it doesn't use up characters or need syncing.

## Add a source

**1. Go to the agent's Knowledge Base**

From **My agents**, open the agent and click **Knowledge Base** (or use the side menu if you're already in the agent).

**2. Click + Add source**

A form appears with the type options.

**3. Choose the type and fill in the details**

**If you choose URL:**

* **Name** — a descriptive name to identify the source (e.g. "FAQ page").
* **URL** — the full address of the page (e.g. `https://empresa.com/faq`).

**If you choose Text:**

* **Name** — a descriptive name (e.g. "Shipping policies").
* **Content** — paste the text directly.

**If you choose Document:**

Drag or select PDF, Word (.docx), plain text (.txt) or Markdown (.md) files from your computer. You can upload up to 10 files at a time, up to 25 MB each. Once processed, you can see the text extracted from each file in its detail and, if it's .txt or .md, edit it right there (see [View and edit a source's content](#view-and-edit-a-source’s-content)). We store the file so we can re-sync it; it's deleted from our servers when you delete the source or the agent.

**If you choose Frequently asked questions (FAQ):**

Add **question** and **answer** pairs one by one with the button to add a new pair, or click **Import CSV** to load several at once (the file must have exactly two columns: question and answer).

**4. Save and wait for processing**

When you save, the source goes through the following statuses:

| Status | Meaning |
| - | - |
| **Pending** | Queued for processing |
| **Processing** | The content is being extracted and processed |
| **Ready** | The content is indexed and available to the bot |
| **Error** | Something went wrong. See the troubleshooting section below. |

The process can take from 30 seconds to several minutes depending on the size of the content.

### Discover a site's pages (crawl)

Instead of pasting a URL, a sitemap or a URL list by hand, you can let ChatNorris **crawl your site** for you:

**1. Choose Crawl a site**

When you add a URL source, instead of entering a single address choose the crawl option and enter your site's URL.

**2. Adjust the crawl options (optional)**

You can limit the crawl with:

* **This domain only** — ignores subdomains like `docs.tudominio.com` or `api.tudominio.com`.
* **Exclude paths** — for example `/blog`, so that section isn't crawled.
* **Exclude domains** — external domains you don't want to include even if the site links to them.

**3. Review the pages found**

ChatNorris follows the site's links and shows you the list of pages it found (up to 60 per crawl). You can select them all, deselect them all, or pick them one by one.

**4. Train with the selected pages**

When you confirm, ChatNorris creates a URL source for each page you chose and processes them in a batch.

> [!TIP]
>
> It's useful when you don't have a `sitemap.xml` at hand, or when you only want part of the site (for example, everything except the blog).

## Reprocess a source

If you updated the content of a URL or want to refresh a source, use the **Re-sync** button on its row. This reprocesses the content from scratch.

> [!TIP]
>
> If you update your website's content often, re-sync the corresponding URLs so the agent has up-to-date information.

## Automatic sync

Each **URL**, **Sitemap** or **URL list** source has its own auto-sync control (Manual / Weekly / Daily) in its detail — it isn't a single setting for the whole Knowledge Base. In addition, your plan defines how often that sync can run:

| Plan | Available auto-sync frequency |
| - | - |
| **Free** | Manual only |
| **Standard** | Up to weekly |
| **Premium** | Up to daily |

When a source has auto-sync on, ChatNorris reprocesses it at the chosen frequency. If the page's content changed, the Knowledge Base updates automatically without you having to click Re-sync.

Sources connected to an external service (Google Drive, Zendesk, Freshdesk, the Jumpseller catalog, WooCommerce variations and Online store) also re-sync on their own at your plan's frequency: weekly on Standard and daily on Premium.

**Text** sources don't sync automatically (since you entered the content manually). To update them, edit the text directly from the Knowledge Base.

## WooCommerce

You can bring your WooCommerce store's product catalog into the Knowledge Base as another source. You only need the store connected in **Integrations**: you don't need the [WooCommerce](https://docs.chatnorris.ai/en/guias/acciones.md#woocommerce) action turned on, which is configured separately (order and stock lookup).

**1. Connect your store from Integrations**

Go to **Knowledge Base → Add source → WooCommerce**. If the store isn't connected yet, click **Connect in Integrations**: there you enter the store URL and the WooCommerce API keys, once per agent.

**2. Click Sync catalog**

With the store connected, go back to the WooCommerce source and click **Sync catalog** (or **Resync** if you had already brought in the catalog before).

**3. Wait for processing**

Up to 2,000 published products are brought in. For each one, it indexes: name, SKU, price, availability (in stock / out of stock) and description. It goes through the same processing pipeline as any other source (Pending → Processing → Ready).

> [!TIP]
>
> If you also have the WooCommerce action on to look up orders or stock, sync the catalog too so the agent can answer general product questions.

> [!NOTE]
>
> This source appears with its own **WooCommerce** filter tab in the Knowledge Base table, and it has no **Edit** button — the content is generated automatically from your store, not edited by hand.

> [!WARNING]
>
> Catalog sync is manual: there's no auto-sync for this source. If prices, stock or products change in your store, click **Sync catalog** again to update the Knowledge Base.

> [!TIP]
>
> This is different from the WooCommerce action's real-time inventory lookup: the synced catalog is for general product questions ("what t-shirts do you have?"), while the action checks stock for a specific SKU at the time of the conversation.

### Product variations (size, color, etc.)

If your store has **variable products** (for example, a t-shirt in different sizes and colors), you'll find **Product variations** in the same panel. **Generate variations** creates a map of attributes (size, color, etc.) to SKU for every product with variations, so the agent can answer questions about features without relying only on the live lookup. This content is regenerated on each sync and can't be edited: if you need corrections, add them in a separate text source.

## Zendesk

> [!WARNING]
>
> This source is in a pilot stage: it only appears enabled for organizations that ChatNorris explicitly gave access to. If you need it, write to us at **[hola@chatnorris.ai](mailto:hola@chatnorris.ai)**.

Brings articles from your **Zendesk Help Center** into the Knowledge Base, instead of having to copy them manually or index them by URL one by one.

**1. Connect your Zendesk account from Integrations**

Go to **Knowledge Base → Add source → Zendesk**. If it isn't connected yet, click **Connect in Integrations** and sign in with your Zendesk account. It's a single connection per agent, shared with the Zendesk Tickets action: if you use both, the connection asks for the permissions of both.

**2. Choose what to import**

Choose one of three options:

* **Whole KB** — imports all public articles.
* **Categories and sections** — choose specific categories and sections, and the languages.
* **Advanced filters** — in addition to categories, sections and languages, filter by **Labels**, **Content tags** or **Featured articles only**.

Then click **Import articles**. For security, drafts and articles restricted to private segments are always excluded.

**3. Wait for processing**

The imported articles go through the same pipeline as any other source (Pending → Processing → Ready).

> [!NOTE]
>
> This source is independent from the **Zendesk Tickets** action (see [Agent actions](https://docs.chatnorris.ai/en/guias/acciones.md)): the Knowledge Base source brings in Help Center content to answer general questions, while the action creates and looks up specific support tickets.

## Freshdesk

Brings the articles from your **Freshdesk knowledge base** (Solutions) so the agent answers with them, instead of copying them by hand. Available from the Standard plan.

**1. Connect Freshdesk from Integrations**

The source uses the same connection as the [Freshdesk Tickets](https://docs.chatnorris.ai/en/guias/acciones.md#freshdesk-tickets) action: your account's subdomain and a Freshdesk agent's API key, entered once in **Integrations** (`My agents → [your agent] → Integrations → Freshdesk`). If it isn't connected yet, the source panel takes you there.

**2. Choose what to import**

Go to **Knowledge Base → Add source → Freshdesk** and choose **Whole public knowledge base** or **Pick categories and folders** (a chosen folder includes its public subfolders). Then click **Import articles**.

**3. Wait for the first sync**

It can take several minutes depending on the number of articles. You can follow the progress in the source list.

> [!NOTE]
>
> **Public content only.** Only published articles from folders visible to everyone are imported. Drafts and folders for logged-in users, agents or specific companies are never imported, even if the API key has access to them.

* **Always up to date.** Later syncs only reprocess the articles that changed, and articles you delete in Freshdesk stop being used.
* **Public links.** When the agent shares an article, it uses the link from the Freshdesk public portal.
* **One language.** Your knowledge base's main language is imported; the agent still answers in the language the visitor writes in.
* **One source per agent.** To change the filter, open the source again and click **Save and sync again**.

> [!NOTE]
>
> If you disconnect Freshdesk from Integrations, the source is turned off but not deleted. If you only pause the connection, the content already imported is still used and only the sync stops.

## Google Drive

Import specific documents and folders from your Google Drive account, without having to download them and upload them again as a Document. Available from the Standard plan.

**1. Connect your Google account**

Go to **Knowledge Base → Add source → Google Drive**. If it isn't connected yet, click **Connect in Integrations** and sign in with the Google account where your files are. ChatNorris only asks for access to the files you explicitly choose, not your whole Drive. More details in [Integrations](https://docs.chatnorris.ai/en/guias/integraciones.md).

**2. Choose files or folders with the Google picker**

Click **Choose from Google Drive**. The Google picker opens so you can choose one or more files, or a whole folder (a folder expands to up to 200 files).

**3. Wait for processing**

A Knowledge Base source is created for each file. Supported formats: Google Docs, Sheets, Slides, PDF, Word (.docx), plain text (.txt) and Markdown.

> [!NOTE]
>
> You can connect only one Google account per agent.

> [!WARNING]
>
> If you choose a folder and later add new files to that folder in Google Drive, those new files are **not** imported automatically — go back to **Add source → Google Drive** and select them again with the picker.

## Online store (public site)

Import your store's products by reading its public site, without connecting any API. It's useful for stores that don't have an API available (for example, Odoo Online on its Standard plan) and works with Odoo, WooCommerce, Shopify and other platforms that publish each product's data on its product page. It doesn't require a particular plan: the only limit is your Knowledge Base's character limit.

**1. Choose the source**

Go to **Knowledge Base → Add source → Online store (public site)**.

**2. Enter the store URL**

For example `https://www.mitienda.cl/shop`. In **Advanced options** you can set:

* **Sitemap URL (optional)** — if you leave it empty, the site's `/sitemap.xml` is used.
* **Product URL prefix (optional)** — only pages whose path starts like this are read. In Odoo it's usually `/shop/`; in WooCommerce, `/producto/` or `/product/`. If you leave it empty and the store URL has a path (like `/shop/`), that path is used as the prefix.

**3. Test and then import**

**Test** shows a sample of products with name, SKU, category and price (or "no published price"). If it looks good, click **Import catalog**. Reading the whole catalog can take several minutes; meanwhile the agent keeps answering with what it already had.

**What gets imported:** name, SKU, price or price range ("from X to Y"), the category shown on the product page (for example "Home › Charcoal") and availability. Up to 1,000 products are read.

**Stock:** the public site doesn't report quantities. The agent only says a product is **out of stock** or **made to order** when the store publishes it; it never claims there's stock, because many stores mark everything as available. In other cases it doesn't promise units and suggests confirming with the store.

**Price:** when answering, the agent reads the price from the product page in your store again, so it doesn't depend on the last sync.

**Update:** **Re-sync now** reads the whole catalog again. Automatic sync is weekly on Standard and daily on Premium, and only reprocesses products whose text changed (price, description or availability). If the sync is cut off three times without finishing, the source shows an error: try again and, if it happens again, write to us.

> [!NOTE]
>
> An agent uses a store through the API or through the public site, not both. If it already has a WooCommerce or Odoo Action with order lookup, stock or purchase turned on, the panel warns you and takes you to **Actions**.

## View a source's statistics

Each source shows:

* **Characters** — how much content was indexed.
* **Chunks** — how many fragments the content was split into (the bot searches these fragments).
* **Last sync** — when it was last processed.

## View and edit a source's content

Click a source to open its detail. In **Extracted content** you see the text the agent is trained with; use **View full** if it's long.

To change it, open the **⋮** menu in the detail and choose **Edit**. What you can edit depends on the type:

| Type | What you can edit |
| - | - |
| **Text**, **FAQ** and **URL list** | Name and content |
| **URL** and **Sitemap** | Name and address |
| **.txt or .md document** | Name and content |
| **PDF or Word (.docx) document** | Only the name. The text can be viewed but not edited: to change it, upload a new version of the file. |

When you save a content change, the source is reprocessed and the agent is trained with the new text. In a .txt or .md document, the file is replaced with the edited text, so a later re-sync keeps your change. If you only change the name, it isn't reprocessed.

> [!NOTE]
>
> Documents you uploaded before 2026-10-29 show their content only after you re-sync them once with **Re-sync now**.

## Best practices for training your agent

> [accordion] What content works best?
>
> * Frequently asked questions (FAQ) — the most effective type of content.
> * Product or service pages with detailed descriptions.
> * Policies: returns, shipping, terms of use.
> * User guides or manuals.
> * Price catalogs (as text or a table, not images).

> [accordion] What content doesn't work well?
>
> * Images and videos — the bot can't "see" images.
> * PDFs with scanned text (images of text) — the content isn't extracted correctly.
> * Content behind a login or authentication.
> * Pages with a lot of dynamic JavaScript (SPAs without server-side rendering).

> [accordion] How many sources can I add?
>
> The limit depends on your plan's total characters (500K on the free plan, up to 100M on higher plans). You can add as many sources as fit within that limit.

> [accordion] A source ended up in 'Error', what do I do?
>
> The most common causes are:
>
> * The URL isn't publicly accessible.
> * The page requires a login.
> * The site blocks crawling bots.
>
> In those cases, copy the text manually and add it as a Text source.

> [accordion] How often should I update my Knowledge Base?
>
> Every time relevant information in your business changes: new prices, products, policies, hours. If you add a URL, remember to re-sync it after updating the page's content.

> [!WARNING]
>
> The bot only answers with the information it has indexed. If there's a frequent question the bot doesn't answer well, most likely that information isn't in the Knowledge Base or isn't worded clearly.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.