Blog

28 Aug 2026

Add a live chat widget that remembers the visitor

The widget is the product visitors see. One script, a public site key, articles they can search, a thread that can resume in the same browser. Highlight on page is a short banner from the inbox. Translation sits under the original.

The snippet

After you create a workspace, open Widget. Cove creates a website record with a public key. The tag looks like this, with your key instead of the placeholder:

<script src="https://coveinbox.co/widget.js" data-website="YOUR_PUBLIC_KEY" async></script>

Put it before </body> on every page that should show the launcher. The script injects a small iframe to /w/{key}. It will not run twice on the same page. data-website is required; without it the script exits.

Lock it to your origins

On the Widget screen, list allowed origins — the real https origins of the site, no trailing slash. Config and chat requests check that list. A preview on localhost needs localhost in the list if you are testing that way. Staging and production are different origins; add both if both should chat.

Appearance people actually notice

  • Theme: light, dark, glass, brand, or match the visitor’s system. Glass frosts over the host page.
  • Accent color and left/right position.
  • Corner radius 0–32px. One value for panel, bubbles, chips, launcher, and badge. 0px is square.
  • Launcher: icon or pill. Five marks or an uploaded image. Badge red or brand color.
  • Home headline and welcome (separate fields). Starter chips, one per line. Help and News tabs can be hidden.
  • URL-contains + delay page teasers. Broadcasts are a separate email campaign screen.
  • Hide the “We run on Cove” mark if you do not want it.

There is no theme marketplace and no custom CSS field. Those studio controls are the shipping appearance — more messenger control than Intercom’s color + greeting, without Crisp’s plugin catalog.

What the visitor can do

Home, Messages, Articles. Articles search published help center entries — title and body — without opening a new tab. Messages is the thread. Typing from the inbox shows in the widget. If they close the tab and come back in the same browser, Cove tries to restore the session from a short-lived token so they do not start from zero.

When an operator resolves the conversation, the widget ends that chat and can prompt for CSAT (1–5). A new message after that is a new conversation. That is intentional: resolve means the visit is over, not hidden.

What sits behind this widget

  • A shared inbox with assignment, notes, quick replies, and CSAT.
  • Live workflows, Broadcasts, and a customer portal.
  • Web script plus WebView. Inbox as a PWA.
  • Visitor map from recent country. Highlight on page from the thread.
  • Translation under the original in the inbox.
  • WhatsApp and other channels connect in Settings — the website is the first channel.

A minimum install checklist

  • Snippet live on production, origin allowed.
  • Welcome line that sounds like the company, not like Cove.
  • Three published articles that match the questions you already answer by hand.
  • Two operators in the inbox, with a quick reply for hours if you are not always on.
  • A habit: resolve when you are done, so CSAT has a moment to fire.

Then the rest is the inbox, not the script. Customizable live chat widget is the look. How to run Cove is the desk. Pricing is Free through Plus, per workspace. Help · signup.

Blog

Related reading

Try the widget and the shared inbox

Fourteen-day trial. Per workspace. Conversations are unlimited.