Installation & Setup
SetupBotvee installs on any website. Pick the method that matches your stack — all of them take a couple of minutes.
Before you start
- You have created an AI Agent in the Botvee dashboard
- You have copied your AI Agent ID (custom sites) or Auth Token (WordPress)
- Your site is live and you can edit its code or install plugins
Method 1 — Custom website (script tag)
Works with plain HTML, PHP, Laravel, Django, Rails, Webflow custom code, and every static site generator.
- 1
Copy the script
Dashboard → Integrations → Custom Website → Copy
- 2
Paste before </body>
on every page where the chat should appear
- 3
Save and refresh
the launcher appears bottom-right
<!-- BotVee Chat Widget -->
<script>
(function(w,d,s,o,f,js,fjs){
w['BotVee']=o; w[o]=w[o]||function(){(w[o].q=w[o].q||[]).push(arguments)};
js=d.createElement(s); fjs=d.getElementsByTagName(s)[0];
js.id=o; js.src=f; js.async=1; fjs.parentNode.insertBefore(js,fjs);
}(window,document,'script','bv','https://www.botvee.ai/widget.js'));
bv('init', { botId: 'YOUR_AGENT_ID' });
</script>
<!-- End BotVee -->Important
Paste the script before the closing </body> tag, not inside <head>. The loader is async and needs the document body to mount the widget.
Method 2 — React, Next.js, Vue
Load the widget once after the app mounts so it survives client-side navigation without duplicating.
// React / Next.js — load the widget once, after mount
import { useEffect } from "react";
export function BotveeWidget({ botId }: { botId: string }) {
useEffect(() => {
if (document.getElementById("bv")) return; // already loaded
(function (w: any, d: any, s: string, o: string, f: string) {
w["BotVee"] = o;
w[o] = w[o] || function () { (w[o].q = w[o].q || []).push(arguments); };
const js = d.createElement(s), fjs = d.getElementsByTagName(s)[0];
js.id = o; js.src = f; js.async = 1;
fjs.parentNode.insertBefore(js, fjs);
})(window, document, "script", "bv", "https://www.botvee.ai/widget.js");
(window as any).bv("init", { botId });
}, [botId]);
return null;
}In Next.js App Router you can also drop the raw snippet into app/layout.tsx using next/script with strategy="afterInteractive".
Method 3 — WordPress plugin (no code)
- 1
Download the plugin
Dashboard → Integrations → WordPress
- 2
Upload it
WordPress → Plugins → Add New → Upload Plugin → Install Now
- 3
Activate it
- 4
Copy your Auth Token from the Botvee WordPress dialog
- 5
Paste and save
in BotVee plugin settings
The plugin also exposes widget position and colour overrides inside WordPress, so non-technical team members can adjust it.
Method 4 — Shopify (one-click)
Dashboard → Integrations → Shopify → enter your myshopify.com domain → Authorize. Botvee installs the widget and starts reading products and orders so it can answer stock and delivery questions.
<!-- BotVee Chat Widget — Shopify -->
<script>
(function(w,d,s,o,f,js,fjs){
w['BotVee']=o; w[o]=w[o]||function(){(w[o].q=w[o].q||[]).push(arguments)};
js=d.createElement(s); fjs=d.getElementsByTagName(s)[0];
js.id=o; js.src=f; js.async=1; fjs.parentNode.insertBefore(js,fjs);
}(window,document,'script','bv','https://www.botvee.ai/widget.js'));
bv('init', { token: 'YOUR_SHOPIFY_TOKEN', platform: 'shopify' });
</script>Verify the install
- Open your site in a private window — the launcher should appear within 2 seconds
- Send a test message and check it appears under Dashboard → All Chats
- Check Dashboard → Connected — your channel should show a green Connected dot
Tip
Nothing showing up? Jump to Troubleshooting — it covers the four causes behind almost every failed install.