Enter the address of a web page, blog, documentation or online PDF. ChatNorris extracts the content automatically.
Text
Paste any text directly: FAQs, policies, catalogs, product descriptions.
Sitemap
Enter the URL of a sitemap.xml and ChatNorris automatically discovers and indexes every page listed there.
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.
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.
Frequently asked questions (FAQ)
Build question-and-answer pairs by hand, or import them all at once from a two-column CSV.
WooCommerce
Sync your product catalog from a WooCommerce store connected in Integrations. From the Standard plan — see below.
Jumpseller catalog
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.
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.
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.
Google Drive
Imports specific documents and folders from your Google Drive account. From the Standard plan — see below.
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.
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.
If the agent has an active store Action with stock and price lookup (for example WooCommerce, Jumpseller or Odoo), the list shows an informational row Live 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.
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). 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.
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.
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).
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.
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 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).
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.
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.
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.
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.
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.
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.
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).
This source is independent from the Zendesk Tickets action (see Agent actions): the Knowledge Base source brings in Help Center content to answer general questions, while the action creates and looks up specific support tickets.
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 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.
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.
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.
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.
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.
You can connect only one Google account per agent.
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.
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.
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.
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.
Documents you uploaded before 2026-10-29 show their content only after you re-sync them once with Re-sync now.
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).
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).
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.
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.
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.
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.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"ChatNorris","description":"Es una plataforma de software (SaaS) diseñada para la creación, entrenamiento e integración de agentes de inteligencia artificial conversacional. Permite a las empresas conectar sus propias fuentes de conocimiento (documentos, bases de datos, sitios web) con modelos de lenguaje avanzado (LLM) para automatizar la atención al cliente, la calificación de leads y el soporte técnico a través de canales como chat web, WhatsApp, Instagram, Email y APIs REST.","colors":{"primary":"#00684a"},"logo":{"light":"https://mintcdn.com/chatnorris/C7dG5iKgOxsklb8M/logo/CHATNORRIS-13.png?fit=max\u0026auto=format\u0026n=C7dG5iKgOxsklb8M\u0026q=85\u0026s=bc796e7ce8bab6310161819831697d8b","dark":"https://mintcdn.com/chatnorris/C7dG5iKgOxsklb8M/logo/CHATNORRIS-12.png?fit=max\u0026auto=format\u0026n=C7dG5iKgOxsklb8M\u0026q=85\u0026s=cabc011ce5678929a66abcdc51275e61","href":"https://chatnorris.ai"},"favicon":"https://mintcdn.com/chatnorris/HfkbgDl7nYoL6O1U/logo/favicon.ico?fit=max\u0026auto=format\u0026n=HfkbgDl7nYoL6O1U\u0026q=85\u0026s=215355408319eecb3f400994c58b4c12","footer":{"socials":{"website":"https://chatnorris.ai/","instagram":"https://instagram.com/chatnorris.ai","youtube":"https://youtube.com/@chatnorris-ai"}},"integrations":{"ga4":{"measurementId":"G-BMDL4EC90N"}},"styling":{"latex":false},"navigation":{"languages":[{"language":"es","default":true,"navbar":{"primary":{"type":"button","label":"Empezar","href":"https://app.chatnorris.ai/register"}},"href":""},{"language":"en","navbar":{"primary":{"type":"button","label":"Get started","href":"https://app.chatnorris.ai/register"}},"href":"en"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"chatnorris","hasAudioNarration":false,"actualSubdomain":"chatnorris","customDomains":["docs.chatnorris.ai"],"gitSource":{"type":"github","owner":"chatnorris","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"collectionId":"09ab15ba-4b70-4e38-8f4f-14c53b6ded3c","liveDeploymentHistoryId":"6ae67ed462ef36be8862d082","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae67ed462ef36be8862d082"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae67ed462ef36be8862d082","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"es","tag":"API Pública v2","count":23},{"language":"en","tag":"Public API v2","count":23},{"language":"es","tag":"Agentes de IA","count":11},{"language":"en","tag":"AI agents","count":11},{"language":"es","tag":"Agentes","count":7},{"language":"en","tag":"Agents","count":7},{"language":"es","tag":"Base de conocimiento","count":4},{"language":"es","tag":"Conversaciones y Live Chat","count":4},{"language":"es","tag":"Primeros pasos","count":4},{"language":"en","tag":"Knowledge Base","count":4},{"language":"en","tag":"Conversations and live chat","count":4},{"language":"en","tag":"Getting started","count":4},{"language":"es","tag":"Conversaciones","count":3},{"language":"es","tag":"Facturación","count":3},{"language":"es","tag":"Canales","count":3},{"language":"es","tag":"Solución de problemas","count":3},{"language":"en","tag":"Conversations","count":3},{"language":"en","tag":"Billing","count":3},{"language":"en","tag":"Channels","count":3},{"language":"en","tag":"Troubleshooting","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"en/guias/knowledge-base","slug":"/en/guias/knowledge-base","pageMetadata":{"title":"Knowledge Base","description":"How to train your agent with your company's content.","href":"/en/guias/knowledge-base"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"How to train your agent with your company’s content.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Card,CardGroup,Frame,Heading,Note,OptimizedImage,Step,Steps,Table,Tip,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`1`,id:`knowledge-base`,children:`Knowledge Base`}),`\n`,_jsx(_components.p,{children:`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.`}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/chatnorris/_RNPg7jBCB9AE-Bf/images/Lista-de-base-de-conocimientos.png?fit=max\u0026auto=format\u0026n=_RNPg7jBCB9AE-Bf\u0026q=85\u0026s=248e0abcf4c0f61160927f399deea804`,alt:`Knowledge Base list`,\"data-og-width\":`1423`,width:`1423`,\"data-og-height\":`871`,height:`871`,\"data-path\":`images/Lista-de-base-de-conocimientos.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/chatnorris/_RNPg7jBCB9AE-Bf/images/Lista-de-base-de-conocimientos.png?w=280\u0026fit=max\u0026auto=format\u0026n=_RNPg7jBCB9AE-Bf\u0026q=85\u0026s=112026b08b4c6c26c47302ba31da67f7 280w, https://mintcdn.com/chatnorris/_RNPg7jBCB9AE-Bf/images/Lista-de-base-de-conocimientos.png?w=560\u0026fit=max\u0026auto=format\u0026n=_RNPg7jBCB9AE-Bf\u0026q=85\u0026s=3a0347301e0a13dbe14d20205f540e1e 560w, https://mintcdn.com/chatnorris/_RNPg7jBCB9AE-Bf/images/Lista-de-base-de-conocimientos.png?w=840\u0026fit=max\u0026auto=format\u0026n=_RNPg7jBCB9AE-Bf\u0026q=85\u0026s=3305389e3a17e97126b54702ef49546c 840w, https://mintcdn.com/chatnorris/_RNPg7jBCB9AE-Bf/images/Lista-de-base-de-conocimientos.png?w=1100\u0026fit=max\u0026auto=format\u0026n=_RNPg7jBCB9AE-Bf\u0026q=85\u0026s=fdb2cd2e8b306c3994ce896ed1f17433 1100w, https://mintcdn.com/chatnorris/_RNPg7jBCB9AE-Bf/images/Lista-de-base-de-conocimientos.png?w=1650\u0026fit=max\u0026auto=format\u0026n=_RNPg7jBCB9AE-Bf\u0026q=85\u0026s=230506cf46c0dd7041e9a6115a93e7cc 1650w, https://mintcdn.com/chatnorris/_RNPg7jBCB9AE-Bf/images/Lista-de-base-de-conocimientos.png?w=2500\u0026fit=max\u0026auto=format\u0026n=_RNPg7jBCB9AE-Bf\u0026q=85\u0026s=00d145c54bb881bf30e4a1f51eec75af 2500w`})}),`\n`,_jsx(Heading,{level:`2`,id:`source-types`,children:`Source types`}),`\n`,_jsx(_components.p,{children:`You can add information in several ways:`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`URL`,icon:`link`,children:_jsx(_components.p,{children:`Enter the address of a web page, blog, documentation or online PDF. ChatNorris extracts the content automatically.`})}),_jsx(Card,{title:`Text`,icon:`file-lines`,children:_jsx(_components.p,{children:`Paste any text directly: FAQs, policies, catalogs, product descriptions.`})}),_jsx(Card,{title:`Sitemap`,icon:`sitemap`,children:_jsxs(_components.p,{children:[`Enter the URL of a `,_jsx(_components.code,{children:`sitemap.xml`}),` and ChatNorris automatically discovers and indexes every page listed there.`]})}),_jsx(Card,{title:`URL list`,icon:`list`,children:_jsx(_components.p,{children:`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.`})}),_jsx(Card,{title:`Document`,icon:`file-pdf`,children:_jsx(_components.p,{children:`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.`})}),_jsx(Card,{title:`Frequently asked questions (FAQ)`,icon:`circle-question`,children:_jsx(_components.p,{children:`Build question-and-answer pairs by hand, or import them all at once from a two-column CSV.`})}),_jsx(Card,{title:`WooCommerce`,icon:`cart-shopping`,children:_jsx(_components.p,{children:`Sync your product catalog from a WooCommerce store connected in Integrations. From the Standard plan — see below.`})}),_jsx(Card,{title:`Jumpseller catalog`,icon:`bag-shopping`,href:`/en/guias/jumpseller#import-the-catalog-into-the-knowledge-base`,children:_jsx(_components.p,{children:`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.`})}),_jsx(Card,{title:`Zendesk`,icon:`headset`,children:_jsx(_components.p,{children:`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.`})}),_jsx(Card,{title:`Freshdesk`,icon:`headset`,children:_jsx(_components.p,{children:`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.`})}),_jsx(Card,{title:`Google Drive`,icon:`google-drive`,children:_jsx(_components.p,{children:`Imports specific documents and folders from your Google Drive account. From the Standard plan — see below.`})}),_jsx(Card,{title:`Online store (public site)`,icon:`store`,children:_jsx(_components.p,{children:`Imports products and prices from your store’s public site, without an API (Odoo, WooCommerce, Shopify and similar). All plans — see below.`})})]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`When you open the Knowledge Base you first see `,_jsx(_components.strong,{children:`All sources`}),`, with a `,_jsx(_components.strong,{children:`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.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`live-catalog-from-your-store`,children:`Live catalog from your store`}),`\n`,_jsxs(_components.p,{children:[`If the agent has an active store Action with stock and price lookup (for example `,_jsx(_components.a,{href:`/en/guias/acciones#woocommerce`,children:`WooCommerce`}),`, `,_jsx(_components.a,{href:`/en/guias/jumpseller`,children:`Jumpseller`}),` or `,_jsx(_components.a,{href:`/en/guias/acciones#odoo`,children:`Odoo`}),`), the list shows an informational row `,_jsxs(_components.strong,{children:[`Live `,` catalog`]}),`, with the `,_jsx(_components.strong,{children:`Live`}),` label and the `,_jsx(_components.strong,{children:`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.`]}),`\n`,_jsx(Heading,{level:`2`,id:`add-a-source`,children:`Add a source`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Go to the agent's Knowledge Base`,children:_jsxs(_components.p,{children:[`From `,_jsx(_components.strong,{children:`My agents`}),`, open the agent and click `,_jsx(_components.strong,{children:`Knowledge Base`}),` (or use the side menu if you’re already in the agent).`]})}),_jsx(Step,{title:`Click + Add source`,children:_jsx(_components.p,{children:`A form appears with the type options.`})}),_jsxs(Step,{title:`Choose the type and fill in the details`,children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`If you choose URL:`})}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Name`}),` — a descriptive name to identify the source (e.g. “FAQ page”).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`URL`}),` — the full address of the page (e.g. `,_jsx(_components.code,{children:`https://empresa.com/faq`}),`).`]}),`\n`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`If you choose Text:`})}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Name`}),` — a descriptive name (e.g. “Shipping policies”).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Content`}),` — paste the text directly.`]}),`\n`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`If you choose Document:`})}),_jsxs(_components.p,{children:[`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 `,_jsx(_components.a,{href:`#view-and-edit-a-sources-content`,children:`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.`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`If you choose Frequently asked questions (FAQ):`})}),_jsxs(_components.p,{children:[`Add `,_jsx(_components.strong,{children:`question`}),` and `,_jsx(_components.strong,{children:`answer`}),` pairs one by one with the button to add a new pair, or click `,_jsx(_components.strong,{children:`Import CSV`}),` to load several at once (the file must have exactly two columns: question and answer).`]})]}),_jsxs(Step,{title:`Save and wait for processing`,children:[_jsx(_components.p,{children:`When you save, the source goes through the following statuses:`}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Pending`})}),_jsx(_components.td,{children:`Queued for processing`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Processing`})}),_jsx(_components.td,{children:`The content is being extracted and processed`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Ready`})}),_jsx(_components.td,{children:`The content is indexed and available to the bot`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Error`})}),_jsx(_components.td,{children:`Something went wrong. See the troubleshooting section below.`})]})]})]}),_jsx(_components.p,{children:`The process can take from 30 seconds to several minutes depending on the size of the content.`})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`discover-a-site’s-pages-crawl`,children:`Discover a site’s pages (crawl)`}),`\n`,_jsxs(_components.p,{children:[`Instead of pasting a URL, a sitemap or a URL list by hand, you can let ChatNorris `,_jsx(_components.strong,{children:`crawl your site`}),` for you:`]}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Choose Crawl a site`,children:_jsx(_components.p,{children:`When you add a URL source, instead of entering a single address choose the crawl option and enter your site’s URL.`})}),_jsxs(Step,{title:`Adjust the crawl options (optional)`,children:[_jsx(_components.p,{children:`You can limit the crawl with:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`This domain only`}),` — ignores subdomains like `,_jsx(_components.code,{children:`docs.tudominio.com`}),` or `,_jsx(_components.code,{children:`api.tudominio.com`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Exclude paths`}),` — for example `,_jsx(_components.code,{children:`/blog`}),`, so that section isn’t crawled.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Exclude domains`}),` — external domains you don’t want to include even if the site links to them.`]}),`\n`]})]}),_jsx(Step,{title:`Review the pages found`,children:_jsx(_components.p,{children:`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.`})}),_jsx(Step,{title:`Train with the selected pages`,children:_jsx(_components.p,{children:`When you confirm, ChatNorris creates a URL source for each page you chose and processes them in a batch.`})})]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`It’s useful when you don’t have a `,_jsx(_components.code,{children:`sitemap.xml`}),` at hand, or when you only want part of the site (for example, everything except the blog).`]})}),`\n`,_jsx(Heading,{level:`2`,id:`reprocess-a-source`,children:`Reprocess a source`}),`\n`,_jsxs(_components.p,{children:[`If you updated the content of a URL or want to refresh a source, use the `,_jsx(_components.strong,{children:`Re-sync`}),` button on its row. This reprocesses the content from scratch.`]}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`If you update your website’s content often, re-sync the corresponding URLs so the agent has up-to-date information.`})}),`\n`,_jsx(Heading,{level:`2`,id:`automatic-sync`,children:`Automatic sync`}),`\n`,_jsxs(_components.p,{children:[`Each `,_jsx(_components.strong,{children:`URL`}),`, `,_jsx(_components.strong,{children:`Sitemap`}),` or `,_jsx(_components.strong,{children:`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:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Plan`}),_jsx(_components.th,{children:`Available auto-sync frequency`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Free`})}),_jsx(_components.td,{children:`Manual only`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Standard`})}),_jsx(_components.td,{children:`Up to weekly`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Premium`})}),_jsx(_components.td,{children:`Up to daily`})]})]})]}),`\n`,_jsx(_components.p,{children:`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.`}),`\n`,_jsx(_components.p,{children:`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.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Text`}),` sources don’t sync automatically (since you entered the content manually). To update them, edit the text directly from the Knowledge Base.`]}),`\n`,_jsx(Heading,{level:`2`,id:`woocommerce`,children:`WooCommerce`}),`\n`,_jsxs(_components.p,{children:[`You can bring your WooCommerce store’s product catalog into the Knowledge Base as another source. You only need the store connected in `,_jsx(_components.strong,{children:`Integrations`}),`: you don’t need the `,_jsx(_components.a,{href:`/en/guias/acciones#woocommerce`,children:`WooCommerce`}),` action turned on, which is configured separately (order and stock lookup).`]}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Connect your store from Integrations`,children:_jsxs(_components.p,{children:[`Go to `,_jsx(_components.strong,{children:`Knowledge Base → Add source → WooCommerce`}),`. If the store isn’t connected yet, click `,_jsx(_components.strong,{children:`Connect in Integrations`}),`: there you enter the store URL and the WooCommerce API keys, once per agent.`]})}),_jsx(Step,{title:`Click Sync catalog`,children:_jsxs(_components.p,{children:[`With the store connected, go back to the WooCommerce source and click `,_jsx(_components.strong,{children:`Sync catalog`}),` (or `,_jsx(_components.strong,{children:`Resync`}),` if you had already brought in the catalog before).`]})}),_jsx(Step,{title:`Wait for processing`,children:_jsx(_components.p,{children:`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).`})})]}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`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.`})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`This source appears with its own `,_jsx(_components.strong,{children:`WooCommerce`}),` filter tab in the Knowledge Base table, and it has no `,_jsx(_components.strong,{children:`Edit`}),` button — the content is generated automatically from your store, not edited by hand.`]})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Catalog sync is manual: there’s no auto-sync for this source. If prices, stock or products change in your store, click `,_jsx(_components.strong,{children:`Sync catalog`}),` again to update the Knowledge Base.`]})}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`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.`})}),`\n`,_jsx(Heading,{level:`3`,id:`product-variations-size-color-etc`,children:`Product variations (size, color, etc.)`}),`\n`,_jsxs(_components.p,{children:[`If your store has `,_jsx(_components.strong,{children:`variable products`}),` (for example, a t-shirt in different sizes and colors), you’ll find `,_jsx(_components.strong,{children:`Product variations`}),` in the same panel. `,_jsx(_components.strong,{children:`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.`]}),`\n`,_jsx(Heading,{level:`2`,id:`zendesk`,children:`Zendesk`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`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 `,_jsx(_components.strong,{children:_jsx(_components.a,{href:`mailto:hola@chatnorris.ai`,children:`hola@chatnorris.ai`})}),`.`]})}),`\n`,_jsxs(_components.p,{children:[`Brings articles from your `,_jsx(_components.strong,{children:`Zendesk Help Center`}),` into the Knowledge Base, instead of having to copy them manually or index them by URL one by one.`]}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Connect your Zendesk account from Integrations`,children:_jsxs(_components.p,{children:[`Go to `,_jsx(_components.strong,{children:`Knowledge Base → Add source → Zendesk`}),`. If it isn’t connected yet, click `,_jsx(_components.strong,{children:`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.`]})}),_jsxs(Step,{title:`Choose what to import`,children:[_jsx(_components.p,{children:`Choose one of three options:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Whole KB`}),` — imports all public articles.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Categories and sections`}),` — choose specific categories and sections, and the languages.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Advanced filters`}),` — in addition to categories, sections and languages, filter by `,_jsx(_components.strong,{children:`Labels`}),`, `,_jsx(_components.strong,{children:`Content tags`}),` or `,_jsx(_components.strong,{children:`Featured articles only`}),`.`]}),`\n`]}),_jsxs(_components.p,{children:[`Then click `,_jsx(_components.strong,{children:`Import articles`}),`. For security, drafts and articles restricted to private segments are always excluded.`]})]}),_jsx(Step,{title:`Wait for processing`,children:_jsx(_components.p,{children:`The imported articles go through the same pipeline as any other source (Pending → Processing → Ready).`})})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`This source is independent from the `,_jsx(_components.strong,{children:`Zendesk Tickets`}),` action (see `,_jsx(_components.a,{href:`/en/guias/acciones`,children:`Agent actions`}),`): the Knowledge Base source brings in Help Center content to answer general questions, while the action creates and looks up specific support tickets.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`freshdesk`,children:`Freshdesk`}),`\n`,_jsxs(_components.p,{children:[`Brings the articles from your `,_jsx(_components.strong,{children:`Freshdesk knowledge base`}),` (Solutions) so the agent answers with them, instead of copying them by hand. Available from the Standard plan.`]}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Connect Freshdesk from Integrations`,children:_jsxs(_components.p,{children:[`The source uses the same connection as the `,_jsx(_components.a,{href:`/en/guias/acciones#freshdesk-tickets`,children:`Freshdesk Tickets`}),` action: your account’s subdomain and a Freshdesk agent’s API key, entered once in `,_jsx(_components.strong,{children:`Integrations`}),` (`,_jsx(_components.code,{children:`My agents → [your agent] → Integrations → Freshdesk`}),`). If it isn’t connected yet, the source panel takes you there.`]})}),_jsx(Step,{title:`Choose what to import`,children:_jsxs(_components.p,{children:[`Go to `,_jsx(_components.strong,{children:`Knowledge Base → Add source → Freshdesk`}),` and choose `,_jsx(_components.strong,{children:`Whole public knowledge base`}),` or `,_jsx(_components.strong,{children:`Pick categories and folders`}),` (a chosen folder includes its public subfolders). Then click `,_jsx(_components.strong,{children:`Import articles`}),`.`]})}),_jsx(Step,{title:`Wait for the first sync`,children:_jsx(_components.p,{children:`It can take several minutes depending on the number of articles. You can follow the progress in the source list.`})})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`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.`]})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Always up to date.`}),` Later syncs only reprocess the articles that changed, and articles you delete in Freshdesk stop being used.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Public links.`}),` When the agent shares an article, it uses the link from the Freshdesk public portal.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`One language.`}),` Your knowledge base’s main language is imported; the agent still answers in the language the visitor writes in.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`One source per agent.`}),` To change the filter, open the source again and click `,_jsx(_components.strong,{children:`Save and sync again`}),`.`]}),`\n`]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`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.`})}),`\n`,_jsx(Heading,{level:`2`,id:`google-drive`,children:`Google Drive`}),`\n`,_jsx(_components.p,{children:`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.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Connect your Google account`,children:_jsxs(_components.p,{children:[`Go to `,_jsx(_components.strong,{children:`Knowledge Base → Add source → Google Drive`}),`. If it isn’t connected yet, click `,_jsx(_components.strong,{children:`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 `,_jsx(_components.a,{href:`/en/guias/integraciones`,children:`Integrations`}),`.`]})}),_jsx(Step,{title:`Choose files or folders with the Google picker`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`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).`]})}),_jsx(Step,{title:`Wait for processing`,children:_jsx(_components.p,{children:`A Knowledge Base source is created for each file. Supported formats: Google Docs, Sheets, Slides, PDF, Word (.docx), plain text (.txt) and Markdown.`})})]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`You can connect only one Google account per agent.`})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`If you choose a folder and later add new files to that folder in Google Drive, those new files are `,_jsx(_components.strong,{children:`not`}),` imported automatically — go back to `,_jsx(_components.strong,{children:`Add source → Google Drive`}),` and select them again with the picker.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`online-store-public-site`,children:`Online store (public site)`}),`\n`,_jsx(_components.p,{children:`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.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Choose the source`,children:_jsxs(_components.p,{children:[`Go to `,_jsx(_components.strong,{children:`Knowledge Base → Add source → Online store (public site)`}),`.`]})}),_jsxs(Step,{title:`Enter the store URL`,children:[_jsxs(_components.p,{children:[`For example `,_jsx(_components.code,{children:`https://www.mitienda.cl/shop`}),`. In `,_jsx(_components.strong,{children:`Advanced options`}),` you can set:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Sitemap URL (optional)`}),` — if you leave it empty, the site’s `,_jsx(_components.code,{children:`/sitemap.xml`}),` is used.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Product URL prefix (optional)`}),` — only pages whose path starts like this are read. In Odoo it’s usually `,_jsx(_components.code,{children:`/shop/`}),`; in WooCommerce, `,_jsx(_components.code,{children:`/producto/`}),` or `,_jsx(_components.code,{children:`/product/`}),`. If you leave it empty and the store URL has a path (like `,_jsx(_components.code,{children:`/shop/`}),`), that path is used as the prefix.`]}),`\n`]})]}),_jsx(Step,{title:`Test and then import`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Test`}),` shows a sample of products with name, SKU, category and price (or “no published price”). If it looks good, click `,_jsx(_components.strong,{children:`Import catalog`}),`. Reading the whole catalog can take several minutes; meanwhile the agent keeps answering with what it already had.`]})})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`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.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Stock:`}),` the public site doesn’t report quantities. The agent only says a product is `,_jsx(_components.strong,{children:`out of stock`}),` or `,_jsx(_components.strong,{children:`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.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`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.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Update:`}),` `,_jsx(_components.strong,{children:`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.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`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 `,_jsx(_components.strong,{children:`Actions`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`view-a-source’s-statistics`,children:`View a source’s statistics`}),`\n`,_jsx(_components.p,{children:`Each source shows:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Characters`}),` — how much content was indexed.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Chunks`}),` — how many fragments the content was split into (the bot searches these fragments).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Last sync`}),` — when it was last processed.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`view-and-edit-a-source’s-content`,children:`View and edit a source’s content`}),`\n`,_jsxs(_components.p,{children:[`Click a source to open its detail. In `,_jsx(_components.strong,{children:`Extracted content`}),` you see the text the agent is trained with; use `,_jsx(_components.strong,{children:`View full`}),` if it’s long.`]}),`\n`,_jsxs(_components.p,{children:[`To change it, open the `,_jsx(_components.strong,{children:`⋮`}),` menu in the detail and choose `,_jsx(_components.strong,{children:`Edit`}),`. What you can edit depends on the type:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`What you can edit`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Text`}),`, `,_jsx(_components.strong,{children:`FAQ`}),` and `,_jsx(_components.strong,{children:`URL list`})]}),_jsx(_components.td,{children:`Name and content`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`URL`}),` and `,_jsx(_components.strong,{children:`Sitemap`})]}),_jsx(_components.td,{children:`Name and address`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`.txt or .md document`})}),_jsx(_components.td,{children:`Name and content`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`PDF or Word (.docx) document`})}),_jsx(_components.td,{children:`Only the name. The text can be viewed but not edited: to change it, upload a new version of the file.`})]})]})]}),`\n`,_jsx(_components.p,{children:`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.`}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Documents you uploaded before 2026-10-29 show their content only after you re-sync them once with `,_jsx(_components.strong,{children:`Re-sync now`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`best-practices-for-training-your-agent`,children:`Best practices for training your agent`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`What content works best?`,id:`what-content-works-best`,children:_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Frequently asked questions (FAQ) — the most effective type of content.`}),`\n`,_jsx(_components.li,{children:`Product or service pages with detailed descriptions.`}),`\n`,_jsx(_components.li,{children:`Policies: returns, shipping, terms of use.`}),`\n`,_jsx(_components.li,{children:`User guides or manuals.`}),`\n`,_jsx(_components.li,{children:`Price catalogs (as text or a table, not images).`}),`\n`]})}),_jsx(Accordion,{title:`What content doesn't work well?`,id:`what-content-doesnt-work-well`,children:_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Images and videos — the bot can’t “see” images.`}),`\n`,_jsx(_components.li,{children:`PDFs with scanned text (images of text) — the content isn’t extracted correctly.`}),`\n`,_jsx(_components.li,{children:`Content behind a login or authentication.`}),`\n`,_jsx(_components.li,{children:`Pages with a lot of dynamic JavaScript (SPAs without server-side rendering).`}),`\n`]})}),_jsx(Accordion,{title:`How many sources can I add?`,id:`how-many-sources-can-i-add`,children:_jsx(_components.p,{children:`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.`})}),_jsxs(Accordion,{title:`A source ended up in 'Error', what do I do?`,id:`a-source-ended-up-in-error-what-do-i-do`,children:[_jsx(_components.p,{children:`The most common causes are:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`The URL isn’t publicly accessible.`}),`\n`,_jsx(_components.li,{children:`The page requires a login.`}),`\n`,_jsx(_components.li,{children:`The site blocks crawling bots.`}),`\n`]}),_jsx(_components.p,{children:`In those cases, copy the text manually and add it as a Text source.`})]}),_jsx(Accordion,{title:`How often should I update my Knowledge Base?`,id:`how-often-should-i-update-my-knowledge-base`,children:_jsx(_components.p,{children:`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.`})})]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`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.`})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Knowledge Base","description":"How to train your agent with your company's content.","href":"/en/guias/knowledge-base"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Knowledge Base","slug":"knowledge-base","depth":1,"children":[]},{"title":"Source types","slug":"source-types","depth":2,"children":[{"title":"Live catalog from your store","slug":"live-catalog-from-your-store","depth":3,"children":[]}]},{"title":"Add a source","slug":"add-a-source","depth":2,"children":[{"title":"Discover a site’s pages (crawl)","slug":"discover-a-site’s-pages-crawl","depth":3,"children":[]}]},{"title":"Reprocess a source","slug":"reprocess-a-source","depth":2,"children":[]},{"title":"Automatic sync","slug":"automatic-sync","depth":2,"children":[]},{"title":"WooCommerce","slug":"woocommerce","depth":2,"children":[{"title":"Product variations (size, color, etc.)","slug":"product-variations-size-color-etc","depth":3,"children":[]}]},{"title":"Zendesk","slug":"zendesk","depth":2,"children":[]},{"title":"Freshdesk","slug":"freshdesk","depth":2,"children":[]},{"title":"Google Drive","slug":"google-drive","depth":2,"children":[]},{"title":"Online store (public site)","slug":"online-store-public-site","depth":2,"children":[]},{"title":"View a source’s statistics","slug":"view-a-source’s-statistics","depth":2,"children":[]},{"title":"View and edit a source’s content","slug":"view-and-edit-a-source’s-content","depth":2,"children":[]},{"title":"Best practices for training your agent","slug":"best-practices-for-training-your-agent","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"chatnorris","siteName":"ChatNorris","title":"Knowledge Base - ChatNorris","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"es":{"href":"/guias/knowledge-base","matchLevel":1},"en":{"href":"/en/guias/knowledge-base","matchLevel":0}}},"lastModified":"2026-10-31T23:50:49.593Z","originalFileLocation":"en/guias/knowledge-base.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"How to train your agent with your company\u0026#x27;s content.\">\u003cmeta data-mint-head name=\"application-name\" content=\"ChatNorris\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/chatnorris/HS18VnAMMck2xfaq/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/chatnorris/HS18VnAMMck2xfaq/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/chatnorris/HS18VnAMMck2xfaq/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/chatnorris/HS18VnAMMck2xfaq/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/chatnorris/HS18VnAMMck2xfaq/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/chatnorris/HS18VnAMMck2xfaq/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/chatnorris/HS18VnAMMck2xfaq/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/chatnorris/HS18VnAMMck2xfaq/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/chatnorris/HS18VnAMMck2xfaq/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Knowledge Base - ChatNorris\">\u003cmeta data-mint-head property=\"og:description\" content=\"How to train your agent with your company\u0026#x27;s content.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"ChatNorris\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.chatnorris.ai/en/guias/knowledge-base\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://chatnorris.mintlify.app/_mintlify/api/og/v2?division=AI+agents\u0026amp;title=Knowledge+Base\u0026amp;description=How+to+train+your+agent+with+your+company%27s+content.\u0026amp;theme=7ea039df46d46592821da886\u0026amp;signature=4e35e4732e8baee07dcbac435cc513a992affb135da3adf4657932dc16137b4b\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Knowledge Base - ChatNorris\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"How to train your agent with your company\u0026#x27;s content.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://chatnorris.mintlify.app/_mintlify/api/og/v2?division=AI+agents\u0026amp;title=Knowledge+Base\u0026amp;description=How+to+train+your+agent+with+your+company%27s+content.\u0026amp;theme=7ea039df46d46592821da886\u0026amp;signature=4e35e4732e8baee07dcbac435cc513a992affb135da3adf4657932dc16137b4b\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/chatnorris/HS18VnAMMck2xfaq/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"ChatNorris\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#00684a\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.chatnorris.ai/en/guias/knowledge-base\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/en/guias/knowledge-base.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.chatnorris.ai/en/guias/knowledge-base\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://docs.chatnorris.ai/guias/knowledge-base\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.chatnorris.ai/guias/knowledge-base\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.chatnorris.ai/#organization\",\"name\":\"ChatNorris\",\"url\":\"https://docs.chatnorris.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/chatnorris/C7dG5iKgOxsklb8M/logo/CHATNORRIS-13.png?fit=max\u0026auto=format\u0026n=C7dG5iKgOxsklb8M\u0026q=85\u0026s=bc796e7ce8bab6310161819831697d8b\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.chatnorris.ai#website\",\"name\":\"ChatNorris\",\"url\":\"https://docs.chatnorris.ai\",\"publisher\":{\"@id\":\"https://docs.chatnorris.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.chatnorris.ai/en/guias/knowledge-base#webpage\",\"url\":\"https://docs.chatnorris.ai/en/guias/knowledge-base\",\"name\":\"Knowledge Base\",\"description\":\"How to train your agent with your company's content.\",\"dateModified\":\"2026-10-31T23:50:49.593Z\",\"isPartOf\":{\"@id\":\"https://docs.chatnorris.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.chatnorris.ai/en/guias/knowledge-base#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.chatnorris.ai/en/guias/knowledge-base#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"AI agents\",\"item\":\"https://docs.chatnorris.ai/en/guias/chatbots\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Knowledge Base\",\"item\":\"https://docs.chatnorris.ai/en/guias/knowledge-base\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.chatnorris.ai/en/guias/knowledge-base#article\",\"headline\":\"Knowledge Base\",\"name\":\"Knowledge Base\",\"description\":\"How to train your agent with your company's content.\",\"url\":\"https://docs.chatnorris.ai/en/guias/knowledge-base\",\"mainEntityOfPage\":{\"@id\":\"https://docs.chatnorris.ai/en/guias/knowledge-base#webpage\"},\"dateModified\":\"2026-10-31T23:50:49.593Z\",\"publisher\":{\"@id\":\"https://docs.chatnorris.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.chatnorris.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"ChatNorris\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"ChatNorris","nav":{"global":null,"languages":[{"language":"es","default":true,"navbar":{"primary":{"type":"button","label":"Empezar","href":"https://app.chatnorris.ai/register"}},"pages":[{"title":"es","href":"/guias/knowledge-base"}]},{"language":"en","navbar":{"primary":{"type":"button","label":"Get started","href":"https://app.chatnorris.ai/register"}},"groups":[{"group":"Getting started","pages":[{"title":"ChatNorris Help Center","href":"/en"},{"title":"Welcome to ChatNorris","href":"/en/primeros-pasos/bienvenida"},{"title":"Create your account","href":"/en/primeros-pasos/crear-cuenta"},{"title":"First use","href":"/en/primeros-pasos/primer-uso"}]},{"group":"AI agents","pages":[{"title":"AI agents","href":"/en/guias/chatbots"},{"title":"Create an agent — step-by-step wizard","href":"/en/guias/crear-agente-wizard"},{"title":"AI models and credits","description":"Which AI models are available in ChatNorris, how many credits each one uses, and which ones are included in your plan.","href":"/en/guias/modelos-ia-creditos"},{"title":"Knowledge Base","href":"/en/guias/knowledge-base"},{"title":"Integrations","description":"How to connect WooCommerce, Jumpseller, Zendesk, Freshdesk, Google Drive, Google Calendar, Google Sheets, Encuadrado, Odoo, Laudus, HubSpot, LeadConnector, Pipedrive, SumUp, Mercado Pago, Flow and Wompi from your agent's Integrations hub, and how to request access to beta integrations.","href":"/en/guias/integraciones"},{"title":"Pipedrive","sidebarTitle":"Pipedrive","icon":"handshake","href":"/en/guias/pipedrive"},{"title":"Jumpseller","sidebarTitle":"Jumpseller","icon":"bag-shopping","href":"/en/guias/jumpseller"},{"title":"Laudus","sidebarTitle":"Laudus","icon":"building","href":"/en/guias/laudus"},{"title":"Google Sheets","sidebarTitle":"Google Sheets","icon":"table","href":"/en/guias/google-sheets"},{"title":"Agent actions","href":"/en/guias/acciones"},{"title":"Advanced agent settings","href":"/en/guias/configuracion-avanzada-agente"}]},{"group":"Web widget","pages":[{"title":"Install the widget on your website","href":"/en/guias/widget-instalacion"},{"title":"Customize the widget","href":"/en/guias/widget-personalizacion"}]},{"group":"Channels","pages":[{"title":"Connect messaging channels","href":"/en/guias/canales-whatsapp-instagram"},{"title":"Connect the Email channel","href":"/en/guias/canal-email"},{"title":"Reply to Google reviews","href":"/en/guias/canal-google-reviews"}]},{"group":"Conversations and live chat","pages":[{"title":"Conversations","href":"/en/guias/conversaciones"},{"title":"Live chat and handoff to an agent","href":"/en/guias/chat-en-vivo-handoff"},{"title":"ChatNorris Inbox (mobile app)","href":"/en/guias/chatnorris-inbox"},{"title":"Notifications","href":"/en/guias/notificaciones"}]},{"group":"Campaigns","pages":[{"title":"Campaigns","href":"/en/guias/campanas"}]},{"group":"Leads and analytics","pages":[{"title":"Leads","href":"/en/guias/leads"},{"title":"Analytics","href":"/en/guias/analytics"}]},{"group":"Team","pages":[{"title":"Manage your team","href":"/en/guias/equipo"}]},{"group":"Account and settings","pages":[{"title":"Manage your account","href":"/en/cuenta-y-facturacion/gestionar-cuenta"},{"title":"Partner program","href":"/en/cuenta-y-facturacion/programa-de-partners"}]},{"group":"Billing","pages":[{"title":"Billing and payments","href":"/en/cuenta-y-facturacion/facturacion-y-pagos"},{"title":"Add-ons","href":"/en/cuenta-y-facturacion/addons"},{"title":"Invoices","href":"/en/cuenta-y-facturacion/facturas"}]},{"group":"Troubleshooting","pages":[{"title":"The agent doesn't reply","href":"/en/solucion-de-problemas/chatbot-no-responde"},{"title":"A channel won't connect","href":"/en/solucion-de-problemas/canal-no-conecta"},{"title":"Credit limit reached","href":"/en/solucion-de-problemas/limite-mensajes-alcanzado"}]},{"group":"FAQ","pages":[{"title":"Frequently asked questions","href":"/en/faq/preguntas-frecuentes"}]},{"group":"Glossary","pages":[{"title":"Glossary of terms","href":"/en/glosario/terminos"}]},{"group":"Public API v2","pages":[{"title":"Introduction to the API","href":"/en/api-referencia/introduccion"},{"title":"Project","href":"/en/api-referencia/proyecto"},{"group":"Agents","pages":[{"title":"List agents","href":"/en/api-referencia/agentes/listar"},{"title":"Create agent","href":"/en/api-referencia/agentes/crear"},{"title":"Get agent","href":"/en/api-referencia/agentes/obtener"},{"title":"Update agent","href":"/en/api-referencia/agentes/actualizar"},{"title":"Delete agent","href":"/en/api-referencia/agentes/eliminar"},{"title":"Send message (Chat)","href":"/en/api-referencia/agentes/chat"},{"title":"Upload attachment","href":"/en/api-referencia/agentes/adjuntos"}]},{"group":"Knowledge Base","pages":[{"title":"List sources","href":"/en/api-referencia/knowledge/listar"},{"title":"Add source","href":"/en/api-referencia/knowledge/agregar"},{"title":"Delete source","href":"/en/api-referencia/knowledge/eliminar"},{"title":"Re-sync source","href":"/en/api-referencia/knowledge/resync"}]},{"group":"Conversations","pages":[{"title":"List conversations","href":"/en/api-referencia/conversaciones/listar"},{"title":"Get conversation","href":"/en/api-referencia/conversaciones/obtener"},{"title":"List messages","href":"/en/api-referencia/conversaciones/mensajes"}]},{"group":"Leads","pages":[{"title":"List leads","href":"/en/api-referencia/leads/listar"},{"title":"Get lead","href":"/en/api-referencia/leads/obtener"}]},{"group":"Automation (Zapier and n8n)","pages":[{"title":"Zapier","href":"/en/api-referencia/zapier"},{"title":"n8n","href":"/en/api-referencia/n8n"}]},{"title":"Channels","href":"/en/api-referencia/canales"},{"title":"Members","href":"/en/api-referencia/miembros"},{"title":"Usage","href":"/en/api-referencia/uso"}]}]}]},"basePath":"","title":"Knowledge Base - ChatNorris","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-DXXFP6nH.js","DynamicMarkdown-B54_zNBF.js","zoom-image-lightbox-BG6oD64b.js","lightbox-handle-r17bVUz3.js"]}