Channels & widget
Today cobay lives in one channel: a chat widget on your storefront. One line of code installs it; everything else — look, voice, behavior — is controlled from your dashboard.
The one-line embed
The entire install is a single script tag, pasted into your theme layout before the closing </body> tag:
theme.liquid
<script src="https://www.cobay.ai/widget.js" data-key="cbw_..." async></script>- Your real key lives in the dashboard. Copy the ready-to-paste snippet from Dashboard → Integrations → Chat widget — the
cbw_above is a placeholder. - It loads async. The script never blocks rendering, so your storefront speed and Core Web Vitals are unaffected.
- Paste once, every page. Because it sits in your theme layout, the bubble appears site-wide — no per-page setup.
It looks like your store, not ours
The widget picks up your agent name, tone, and brand colors from Dashboard → Settings. Nothing is hardcoded in the snippet — change your settings once and every storefront visitor sees the update. No CSS to fight, no second install.
How it behaves
- Streaming replies— answers appear as they’re written, like a fast human typing.
- Readable formatting — replies use bold, links, and lists where it helps, tuned for skimming on mobile.
- One memory per customer — when a shopper identifies themselves (for example with the email on their order), cobay connects their past conversations across sessions and devices, so nobody repeats themselves.
- Grounded, with a human backstop — answers come from your Shopify data and knowledge; when the agent is unsure, it hands off. See Data & privacy.
More channels are on the roadmap
We’d rather do one channel excellently than five badly. The storefront widget is where D2C revenue conversations happen today; when we add more surfaces, they’ll share the same brain and the same memory.