DocsGetting StartedInstallation

Installation & Setup

Setup

Botvee 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. 1

    Copy the script

    Dashboard → Integrations → Custom Website → Copy

  2. 2

    Paste before </body>

    on every page where the chat should appear

  3. 3

    Save and refresh

    the launcher appears bottom-right

Embed Scripthtml
<!-- 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.jstsx
// 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. 1

    Download the plugin

    Dashboard → Integrations → WordPress

  2. 2

    Upload it

    WordPress → Plugins → Add New → Upload Plugin → Install Now

  3. 3

    Activate it

  4. 4

    Copy your Auth Token from the Botvee WordPress dialog

  5. 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.

Shopify (theme.liquid)html
<!-- 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.