How an AI agent learns from your website and documents, why answers go wrong, and how to keep knowledge tidy. Then add your own sources and test them.
Guide
Train an AI agent on your website and documents, and keep its answers true.
When people ask how to train an AI chatbot on their own data, they usually
picture the model studying their website until it knows it by heart. That is
not how most support agents work, and knowing what happens instead explains most
good and bad answers. This guide covers the mechanism, the mistakes that cause
wrong answers, and how to set up your sources in Centillion.
A support agent does not rewrite the language model. The model stays the same
for every business. What changes is the material the agent reads before it
answers.The process has two halves. When you add a source, the text is extracted,
split into passages and indexed, so it can be searched later. This indexing
step is what most products call training. When a customer asks a question, the
agent searches that index, picks the passages that look most relevant, and
writes its answer from them. The technique is called retrieval: the model is
given the right page at the right moment, every time.Two things follow from this design:
Updates are fast. Change a page, re-index it, and the next answer uses
the new text. No model has to be retrained.
The agent only knows what it finds. If the answer is not in your
sources, or the search picks the wrong passage, the answer suffers. Most
quality work happens in the sources.
Good sources are the ones your team already uses to answer customers:
Your website. Product pages, pricing, shipping and returns, the FAQ.
Policy documents. Terms, warranty conditions, internal guides your team
follows.
Saved answers. The replies your team types out every week, written once
as a question with variations and an approved answer.
Working notes. Pages in a tool such as Notion where your team keeps
current procedures.
Closed support tickets. Real questions and how your team solved them.
Leave out what a customer should never see: internal pricing notes, personal
data, drafts that were never approved. Anything in the index can end up in an
answer.
Two pages disagree. An old pricing page and a new one both match the
question, and the agent quotes the old one. Contradictions are the most common
cause of a wrong answer. Remove or exclude the outdated page; do not rely on
the instructions to pick the right one.Noise crowds out the answer. The search keeps only a few passages per
question. Navigation menus, tag pages, duplicate collection pages and legal
boilerplate all compete for those slots. Import the pages that hold answers,
and skip the rest.The content is not text. Images inside documents are usually not read,
and a scanned PDF is a picture of text. Convert it to selectable text first.The page changed and the agent did not. Websites change outside the
support tool. Without a scheduled re-check, the agent keeps answering from the
version it saw last.Nothing to answer from. An agent with no knowledge still writes fluent
sentences. That is worse than silence. Add sources before you switch a
channel on, and tell the agent in its instructions to say when it does not
know.
Ask the questions your customers ask most, in their words. Then ask a question
the agent should not be able to answer, and check that it says so. When an
answer is wrong, look at which sources it used before you touch the
instructions. The fix is almost always in the knowledge.
In Centillion, knowledge is what your agent answers from. You
add sources under Knowledge base → Data sources, and Centillion imports
them and trains the agent automatically after every change, on every plan. The
full reference is Adding knowledge.
Knowledge base, Data sources: the six source types and the Auto-resync control in the header.
1
Add your website
Choose Add website, then Crawl links, Sitemap or Individual
link. Choose Fetch links and select the pages to import. A scan finds
up to 500 pages, and one source imports up to 50 selected pages; a larger
site needs several sources.
The Add website dialog: choose how to find pages, then fetch and select them.
2
Add documents
Choose Add files. PDF, DOC, DOCX, TXT, Markdown, CSV and JSON are
supported, up to 20 MB each and 20 files per import. PDF text must be
selectable.
3
Write the answers you want word for word
Choose Add Q&A for a question with a saved answer and up to 50 ways of
asking it. In chat on your website, with no tools turned on, an exact match returns
your saved answer as written, unless the customer’s message includes files:
then the model reads them and writes the reply.
4
Connect Notion or tickets
Add Notion pages imports pages and databases from a Notion workspace.
Add tickets learns from closed Zendesk or Salesforce tickets, on Pro and
up.
5
Keep it current
On Standard and up, turn on Auto-resync in the header: websites, Notion
pages and tickets are checked for changes every week. On any plan, Resync
now refreshes a source by hand.
6
Ask test questions
When sources show Synced, ask representative questions in the
selected branch draft in Playground. Choose Publish before sending one
real question through the channel your customers use, then open it in
Conversations to read the answer. Website chat
answers show a confidence score; check any below 0.5 against your
sources.
How an answer is put together in Centillion:
Exact questions first. If the question matches a variant of a Q&A entry,
that entry is used without searching. Case and punctuation are ignored.
Otherwise a search. The agent looks for passages by meaning and by
keyword at once, merges the two lists, and keeps the best six. Those
passages are what it writes from.
Draft edits stay on the branch. Removing a source from a draft or
excluding its pages changes that draft. Publish to use the change in new
customer conversations. Removing a source from the workspace stops its
retrieval in every version.
Only changes are re-indexed. Unchanged passages are reused, and a failed
build keeps the previous training available.
Do I need to retrain the agent after adding a source?
No. Adding, editing, removing or restoring a source starts training on its
own. The source shows Synced when the branch draft can use it, and you can
close the page while it runs. Publish the branch to use its updated knowledge
in new customer conversations.
Storage is counted on the text Centillion extracts, per agent: 1 MB on Free,
10 MB on Hobby, 20 MB on Standard and 40 MB on Pro. The size of the files you
upload does not count.
Most likely two sources disagree. Find the page that still holds the old
figure, then remove it from the branch draft or exclude it from the website
source. Wait for Synced, then Publish. New customer conversations use
the updated knowledge; existing conversations keep their saved version.
Every agent starts with version control on. Source changes apply to the selected
branch draft. Published versions keep their saved knowledge; publish a new
version to use the new content in new customer conversations.
Add your website through its sitemap and two policy documents, wait for
Synced, and ask the three questions your team answers most. Then ask one
it should not know.
Start free
Start on the Free plan, or take a seven-day trial of a paid plan. Your agent is live on your site in an afternoon.
Book a demo
Fifteen minutes with the team, on your own use case.
Every source type, its limits, and weekly Auto-resync.
Chatbot vs AI agent
What an agent that acts for your business needs.
Training and publishing
How edits become live answers, and how an answer is put together.
Last modified on October 20, 2026
⌘I
{"docsConfig":{"theme":"maple","$schema":"https://mintlify.com/docs.json","name":"Centillion","description":"How to build a Centillion AI agent, give it your knowledge, and put it on your website, WhatsApp, Messenger, Instagram, Slack and email.","colors":{"primary":"#0a0a0a","light":"#f5f5f5","dark":"#0a0a0a"},"logo":{"light":"https://mintcdn.com/centillion/YMwlBbzdENjtfSuJ/logo/centillion-labs-logo-horizontal.svg?fit=max\u0026auto=format\u0026n=YMwlBbzdENjtfSuJ\u0026q=85\u0026s=a390a5bdca5c0720e1871afbf09b1f18","dark":"https://mintcdn.com/centillion/YMwlBbzdENjtfSuJ/logo/centillion-labs-logo-horizontal.svg?fit=max\u0026auto=format\u0026n=YMwlBbzdENjtfSuJ\u0026q=85\u0026s=a390a5bdca5c0720e1871afbf09b1f18","href":"https://cntillion.com"},"favicon":"https://mintcdn.com/centillion/OVR3XViKbG9zMitv/favicon.svg?fit=max\u0026auto=format\u0026n=OVR3XViKbG9zMitv\u0026q=85\u0026s=a6656501072b111f976d6229cbbd73ad","appearance":{"default":"light","strict":true},"background":{"color":{"light":"#ffffff","dark":"#0a0a0a"}},"navbar":{"links":[{"href":"https://cntillion.com/pricing","label":"Pricing"},{"href":"https://cntillion.com/support","label":"Contact"}],"primary":{"type":"button","label":"Open Centillion","href":"https://app.cntillion.com"}},"footer":{"links":[{"header":"Centillion","items":[{"label":"Home","href":"https://cntillion.com"},{"label":"Pricing","href":"https://cntillion.com/pricing"},{"label":"Contact","href":"https://cntillion.com/support"},{"label":"Sign in","href":"https://app.cntillion.com/sign-in"}]}]},"search":{"prompt":"Search the Centillion docs"},"seo":{"metatags":{"og:site_name":"Centillion Docs"},"organization":{"name":"Centillion","url":"https://cntillion.com"},"indexing":"navigable"},"fonts":{"family":"Inter"},"metadata":{"timestamp":true},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"centillion","hasAudioNarration":false,"actualSubdomain":"centillion","customDomains":["cntillion.com"],"gitSource":{"type":"github","owner":"centillion-labs","repo":"conversational-agents-for-cx","deployBranch":"master","contentDirectory":"apps/docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ae95d6935b55ff31612f7a7","collectionId":"27832044-5e72-44ea-8577-5c209cbfb879","liveDeploymentHistoryId":"6ae95d6935b55ff31612f7a7","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6ae96f717e64ded297ae851c","clientVersion":"0.0.4045","searchFilterCounts":[{"language":"default","tag":"Reach your customers","count":19},{"language":"default","tag":"Build your agent","count":14},{"language":"default","tag":"Guides","count":8},{"language":"default","tag":"Workspace","count":7},{"language":"default","tag":"API documentation","count":6},{"language":"default","tag":"Support","count":6},{"language":"default","tag":"Customer data","count":5},{"language":"default","tag":"Website development","count":2},{"language":"default","tag":"Get started","count":2},{"language":"default","tag":"Helpdesk API","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"/docs","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":[{"filePath":"style.css","content":":root{--bg-subtle:#f6f6f6;--ink:#0a0a0a;--ink-2:#353535;--ink-3:#626262;--ink-4:#a1a1a1;--ink-5:#c7c7c7;--amber:#db8831;--amber-text:#9f5f1c;--amber-tint:#fbf4ec;--radius-lg:16px;--radius-xl:24px;--radius-pill:9999px;--glow-lavender:#ebeaf7;--glow-pink:#f2e4e2;--glow-peach:#f5e6dd;--glow-sky:#e6ecf4;--glow-mint:#e9f4ef}#page-title{font-size:40px;font-weight:500;line-height:46px;color:var(--ink);letter-spacing:-.02em}#content>h2,#content>h3,#content>h4{font-size:20px;font-weight:500;line-height:26px;color:var(--ink);letter-spacing:-.01em}#content>h3,#content>h4{font-size:18px;line-height:24px}#content>h4{font-size:16px;line-height:22px;letter-spacing:0}#header .eyebrow,#search-bar-entry,#search-bar-entry-mobile{font-size:14px;font-weight:400;line-height:20px;color:var(--ink-3)}#search-bar-entry,#search-bar-entry-mobile{height:36px;padding:0 16px;color:var(--ink-4);background-color:var(--bg-subtle);border-radius:var(--radius-pill);box-shadow:none}#search-bar-entry svg,#search-bar-entry-mobile svg{color:var(--ink-4)}#search-bar-entry>span{font-size:12px;font-weight:400;line-height:16px;color:var(--ink-4)}#search-bar-entry-mobile:focus-visible,#search-bar-entry:focus-visible{outline:2px solid var(--ink);outline-offset:2px}#content .card{background-color:var(--bg-subtle);border:0;border-radius:var(--radius-lg);box-shadow:none}#content .card [data-component-part=card-content-container]{padding:20px}#content .card [data-component-part=card-icon] svg{background-color:var(--ink-3)}#content .card [data-component-part=card-content-container]>a>div.absolute{color:var(--ink-5)}#content .card [data-component-part=card-title]{font-size:16px;font-weight:500;line-height:22px;color:var(--ink)}#content .card [data-component-part=card-content]{font-size:14px;font-weight:400;line-height:20px;color:var(--ink-3)}#content .card [data-component-part=card-content]>span{color:inherit}#content-area:has(.centillion-hero)>#header{display:none}.centillion-hero{display:flex;flex-direction:column;gap:20px;padding:28px;margin-bottom:24px;background-color:var(--bg-subtle);background-image:radial-gradient(38% 80% at 96% 0%,var(--glow-lavender) 0%,transparent 100%),radial-gradient(30% 70% at 84% 48%,var(--glow-pink) 0%,transparent 100%),radial-gradient(34% 70% at 90% 100%,var(--glow-peach) 0%,transparent 100%),radial-gradient(28% 64% at 66% 58%,var(--glow-sky) 0%,transparent 100%),radial-gradient(26% 56% at 62% 0%,var(--glow-mint) 0%,transparent 100%);border-radius:var(--radius-xl)}.centillion-hero .centillion-hero-eyebrow{margin:0;font-size:14px;font-weight:400;line-height:20px;color:var(--ink-3)}.centillion-hero .centillion-hero-title{max-width:720px;margin:0;font-size:40px;font-weight:500;line-height:46px;color:var(--ink);letter-spacing:-.02em;text-wrap:balance}.centillion-hero .centillion-muted{color:var(--ink-3)}#content .callout{padding:16px 20px;font-size:14px;line-height:20px;border:0;border-radius:var(--radius-lg)}#content .callout[data-callout-type=warning]{background-color:var(--amber-tint)}#content .callout[data-callout-type=warning] [data-component-part=callout-icon] svg{color:var(--amber)}#content .callout[data-callout-type=warning] [data-component-part=callout-content]{color:var(--amber-text)}#content .callout[data-callout-type=note]{background-color:var(--bg-subtle)}#content .callout[data-callout-type=note] [data-component-part=callout-icon] svg{color:var(--ink-3)}#content .callout[data-callout-type=note] [data-component-part=callout-content]{color:var(--ink-2)}"}],"page":{"pagePath":"guides/train-ai-agent-on-website","slug":"/guides/train-ai-agent-on-website","pageMetadata":{"title":"How to train an AI chatbot on your own data","description":"How an AI agent learns from your website and documents, why answers go wrong, and how to keep knowledge tidy. Then add your own sources and test them.","sidebarTitle":"Train on your data","keywords":["how to train an AI chatbot on your own data","AI chatbot knowledge base","train a chatbot on website content","retrieval for customer support"],"href":"/guides/train-ai-agent-on-website"},"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 an AI agent learns from your website and documents, why answers go wrong, and how to keep knowledge tidy. Then add your own sources and test them.\"\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`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Card,CardGroup,Frame,Heading,OptimizedImage,Step,Steps}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);return _jsxs(_Fragment,{children:[_jsxs(`div`,{className:`centillion-hero`,children:[_jsx(`p`,{className:`centillion-hero-eyebrow`,children:`Guide`}),_jsxs(`div`,{className:`centillion-hero-title`,role:`heading`,\"aria-level\":`1`,children:[_jsx(`span`,{className:`centillion-muted`,children:`Train an`}),` AI agent `,_jsx(`span`,{className:`centillion-muted`,children:`on`}),` your website `,_jsx(`span`,{className:`centillion-muted`,children:`and`}),` documents`,_jsx(`span`,{className:`centillion-muted`,children:`, and keep its answers`}),` true.`]})]}),`\n`,_jsx(_components.p,{children:`When people ask how to train an AI chatbot on their own data, they usually\npicture the model studying their website until it knows it by heart. That is\nnot how most support agents work, and knowing what happens instead explains most\ngood and bad answers. This guide covers the mechanism, the mistakes that cause\nwrong answers, and how to set up your sources in Centillion.`}),`\n`,_jsx(Heading,{level:`2`,id:`what-“training”-means-for-a-support-agent`,children:`What “training” means for a support agent`}),`\n`,_jsx(_components.p,{children:`A support agent does not rewrite the language model. The model stays the same\nfor every business. What changes is the material the agent reads before it\nanswers.`}),`\n`,_jsx(_components.p,{children:`The process has two halves. When you add a source, the text is extracted,\nsplit into passages and indexed, so it can be searched later. This indexing\nstep is what most products call training. When a customer asks a question, the\nagent searches that index, picks the passages that look most relevant, and\nwrites its answer from them. The technique is called retrieval: the model is\ngiven the right page at the right moment, every time.`}),`\n`,_jsx(_components.p,{children:`Two things follow from this design:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Updates are fast.`}),` Change a page, re-index it, and the next answer uses\nthe new text. No model has to be retrained.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`The agent only knows what it finds.`}),` If the answer is not in your\nsources, or the search picks the wrong passage, the answer suffers. Most\nquality work happens in the sources.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-to-feed-it`,children:`What to feed it`}),`\n`,_jsx(_components.p,{children:`Good sources are the ones your team already uses to answer customers:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Your website.`}),` Product pages, pricing, shipping and returns, the FAQ.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Policy documents.`}),` Terms, warranty conditions, internal guides your team\nfollows.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Saved answers.`}),` The replies your team types out every week, written once\nas a question with variations and an approved answer.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Working notes.`}),` Pages in a tool such as Notion where your team keeps\ncurrent procedures.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Closed support tickets.`}),` Real questions and how your team solved them.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Leave out what a customer should never see: internal pricing notes, personal\ndata, drafts that were never approved. Anything in the index can end up in an\nanswer.`}),`\n`,_jsx(Heading,{level:`2`,id:`why-answers-go-wrong`,children:`Why answers go wrong`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Two pages disagree.`}),` An old pricing page and a new one both match the\nquestion, and the agent quotes the old one. Contradictions are the most common\ncause of a wrong answer. Remove or exclude the outdated page; do not rely on\nthe instructions to pick the right one.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Noise crowds out the answer.`}),` The search keeps only a few passages per\nquestion. Navigation menus, tag pages, duplicate collection pages and legal\nboilerplate all compete for those slots. Import the pages that hold answers,\nand skip the rest.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`The content is not text.`}),` Images inside documents are usually not read,\nand a scanned PDF is a picture of text. Convert it to selectable text first.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`The page changed and the agent did not.`}),` Websites change outside the\nsupport tool. Without a scheduled re-check, the agent keeps answering from the\nversion it saw last.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Nothing to answer from.`}),` An agent with no knowledge still writes fluent\nsentences. That is worse than silence. Add sources before you switch a\nchannel on, and tell the agent in its instructions to say when it does not\nknow.`]}),`\n`,_jsx(Heading,{level:`2`,id:`how-to-check-it`,children:`How to check it`}),`\n`,_jsx(_components.p,{children:`Ask the questions your customers ask most, in their words. Then ask a question\nthe agent should not be able to answer, and check that it says so. When an\nanswer is wrong, look at which sources it used before you touch the\ninstructions. The fix is almost always in the knowledge.`}),`\n`,_jsx(Heading,{level:`2`,id:`set-it-up-with-centillion`,children:`Set it up with Centillion`}),`\n`,_jsxs(_components.p,{children:[`In `,_jsx(_components.a,{href:`/introduction`,children:`Centillion`}),`, knowledge is what your agent answers from. You\nadd sources under `,_jsx(_components.strong,{children:`Knowledge base → Data sources`}),`, and Centillion imports\nthem and trains the agent automatically after every change, on every plan. The\nfull reference is `,_jsx(_components.a,{href:`/agents/knowledge`,children:`Adding knowledge`}),`.`]}),`\n`,_jsx(Frame,{caption:`Knowledge base, Data sources: the six source types and the Auto-resync control in the header.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/centillion/WLpDA0mJ1ryQ1IZ5/images/agents/knowledge-01-data-sources.webp?fit=max\u0026auto=format\u0026n=WLpDA0mJ1ryQ1IZ5\u0026q=85\u0026s=69093a21359ee9855e173b188aa1c07a`,alt:`Data sources page with buttons for files, website, text, Q\u0026A, Notion and tickets, and the Auto-resync menu`,\"data-og-width\":`1568`,width:`1568`,\"data-og-height\":`735`,height:`735`,\"data-path\":`images/agents/knowledge-01-data-sources.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/centillion/WLpDA0mJ1ryQ1IZ5/images/agents/knowledge-01-data-sources.webp?w=280\u0026fit=max\u0026auto=format\u0026n=WLpDA0mJ1ryQ1IZ5\u0026q=85\u0026s=efe0aa1a487d7d5f33dc32ff73523a8a 280w, https://mintcdn.com/centillion/WLpDA0mJ1ryQ1IZ5/images/agents/knowledge-01-data-sources.webp?w=560\u0026fit=max\u0026auto=format\u0026n=WLpDA0mJ1ryQ1IZ5\u0026q=85\u0026s=84cb6df42d96f845871b2e8a5bc86517 560w, https://mintcdn.com/centillion/WLpDA0mJ1ryQ1IZ5/images/agents/knowledge-01-data-sources.webp?w=840\u0026fit=max\u0026auto=format\u0026n=WLpDA0mJ1ryQ1IZ5\u0026q=85\u0026s=5d2fba8ccf28c0b8c7943b07d6bd628f 840w, https://mintcdn.com/centillion/WLpDA0mJ1ryQ1IZ5/images/agents/knowledge-01-data-sources.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=WLpDA0mJ1ryQ1IZ5\u0026q=85\u0026s=b3c5be030d708c4e30d6bfe8ab038890 1100w, https://mintcdn.com/centillion/WLpDA0mJ1ryQ1IZ5/images/agents/knowledge-01-data-sources.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=WLpDA0mJ1ryQ1IZ5\u0026q=85\u0026s=62dffe6a3e610623a741f37337da044b 1650w, https://mintcdn.com/centillion/WLpDA0mJ1ryQ1IZ5/images/agents/knowledge-01-data-sources.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=WLpDA0mJ1ryQ1IZ5\u0026q=85\u0026s=e626a800a68269da72fa39bc63a8d050 2500w`})}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Add your website`,children:[_jsxs(_components.p,{children:[`Choose `,_jsx(_components.strong,{children:`Add website`}),`, then `,_jsx(_components.strong,{children:`Crawl links`}),`, `,_jsx(_components.strong,{children:`Sitemap`}),` or `,_jsx(_components.strong,{children:`Individual\nlink`}),`. Choose `,_jsx(_components.strong,{children:`Fetch links`}),` and select the pages to import. A scan finds\nup to 500 pages, and one source imports up to 50 selected pages; a larger\nsite needs several sources.`]}),_jsx(Frame,{caption:`The Add website dialog: choose how to find pages, then fetch and select them.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/centillion/OVR3XViKbG9zMitv/images/agents/knowledge-02-add-website.webp?fit=max\u0026auto=format\u0026n=OVR3XViKbG9zMitv\u0026q=85\u0026s=363fe7c0d0538585dad6080729ec3934`,alt:`Add website dialog after Fetch links, with 50 of 62 pages selected in a tree of the site and the Add website button`,\"data-og-width\":`761`,width:`761`,\"data-og-height\":`828`,height:`828`,\"data-path\":`images/agents/knowledge-02-add-website.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/centillion/OVR3XViKbG9zMitv/images/agents/knowledge-02-add-website.webp?w=280\u0026fit=max\u0026auto=format\u0026n=OVR3XViKbG9zMitv\u0026q=85\u0026s=d4a47a5adc0953bc8f83f341b261554a 280w, https://mintcdn.com/centillion/OVR3XViKbG9zMitv/images/agents/knowledge-02-add-website.webp?w=560\u0026fit=max\u0026auto=format\u0026n=OVR3XViKbG9zMitv\u0026q=85\u0026s=765f5d20d8992151f8eb328a5317fdd8 560w, https://mintcdn.com/centillion/OVR3XViKbG9zMitv/images/agents/knowledge-02-add-website.webp?w=840\u0026fit=max\u0026auto=format\u0026n=OVR3XViKbG9zMitv\u0026q=85\u0026s=9032aac9fb4b127865097a3bef6720c2 840w, https://mintcdn.com/centillion/OVR3XViKbG9zMitv/images/agents/knowledge-02-add-website.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=OVR3XViKbG9zMitv\u0026q=85\u0026s=cf391a104f44cc9a9aab09d20256c929 1100w, https://mintcdn.com/centillion/OVR3XViKbG9zMitv/images/agents/knowledge-02-add-website.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=OVR3XViKbG9zMitv\u0026q=85\u0026s=14f8000b30fc6fe3bf316dc07587d285 1650w, https://mintcdn.com/centillion/OVR3XViKbG9zMitv/images/agents/knowledge-02-add-website.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=OVR3XViKbG9zMitv\u0026q=85\u0026s=a35c77405e8d22e0754a4ac5a3f46576 2500w`})})]}),_jsx(Step,{title:`Add documents`,children:_jsxs(_components.p,{children:[`Choose `,_jsx(_components.strong,{children:`Add files`}),`. PDF, DOC, DOCX, TXT, Markdown, CSV and JSON are\nsupported, up to 20 MB each and 20 files per import. PDF text must be\nselectable.`]})}),_jsx(Step,{title:`Write the answers you want word for word`,children:_jsxs(_components.p,{children:[`Choose `,_jsx(_components.strong,{children:`Add Q\u0026A`}),` for a question with a saved answer and up to 50 ways of\nasking it. In chat on your website, with no tools turned on, an exact match returns\nyour saved answer as written, unless the customer’s message includes files:\nthen the model reads them and writes the reply.`]})}),_jsx(Step,{title:`Connect Notion or tickets`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Add Notion pages`}),` imports pages and databases from a Notion workspace.\n`,_jsx(_components.strong,{children:`Add tickets`}),` learns from closed Zendesk or Salesforce tickets, on Pro and\nup.`]})}),_jsx(Step,{title:`Keep it current`,children:_jsxs(_components.p,{children:[`On Standard and up, turn on `,_jsx(_components.strong,{children:`Auto-resync`}),` in the header: websites, Notion\npages and tickets are checked for changes every week. On any plan, `,_jsx(_components.strong,{children:`Resync\nnow`}),` refreshes a source by hand.`]})}),_jsx(Step,{title:`Ask test questions`,children:_jsxs(_components.p,{children:[`When sources show `,_jsx(_components.strong,{children:`Synced`}),`, ask representative questions in the\nselected branch draft in Playground. Choose `,_jsx(_components.strong,{children:`Publish`}),` before sending one\nreal question through the channel your customers use, then open it in\n`,_jsx(_components.strong,{children:`Conversations`}),` to read the answer. Website chat\nanswers show a confidence score; check any below 0.5 against your\nsources.`]})})]}),`\n`,_jsx(_components.p,{children:`How an answer is put together in Centillion:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Exact questions first.`}),` If the question matches a variant of a Q\u0026A entry,\nthat entry is used without searching. Case and punctuation are ignored.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Otherwise a search.`}),` The agent looks for passages by meaning and by\nkeyword at once, merges the two lists, and keeps the best six. Those\npassages are what it writes from.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Draft edits stay on the branch.`}),` Removing a source from a draft or\nexcluding its pages changes that draft. Publish to use the change in new\ncustomer conversations. Removing a source from the workspace stops its\nretrieval in every version.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Only changes are re-indexed.`}),` Unchanged passages are reused, and a failed\nbuild keeps the previous training available.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`questions`,children:`Questions`}),`\n`,_jsx(Heading,{level:`3`,id:`do-i-need-to-retrain-the-agent-after-adding-a-source`,children:`Do I need to retrain the agent after adding a source?`}),`\n`,_jsxs(_components.p,{children:[`No. Adding, editing, removing or restoring a source starts training on its\nown. The source shows `,_jsx(_components.strong,{children:`Synced`}),` when the branch draft can use it, and you can\nclose the page while it runs. `,_jsx(_components.strong,{children:`Publish`}),` the branch to use its updated knowledge\nin new customer conversations.`]}),`\n`,_jsx(Heading,{level:`3`,id:`how-much-can-i-add`,children:`How much can I add?`}),`\n`,_jsx(_components.p,{children:`Storage is counted on the text Centillion extracts, per agent: 1 MB on Free,\n10 MB on Hobby, 20 MB on Standard and 40 MB on Pro. The size of the files you\nupload does not count.`}),`\n`,_jsx(Heading,{level:`3`,id:`why-does-the-agent-quote-an-old-price`,children:`Why does the agent quote an old price?`}),`\n`,_jsxs(_components.p,{children:[`Most likely two sources disagree. Find the page that still holds the old\nfigure, then remove it from the branch draft or exclude it from the website\nsource. Wait for `,_jsx(_components.strong,{children:`Synced`}),`, then `,_jsx(_components.strong,{children:`Publish`}),`. New customer conversations use\nthe updated knowledge; existing conversations keep their saved version.`]}),`\n`,_jsx(Heading,{level:`3`,id:`can-it-read-images-or-scanned-pdfs`,children:`Can it read images or scanned PDFs?`}),`\n`,_jsx(_components.p,{children:`Images inside files and Notion pages are not read, and scanned PDFs need\nconverting to selectable text before you import them.`}),`\n`,_jsx(Heading,{level:`3`,id:`does-new-knowledge-reach-a-published-release`,children:`Does new knowledge reach a published release?`}),`\n`,_jsx(_components.p,{children:`Every agent starts with version control on. Source changes apply to the selected\nbranch draft. Published versions keep their saved knowledge; publish a new\nversion to use the new content in new customer conversations.`}),`\n`,_jsx(Heading,{level:`2`,id:`try-it`,children:`Try it`}),`\n`,_jsxs(_components.p,{children:[`Add your website through its sitemap and two policy documents, wait for\n`,_jsx(_components.strong,{children:`Synced`}),`, and ask the three questions your team answers most. Then ask one\nit should not know.`]}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Start free`,icon:`rocket`,href:`https://app.cntillion.com/sign-up?utm_source=docs\u0026utm_medium=article\u0026utm_campaign=guides-train-ai-agent-on-website`,children:_jsx(_components.p,{children:`Start on the Free plan, or take a seven-day trial of a paid plan. Your agent is live on your site in an afternoon.`})}),_jsx(Card,{title:`Book a demo`,icon:`calendar`,href:`https://cal.com/patrick-turricelli-smgfks/15min?utm_source=docs\u0026utm_medium=article\u0026utm_campaign=guides-train-ai-agent-on-website`,children:_jsx(_components.p,{children:`Fifteen minutes with the team, on your own use case.`})})]}),`\n`,_jsx(_components.p,{children:`Or ask the assistant on this page.`}),`\n`,_jsx(Heading,{level:`2`,id:`related`,children:`Related`}),`\n`,_jsxs(CardGroup,{cols:3,children:[_jsx(Card,{title:`Adding knowledge`,icon:`book-open`,href:`/agents/knowledge`,children:_jsx(_components.p,{children:`Every source type, its limits, and weekly Auto-resync.`})}),_jsx(Card,{title:`Chatbot vs AI agent`,icon:`scale-balanced`,href:`/guides/chatbot-vs-ai-agent`,children:_jsx(_components.p,{children:`What an agent that acts for your business needs.`})}),_jsx(Card,{title:`Training and publishing`,icon:`arrows-rotate`,href:`/agents/training-and-publishing`,children:_jsx(_components.p,{children:`How edits become live answers, and how an answer is put together.`})})]})]})}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":"How to train an AI chatbot on your own data","description":"How an AI agent learns from your website and documents, why answers go wrong, and how to keep knowledge tidy. Then add your own sources and test them.","sidebarTitle":"Train on your data","keywords":["how to train an AI chatbot on your own data","AI chatbot knowledge base","train a chatbot on website content","retrieval for customer support"],"href":"/guides/train-ai-agent-on-website"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"What “training” means for a support agent","slug":"what-“training”-means-for-a-support-agent","depth":2,"children":[]},{"title":"What to feed it","slug":"what-to-feed-it","depth":2,"children":[]},{"title":"Why answers go wrong","slug":"why-answers-go-wrong","depth":2,"children":[]},{"title":"How to check it","slug":"how-to-check-it","depth":2,"children":[]},{"title":"Set it up with Centillion","slug":"set-it-up-with-centillion","depth":2,"children":[]},{"title":"Questions","slug":"questions","depth":2,"children":[{"title":"Do I need to retrain the agent after adding a source?","slug":"do-i-need-to-retrain-the-agent-after-adding-a-source","depth":3,"children":[]},{"title":"How much can I add?","slug":"how-much-can-i-add","depth":3,"children":[]},{"title":"Why does the agent quote an old price?","slug":"why-does-the-agent-quote-an-old-price","depth":3,"children":[]},{"title":"Can it read images or scanned PDFs?","slug":"can-it-read-images-or-scanned-pdfs","depth":3,"children":[]},{"title":"Does new knowledge reach a published release?","slug":"does-new-knowledge-reach-a-published-release","depth":3,"children":[]}]},{"title":"Try it","slug":"try-it","depth":2,"children":[]},{"title":"Related","slug":"related","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"centillion","siteName":"Centillion","title":"How to train an AI chatbot on your own data - Centillion","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-31T05:17:34.414Z","gitLastModified":"2026-10-20T18:30:37.000Z","originalFileLocation":"guides/train-ai-agent-on-website.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"light\";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=\"light\"}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 an AI agent learns from your website and documents, why answers go wrong, and how to keep knowledge tidy. Then add your own sources and test them.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Centillion\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/centillion/BF_fLDJvZi3ny4fj/_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=\"/docs/mintlify-assets/_mintlify/favicons/centillion/BF_fLDJvZi3ny4fj/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/centillion/BF_fLDJvZi3ny4fj/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/centillion/BF_fLDJvZi3ny4fj/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/centillion/BF_fLDJvZi3ny4fj/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/centillion/BF_fLDJvZi3ny4fj/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/centillion/BF_fLDJvZi3ny4fj/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/centillion/BF_fLDJvZi3ny4fj/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/centillion/BF_fLDJvZi3ny4fj/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"How to train an AI chatbot on your own data - Centillion\">\u003cmeta data-mint-head property=\"og:description\" content=\"How an AI agent learns from your website and documents, why answers go wrong, and how to keep knowledge tidy. Then add your own sources and test them.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Centillion Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://cntillion.com/docs/guides/train-ai-agent-on-website\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://centillion.mintlify.app/_mintlify/api/og/v2?division=Guides\u0026amp;title=How+to+train+an+AI+chatbot+on+your+own+data\u0026amp;description=How+an+AI+agent+learns+from+your+website+and+documents%2C+why+answers+go+wrong%2C+and+how+to+keep+knowledge+tidy.+Then+add+your+own+sources+and+test+them.\u0026amp;theme=a486c6eed2424799fd7a38ab\u0026amp;signature=cd6f2eea221c479b37844f599aa347836ec3085a66a763958f06f0a5526522e9\">\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=\"How to train an AI chatbot on your own data - Centillion\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"How an AI agent learns from your website and documents, why answers go wrong, and how to keep knowledge tidy. Then add your own sources and test them.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://centillion.mintlify.app/_mintlify/api/og/v2?division=Guides\u0026amp;title=How+to+train+an+AI+chatbot+on+your+own+data\u0026amp;description=How+an+AI+agent+learns+from+your+website+and+documents%2C+why+answers+go+wrong%2C+and+how+to+keep+knowledge+tidy.+Then+add+your+own+sources+and+test+them.\u0026amp;theme=a486c6eed2424799fd7a38ab\u0026amp;signature=cd6f2eea221c479b37844f599aa347836ec3085a66a763958f06f0a5526522e9\">\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=\"/docs/mintlify-assets/_mintlify/favicons/centillion/BF_fLDJvZi3ny4fj/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Centillion\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0a0a0a\">\u003clink data-mint-head rel=\"canonical\" href=\"https://cntillion.com/docs/guides/train-ai-agent-on-website\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/guides/train-ai-agent-on-website.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://cntillion.com/#organization\",\"name\":\"Centillion\",\"url\":\"https://cntillion.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/centillion/YMwlBbzdENjtfSuJ/logo/centillion-labs-logo-horizontal.svg?fit=max\u0026auto=format\u0026n=YMwlBbzdENjtfSuJ\u0026q=85\u0026s=a390a5bdca5c0720e1871afbf09b1f18\"}},{\"@type\":\"WebSite\",\"@id\":\"https://cntillion.com/docs#website\",\"name\":\"Centillion\",\"url\":\"https://cntillion.com/docs\",\"publisher\":{\"@id\":\"https://cntillion.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://cntillion.com/docs/guides/train-ai-agent-on-website#webpage\",\"url\":\"https://cntillion.com/docs/guides/train-ai-agent-on-website\",\"name\":\"How to train an AI chatbot on your own data\",\"description\":\"How an AI agent learns from your website and documents, why answers go wrong, and how to keep knowledge tidy. Then add your own sources and test them.\",\"dateModified\":\"2026-10-20T18:30:37.000Z\",\"isPartOf\":{\"@id\":\"https://cntillion.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://cntillion.com/docs/guides/train-ai-agent-on-website#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://cntillion.com/docs/guides/train-ai-agent-on-website#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Guides\",\"item\":\"https://cntillion.com/docs/guides/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to train an AI chatbot on your own data\",\"item\":\"https://cntillion.com/docs/guides/train-ai-agent-on-website\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://cntillion.com/docs/guides/train-ai-agent-on-website#article\",\"headline\":\"How to train an AI chatbot on your own data\",\"name\":\"How to train an AI chatbot on your own data\",\"description\":\"How an AI agent learns from your website and documents, why answers go wrong, and how to keep knowledge tidy. Then add your own sources and test them.\",\"url\":\"https://cntillion.com/docs/guides/train-ai-agent-on-website\",\"mainEntityOfPage\":{\"@id\":\"https://cntillion.com/docs/guides/train-ai-agent-on-website#webpage\"},\"dateModified\":\"2026-10-20T18:30:37.000Z\",\"keywords\":\"how to train an AI chatbot on your own data, AI chatbot knowledge base, train a chatbot on website content, retrieval for customer support\",\"publisher\":{\"@id\":\"https://cntillion.com/#organization\"},\"isPartOf\":{\"@id\":\"https://cntillion.com/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Centillion\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Centillion","nav":{"global":null,"groups":[{"group":"Get started","pages":[{"title":"What Centillion is","href":"/introduction"},{"title":"Quickstart","href":"/quickstart"}]},{"group":"Build your agent","pages":[{"title":"Build an AI customer support agent","sidebarTitle":"Creating an agent","href":"/agents/create-an-agent"},{"title":"Manage an AI agent in plain language","sidebarTitle":"Mastermind","href":"/agents/mastermind"},{"title":"Train an AI agent on your website and docs","sidebarTitle":"Adding knowledge","href":"/agents/knowledge"},{"title":"Training and publishing","href":"/agents/training-and-publishing"},{"title":"Releases, shared tools and workflows","href":"/agents/releases-and-workflows"},{"title":"Personalization","href":"/agents/personalization"},{"title":"Disclosure requirements","href":"/agents/disclosure-requirements"},{"title":"Procedures","href":"/agents/procedures"},{"title":"Signatures, texts and waiting in workflows","sidebarTitle":"Signatures and texts","href":"/agents/signatures-and-texts"},{"title":"Test an AI agent with simulated customers","sidebarTitle":"Tests","href":"/agents/tests"},{"title":"Agent dashboards, Pulse, topics and sentiment","sidebarTitle":"Dashboards","href":"/analytics"},{"title":"AI agent custom tools: call your API","sidebarTitle":"Custom tools","href":"/agents/custom-actions"},{"title":"System tools: end calls, transfer and more","sidebarTitle":"System tools","href":"/agents/system-tools"},{"title":"AI chatbot lead capture forms and data","sidebarTitle":"Collect data","href":"/agents/collect-data"}]},{"group":"Reach your customers","pages":[{"title":"AI chat widget for your website","sidebarTitle":"Installing the chat on your website","href":"/channels/website"},{"title":"UTM tracking","href":"/channels/utm-tracking"},{"title":"Shopify AI customer support chatbot","sidebarTitle":"Shopify","href":"/channels/shopify"},{"title":"iOS and Android SDKs","href":"/channels/mobile-sdk"},{"title":"Connecting a channel","href":"/channels/overview"},{"title":"WhatsApp AI agent for customer support","sidebarTitle":"WhatsApp","href":"/channels/whatsapp"},{"title":"AI text message support for US businesses","sidebarTitle":"Text messages (SMS)","href":"/channels/sms"},{"title":"Phone numbers for your AI agent","sidebarTitle":"Phone numbers","href":"/channels/phone"},{"title":"Existing Centillion Labs numbers","href":"/channels/phone-numbers-from-centillion"},{"title":"Outbound AI calls","href":"/channels/outbound-calls"},{"title":"Facebook Messenger AI chatbot for business","sidebarTitle":"Messenger","href":"/channels/messenger"},{"title":"Instagram DM automation with AI","sidebarTitle":"Instagram","href":"/channels/instagram"},{"title":"AI assistant in Slack for support teams","sidebarTitle":"Slack","href":"/channels/slack"},{"title":"Salesforce","href":"/channels/salesforce"},{"title":"Connect an AI agent to Zapier","sidebarTitle":"Zapier","href":"/channels/zapier"},{"title":"AI email support agent","sidebarTitle":"Email","href":"/channels/email"},{"title":"Email addresses and domains","href":"/channels/email-settings"},{"title":"Set up email forwarding","href":"/channels/email-forwarding"},{"title":"Authenticate an email domain","href":"/channels/email-dns"}]},{"group":"Website development","pages":[{"title":"Event listeners","href":"/developer-guides/event-listeners"},{"title":"Webhooks","href":"/developer-guides/webhooks"}]},{"group":"Customer data","pages":[{"title":"Import contacts CSV to your AI agent","sidebarTitle":"Contacts","href":"/customer-data/contacts"},{"title":"Sync AI agents with HubSpot or Salesforce","sidebarTitle":"Connecting HubSpot, Salesforce or Intercom","href":"/customer-data/crm-integrations"},{"title":"AI support agent with Stripe billing","sidebarTitle":"Stripe billing","href":"/customer-data/stripe"},{"title":"Verify logged-in users in AI chat widget","sidebarTitle":"Identity verification","href":"/customer-data/identity-verification"},{"title":"Churn reasons","href":"/customer-data/churn-reasons"}]},{"group":"Win customers back","pages":[{"title":"Outbound calls and campaigns","sidebarTitle":"Outbound campaigns","href":"/campaigns"}]},{"group":"Support","pages":[{"title":"AI helpdesk with human handoff","sidebarTitle":"Helpdesk","href":"/helpdesk"},{"title":"Helpdesk email settings","href":"/helpdesk/email-settings"},{"title":"Product issues in Notion","href":"/helpdesk/product-issues"},{"title":"Zendesk email handoff","href":"/helpdesk/zendesk-email"},{"title":"Centillion on your phone","href":"/mobile"},{"title":"My agent is not answering","href":"/troubleshooting"}]},{"group":"Workspace","pages":[{"title":"Workspaces","href":"/workspaces/overview"},{"title":"Conversations","href":"/workspaces/conversations"},{"title":"Voices","href":"/workspaces/voices"},{"title":"Workspace settings","href":"/workspaces/settings"},{"title":"Members and roles","href":"/workspaces/members"},{"title":"Workspace usage","href":"/workspaces/usage"},{"title":"Plans and billing","href":"/workspaces/billing"}]},{"group":"Guides","pages":[{"title":"Guides to AI customer conversations","sidebarTitle":"All guides","href":"/guides/overview"},{"title":"AI outbound calling: consent, hours and disclosure","sidebarTitle":"AI outbound calling","href":"/guides/ai-outbound-calling"},{"title":"Answering WhatsApp customers with an AI agent","sidebarTitle":"WhatsApp AI agent","href":"/guides/whatsapp-ai-agent"},{"title":"AI phone answering on your own Twilio number","sidebarTitle":"AI phone answering","href":"/guides/ai-phone-answering"},{"title":"Chatbot vs AI agent: what changes for customer support","sidebarTitle":"Chatbot vs AI agent","href":"/guides/chatbot-vs-ai-agent"},{"title":"Shopify customer service automation: orders and returns","description":"What Shopify shoppers ask, which answers an AI agent can give from live store data, and where a person stays in charge. Set it up on your store.","sidebarTitle":"Shopify support","href":"/guides/shopify-ai-support"},{"title":"How to train an AI chatbot on your own data","sidebarTitle":"Train on your data","href":"/guides/train-ai-agent-on-website"},{"title":"WhatsApp win-back campaigns: a practical guide","description":"How WhatsApp win-back campaigns work: templates, opt-in, limits and what to measure. Then run one where your AI agent answers every reply.","sidebarTitle":"WhatsApp win-back","href":"/guides/whatsapp-win-back-campaigns"}]},{"group":"API documentation","pages":[{"title":"API reference","href":"/api-reference/introduction"},{"title":"Developer API","href":"/api-reference/developer-api"},{"title":"Real-time monitoring","href":"/api-reference/realtime-monitoring"},{"title":"Contacts and campaign enrollment","href":"/api-reference/contacts-and-enrollments"},{"title":"Batch calling API","href":"/api-reference/batch-calls"},{"title":"Agent testing API","href":"/api-reference/agent-testing"}]},{"group":"Helpdesk API","pages":[{"title":"Create a Helpdesk ticket","openapi":"POST /api/v2/agents/{agentId}/helpdesk/tickets","href":"/api-reference/endpoint/create-helpdesk-ticket"}]},{"group":"Developer guides","pages":[{"title":"Chat bubble controls","href":"/developer-guides/chat-bubble-control"}]}]},"basePath":"","title":"How to train an AI chatbot on your own data - Centillion","buildId":"dpl_Acry4NrQAgjcikyFgVE2eJ7XQCAv","deploymentId":"dpl_Acry4NrQAgjcikyFgVE2eJ7XQCAv","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-D9VvKFqQ.js","DynamicMarkdown-BCpKo5ib.js","zoom-image-lightbox-DBRtNxbY.js","lightbox-handle-r17bVUz3.js"]}