One line of code,
and your website can talk.
A chat window that looks like your brand, greets visitors in their language, answers with Cubby first and hands the rest to your team. Light enough that nobody notices it loading.
- No developer needed
- Works on any HTML site
- Dark mode included
Looks like you. Behaves like a good host.
Most chat widgets are a coloured button. This one knows your hours, your FAQs and your visitor’s language before anyone types.
Your brand, not ours
Colours, logo, name, subtitle and position are yours to set. Dark mode follows the visitor’s system. On Pro and up the “Powered by” badge goes away.
Gentle, never pushy
Welcome messages appear as a small preview bubble beside the launcher — no full-screen pop-ups. Visitors can dismiss it and it stays dismissed.
Works everywhere
Phones, tablets, desktops, every modern browser. On small screens the window goes full height; you can also hide the launcher on mobile entirely.
Make it look like it was built in-house
Everything visible to the visitor can be changed from the dashboard — no CSS, no redeploy. Changes go live on the next page load.
- Primary colour and position (bottom right or bottom left)
- Your logo, brand name and a one-line subtitle in the header
- Dark mode: follow the system, always light or always dark
- Show or hide the launcher on mobile; sound on or off
- Interface language: follow the browser, Chinese or English
- Link to your own privacy page from the widget menu
Open when you are open — and useful when you aren’t
Set weekly hours in your time zone. Inside them, the widget says you are online. Outside them, Cubby keeps answering what it can and collects a message for the rest.
- Pick the working days and daily hours in your own time zone
- Offline form: name, email and message land in the inbox as a lead
- Cubby still answers FAQs after hours when the AI agent is on
- Email, WeCom, DingTalk, Feishu or webhook notification for every offline message
- 1Set hours and time zone
- 2Write the offline welcome and form intro
- 3Choose who gets notified about offline messages
The questions everyone asks, one tap away
Pin your most common questions to the top of the chat window. Visitors tap one and get the answer instantly — no typing, no AI quota used.
- Show them on the welcome screen, above the input box, or both
- Show 3–8 questions, ordered by hand or by clicks, with an optional search box
- Answers come from the knowledge base Cubby uses — tapping one uses no AI quota
- Different lists per language; “helpful?” feedback on every answer
- If nobody answers within a minute, related FAQs are suggested automatically
6 ways to say it
Text is not always enough. Visitors send a photo of the broken part, a voice note from the car, a PDF of the invoice — and your team can answer in kind.
- Text, image, audio, video, file and voice messages — both directions
- Choose per side which types visitors and agents may send
- Voice notes up to 120 seconds; files up to 50 MB with per-type limits you set
- Emoji picker and a sticker library for a little warmth
- Executable files are always blocked; images are stripped of location metadata
Read receipts, recall, link previews
The details that make a chat feel reliable: you know when a message was seen, you can take back a typo, and links show what they are before anyone clicks.
- Read receipts on both sides (each side can be switched off)
- Recall within 3 minutes by default; delete with the right permission
- Quote-reply to a specific message; link previews with title and domain
- Visitors can clear their history or choose to be remembered for 30 days
- A visitor who comes back within 24 hours continues the same conversation
Light enough that nobody notices
The launcher is about 6 KB gzipped. The chat window itself loads only when someone opens it. No jQuery, no framework, no fonts of its own.
- ≈6 KB launcher, loaded with
deferafter your content - Chat window, emoji and stickers load on first open
- No third-party cookies; a single local-storage token per visitor
- Served from a global CDN with long cache headers
Bars are illustrative; the launcher never blocks your page from rendering.
Sample dataEverything you can change, and where
All of it lives under Chat → Settings in the dashboard. Nothing requires touching the code again.
| Setting | Options | Notes |
|---|---|---|
| Colour | Any colour | Applies to launcher, header and send button |
| Position | Bottom right · bottom left | Launcher and window move together |
| Header | Logo · brand name · subtitle · agent name | Agent name is also Cubby’s name |
| Dark mode | System · light · dark | Follows prefers-color-scheme |
| Mobile | Show · hide launcher | Chat link still works when hidden |
| Interface language | Auto · Chinese · English | Visitor content is translated across 18 languages separately |
| Sound & notifications | On · off | Visitor desktop notifications need the visitor’s consent |
| Welcome messages | Online · offline · preview delay | Translated automatically with translation on |
| Business hours | Days · daily hours · time zone | Drives online / offline state |
| Offline form | Name · email · message | Lands in the inbox with notifications |
| Pinned FAQs | 3 on Free · 5 on Pro | Show 3–8 · per language |
| Attachments | Image 5 · audio 10 · video 50 · file 20 MB | Defaults; adjustable up to 50 MB |
| Read receipts & recall | On · off per side · 3-minute window | Window is adjustable |
| Domain allow-list | Your domains only | Blocks the widget elsewhere |
| Badge | Show · hide | Hide from Pro |
Photos, voice notes and a visit booked — all inside the widget
Two everyday conversations that only work because the widget handles more than text.
Questions about the widget
Will it slow down my site?
defer, after your own content. The chat window only loads when a visitor opens it.