Docs · AI live chat

AI live chat, from zero to live

No coding knowledge needed. Follow these steps in order and your website answers visitors 24/7 in about 10 minutes.

What it is

A chat button on your website. Visitors type a question (prices, hours, delivery…) and an AI answers in seconds, in every language (it always replies in the language the visitor writes, translating your facts), using only the facts you wrote. When it doesn't know, it gives them your contact instead of guessing.

The 5 steps

  1. Log in at lyxvo.ai and open Live chat in the menu on the left.
  2. Business tab: write your business name and the facts the assistant should know (use an example if you're not sure).
  3. Add your website domain, for example yourshop.com, and press Save.
  4. Look tab: choose colours, title, logo, button and quick questions; the preview shows the result.
  5. Copy the one line of code and paste it on your website (see where below). Done.

Writing the business facts

The AI answers only from this text, so the better it is, the better the answers. Write it the way you'd brief a new employee: short lines, real numbers, no marketing fluff. Cover:

  • What you sell and the prices
  • Address, area served and opening hours
  • How to order or book, and how to pay
  • Delivery or shipping, returns, requirements
  • The questions customers ask you most, with the answers

Example (a café). Replace everything in [brackets]:

About us: [Your café name] is a café in [city/area]. Address: [street, city]. Google Maps: [link].
Opening hours: [Mon–Fri 08.00–22.00, Sat–Sun 09.00–23.00].
Menu and prices: [Latte Rp30.000], [Americano Rp25.000], [Croissant Rp20.000], [Nasi goreng Rp35.000].
Delivery: [GoFood and GrabFood, or our own delivery within 5 km for Rp10.000].
Payment: [cash, QRIS, debit and credit card].
Reservations: [on WhatsApp, for groups of 6 or more].
Wi-Fi and seats: [free Wi-Fi, power outlets, outdoor area, room for 40].
Frequent questions: [Do you have vegan options? Yes, oat milk and two vegan cakes.]

Making it look like your website

In the Look tab you set the chat title and subtitle, your logo (an https image link), the colour, light or dark theme, a round icon or a button with text, the size, up to 4 quick questions, the corner (left or right), the distance from the edges and the roundness. Keep it on the opposite side of other floating buttons, such as WhatsApp.

Your domain (required, for your safety)

The chat answers only on the websites you list, plus their subdomains (shop.com also covers www.shop.com and blog.shop.com). If someone copies your code to another site, the chat stays silent there, so nobody can use up your conversations. We check that each domain really exists when you save. Until you add a domain, the chat works only in the preview on lyxvo.ai.

Where to paste the code

Every website gets the same single line. Put it once, right before </body>, on every page (most builders have one place that covers all pages):

<script src="https://lyxvo.ai/livechat.js" data-id="YOUR_WIDGET_ID" async></script>

Website builders

HTML
Paste the code right before </body> on every page.
WordPress
Appearance → Theme File Editor → footer.php before </body>, or a plugin like WPCode → Footer.
Shopify
Online Store → Themes → Edit code → theme.liquid, before </body>.
Wix
Settings → Custom code → Add code → Body - end, all pages.
Squarespace
Settings → Advanced → Code injection → Footer.
Webflow
Site settings → Custom code → Footer code, then publish.
Blogger
Theme → Edit HTML, paste before </body>, save.
Google Tag Manager
New tag → Custom HTML, paste the code, trigger: All Pages.

Frameworks and server languages

The chat runs in the visitor's browser, so in any framework or server language you only output this script tag in your main layout. Replace YOUR_WIDGET_ID with the id shown in your dashboard.

JavaScript any page, or your main script

// Load the Lyxvo AI live chat once, from any JavaScript.
const s = document.createElement("script");
s.src = "https://lyxvo.ai/livechat.js";
s.async = true;
s.dataset.id = "YOUR_WIDGET_ID";
document.body.appendChild(s);

React index.html (Vite or Create React App)

<!-- public/index.html or index.html, right before </body> -->
<script src="https://lyxvo.ai/livechat.js" data-id="YOUR_WIDGET_ID" async></script>

Next.js app/layout.tsx (App Router) or pages/_app.tsx

import Script from "next/script";

export default function RootLayout({ children }: { children: React.ReactNode }) {
  return (
    <html lang="en">
      <body>
        {children}
        <Script src="https://lyxvo.ai/livechat.js" data-id="YOUR_WIDGET_ID" strategy="lazyOnload" />
      </body>
    </html>
  );
}

Vue / Nuxt index.html (Vue) or nuxt.config.ts (Nuxt)

<!-- Vue: index.html, right before </body> -->
<script src="https://lyxvo.ai/livechat.js" data-id="YOUR_WIDGET_ID" async></script>

// Nuxt 3: nuxt.config.ts
export default defineNuxtConfig({
  app: { head: { script: [{ src: "https://lyxvo.ai/livechat.js", async: true, "data-id": "YOUR_WIDGET_ID", tagPosition: "bodyClose" }] } },
});

Angular src/index.html

<!-- src/index.html, right before </body> -->
<script src="https://lyxvo.ai/livechat.js" data-id="YOUR_WIDGET_ID" async></script>

Svelte / SvelteKit src/app.html (SvelteKit) or index.html

<!-- SvelteKit: src/app.html, right before </body> -->
<script src="https://lyxvo.ai/livechat.js" data-id="YOUR_WIDGET_ID" async></script>

Go your base html/template (layout.html)

{{/* templates/layout.html, right before </body> */}}
<script src="https://lyxvo.ai/livechat.js" data-id="YOUR_WIDGET_ID" async></script>

// main.go: nothing else to change; render the layout as usual.
// http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
//     tmpl.ExecuteTemplate(w, "layout.html", data)
// })

Rust your base template (Askama, Tera or Maud)

<!-- templates/base.html (Askama / Tera), right before </body> -->
<script src="https://lyxvo.ai/livechat.js" data-id="YOUR_WIDGET_ID" async></script>

// Maud:
// html! { body { (content) script src="https://lyxvo.ai/livechat.js" data-id="YOUR_WIDGET_ID" async {} } }

PHP / Laravel footer.php or resources/views/layouts/app.blade.php

<!-- Plain PHP: footer.php · Laravel: layouts/app.blade.php, right before </body> -->
<script src="https://lyxvo.ai/livechat.js" data-id="YOUR_WIDGET_ID" async></script>

Python (Django / Flask) templates/base.html (Django or Jinja2)

{# templates/base.html, right before </body> #}
<script src="https://lyxvo.ai/livechat.js" data-id="YOUR_WIDGET_ID" async></script>

Ruby on Rails app/views/layouts/application.html.erb

<%# app/views/layouts/application.html.erb, right before </body> %>
<script src="https://lyxvo.ai/livechat.js" data-id="YOUR_WIDGET_ID" async></script>

Node.js (Express) views/layout.ejs (or any template engine)

<!-- views/layout.ejs, right before </body> -->
<script src="https://lyxvo.ai/livechat.js" data-id="YOUR_WIDGET_ID" async></script>

// Express with plain HTML: put the same line in public/index.html.

Plans and what counts

A conversation is one visitor chatting with your assistant (up to 30 messages). It doesn't matter who they are or where they come from; only conversations count, per account, each month.

  • Free $0: Answers in every language · 100 conversations a month · 3 live chats, every look setting · Shows “Free AI live chat by Lyxvo AI”
  • Basic $19.99/month: 1,000 conversations a month · 5 live chats · No Lyxvo AI mark: only your brand
  • Pro $39.99/month: 7,500 conversations a month · 15 live chats · No Lyxvo AI mark: only your brand

If something doesn't work

I don't see the chat button on my website.

Check that you added your domain and pressed Save, that the code is on the page (view the page source and search for livechat.js), and clear your website's cache if it has one. Some builders only show custom code on the published site, not in the editor.

The chat says it isn't set up for this website.

The address in the browser isn't in your domain list. Add it in the Business tab (for example both shop.com and shop.co.id if you use two) and save.

My site blocks the script (Content-Security-Policy).

Allow https://lyxvo.ai in script-src, connect-src and img-src.

It covers my other button.

In the Look tab, switch the corner to the other side or raise it with “Space from bottom”.

The assistant gave a wrong answer.

It only knows what you wrote. Add or correct that fact in the Business tab and save; the next answer uses it.

It says it's resting this month.

Your plan's conversations for this month are used up. They reset on the 1st, or upgrade to Basic or Pro.

Open Live chat Live chat overview Bahasa Indonesia

Design your next idea with AI

Apps, websites, logos, posts, slides and flyers, from one prompt.