If your site isn't built on Wix, Shopify, Squarespace, Webflow, or WordPress (it's hand-coded HTML, a static site generator, or a platform we haven't written a dedicated guide for yet), the setup is actually the simplest version of this process. There's no admin panel to hunt through, no plan tier to check. You control the HTML directly, so you paste one snippet before the closing </body> tag and you're done.
What you're actually installing
The Askvo widget is a custom element (<chatbot-widget>) loaded by two small script tags. It runs entirely client-side, pulling from Askvo's servers for the actual AI responses. Your site just needs to load the script once, on every page you want the bubble to appear on. There's no server-side install, no build step, no dependency to add to a package manager. If your site is a set of static HTML files, a template shared across pages (a layout partial, a base template, a shared footer include), or a CMS with a "before body" hook, any of those work.
Step 1: Train the bot on your content
- Create a free Askvo account. The Free plan includes one chatbot, no card required.
- Paste your site's URL. The crawler reads your live pages and builds the bot's knowledge base from them. Re-crawl any time your content changes meaningfully.
- Add what the crawler can't reach. Content behind a login, a PDF, information that only exists as an image. Upload documents or add direct Q&A pairs; see how to train a chatbot on your own data.
- Test it in the dashboard before going live. In strict mode it only answers from your content, and says so honestly when it doesn't know something.
Step 2: Get your embed snippet
Copy the snippet from your bot's install page in the Askvo dashboard. It looks like this:
<script src="https://widget.yourdomain.example/polyfills.js" type="module"></script>
<script src="https://widget.yourdomain.example/main.js" type="module"></script>
<chatbot-widget
chatbot-id="YOUR_CHATBOT_ID"
api-url="https://yourdomain.example"
primary-color="#your-color"
welcome-message="Hi! How can I help?"
header-title="Chat with us"
position="bottom-right"
show-branding="true"
></chatbot-widget>
Your dashboard fills in the real IDs and URL automatically. This is just the shape of it.
Step 3: Paste it before the closing body tag
- Static HTML files: if every page shares a layout partial, footer include, or template (common with static site generators), paste the snippet there once, and it'll appear on every page that renders it. If pages are fully independent files with no shared template, paste it into each one, right before
</body>. - A CMS or framework without a dedicated guide: look for a "custom code," "footer scripts," or "before body" setting in its admin. Most platforms that let you build a site at all expose one, even if the exact menu label differs from the ones covered elsewhere in this series.
- Anywhere else: the requirement is simple. The snippet needs to load once per page view, positioned near the end of the document so it doesn't block your page's own content from rendering first.
Step 4: Verify before you call it done
- Check more than one page to confirm the widget shows up consistently, not just on the page you tested first.
- Ask it a real question and confirm the reply streams in with a citation back to the source page.
- Test "talk to a human" and confirm the conversation lands in your Askvo dashboard for live takeover.
- Ask something it can't know and confirm it declines gracefully with your fallback message instead of guessing.
Keeping answers accurate as your site changes
Re-crawl after any meaningful content update. Check the Unanswered Questions report periodically. It's usually the fastest way to spot a page or policy you haven't documented. If lead capture matters, read the chatbot lead generation guide. Compare plans and message-credit limits on pricing.
Frequently asked questions
Does this need a server or backend on my end?
No. The snippet is entirely client-side. Your server just needs to serve the two script tags and the custom element like any other static asset reference.
My site's built with a framework. Is there a better way?
If you're using React or Next.js specifically, see our dedicated React/Next.js guide: the same snippet, with framework-specific placement (avoiding SSR issues, cleanup on unmount).
Will this slow down my page load?
The scripts are loaded as ES modules and don't block your page's own content from rendering. Placing them near the end of the document, as shown above, is the standard pattern for any third-party widget.
What happens if the bot doesn't know an answer?
It says so, using a fallback message you write, and logs the question so you know what to add to your content next.
