What is CooolHost AI
CooolHost AI turns any website into an AI-powered support assistant. You give it a URL, it reads your site the way a new employee would on their first day — page by page — and it comes back able to answer visitor questions accurately, in any language, around the clock.
Unlike a generic chatbot that guesses at your business based on general training data, every answer from CooolHost AI is grounded in content it actually crawled from your own pages. It cannot invent a return policy, a price, or a feature that doesn't exist on your site — because it only knows what your site actually says.
The bot is delivered as a floating chat bubble that appears on your website. Visitors open it, type their question, and get a relevant, accurate answer drawn directly from your content — no waiting for a human, no after-hours silence, no off-topic hallucinations.
How it works, technically
Behind the scenes, CooolHost AI runs a four-stage pipeline every time you add or re-crawl a site. Understanding these stages helps you get the most out of the platform.
Stage 1 — Discovery & crawling
When you add a site, we start at your homepage and follow same-domain links, the same way a search engine crawler would. We check your robots.txt file first and look for a sitemap.xml — if one exists, we use it as a prioritized seed list of URLs, then continue following links from the actual page content to catch anything the sitemap may have missed.
We extract only the visible, meaningful text from each page — headings, paragraphs, and body copy. Navigation menus, footers, scripts, and styling are stripped out before anything gets stored. Only pages that contain usable text are counted toward your plan's page limit.
Your plan controls how many pages we scan in total during this discovery phase, and separately, how many of those pages your bot is trained on. If we find more pages than your plan allows, you get to choose which ones matter most.
Stage 2 — Chunking
Long pages are split into smaller, overlapping pieces of text called chunks. This is important: a chunk is focused enough that when a visitor asks a specific question, the system can retrieve the right paragraph rather than an entire multi-thousand-word page.
The overlap between chunks means sentences at the boundary of two chunks are represented in both, so context is never lost at a split point. Your plan may include a limit on the total number of chunks across all pages of a site — this directly controls API usage and storage, and is separate from the page count limit.
Stage 3 — Embeddings
Each chunk of text is converted into a vector embedding — a list of numbers that represents the semantic meaning of that text — using Google's Gemini embedding models. Two chunks that mean similar things will have similar vectors, even if they use different words.
This embedding step is what enables the bot to answer questions by meaning rather than by keyword matching. It runs in the background after crawling, in small batches, and progress is shown on your dashboard in real time. Large sites with many chunks may take longer, but the bot can begin answering questions as soon as the first batches are processed.
Stage 4 — Retrieval-Augmented Generation (RAG)
When a visitor asks a question, the question itself is embedded using the same model. We then compare that question vector against every chunk vector stored for your site, rank them by semantic similarity, and retrieve the top matches — the paragraphs most likely to contain the answer.
Those top chunks are passed to Google's Gemini chat model as context, along with an explicit instruction: answer only from the context provided, in the same language the visitor used, and if the answer isn't there, say so honestly. The model never draws on its general training data to fill gaps — it either answers from your content or tells the visitor it doesn't have that information.
This approach — retrieve first, then generate — is known as Retrieval-Augmented Generation, or RAG. It is the reason the bot stays accurate and on-topic rather than confidently making things up.
Getting started
Setting up a bot takes under two minutes. Here is the full process from account creation to a live widget on your site:
- Create an account — sign up at the top of this page. No credit card is required to get started.
- Add your website URL — from your dashboard, paste the address of the site you want to train the bot on and click "Add & Crawl". We immediately begin scanning your site in the background.
- Watch the discovery progress — your dashboard card updates in real time, showing how many pages have been found so far. You do not need to stay on the page; the process continues in the background even if you close your browser.
- Pick your pages (if needed) — if we discover more pages than your plan's training limit allows, the card switches to a page-selection view. You are shown every page we found, with the first N pre-selected. You can un-check any you don't want and check others in their place, then click "Save Selection" to proceed. If everything fits within your limit, this step is skipped entirely and training starts automatically.
- Wait for text processing — after page selection, the bot begins embedding chunks in the background. The dashboard shows a progress bar with the exact chunk count. Most sites with a modest number of pages finish within a few minutes.
-
Copy your embed code — once the status badge reads "Ready ✓", an embed code appears on your dashboard card. It looks like this:
<script src="https://www.cooolhost.com/my/api/widget.php?key=ck_..."></script> -
Paste it into your site — add the script tag just before the closing
</body>tag in your site's HTML. On WordPress, Shopify, Webflow, or any site builder, this is usually a "custom code" or "footer scripts" setting. The bot appears immediately on your next page load.
Your bot is live as soon as the embed code is on the page. Visitors will see a floating chat bubble at the bottom-right of every page that includes the script.
Choosing which pages to train on
CooolHost AI always scans your entire site first — up to the discovery limit defined by your plan — before asking you to make any choices. This means you always have full visibility into what we found before committing to a training set.
If the number of pages we discover is within your plan's training limit, all of them are selected automatically and training begins immediately. No action needed.
If we find more pages than your limit allows, the dashboard presents you with a full list of every discovered page, each with its title and URL. The first N pages (in the order we found them) are pre-selected by default, matching exactly what would have happened before this feature existed. You can:
- Leave the default selection as-is and click "Save Selection" to proceed.
- Uncheck any pages you don't want (thin content pages, thank-you pages, internal admin pages, etc.).
- Check different pages from further down the list in their place.
The dashboard enforces your plan's limit — you cannot select more pages than your plan allows. Once you click "Save Selection", training begins immediately on the chosen pages.
If you re-crawl a site later (for example, after publishing new content), the full discovery and selection process runs again from scratch. Your previous selection is not preserved across re-crawls, since the page list may have changed.
Customizing your widget
Each site in your dashboard has its own widget settings, accessible from the site card once the bot is ready. There is no separate settings page — all customization happens inline on the dashboard.
Widget accent color
A color picker on each site card lets you change the color of the floating button, the chat header gradient, and the user message bubbles. Changes take effect within about 30 seconds as the widget script cache expires. The color is stored per site, so different bots on different sites can have different colors.
Powered by badge
By default, a small "Powered by CooolHost AI" link appears in the top-right corner of the widget header. On plans that include badge removal, this can be hidden entirely from the dashboard. On plans that allow custom branding, it can be replaced with your own text or link. Free-plan widgets always show the badge.
Limit reached message
When your account's monthly question limit is reached, the chat widget hides itself automatically so visitors don't see an error state. Before hiding, if a visitor has the widget open and sends a final question that hits the limit, they receive a message explaining the situation.
You can customize this message per site from the dashboard. A text field below the color picker lets you write whatever you'd like visitors to see — for example, a direct contact email or phone number. If you leave it blank, a sensible default message is used. You can also set a default message for all sites on a plan from the admin panel.
Test bot button
Every ready site has a "Test Bot" button that opens a standalone preview page with just the widget on it. This lets you test your bot without having to visit your actual website, and is useful for verifying behavior after a re-crawl.
When monthly limits are reached
CooolHost AI tracks two types of monthly usage at the account level, shared across all your sites:
- Questions answered — each time a visitor sends a message and receives an AI-generated answer, that counts as one question.
- Widget opens — each time the chat bubble is opened for the first time on a page load, that counts as one chat open.
Both counters reset at the start of each calendar month. Your plan defines the limits for each.
What happens when a limit is hit
When either limit is reached, the widget performs a limit check on every page load and hides itself automatically — the floating button does not appear for any visitor until the counters reset. This prevents visitors from seeing error messages or broken experiences.
If a visitor has the widget open at the exact moment a question limit is reached, their final question returns the limit message and the widget disappears. The transition is smooth and the visitor is not left with a broken UI.
Customizing the message
The message shown to the visitor whose question triggers the limit can be customized at two levels:
- Per site — set a custom message in the dashboard for each individual site. This is the highest priority and overrides everything else.
- Per plan — administrators can set a default message for all sites on a plan from the admin panel. This applies to any site that does not have its own custom message.
If neither is set, a built-in default message is used. We recommend setting a helpful message that includes a way for visitors to reach you directly — an email address, a phone number, or a link to a contact form.
Keeping your bot up to date
CooolHost AI does not automatically re-crawl your site when you update it. This is intentional — re-crawling replaces your entire knowledge base, and doing so unexpectedly could temporarily disrupt the bot's availability while processing runs. You stay in control of when it happens.
How to re-crawl
Click the "Re-crawl" button on any ready or error-state site card in your dashboard. This deletes the current knowledge base for that site and starts the full crawl → chunk → embed pipeline from scratch. The page selection step will run again if your site has grown beyond your plan's limit.
While a re-crawl is in progress, the site's status badge changes from "Ready" to "Discovering pages..." and then "Processing text...". During this time, the bot continues to answer questions from the previous knowledge base until the new one is fully ready. There is no downtime.
When to re-crawl
- After publishing new pages or blog posts you want the bot to know about.
- After updating pricing, hours, policies, or other factual information on existing pages.
- After a significant site redesign or migration to a new URL structure.
- If you notice the bot giving outdated answers.
For most sites, a re-crawl completes within a few minutes. Larger sites with many pages and chunks may take longer, but the old bot remains active throughout.
Plans & limits
Every plan includes the complete pipeline: site discovery, page selection, chunking, embedding, and the live chat widget. Plans differ only in the scale of what they can handle and the features available.
| Feature | Free | Paid plans |
|---|---|---|
| Websites / bots | 1 | Multiple — varies by plan |
| Pages per site | Limited | Higher or unlimited |
| Pages scanned during discovery | Limited | Higher or unlimited |
| Text chunks per site | Limited | Higher or unlimited |
| Questions answered / month | Limited | Higher or unlimited |
| Widget opens / month | Limited | Higher or unlimited |
| Widget badge | "Powered by CooolHost AI" | Customizable or removable |
| Custom limit message | Yes | Yes |
| Re-crawl on demand | Yes | Yes |
| All languages | Yes | Yes |
All monthly limits reset at the start of each calendar month and are tied to your account as a whole, not to individual sites. This means usage from all your bots is counted together. Check the pricing page or your dashboard for the specific numbers on your current plan.
Supported platforms
The widget is a single standard <script> tag. It does not depend on any framework, library, or platform-specific API. If you can paste HTML into your site, you can use CooolHost AI.
- WordPress — paste the script into your theme's
footer.php, or use any plugin that allows custom HTML or script injection in the footer (Elementor, WPCode, Insert Headers and Footers, etc.). - Shopify — add it to your
theme.liquidfile before the closing</body>tag, or through Shopify's "Custom HTML" block in the theme editor. - Webflow — add it in Project Settings → Custom Code → Footer Code, or in a page-specific custom code block.
- Squarespace — use Settings → Advanced → Code Injection → Footer.
- Wix — use the Wix "Custom Code" section in your site's settings.
- Framer — paste it into your site's custom code footer section.
- Static HTML sites — paste it directly before
</body>in your HTML file. - Any custom-built site or web app — add it to the base template that renders on every page you want the bot to appear on.
The widget renders a fixed-position floating button in the bottom-right corner of the page. It does not affect page layout, does not block content, and adds no visible elements until a visitor deliberately clicks the button.
Language support
CooolHost AI has no language configuration. It automatically detects the language a visitor is writing in and responds in kind — there is nothing to set up on your end.
This works because the underlying Gemini models are trained across a very large range of languages. A visitor can write in Bulgarian, Spanish, French, German, Arabic, Japanese, or dozens of other languages and receive a natural, fluent answer — even if your site's content is entirely in English. The bot translates the retrieved context into the visitor's language as part of generating the answer.
There are some practical nuances to be aware of: if your site content is only in English and a visitor asks a very specific question in another language, the accuracy of the answer depends on the quality of the underlying model's multilingual capabilities. For sites where a non-English audience is the primary audience, crawling content in that language will generally produce better results than relying solely on translation.
Data & privacy
What we crawl
We only crawl public pages that are accessible without a login. We follow your robots.txt file and respect standard crawl conventions. We do not crawl pages behind authentication, pages explicitly disallowed in robots.txt, or any content you have not explicitly pointed us to by adding the site's URL.
How content is stored
Crawled pages, extracted text, and generated vector embeddings are stored in our database and are associated exclusively with your account. They are never shared with other users, never used to train models, and never used to answer questions on any bot other than your own.
Chat history
Every question asked through your widget and every answer generated is logged and associated with your site. This log is used for usage accounting (counting questions toward your monthly limit) and may be used in the future to provide analytics features. It is not shared externally.
Deleting your data
Deleting a site from your dashboard permanently removes all crawled pages, extracted text, vector embeddings, and the associated embed key for that site. The bot stops working immediately on any page where the embed code is still present — it returns an empty response. Monthly usage counts (questions answered, widget opens) are retained at the account level for billing accuracy even after a site is deleted.
Third-party services
We use Google's Gemini API to generate vector embeddings and AI answers. Text chunks from your site are sent to Google's API as part of this process. Google's API terms and privacy policy apply to this data. We do not use any other third-party AI services.
Technical FAQ
What happens if my site has more pages than my plan allows?
We scan your whole site first — up to your plan's discovery limit — then show you a checklist in the dashboard. You can pick exactly which pages the bot should learn from. The first N pages are pre-selected by default, but you can swap any of them for others from the full list.
What is the difference between the discovery limit and the page limit?
The discovery limit is how many pages we scan during the crawl phase. The page limit is how many of those pages the bot actually trains on. For example, a plan might scan up to 200 pages to give you a good selection, while only training the bot on up to 50 of them. Both are controlled by your plan and visible in the admin panel.
What is a text chunk and why does it have a limit?
A chunk is a short segment of text, typically a few hundred characters, extracted from a crawled page. Each chunk requires one API call to generate its vector embedding, so the total chunk count directly relates to API usage and processing time. Longer or more text-dense pages produce more chunks. Your plan's chunk limit caps the total across all pages of a site.
Is my crawled content shared with other customers?
No. Each site's crawled pages, embeddings, and chat history are isolated to your account and are never used to answer questions for anyone else's bot.
How do I update the bot after I change my website?
Click "Re-crawl" on the site's card in your dashboard. It runs the full discovery and training pipeline again from scratch, picking up any new or changed pages. The old bot stays active until the new one is fully ready — there is no downtime.
Can I remove the "Powered by" badge from my widget?
Free-plan widgets always show a small "Powered by CooolHost AI" badge in the widget header. Paid plans that include badge removal can hide it entirely from the dashboard. Check your plan details to see whether this feature is included.
What happens when my monthly limit is reached?
The widget automatically hides itself on every page load so visitors don't see an error state. If a visitor has the widget open at the moment the last question is used, they receive a customizable message and the widget disappears. Limits reset at the start of each calendar month.
Can I set a custom message for when the limit is reached?
Yes. Each site has a "Message when monthly limit is reached" field in the dashboard. Whatever you put there is what visitors see. A common approach is to include a direct contact email or phone number so visitors have somewhere to turn. If you leave it blank, a sensible default is used.
Does the bot work on JavaScript-heavy or single-page-application sites?
The crawler fetches raw HTML, so content that is rendered entirely client-side by JavaScript (React, Vue, Next.js with client-side rendering, etc.) may not be fully captured. If your site uses server-side rendering or static generation, it will be crawled accurately. For fully client-rendered SPAs, we recommend checking the crawl result in your dashboard — if the page count is lower than expected, your site may need server-side rendering for best results.
How long does processing take?
Crawling itself is fast — usually a few seconds to a few minutes depending on site size. The embedding step runs in the background in small batches and typically completes within a few minutes for smaller sites. Very large sites with many pages and chunks may take longer. You can watch progress in real time on your dashboard, and the bot becomes partially usable as soon as the first batches finish.