Create a website chatbot using Knowledges for ingestion and Agent Creator for the agent and embed widget.
This tutorial guides you through creating an intelligent chatbot for your website using Retrieval-Augmented Generation (RAG). You’ll set up a Knowledge Base in Knowledges that crawls and embeds your website, build an agent in Agent Creator wired to that Knowledge Base, and expose a customizable embed widget so visitors can chat with your content directly from your site.
Start by creating the Knowledge Base that will store your website content as embeddings.
1
Open Knowledges
From the Prisme.ai platform, open the Knowledges product.
2
Create a new Knowledge Base
From Knowledge Bases in the Knowledges sidebar, click + Create (or use the Dashboard’s + New Knowledge Base tile, same dialog). Give it a clear name (for example, “Company Website”) and pick the embedding model you want to use.
The Knowledge Base ingests pages directly. Inside the Knowledge Base detail page, the Add Web Source action handles both single-page additions and full-site auto-discovery.
The global Connectors entry in the Knowledges sidebar is a separate, cross-Knowledge-Base concept. It is not how websites are added. Web ingestion lives on a Knowledge Base’s own detail page, alongside file uploads.
1
Open the Knowledge Base
From Knowledges → Knowledge Bases, click the Knowledge Base you just created. You land on its detail page where its files and web sources are listed.
2
Click Add Web Source
Use the Add Web Source button next to Add Documents. (If the Knowledge Base is still empty, the same action is available from the dashed “Add a web source - Crawl a website or add a single URL” tile.)
3
Pick the right tab
The modal has two tabs:
Single URL: adds one specific page (placeholder https://example.com/page). Use this when you only want to ingest a few hand-picked URLs.
Auto-Discovery: crawls the whole website starting from a root URL. Use this for full-site ingestion.
For a website chatbot, pick Auto-Discovery.
4
Enter the website URL and tune the crawler
Fill in the Website URL (e.g. https://example.com). The Auto-Discovery tab exposes per-hostname crawler settings:
Path filter: restrict the crawl to a subtree (e.g. /docs).
Blacklisted patterns: skip URLs matching given patterns (e.g. /admin/.*).
Respect robots.txt: toggle (default on).
Sitemap only + Sitemap URL: drive the crawl from a sitemap.
XPath filter: only index nodes matching an XPath, e.g. //article | //main.
HTTP headers: custom request headers (e.g. Authorization, Cookie) for sites that need auth.
If the hostname is already configured for another URL on the same Knowledge Base, the form pre-fills with the existing config and warns you that any change applies to all URLs on that hostname.
5
Submit
Click Start Crawling. The Knowledge Base PATCHes its websites list and websites_config map and the crawl runs in the background. Once submitted, the new entry appears under the Web Sources list on the Knowledge Base page with a per-source row summarizing its config and indexed page count.
6
Tune the store-level crawler limits
Per-page-count limits and re-crawl interval are Knowledge-Base-level, not per-source. Open the Knowledge Base Settings tab to set:
Max pages: overall crawl budget for the Knowledge Base.
Re-crawl interval: manual or a fixed interval.
Crawling and embedding can take time depending on site size. You can begin testing as soon as some pages are processed. A maximum document quota is often enforced on your instance; contact your internal point of contact if you hit the limit.You can re-crawl any web source on demand using the row’s Re-crawl action, edit its hostname config via Edit Config, or remove it via Remove.
Once crawling starts producing results, verify ingestion directly from the Knowledge Base.
1
Open the Knowledge Base
From Knowledges → Knowledge Bases, click your Knowledge Base.
2
Browse Web Sources and indexed pages
The Knowledge Base detail page lists each Web Source with its current pages indexed count. Underneath, the file list shows the actual indexed pages. Use the Source type filter (all / file / web) to focus on web content.
3
Spot-check chunking and retrieval
Click a row to inspect how a page was chunked. The Knowledge Base supports a built-in query test from the chat-with-KB surface; confirm relevant passages come back for representative questions.
With the Knowledge Base ready, build the agent your visitors will chat with.
1
Open Agent Creator
From the Prisme.ai platform, open Agent Creator.
2
Create a new agent
Click + Create agent and set:
Name (for example, “Website Assistant”)
Model for generation
Instructions, for example: “Answer the user based on the indexed website content. Cite sources when possible. If the answer isn’t in the indexed content, say so clearly.”
3
Attach the Knowledge Base
In the agent’s configuration, attach the Knowledge Base you created in Step 1 as a knowledge source.
4
Save the agent
Save your changes.
The screenshot shows the agent creation wizard. Once the agent exists, attach the Knowledge Base from its capabilities/configuration view.
From your agent in Agent Creator, open the Playground tab.
2
Ask questions
Try realistic questions about your website’s content.
3
Inspect sources
Review the cited sources / passages returned alongside each answer to confirm the agent is grounded in the right pages. Refine your instructions or Knowledge Base settings if needed.
Once the agent answers correctly in the Playground, expose it to your audience.
1
Open the Share menu
From your agent in Agent Creator, open the Share menu (in the agent header). The dialog gathers the surfaces available on your instance: for example, an access bindings panel for inviting users or groups, and (depending on instance configuration) a public link or embed snippet.
2
Copy whatever the dialog exposes
Copy the link, snippet, or invitation flow shown in the Share dialog. Available options vary by instance: some configurations expose a hosted chat URL and a <script> embed for your website, others ship only access-binding controls. Use what your instance shows; don’t paste a URL pattern that isn’t surfaced in the dialog.
If your instance doesn’t ship a public chat / embed widget out of the box, you can still front the agent with a small page in Builder that calls Agents.sendMessage from a webhook automation (see the Webhook Builder tutorial) and renders the response in a custom React SPA.
If your Share dialog produced a hosted URL, link to it from your website. If it produced a <script> embed snippet, paste it just before the closing </body> tag of your site.
2
Verify the integration
Open your website and confirm the link or embedded chat works against the agent backed by your Knowledge Base.
Your website chatbot is powered by a Retrieval-Augmented Generation (RAG) pipeline that spans Knowledges and Agent Creator:
The system works through several key processes:
Document processing: The Knowledge Base’s web crawler fetches the website you registered as a Web Source, segments content into chunks, and stores vector embeddings
Query understanding: When a visitor asks a question, the agent processes and enhances the query for better retrieval
Relevant content retrieval: The Knowledge Base returns the most relevant chunks from your indexed pages
Response generation: The agent uses those chunks as grounded context to generate a comprehensive, accurate response
Knowledges breaks documents into optimally sized chunks for efficient retrieval. Chunk size and overlap are configurable from the Knowledge Base settings, so you can tune them to your content.
For power users who need to go beyond the default ingestion path:
1
Tune Knowledge Base settings
From the Knowledge Base settings, fine-tune embeddings, chunking, and query enhancement.
2
React to Knowledge Base events
Subscribe a Builder automation to Knowledge Base events (document add/update/delete, query) to trigger custom processing: anonymization, audit logging, downstream notifications. See the Automations reference for the trigger syntax.
3
Custom ingestion in Builder
For full control, run a Builder workspace with the Crawler app and custom automations to feed documents into your Knowledge Base via its API.
4
Custom code
Implement advanced RAG pipelines (LlamaIndex, LangChain, etc.) using Python Custom Code inside Builder, then push results into the Knowledge Base.
Open the Analytics tab on your agent in Agent Creator to track usage, latency, and popular questions.
2
Insights product
For deeper conversation analysis, topic clustering, and adoption metrics across agents, use the Insights product.
3
Refresh content
Let the crawler re-run on its configured periodicity (or trigger Re-crawl on the Web Source row manually) to keep the Knowledge Base aligned with your live website.
4
Iterate on instructions
Adjust the agent’s instructions and Knowledge Base settings based on observed gaps and user feedback.
You’ve turned your static website into an interactive, grounded chatbot: Knowledges handles ingestion and retrieval, Agent Creator handles the conversation and the embed surface, and your visitors get fast, contextual answers to their questions.Beyond the better visitor experience, you also gain visibility into what people are looking for on your site, feeding directly into how you improve your content.
Create an AI system that automatically organizes uploaded documents
Create a No-Code RAG Agent
Explore more advanced RAG capabilities without writing code
Implement Webhook Integration
Connect your RAG agent to other systems using webhooks
Develop Custom Applications
Build more sophisticated applications using Builder
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Prisme.ai","colors":{"primary":"#255BE0","light":"#4480ED","dark":"#255BE0"},"logo":{"light":"https://mintcdn.com/prismeai/_sSeZNUvs7sBNa3K/logo/light.svg?fit=max\u0026auto=format\u0026n=_sSeZNUvs7sBNa3K\u0026q=85\u0026s=4361458c99ac06f7a551020a022b802c","dark":"https://mintcdn.com/prismeai/_sSeZNUvs7sBNa3K/logo/dark.svg?fit=max\u0026auto=format\u0026n=_sSeZNUvs7sBNa3K\u0026q=85\u0026s=3a821be1a9c43dfe88d750b42b0879ca"},"favicon":"https://mintcdn.com/prismeai/_sSeZNUvs7sBNa3K/favicon.svg?fit=max\u0026auto=format\u0026n=_sSeZNUvs7sBNa3K\u0026q=85\u0026s=e62b8218f2529b02ddcca7e240aeb121","api":{"params":{"expanded":"all"},"playground":{"display":"interactive"},"examples":{"defaults":"required","languages":["curl","javascript","python"]}},"background":{"color":{"light":"#F2F3F5","dark":"#0A0A0F"}},"navbar":{"links":[{"href":"mailto:support@prisme.ai","label":"Support"}],"primary":{"type":"button","label":"Ask for a demo","href":"https://www.prisme.ai/request-demo"}},"footer":{"socials":{"github":"https://github.com/prismeai","linkedin":"https://linkedin.com/company/prismeai"}},"seo":{"metatags":{"keywords":"sovereign agentic platform, plateforme agentique souveraine, AI Information System, enterprise AI platform, AI agents, agent governance, traceable AI, cloud agnostic, LLM agnostic, agentic workflows","robots":"index, follow","og:site_name":"Prisme.ai Documentation"},"indexing":"navigable"},"fonts":{"family":"PP Telegraf","weight":400},"contextual":{"options":["download-spec"],"display":"header"},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Blog","icon":"newspaper","href":"https://blog.prisme.ai"},{"anchor":"Legacy Documentation","icon":"clock-rotate-left","href":"https://prismeai-legacy.mintlify.app/"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"prismeai","hasAudioNarration":false,"actualSubdomain":"prismeai","customDomains":["docs.prisme.ai"],"gitSource":{"type":"gitlab","owner":"prisme.ai","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"projectId":88542754,"mountPath":"","label":"","_id":"6aeca605e8540e9445e0c511"},"feedback":{"thumbs":true,"edits":false,"issues":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6aeca605e8540e9445e0c518","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"default","tag":"API Reference","count":381},{"language":"default","tag":"Platform API","count":179},{"language":"default","tag":"Products","count":113},{"language":"default","tag":"App Store","count":88},{"language":"default","tag":"Agent Creator API","count":80},{"language":"default","tag":"Prisme.ai Workspaces","count":55},{"language":"default","tag":"Organizations","count":48},{"language":"default","tag":"Knowledges API","count":39},{"language":"default","tag":"Connectors","count":37},{"language":"default","tag":"API Gateway","count":37}]},"assistantConfig":{"enableStarterQuestions":false,"deflection":{"enabled":true,"type":"email","email":"support@prisme.ai"}},"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":"rbac-expansion","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":"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":"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":"editor-metadata","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},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"custom.css","content":"@font-face{font-family:'PP Telegraf';src:url('https://uploads.prisme.ai/yj7mmn-/ffcs3WSD7NIciPjlrySpO.PPTelegraf-Regular.otf') format('opentype');font-weight:100 600;font-style:normal;font-display:swap}@font-face{font-family:'PP Telegraf';src:url('https://uploads.prisme.ai/yj7mmn-/lpdrPfRwHqg0SiRWe_hec.PPTelegraf-Ultrabold.otf') format('opentype');font-weight:700 900;font-style:normal;font-display:swap}:root{--prisme-primary: #255BE0;--prisme-bg: #F2F3F5;--prisme-fg: #0A0A0F;--prisme-card: #FFFFFF;--prisme-border: #E3E6EC;--prisme-muted: #6B7080;--prisme-secondary: #E3E5EB;--prisme-accent-warm: #F5A623;--prisme-radius: 0.5rem;--prisme-tabs-sticky-top: 4rem}@media (min-width: 1024px){:root{--prisme-tabs-sticky-top: 7rem}}[data-theme=\"dark\"],.dark{--prisme-bg: #0A0A0F;--prisme-fg: #FAFAFA;--prisme-card: #0A0A0F;--prisme-border: #1F2028;--prisme-muted: #9CA0AE;--prisme-secondary: #1F2028}body{font-family:'PP Telegraf', 'Inter', system-ui, -apple-system, sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-weight:500}#navbar{border-bottom:1px solid var(--prisme-border)}#sidebar{border-right:1px solid var(--prisme-border)}callout{border-radius:var(--prisme-radius);border:1px solid var(--prisme-border)}[data-callout-type=\"warning\"] [data-component-part=\"callout-content\"],[data-callout-type=\"warning\"] [data-component-part=\"callout-content\"] strong{color:var(--prisme-fg)!important}code-block{border-radius:var(--prisme-radius)}#footer{border-top:1px solid var(--prisme-border)}[data-component-part=\"tabs-list\"]{position:sticky;top:var(--prisme-tabs-sticky-top);z-index:20;margin-bottom:0;padding-top:0.5rem;background:var(--prisme-bg);border-bottom-width:2px;border-bottom-color:var(--prisme-border);-webkit-backdrop-filter:saturate(180%) blur(6px);backdrop-filter:saturate(180%) blur(6px)}[data-component-part=\"tab-button\"]{color:var(--prisme-muted);font-weight:500;transition:color 0.15s ease, box-shadow 0.15s ease}[data-component-part=\"tab-button\"]:hover{color:var(--prisme-fg)}[data-component-part=\"tab-button\"][data-active=\"true\"]{color:var(--prisme-primary);font-weight:700;box-shadow:inset 0 -3px 0 0 var(--prisme-primary)}[data-component-part=\"tab-content\"]{border:1px solid var(--prisme-border);border-top:none;border-radius:0 0 var(--prisme-radius) var(--prisme-radius);padding:1.25rem 1.5rem;margin-bottom:2rem;background:var(--prisme-card)}[data-theme=\"dark\"] [data-component-part=\"tab-content\"],.dark [data-component-part=\"tab-content\"]{background:rgba(255, 255, 255, 0.02)}"},{"filePath":"tutorials/player.css","content":".pv-host{display:block;width:100%;aspect-ratio:16 / 9;margin:1.5rem 0}.pv.video-js{--pv-primary: #205BE1;--pv-ink: #151B24;--pv-muted: #69707F;--pv-border: #E4E7ED;--pv-surface: #F8FAFD;--pv-page: #FFFFFF;--pv-cover: #1E50D2;--pv-cover-eyebrow: #9DB4EE;--pv-cover-sub: #C9D8F7;--pv-title-font: Arial;--pv-pill-bg: #FFFFFF;--pv-pill-text: var(--pv-primary);container-type:size;background:var(--pv-page);border-radius:14px;overflow:hidden;font-family:-apple-system, BlinkMacSystemFont, \"Segoe UI\", Arial, sans-serif;color:var(--pv-ink)}.pv.video-js.vjs-fullscreen,.pv.video-js.vjs-full-window{border-radius:0}.pv.video-js>*{--u: min(1cqw, calc(100cqh / 56.25));--ox: calc(50cqw - 50 * var(--u));--oy: calc(50cqh - 28.125 * var(--u))}.pv.video-js .vjs-tech{left:calc(var(--ox) + var(--fx) * var(--u));top:calc(var(--oy) + (var(--fy) + 2.4) * var(--u));width:calc(var(--sw) * var(--u));height:calc(var(--sh) * var(--u));object-fit:cover;background:#fff;border-radius:0 0 calc(1 * var(--u)) calc(1 * var(--u))}.pv.video-js .vjs-poster{display:none}.pv.video-js .pv-frame{position:absolute;left:calc(var(--ox) + var(--fx) * var(--u));top:calc(var(--oy) + var(--fy) * var(--u));width:calc(var(--sw) * var(--u));height:calc((var(--sh) + 2.4) * var(--u));border-radius:calc(1 * var(--u));box-shadow:0 calc(1.2 * var(--u)) calc(3 * var(--u)) rgba(21, 27, 36, .18), 0 0 0 1px var(--pv-border);pointer-events:none}.pv.video-js .pv-bar{height:calc(2.4 * var(--u));display:flex;align-items:center;gap:calc(.55 * var(--u));padding:0 calc(1 * var(--u));background:var(--pv-surface);border-bottom:1px solid var(--pv-border);border-radius:calc(1 * var(--u)) calc(1 * var(--u)) 0 0}.pv.video-js .pv-bar i{width:calc(.7 * var(--u));height:calc(.7 * var(--u));border-radius:50%;background:#FF5F57}.pv.video-js .pv-bar i:nth-child(2){background:#FEBC2E}.pv.video-js .pv-bar i:nth-child(3){background:#28C840}.pv.video-js .pv-bar span{flex:1;margin:0 calc(4 * var(--u));height:calc(1.5 * var(--u));border-radius:calc(.75 * var(--u));background:#fff;border:1px solid var(--pv-border);color:var(--pv-muted);font-size:calc(.8 * var(--u));display:grid;place-items:center;overflow:hidden;white-space:nowrap}.pv.video-js .pv-panel{position:absolute;left:var(--ox);top:var(--oy);width:calc(27 * var(--u));height:calc(56.25 * var(--u));padding:calc(3.2 * var(--u)) calc(2.4 * var(--u)) calc(5.2 * var(--u)) calc(3.2 * var(--u));box-sizing:border-box;display:flex;flex-direction:column;color:var(--pv-ink);pointer-events:none}.pv.video-js .pv-panel .pv-logo{width:calc(13 * var(--u));margin-bottom:calc(4 * var(--u))}.pv.video-js h1,.pv.video-js p,.pv.video-js ol,.pv.video-js li,.pv.video-js button,.pv.video-js span{margin:0;padding:0;letter-spacing:normal;text-transform:none;font-family:inherit}.pv.video-js img{margin:0;border:0;box-shadow:none;max-width:none}.pv.video-js .pv-eyebrow{color:var(--pv-primary);font:700 calc(.95 * var(--u)) Arial;letter-spacing:.08em;text-transform:uppercase;margin-bottom:calc(.8 * var(--u))}.pv.video-js .pv-panel h1{font:700 calc(2.6 * var(--u)) / 1.12 var(--pv-title-font), Arial;margin:0 0 calc(.9 * var(--u));color:var(--pv-ink)}.pv.video-js .pv-panel p{color:var(--pv-muted);font-size:calc(1.25 * var(--u));line-height:1.4;margin:0 0 calc(2 * var(--u))}.pv.video-js .pv-toc{list-style:none;padding:0;margin:0;border-top:1px solid var(--pv-border);pointer-events:auto}.pv.video-js .pv-toc li{border-bottom:1px solid var(--pv-border);list-style:none}.pv.video-js .pv-toc li::before,.pv.video-js .pv-toc li::marker{content:none}.pv.video-js .pv-toc button{all:unset;box-sizing:border-box;width:100%;display:flex;gap:calc(.9 * var(--u));align-items:center;padding:calc(.7 * var(--u)) calc(.2 * var(--u));cursor:pointer;color:var(--pv-muted);font:calc(1.1 * var(--u)) / 1.3 inherit}.pv.video-js .pv-toc button:focus-visible{outline:2px solid var(--pv-primary);outline-offset:-2px}.pv.video-js .pv-toc .n{width:calc(1.9 * var(--u));height:calc(1.9 * var(--u));border-radius:50%;background:var(--pv-border);display:grid;place-items:center;font:700 calc(.85 * var(--u)) var(--pv-title-font), Arial;flex:none}.pv.video-js .pv-toc li.on button{color:var(--pv-ink);font-weight:600}.pv.video-js .pv-toc li.on .n{background:var(--pv-primary);color:#fff}.pv.video-js .pv-toc button:hover{color:var(--pv-ink)}.pv.video-js .pv-foot{margin-top:auto;color:var(--pv-muted);font-size:calc(.85 * var(--u))}.pv.video-js .pv-cover{position:absolute;inset:0;background:var(--pv-cover);color:#fff;display:none;z-index:2;cursor:pointer}.pv.video-js:not(.vjs-has-started) .pv-cover{display:block}.pv.video-js .pv-cover>div{position:absolute;left:calc(var(--ox) + 6 * var(--u));top:calc(var(--oy) + 5 * var(--u));width:calc(38 * var(--u))}.pv.video-js .pv-cover .pv-mark{position:absolute;left:calc(var(--ox) + 55 * var(--u));top:calc(var(--oy) + 4 * var(--u));width:calc(48 * var(--u))}.pv.video-js .pv-cover .pv-logo{width:calc(14 * var(--u));margin-bottom:calc(12 * var(--u))}.pv.video-js .pv-cover .pv-eyebrow{color:var(--pv-cover-eyebrow)}.pv.video-js .pv-cover h1{font:700 calc(4.6 * var(--u)) / 1.08 var(--pv-title-font), Arial;margin:0 0 calc(1.4 * var(--u));color:#fff}.pv.video-js .pv-cover p{color:var(--pv-cover-sub);font-size:calc(1.8 * var(--u));margin:0 0 calc(2.6 * var(--u))}.pv.video-js .pv-cover b{display:inline-block;background:var(--pv-pill-bg);color:var(--pv-pill-text);border-radius:calc(.7 * var(--u));padding:calc(.8 * var(--u)) calc(1.8 * var(--u));font:700 calc(1.3 * var(--u)) Arial}.pv.video-js .pv-tools{position:absolute;right:calc(100cqw - var(--ox) - 96.5 * var(--u));top:calc(var(--oy) + .9 * var(--u));display:flex;gap:calc(.3 * var(--u));background:var(--pv-surface);border:1px solid var(--pv-border);border-radius:calc(.8 * var(--u));padding:calc(.25 * var(--u));z-index:4}.pv.video-js .pv-tools button{border:0;background:none;padding:calc(.35 * var(--u)) calc(.9 * var(--u));border-radius:calc(.55 * var(--u));font:600 calc(.95 * var(--u)) Arial;color:var(--pv-muted);cursor:pointer}.pv.video-js .pv-tools button[aria-pressed=true]{background:var(--pv-primary);color:#fff}.pv.video-js .pv-tools button:focus-visible{outline:2px solid var(--pv-primary);outline-offset:1px}.pv.video-js .pv-ccwrap{position:relative;display:flex}.pv.video-js .pv-ccmenu{position:absolute;right:0;top:calc(100% + .5 * var(--u));margin:0;padding:calc(.35 * var(--u));list-style:none;background:#fff;border:1px solid var(--pv-border);border-radius:calc(.8 * var(--u));min-width:calc(13 * var(--u));box-shadow:0 calc(1 * var(--u)) calc(2.5 * var(--u)) rgba(21, 27, 36, .16)}.pv.video-js .pv-ccmenu li{padding:calc(.55 * var(--u)) calc(.9 * var(--u));border-radius:calc(.5 * var(--u));font:500 calc(.95 * var(--u)) Arial;color:var(--pv-ink);cursor:pointer;white-space:nowrap;display:flex;justify-content:space-between;gap:calc(1 * var(--u))}.pv.video-js .pv-ccmenu li:hover,.pv.video-js .pv-ccmenu li:focus{background:var(--pv-surface);outline:none}.pv.video-js .pv-ccmenu li[aria-checked=true]{color:var(--pv-primary);font-weight:700}.pv.video-js .pv-ccmenu li[aria-checked=true]::after{content:\"✓\"}.pv.video-js .pv-ccmenu li.sep{height:1px;padding:0;margin:calc(.3 * var(--u)) 0;background:var(--pv-border);cursor:default}.pv.video-js .pv-subs{position:absolute;left:var(--ox);width:calc(100 * var(--u));z-index:1;pointer-events:none;text-align:center;bottom:calc(100cqh - var(--oy) - 51.8 * var(--u));padding:0 calc(6 * var(--u));box-sizing:border-box;transition:bottom .25s}.pv.video-js.vjs-user-inactive.vjs-playing .pv-subs{bottom:calc(100cqh - var(--oy) - 54.4 * var(--u))}.pv.video-js .pv-subs span:not(:empty){display:inline-block;background:rgba(21, 27, 36, .84);color:#fff;border-radius:calc(.5 * var(--u));padding:calc(.35 * var(--u)) calc(1 * var(--u));font:500 calc(1.55 * var(--u)) / 1.35 Arial}.pv.video-js .pv-subs[hidden]{display:none}.pv.video-js .vjs-text-track-display{display:none}.pv.video-js .vjs-control-bar{background:linear-gradient(transparent, rgba(14, 17, 22, .82));height:max(34px, calc(3.6 * var(--u)));font-size:max(10px, calc(1.05 * var(--u)));z-index:3}.pv.video-js .vjs-big-play-button{left:50%;top:50%;transform:translate(-50%, -50%);margin:0;z-index:3;width:calc(7 * var(--u));height:calc(4.6 * var(--u));line-height:calc(4.6 * var(--u));font-size:calc(3 * var(--u));border-radius:calc(.8 * var(--u));background:var(--pv-primary);border:0;opacity:.94}.pv.video-js .vjs-big-play-button .vjs-icon-placeholder:before{line-height:calc(4.6 * var(--u))}.pv.video-js:hover .vjs-big-play-button{opacity:1}.pv.video-js .vjs-big-play-button,.pv.video-js .vjs-big-play-button .vjs-icon-placeholder{color:#fff}.pv.video-js:not(.vjs-has-started) .vjs-big-play-button{background:#fff;opacity:1;box-shadow:0 calc(.8 * var(--u)) calc(2 * var(--u)) rgba(0, 0, 0, .18)}.pv.video-js:not(.vjs-has-started) .vjs-big-play-button .vjs-icon-placeholder{color:var(--pv-primary)}.pv.video-js.vjs-has-started.vjs-paused .vjs-big-play-button{display:block}.pv.video-js.vjs-playing .vjs-big-play-button,.pv.video-js.vjs-seeking .vjs-big-play-button{display:none}"}],"page":{"pagePath":"resources/tutorials/website-to-rag-agent","slug":"/resources/tutorials/website-to-rag-agent","pageMetadata":{"title":"Website to RAG Agent","description":"Create a website chatbot using Knowledges for ingestion and Agent Creator for the agent and embed widget.","href":"/resources/tutorials/website-to-rag-agent"},"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: \"Create a website chatbot using Knowledges for ingestion and Agent Creator for the agent and embed widget.\"\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`,em:`em`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Card,CardGroup,Frame,Heading,Note,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(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`This tutorial guides you through creating an intelligent chatbot for your website using Retrieval-Augmented Generation (RAG). You’ll set up a Knowledge Base in `,_jsx(_components.strong,{children:`Knowledges`}),` that crawls and embeds your website, build an agent in `,_jsx(_components.strong,{children:`Agent Creator`}),` wired to that Knowledge Base, and expose a customizable embed widget so visitors can chat with your content directly from your site.`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-you’ll-build`,children:`What You’ll Build`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`A `,_jsx(_components.strong,{children:`Knowledge Base`}),` in Knowledges that crawls your website and stores the content as vector embeddings`]}),`\n`,_jsxs(_components.li,{children:[`An `,_jsx(_components.strong,{children:`agent`}),` in Agent Creator that answers questions using the Knowledge Base as its source of truth`]}),`\n`,_jsxs(_components.li,{children:[`A `,_jsx(_components.strong,{children:`public chat URL`}),` and an `,_jsx(_components.strong,{children:`embed widget`}),` generated from the agent’s Share Agent dialog, ready to drop into any website`]}),`\n`]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`This solution turns static website content into an interactive knowledge base, giving visitors a conversational way to find information instantly.`})}),`\n`,_jsx(Heading,{level:`2`,id:`prerequisites`,children:`Prerequisites`}),`\n`,_jsx(_components.p,{children:`Before starting this tutorial, make sure you have:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`An active Prisme.ai account with access to `,_jsx(_components.strong,{children:`Knowledges`}),` and `,_jsx(_components.strong,{children:`Agent Creator`})]}),`\n`,_jsx(_components.li,{children:`A website URL with content you want to make conversational`}),`\n`,_jsx(_components.li,{children:`Basic understanding of HTML (to embed the chat widget on your site)`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`step-1-create-a-knowledge-base`,children:`Step 1: Create a Knowledge Base`}),`\n`,_jsx(_components.p,{children:`Start by creating the Knowledge Base that will store your website content as embeddings.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open Knowledges`,children:_jsxs(_components.p,{children:[`From the Prisme.ai platform, open the `,_jsx(_components.strong,{children:`Knowledges`}),` product.`]})}),_jsx(Step,{title:`Create a new Knowledge Base`,children:_jsxs(_components.p,{children:[`From `,_jsx(_components.strong,{children:`Knowledge Bases`}),` in the Knowledges sidebar, click `,_jsx(_components.strong,{children:`+ Create`}),` (or use the Dashboard’s `,_jsx(_components.strong,{children:`+ New Knowledge Base`}),` tile, same dialog). Give it a clear name (for example, “Company Website”) and pick the embedding model you want to use.`]})}),_jsx(Step,{title:`Save`,children:_jsx(_components.p,{children:`Save the Knowledge Base to open its detail view.`})})]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/knowledges-new-kb-dialog.png?fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=940daa0908d57deea336150e1294c012`,alt:`Knowledges Create Knowledge Base dialog with Name, Description, RAG Configuration (Fast/Balanced/Quality)`,\"data-og-width\":`1440`,width:`1440`,\"data-og-height\":`900`,height:`900`,\"data-path\":`images/tutorials/knowledges-new-kb-dialog.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/knowledges-new-kb-dialog.png?w=280\u0026fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=5a62e9cd351c2eed6bacee42855cae19 280w, https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/knowledges-new-kb-dialog.png?w=560\u0026fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=82c7a1019c7e6c9d610ed8023737db4d 560w, https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/knowledges-new-kb-dialog.png?w=840\u0026fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=1ed6262527603fca4103673f12eaef79 840w, https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/knowledges-new-kb-dialog.png?w=1100\u0026fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=291dd808c9c2f4e290a2ca912b910309 1100w, https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/knowledges-new-kb-dialog.png?w=1650\u0026fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=a4d5578b83dec09e9cb41e7e299e01d9 1650w, https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/knowledges-new-kb-dialog.png?w=2500\u0026fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=a6c38885ba8c7099bcab47f5b4072e63 2500w`}),`\n`,_jsx(Heading,{level:`2`,id:`step-2-add-the-website-as-a-web-source`,children:`Step 2: Add the website as a Web Source`}),`\n`,_jsxs(_components.p,{children:[`The Knowledge Base ingests pages directly. Inside the Knowledge Base detail page, the `,_jsx(_components.strong,{children:`Add Web Source`}),` action handles both single-page additions and full-site auto-discovery.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`The global `,_jsx(_components.strong,{children:`Connectors`}),` entry in the Knowledges sidebar is a separate, cross-Knowledge-Base concept. It is `,_jsx(_components.strong,{children:`not`}),` how websites are added. Web ingestion lives on a Knowledge Base’s own detail page, alongside file uploads.`]})}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the Knowledge Base`,children:_jsxs(_components.p,{children:[`From Knowledges → `,_jsx(_components.strong,{children:`Knowledge Bases`}),`, click the Knowledge Base you just created. You land on its detail page where its files and web sources are listed.`]})}),_jsx(Step,{title:`Click Add Web Source`,children:_jsxs(_components.p,{children:[`Use the `,_jsx(_components.strong,{children:`Add Web Source`}),` button next to `,_jsx(_components.strong,{children:`Add Documents`}),`. (If the Knowledge Base is still empty, the same action is available from the dashed “Add a web source - Crawl a website or add a single URL” tile.)`]})}),_jsxs(Step,{title:`Pick the right tab`,children:[_jsx(_components.p,{children:`The modal has two tabs:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Single URL`}),`: adds one specific page (placeholder `,_jsx(_components.code,{children:`https://example.com/page`}),`). Use this when you only want to ingest a few hand-picked URLs.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Auto-Discovery`}),`: crawls the whole website starting from a root URL. Use this for full-site ingestion.`]}),`\n`]}),_jsxs(_components.p,{children:[`For a website chatbot, pick `,_jsx(_components.strong,{children:`Auto-Discovery`}),`.`]})]}),_jsxs(Step,{title:`Enter the website URL and tune the crawler`,children:[_jsxs(_components.p,{children:[`Fill in the `,_jsx(_components.strong,{children:`Website URL`}),` (e.g. `,_jsx(_components.code,{children:`https://example.com`}),`). The Auto-Discovery tab exposes per-hostname crawler settings:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Path filter`}),`: restrict the crawl to a subtree (e.g. `,_jsx(_components.code,{children:`/docs`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Blacklisted patterns`}),`: skip URLs matching given patterns (e.g. `,_jsx(_components.code,{children:`/admin/.*`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Respect robots.txt`}),`: toggle (default on).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Sitemap only`}),` + `,_jsx(_components.strong,{children:`Sitemap URL`}),`: drive the crawl from a sitemap.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`XPath filter`}),`: only index nodes matching an XPath, e.g. `,_jsx(_components.code,{children:`//article | //main`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`HTTP headers`}),`: custom request headers (e.g. `,_jsx(_components.code,{children:`Authorization`}),`, `,_jsx(_components.code,{children:`Cookie`}),`) for sites that need auth.`]}),`\n`]}),_jsx(_components.p,{children:`If the hostname is already configured for another URL on the same Knowledge Base, the form pre-fills with the existing config and warns you that any change applies to all URLs on that hostname.`})]}),_jsx(Step,{title:`Submit`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Start Crawling`}),`. The Knowledge Base PATCHes its `,_jsx(_components.code,{children:`websites`}),` list and `,_jsx(_components.code,{children:`websites_config`}),` map and the crawl runs in the background. Once submitted, the new entry appears under the `,_jsx(_components.strong,{children:`Web Sources`}),` list on the Knowledge Base page with a per-source row summarizing its config and indexed page count.`]})}),_jsxs(Step,{title:`Tune the store-level crawler limits`,children:[_jsxs(_components.p,{children:[`Per-page-count limits and re-crawl interval are `,_jsx(_components.strong,{children:`Knowledge-Base-level`}),`, not per-source. Open the Knowledge Base `,_jsx(_components.strong,{children:`Settings`}),` tab to set:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Max pages`}),`: overall crawl budget for the Knowledge Base.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Re-crawl interval`}),`: manual or a fixed interval.`]}),`\n`]})]})]}),`\n`,_jsxs(Note,{children:[_jsx(_components.p,{children:`Crawling and embedding can take time depending on site size. You can begin testing as soon as some pages are processed. A maximum document quota is often enforced on your instance; contact your internal point of contact if you hit the limit.`}),_jsxs(_components.p,{children:[`You can re-crawl any web source on demand using the row’s `,_jsx(_components.strong,{children:`Re-crawl`}),` action, edit its hostname config via `,_jsx(_components.strong,{children:`Edit Config`}),`, or remove it via `,_jsx(_components.strong,{children:`Remove`}),`.`]})]}),`\n`,_jsx(Heading,{level:`2`,id:`step-3-inspect-indexed-content`,children:`Step 3: Inspect indexed content`}),`\n`,_jsx(_components.p,{children:`Once crawling starts producing results, verify ingestion directly from the Knowledge Base.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the Knowledge Base`,children:_jsxs(_components.p,{children:[`From Knowledges → `,_jsx(_components.strong,{children:`Knowledge Bases`}),`, click your Knowledge Base.`]})}),_jsx(Step,{title:`Browse Web Sources and indexed pages`,children:_jsxs(_components.p,{children:[`The Knowledge Base detail page lists each Web Source with its current `,_jsx(_components.strong,{children:`pages indexed`}),` count. Underneath, the file list shows the actual indexed pages. Use the `,_jsx(_components.strong,{children:`Source type`}),` filter (`,_jsx(_components.code,{children:`all`}),` / `,_jsx(_components.code,{children:`file`}),` / `,_jsx(_components.code,{children:`web`}),`) to focus on web content.`]})}),_jsx(Step,{title:`Spot-check chunking and retrieval`,children:_jsx(_components.p,{children:`Click a row to inspect how a page was chunked. The Knowledge Base supports a built-in query test from the chat-with-KB surface; confirm relevant passages come back for representative questions.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`step-4-create-the-agent-in-agent-creator`,children:`Step 4: Create the agent in Agent Creator`}),`\n`,_jsx(_components.p,{children:`With the Knowledge Base ready, build the agent your visitors will chat with.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open Agent Creator`,children:_jsxs(_components.p,{children:[`From the Prisme.ai platform, open `,_jsx(_components.strong,{children:`Agent Creator`}),`.`]})}),_jsxs(Step,{title:`Create a new agent`,children:[_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`+ Create agent`}),` and set:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Name`}),` (for example, “Website Assistant”)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Model`}),` for generation`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Instructions`}),`, for example: `,_jsx(_components.em,{children:`“Answer the user based on the indexed website content. Cite sources when possible. If the answer isn’t in the indexed content, say so clearly.”`})]}),`\n`]})]}),_jsx(Step,{title:`Attach the Knowledge Base`,children:_jsx(_components.p,{children:`In the agent’s configuration, attach the Knowledge Base you created in Step 1 as a knowledge source.`})}),_jsx(Step,{title:`Save the agent`,children:_jsx(_components.p,{children:`Save your changes.`})})]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/agent-creator-create.png?fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=2c1201179c49e08a8e2322bdf70f9629`,alt:`Agent Creator Create Agent wizard with From Scratch / Import AGENTS.md options`,\"data-og-width\":`1440`,width:`1440`,\"data-og-height\":`900`,height:`900`,\"data-path\":`images/tutorials/agent-creator-create.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/agent-creator-create.png?w=280\u0026fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=6824fcf9d3d70ff1a0cb700b15ea2733 280w, https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/agent-creator-create.png?w=560\u0026fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=6388c4ec11bb6892d9c86d1e461510b0 560w, https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/agent-creator-create.png?w=840\u0026fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=c8024de0a1acae1f2276303991bdee7b 840w, https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/agent-creator-create.png?w=1100\u0026fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=d57bbce43e66193ae986847163aed4ee 1100w, https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/agent-creator-create.png?w=1650\u0026fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=695c733da8c5e6e5edd70a6a8fff744f 1650w, https://mintcdn.com/prismeai/lMXKFWJK_MIfLR0E/images/tutorials/agent-creator-create.png?w=2500\u0026fit=max\u0026auto=format\u0026n=lMXKFWJK_MIfLR0E\u0026q=85\u0026s=16fae562d7f20ee62f2fa00a425729fd 2500w`}),`\n`,_jsx(_components.p,{children:_jsx(_components.em,{children:`The screenshot shows the agent creation wizard. Once the agent exists, attach the Knowledge Base from its capabilities/configuration view.`})}),`\n`,_jsx(Heading,{level:`2`,id:`step-5-test-the-agent-in-the-playground`,children:`Step 5: Test the agent in the playground`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the Playground`,children:_jsxs(_components.p,{children:[`From your agent in Agent Creator, open the `,_jsx(_components.strong,{children:`Playground`}),` tab.`]})}),_jsx(Step,{title:`Ask questions`,children:_jsx(_components.p,{children:`Try realistic questions about your website’s content.`})}),_jsx(Step,{title:`Inspect sources`,children:_jsx(_components.p,{children:`Review the cited sources / passages returned alongside each answer to confirm the agent is grounded in the right pages. Refine your instructions or Knowledge Base settings if needed.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`step-6-share-the-agent`,children:`Step 6: Share the agent`}),`\n`,_jsx(_components.p,{children:`Once the agent answers correctly in the Playground, expose it to your audience.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the Share menu`,children:_jsxs(_components.p,{children:[`From your agent in Agent Creator, open the `,_jsx(_components.strong,{children:`Share`}),` menu (in the agent header). The dialog gathers the surfaces available on your instance: for example, an access bindings panel for inviting users or groups, and (depending on instance configuration) a public link or embed snippet.`]})}),_jsx(Step,{title:`Copy whatever the dialog exposes`,children:_jsxs(_components.p,{children:[`Copy the link, snippet, or invitation flow shown in the Share dialog. Available options vary by instance: some configurations expose a hosted chat URL and a `,_jsx(_components.code,{children:`\u003cscript>`}),` embed for your website, others ship only access-binding controls. Use what your instance shows; don’t paste a URL pattern that isn’t surfaced in the dialog.`]})})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`If your instance doesn’t ship a public chat / embed widget out of the box, you can still front the agent with a small page in `,_jsx(_components.strong,{children:`Builder`}),` that calls `,_jsx(_components.code,{children:`Agents.sendMessage`}),` from a webhook automation (see the `,_jsx(_components.a,{href:`/resources/tutorials/webhook-builder`,children:`Webhook Builder tutorial`}),`) and renders the response in a custom React SPA.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`step-7-place-the-agent-on-your-site`,children:`Step 7: Place the agent on your site`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Use the Share output`,children:_jsxs(_components.p,{children:[`If your Share dialog produced a hosted URL, link to it from your website. If it produced a `,_jsx(_components.code,{children:`\u003cscript>`}),` embed snippet, paste it just before the closing `,_jsx(_components.code,{children:`\u003c/body>`}),` tag of your site.`]})}),_jsx(Step,{title:`Verify the integration`,children:_jsx(_components.p,{children:`Open your website and confirm the link or embedded chat works against the agent backed by your Knowledge Base.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`step-8-understanding-the-architecture`,children:`Step 8: Understanding the architecture`}),`\n`,_jsx(_components.p,{children:`Your website chatbot is powered by a Retrieval-Augmented Generation (RAG) pipeline that spans Knowledges and Agent Creator:`}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/prismeai/AXY6wkubsI-xGMVN/images/rag-architecture.png?fit=max\u0026auto=format\u0026n=AXY6wkubsI-xGMVN\u0026q=85\u0026s=635f26196d7ad9bebfbd12af05704dde`,alt:`RAG Architecture`,\"data-og-width\":`9220`,width:`9220`,\"data-og-height\":`5396`,height:`5396`,\"data-path\":`images/rag-architecture.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/prismeai/AXY6wkubsI-xGMVN/images/rag-architecture.png?w=280\u0026fit=max\u0026auto=format\u0026n=AXY6wkubsI-xGMVN\u0026q=85\u0026s=c59787a8222ae4f2f8a80caf13be867f 280w, https://mintcdn.com/prismeai/AXY6wkubsI-xGMVN/images/rag-architecture.png?w=560\u0026fit=max\u0026auto=format\u0026n=AXY6wkubsI-xGMVN\u0026q=85\u0026s=3ac8cf6ec0060213c550c6876a7083d2 560w, https://mintcdn.com/prismeai/AXY6wkubsI-xGMVN/images/rag-architecture.png?w=840\u0026fit=max\u0026auto=format\u0026n=AXY6wkubsI-xGMVN\u0026q=85\u0026s=cd2cf1f72ba52be5091c432d72154131 840w, https://mintcdn.com/prismeai/AXY6wkubsI-xGMVN/images/rag-architecture.png?w=1100\u0026fit=max\u0026auto=format\u0026n=AXY6wkubsI-xGMVN\u0026q=85\u0026s=d51c2889b696665f22624e40eac7f0af 1100w, https://mintcdn.com/prismeai/AXY6wkubsI-xGMVN/images/rag-architecture.png?w=1650\u0026fit=max\u0026auto=format\u0026n=AXY6wkubsI-xGMVN\u0026q=85\u0026s=8a957cc713125b45c8293b24da93abb5 1650w, https://mintcdn.com/prismeai/AXY6wkubsI-xGMVN/images/rag-architecture.png?w=2500\u0026fit=max\u0026auto=format\u0026n=AXY6wkubsI-xGMVN\u0026q=85\u0026s=b65ac5e08dcd3c815d647b932ee07fba 2500w`})}),`\n`,_jsx(_components.p,{children:`The system works through several key processes:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Document processing`}),`: The Knowledge Base’s web crawler fetches the website you registered as a Web Source, segments content into chunks, and stores vector embeddings`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Query understanding`}),`: When a visitor asks a question, the agent processes and enhances the query for better retrieval`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Relevant content retrieval`}),`: The Knowledge Base returns the most relevant chunks from your indexed pages`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Response generation`}),`: The agent uses those chunks as grounded context to generate a comprehensive, accurate response`]}),`\n`]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`Knowledges breaks documents into optimally sized chunks for efficient retrieval. Chunk size and overlap are configurable from the Knowledge Base settings, so you can tune them to your content.`})}),`\n`,_jsx(Heading,{level:`2`,id:`step-9-advanced-customization`,children:`Step 9: Advanced customization`}),`\n`,_jsx(_components.p,{children:`For power users who need to go beyond the default ingestion path:`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Tune Knowledge Base settings`,children:_jsx(_components.p,{children:`From the Knowledge Base settings, fine-tune embeddings, chunking, and query enhancement.`})}),_jsx(Step,{title:`React to Knowledge Base events`,children:_jsxs(_components.p,{children:[`Subscribe a Builder automation to Knowledge Base events (document add/update/delete, query) to trigger custom processing: anonymization, audit logging, downstream notifications. See the `,_jsx(_components.a,{href:`/products/ai-builder/automations`,children:`Automations reference`}),` for the trigger syntax.`]})}),_jsx(Step,{title:`Custom ingestion in Builder`,children:_jsxs(_components.p,{children:[`For full control, run a Builder workspace with the `,_jsx(_components.strong,{children:`Crawler`}),` app and custom automations to feed documents into your Knowledge Base via its API.`]})}),_jsx(Step,{title:`Custom code`,children:_jsx(_components.p,{children:`Implement advanced RAG pipelines (LlamaIndex, LangChain, etc.) using Python Custom Code inside Builder, then push results into the Knowledge Base.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`step-10-monitoring`,children:`Step 10: Monitoring`}),`\n`,_jsx(_components.p,{children:`Keep your website chatbot performing at its best:`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Agent analytics`,children:_jsxs(_components.p,{children:[`Open the `,_jsx(_components.strong,{children:`Analytics`}),` tab on your agent in Agent Creator to track usage, latency, and popular questions.`]})}),_jsx(Step,{title:`Insights product`,children:_jsxs(_components.p,{children:[`For deeper conversation analysis, topic clustering, and adoption metrics across agents, use the `,_jsx(_components.a,{href:`/products/ai-insights`,children:`Insights`}),` product.`]})}),_jsx(Step,{title:`Refresh content`,children:_jsxs(_components.p,{children:[`Let the crawler re-run on its configured periodicity (or trigger `,_jsx(_components.strong,{children:`Re-crawl`}),` on the Web Source row manually) to keep the Knowledge Base aligned with your live website.`]})}),_jsx(Step,{title:`Iterate on instructions`,children:_jsx(_components.p,{children:`Adjust the agent’s instructions and Knowledge Base settings based on observed gaps and user feedback.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`best-practices-for-website-rag-agents`,children:`Best Practices for Website RAG Agents`}),`\n`,_jsx(_components.p,{children:`To maximize the effectiveness of your website chatbot:`}),`\n`,_jsxs(CardGroup,{cols:`2`,children:[_jsx(Card,{title:`Content Structure`,icon:`sitemap`,children:_jsx(_components.p,{children:`Organize your website content with clear headings and logical structure for better chunking`})}),_jsx(Card,{title:`Regular Updates`,icon:`arrows-rotate`,children:_jsx(_components.p,{children:`Schedule regular recrawling to keep your chatbot’s knowledge current`})}),_jsx(Card,{title:`User Guidance`,icon:`hand-pointer`,children:_jsx(_components.p,{children:`Provide example questions to help users understand what they can ask`})}),_jsx(Card,{title:`Response Tuning`,icon:`sliders`,children:_jsx(_components.p,{children:`Adjust chunk size and retrieval settings based on the nature of your content`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`conclusion`,children:`Conclusion`}),`\n`,_jsx(_components.p,{children:`You’ve turned your static website into an interactive, grounded chatbot: Knowledges handles ingestion and retrieval, Agent Creator handles the conversation and the embed surface, and your visitors get fast, contextual answers to their questions.`}),`\n`,_jsx(_components.p,{children:`Beyond the better visitor experience, you also gain visibility into what people are looking for on your site, feeding directly into how you improve your content.`}),`\n`,_jsx(Heading,{level:`2`,id:`next-steps`,children:`Next Steps`}),`\n`,_jsxs(CardGroup,{cols:`2`,children:[_jsx(Card,{title:`Build a Document Classification System`,icon:`file`,href:`/resources/tutorials/data-classification-agent`,children:_jsx(_components.p,{children:`Create an AI system that automatically organizes uploaded documents`})}),_jsx(Card,{title:`Create a No-Code RAG Agent`,icon:`robot`,href:`/resources/tutorials/no-code-rag-agent`,children:_jsx(_components.p,{children:`Explore more advanced RAG capabilities without writing code`})}),_jsx(Card,{title:`Implement Webhook Integration`,icon:`webhook`,href:`/resources/tutorials/webhook-builder`,children:_jsx(_components.p,{children:`Connect your RAG agent to other systems using webhooks`})}),_jsx(Card,{title:`Develop Custom Applications`,icon:`puzzle-piece`,href:`/resources/tutorials/ai-builder-custom-apps`,children:_jsx(_components.p,{children:`Build more sophisticated applications using Builder`})})]})]})}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":"Website to RAG Agent","description":"Create a website chatbot using Knowledges for ingestion and Agent Creator for the agent and embed widget.","href":"/resources/tutorials/website-to-rag-agent"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"What You’ll Build","slug":"what-you’ll-build","depth":2,"children":[]},{"title":"Prerequisites","slug":"prerequisites","depth":2,"children":[]},{"title":"Step 1: Create a Knowledge Base","slug":"step-1-create-a-knowledge-base","depth":2,"children":[]},{"title":"Step 2: Add the website as a Web Source","slug":"step-2-add-the-website-as-a-web-source","depth":2,"children":[]},{"title":"Step 3: Inspect indexed content","slug":"step-3-inspect-indexed-content","depth":2,"children":[]},{"title":"Step 4: Create the agent in Agent Creator","slug":"step-4-create-the-agent-in-agent-creator","depth":2,"children":[]},{"title":"Step 5: Test the agent in the playground","slug":"step-5-test-the-agent-in-the-playground","depth":2,"children":[]},{"title":"Step 6: Share the agent","slug":"step-6-share-the-agent","depth":2,"children":[]},{"title":"Step 7: Place the agent on your site","slug":"step-7-place-the-agent-on-your-site","depth":2,"children":[]},{"title":"Step 8: Understanding the architecture","slug":"step-8-understanding-the-architecture","depth":2,"children":[]},{"title":"Step 9: Advanced customization","slug":"step-9-advanced-customization","depth":2,"children":[]},{"title":"Step 10: Monitoring","slug":"step-10-monitoring","depth":2,"children":[]},{"title":"Best Practices for Website RAG Agents","slug":"best-practices-for-website-rag-agents","depth":2,"children":[]},{"title":"Conclusion","slug":"conclusion","depth":2,"children":[]},{"title":"Next Steps","slug":"next-steps","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/prismeai/7f6a1ef93dff131f/tutorials/player.js"],"subdomain":"prismeai","siteName":"Prisme.ai","title":"Website to RAG Agent - Prisme.ai","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-15T07:56:24.210Z","originalFileLocation":"resources/tutorials/website-to-rag-agent.mdx"},"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=\"Create a website chatbot using Knowledges for ingestion and Agent Creator for the agent and embed widget.\">\u003cmeta data-mint-head name=\"keywords\" content=\"sovereign agentic platform, plateforme agentique souveraine, AI Information System, enterprise AI platform, AI agents, agent governance, traceable AI, cloud agnostic, LLM agnostic, agentic workflows\">\u003cmeta data-mint-head name=\"application-name\" content=\"Prisme.ai\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"index, follow\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/prismeai/sbDkziZfjieAR-LF/_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/prismeai/sbDkziZfjieAR-LF/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/prismeai/sbDkziZfjieAR-LF/_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/prismeai/sbDkziZfjieAR-LF/_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/prismeai/sbDkziZfjieAR-LF/_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/prismeai/sbDkziZfjieAR-LF/_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/prismeai/sbDkziZfjieAR-LF/_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/prismeai/sbDkziZfjieAR-LF/_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/prismeai/sbDkziZfjieAR-LF/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Website to RAG Agent - Prisme.ai\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create a website chatbot using Knowledges for ingestion and Agent Creator for the agent and embed widget.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Prisme.ai Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.prisme.ai/resources/tutorials/website-to-rag-agent\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://prismeai.mintlify.site/_mintlify/api/og/v2?division=Tutorials\u0026amp;title=Website+to+RAG+Agent\u0026amp;description=Create+a+website+chatbot+using+Knowledges+for+ingestion+and+Agent+Creator+for+the+agent+and+embed+widget.\u0026amp;theme=c8710758a6c77ff28ffcc297\u0026amp;signature=9ec306dc5c6e9c9477a318ac2aa4e13c865067868e0b84b13771e6b4c0eba401\">\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=\"Website to RAG Agent - Prisme.ai\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create a website chatbot using Knowledges for ingestion and Agent Creator for the agent and embed widget.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://prismeai.mintlify.site/_mintlify/api/og/v2?division=Tutorials\u0026amp;title=Website+to+RAG+Agent\u0026amp;description=Create+a+website+chatbot+using+Knowledges+for+ingestion+and+Agent+Creator+for+the+agent+and+embed+widget.\u0026amp;theme=c8710758a6c77ff28ffcc297\u0026amp;signature=9ec306dc5c6e9c9477a318ac2aa4e13c865067868e0b84b13771e6b4c0eba401\">\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/prismeai/sbDkziZfjieAR-LF/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Prisme.ai\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#255BE0\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.prisme.ai/resources/tutorials/website-to-rag-agent\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/resources/tutorials/website-to-rag-agent.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.prisme.ai/#organization\",\"name\":\"Prisme.ai\",\"url\":\"https://docs.prisme.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/prismeai/_sSeZNUvs7sBNa3K/logo/light.svg?fit=max\u0026auto=format\u0026n=_sSeZNUvs7sBNa3K\u0026q=85\u0026s=4361458c99ac06f7a551020a022b802c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.prisme.ai#website\",\"name\":\"Prisme.ai\",\"url\":\"https://docs.prisme.ai\",\"publisher\":{\"@id\":\"https://docs.prisme.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.prisme.ai/resources/tutorials/website-to-rag-agent#webpage\",\"url\":\"https://docs.prisme.ai/resources/tutorials/website-to-rag-agent\",\"name\":\"Website to RAG Agent\",\"description\":\"Create a website chatbot using Knowledges for ingestion and Agent Creator for the agent and embed widget.\",\"dateModified\":\"2026-10-15T07:56:24.210Z\",\"isPartOf\":{\"@id\":\"https://docs.prisme.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.prisme.ai/resources/tutorials/website-to-rag-agent#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.prisme.ai/resources/tutorials/website-to-rag-agent#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Tutorials\",\"item\":\"https://docs.prisme.ai/resources/tutorials/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Website to RAG Agent\",\"item\":\"https://docs.prisme.ai/resources/tutorials/website-to-rag-agent\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.prisme.ai/resources/tutorials/website-to-rag-agent#article\",\"headline\":\"Website to RAG Agent\",\"name\":\"Website to RAG Agent\",\"description\":\"Create a website chatbot using Knowledges for ingestion and Agent Creator for the agent and embed widget.\",\"url\":\"https://docs.prisme.ai/resources/tutorials/website-to-rag-agent\",\"mainEntityOfPage\":{\"@id\":\"https://docs.prisme.ai/resources/tutorials/website-to-rag-agent#webpage\"},\"dateModified\":\"2026-10-15T07:56:24.210Z\",\"publisher\":{\"@id\":\"https://docs.prisme.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.prisme.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Prisme.ai\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Prisme.ai","nav":{"global":{"anchors":[{"anchor":"Blog","icon":"newspaper","href":"https://blog.prisme.ai"},{"anchor":"Legacy Documentation","icon":"clock-rotate-left","href":"https://prismeai-legacy.mintlify.app/"}]},"tabs":[{"tab":"Home","pages":[{"title":"Home","href":"/home"}]},{"tab":"Get Started","pages":[{"title":"Get Started","href":"/get-started/home"}]},{"tab":"Products","pages":[{"title":"Products","href":"/products/overview"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/introduction"}]},{"tab":"App Store","pages":[{"title":"App Store","href":"/apps-store/overview"}]},{"tab":"Self-Hosting","pages":[{"title":"Self-Hosting","href":"/self-hosting/overview"}]},{"tab":"Resources","groups":[{"group":"Adoption \u0026 Governance","pages":[{"title":"Overview","href":"/resources/adoption-governance/overview"},{"title":"Opening strategies","href":"/resources/adoption-governance/opening-strategies"},{"title":"Who does what","href":"/resources/adoption-governance/operating-model"},{"title":"One organization or several?","href":"/resources/adoption-governance/org-vs-groups"},{"title":"From a use case to production","href":"/resources/adoption-governance/use-case-lifecycle"},{"title":"Deployment strategy","href":"/resources/adoption-governance/deployment"}]},{"group":"Use cases","pages":[{"title":"Overview","href":"/resources/use-cases/overview"},{"title":"Custom portals \u0026 apps","href":"/resources/use-cases/custom-portals"}]},{"group":"DSUL","pages":[{"title":"Overview","href":"/dsul/overview"}]},{"group":"Templates","pages":[{"title":"Templates","href":"/resources/templates"}]},{"group":"Tutorials","pages":[{"title":"Overview","href":"/resources/tutorials/overview"},{"title":"Building a Data Classification Agent","href":"/resources/tutorials/data-classification-agent"},{"title":"Webhook Builder","href":"/resources/tutorials/webhook-builder"},{"title":"AI Contact Routing","href":"/resources/tutorials/ai-contact-routing"},{"title":"Building a No-Code RAG Agent","href":"/resources/tutorials/no-code-rag-agent"},{"title":"Office 365 agent: read and produce Office files","description":"Build one agent that reads Word, Excel, text, PDF, PowerPoint and image files from SharePoint or OneDrive, edits Excel workbooks, and drafts documents and presentations in the canvas.","href":"/resources/tutorials/office-365-agent"},{"title":"Website to RAG Agent","href":"/resources/tutorials/website-to-rag-agent"},{"title":"Upload a file to a Knowledge Base","description":"End-to-end API flow: store the file bytes, then attach them to a knowledge base for indexing","href":"/resources/tutorials/upload-file-to-knowledge-base"},{"title":"Manage agent conversations via API","href":"/resources/tutorials/manage-agent-conversations-via-api"},{"title":"Building Custom Apps with Builder","href":"/resources/tutorials/ai-builder-custom-apps"},{"title":"Create and Publish a Page App","href":"/resources/tutorials/create-and-publish-a-page"},{"title":"Building a Multi-Agent Orchestrator (A2A)","href":"/resources/tutorials/multi-agent-orchestration"}]},{"group":"Security \u0026 Compliance","pages":[{"title":"Data Privacy","href":"/resources/security/data-privacy"},{"title":"Prisme.ai Data-Retention Posture","href":"/resources/security/prisme-data-retention-posture"},{"title":"LLM Provider Data Retention \u0026 ZDR","href":"/resources/security/llm-provider-data-retention"},{"title":"Single Sign-On (SSO)","href":"/resources/security/sso"},{"title":"Compliance","href":"/resources/security/compliance"}]},{"group":"Support","pages":[{"title":"Frequently Asked Questions","href":"/resources/support/faq"},{"title":"Common Issues","href":"/resources/support/common-issues"},{"title":"Troubleshooting Guide","href":"/resources/support/troubleshooting"},{"title":"Contact Support","href":"/resources/support/contact"},{"title":"Training Programs","href":"/resources/support/training"}]}]}]},"basePath":"","title":"Website to RAG Agent - Prisme.ai","buildId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","deploymentId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","dynamics":["a74be98ba7","07c022d89b"],"chunks":["zoom-image-lightbox-CE4cYsJE.js","lightbox-handle-r17bVUz3.js","Frame-CXMGc493.js","DynamicMarkdown-D-2HDKEp.js"]}