Chat widget & AI
Add a live chat bubble and answer visitors in real time.
Add a live chat bubble to any website so visitors can message you — and optionally let an AI assistant answer common questions automatically, day or night. Conversations land in your Inbox, and you can reply in real time whenever you want to take over. You can fully customize how the widget looks, add a self-serve help center, and control exactly which websites are allowed to show it.
Quick start
- Go to Sites → Chat Widgets in the left menu.
- Click New chat widget and name it.
- Customize its look, welcome message, and (optionally) turn on the AI Assistant.
- Add your website to Allowed Domains in the Embed Settings section.
- Copy the embed code and paste it into your website.
- Reply to incoming chats in your Inbox, or let the AI Assistant answer for you.
Creating a chat widget
- Open Sites → Chat Widgets.
- Click New chat widget.
- Give it a name (for example, "Customer Support") and an optional description, then create it.
- The widget editor opens with a live preview so you can see your changes instantly as you make them.
The editor has a settings panel on the left, organized into sections you scroll through — Themes & Settings, Page, AI Assistant, Embed Settings, and Analytics — and a live preview of the widget on the right.
Customizing the look (Appearance / theme)
In the Themes & Settings section of the editor you can control how the widget looks:
- Dark mode — switch the whole widget between a light and dark color scheme. Switching modes resets your custom colors back to that mode's default palette, so confirm the change when prompted.
- Colors — set solid colors or gradients for Primary Text, Secondary Text, Background, Secondary BG, Accent, and Border. The Accent color is also used for the launcher button and outgoing chat bubbles.
- Toggle type — choose Image to upload your own logo/avatar for the chat launcher button, or Icon to pick from the built-in icon set. Both are shown in a circular button styled with your Accent color.
The live preview on the right updates immediately as you change any of these, so you always see exactly what visitors will experience.
Behavior settings
Also in the Themes & Settings section:
- Auto-open on page load — have the widget panel open by itself when someone lands on your page, instead of waiting for them to click the launcher.
- Sound notifications — play a sound when new messages arrive.
- Show "Powered by Reflex" — show or hide the platform branding footer in the widget.
- Chat Welcome Message — the first message visitors see when they open the chat for the first time (for example, "Hi there! How can I help you today?").
The welcome, help, and updates pages
Your widget isn't just a single chat box — it has its own small set of pages that visitors navigate between. In the editor's Page section, use the Welcome / Help / Updates pill tabs to edit each one.
Welcome page
The first screen visitors see when they open the widget. Set:
- Title — a large greeting, for example "Hi there 👋".
- Subtitle — a short line under the title, for example "How can we help?".
From here, visitors can tap into Start a conversation (opens the chat), Help center (opens the FAQ page), or Updates (opens your announcements).
Help page (FAQs)
A self-serve FAQ list so visitors can find answers without waiting for a reply:
- Select the Help tab.
- Type a question and answer in the "New question..." box at the bottom, then click Add FAQ.
- Edit or delete existing FAQ items directly in the list.
Visitors can search the FAQ list by keyword, and each question expands into its answer.
Updates page
A place to post news, product updates, or announcements that visitors can read inside the widget:
- Select the Updates tab and click Add Update.
- Add a title, rich-text content, and an optional featured image.
- Save. You can edit or delete any update afterward from the same list.
The AI Assistant
Every widget can optionally answer visitors automatically using AI, grounded in your knowledge base — so common questions get instant, accurate answers even when your team is offline. Find these settings in the AI Assistant section of the editor.
Turning it on
Flip Enable AI assistant on. When it's off, the widget works as live-chat only — every message goes to your Inbox for a person to answer. When it's on, the AI answers first and your team can still jump in at any time.
Persona
Choose how the assistant should approach conversations:
- Customer support — warm, brief, focused on resolving the visitor's question in as few turns as possible.
- Pre-sales — enthusiastic but honest, focused on helping visitors understand whether your product fits their needs and capturing them as leads.
Greeting and suggested questions
- Greeting — the first message the assistant sends when a visitor opens the chat.
- Suggested questions (up to 6) — quick-start question chips shown under the greeting before the visitor's first message, so they can tap a common question instead of typing.
Model choice
Pick which AI model answers your visitors, from the Model dropdown:
| Provider | Models available |
|---|---|
| DeepSeek | DeepSeek V4.1 Flash (default) |
| Anthropic | Claude Sonnet 4.5, Claude Haiku 4.5 |
| OpenAI | GPT-4o, GPT-4o Mini |
| Gemini 2.5 Flash, Gemini 2.5 Pro |
DeepSeek V4.1 Flash is the default when a widget has not picked a model. Website-builder generation still uses Claude Sonnet 4.5. You can also adjust Temperature (0 to 1) — lower values keep answers more focused and predictable, which is why support conversations default to a low temperature; higher values make answers more varied and creative.
Knowledge-base grounding with citations
Turn on Ground answers in knowledge base to have the assistant search your organization's knowledge base before answering, and cite the sources it used. When it finds relevant material, its reply includes small citation chips like [1] under the answer — click a chip to open the source if it has a link. When grounding is off, or nothing relevant is found, the assistant falls back to the no-answer message instead of guessing at facts about your business.
No-answer message
Set what the assistant says when it can't find an answer in your knowledge base — for example, "I couldn't find that in our knowledge base. Would you like me to connect you with a human?" This is shown instead of a guessed answer, so visitors are never given made-up information about your pricing, policies, or features.
"Talk to a human" (human takeover)
Turn on Allow "Talk to a human" to let the assistant hand a conversation off to your team — automatically, if the visitor asks for a person or seems frustrated, or any time the assistant can't resolve the issue. When a handoff happens, your team gets notified and the conversation pauses for AI replies; a banner appears in the widget for the visitor (for example, "A team member is helping you") so they know a person has taken over.
Bug reports
Turn on Allow bug reports to let visitors describe something broken and have the assistant file it as a support ticket automatically — gathering what happened, what they expected, and steps to reproduce. Bug reports show up on your support ticket board with high priority.
Extra instructions
Use Extra instructions (optional) to add tenant-specific guidance the assistant should follow — for example, "Always mention our 30-day money-back guarantee when discussing pricing." These are appended to the assistant's prompt and are never shown to visitors.
Changes in the AI Assistant section save automatically a moment after you stop typing — watch for the Saving… / Saved indicator next to the enable switch.
Allowing your website (Embed Settings)
For security, the widget only loads on websites you approve. This is managed from the Embed Settings section of the editor, under Allowed Domains.
- In the widget editor, scroll to Embed Settings → Allowed Domains.
- Add the domain(s) where the widget will appear, for example:
example.com— exact match*.example.com— any subdomain of example.com (likeshop.example.comorblog.example.com)
- Each domain saves automatically as soon as you add it.
If Allowed Domains is empty, external embedding is disabled entirely — the widget won't load on any outside website, even if you paste the embed code there. This is a safety default: it stops the embed code from being used on a domain you haven't approved, whether by accident or by someone copying your snippet without permission. Add at least one domain before you publish the embed code on your live site.
Copying the embed code
- In the Embed Settings section, find the Embed Code box — a small script snippet.
- Click the copy icon next to it.
- Paste it into your website's HTML, just before the closing
</body>tag. - Publish your website.
The chat bubble now appears on your site for any domain listed in Allowed Domains. Visitors can click it to start a conversation. The widget runs inside a secure, isolated frame so it won't interfere with the rest of your page's styles or scripts.
Testing the widget
Agency setup badges show Setup ready when one widget has the required configuration. This does not confirm a live AI reply. The install dialog selects an eligible widget and still requires the client-site conversation test.
If the assistant cannot answer because of a connection or provider error, the chat shows a message with Try again. Retrying requests another AI response without sending your visitor message a second time. Human takeover stops AI retries.
Before sharing your site widely, confirm the widget behaves the way you configured it:
- Make sure the domain you're testing from (including
localhostduring development, if applicable) is in Allowed Domains — otherwise the script will refuse to load and will log a warning in the browser console explaining why. - Open your website where you pasted the embed code and confirm the chat bubble appears in the expected corner.
- Click the launcher and walk through the Welcome, Help, and Updates pages to confirm your content looks right.
- Send a test message. If the AI Assistant is on, confirm it responds with the greeting and behaves as configured (citations appear if grounding is on, the no-answer message appears for questions outside your knowledge base, and so on).
- Check your Inbox to confirm the conversation and any captured contact details arrived correctly.
Analytics
The Analytics section of the editor shows read-only stats for the last 30 days:
| Stat | What it means |
|---|---|
| Sessions | How many visitor chat sessions started |
| Converted | How many of those sessions turned the visitor into an identified lead (they shared their contact info), plus the conversion rate |
| Messages in | Messages sent by visitors |
| Messages out | Messages sent back (by your team or the AI assistant) |
| AI replies | How many replies the AI Assistant generated |
| AI tokens | Total AI usage (tokens) consumed answering visitors |
The section also shows how many FAQ items are currently live on the widget. This is a lightweight, at-a-glance view — there are no charts yet, just the counts for the trailing 30-day window.
Receiving and answering chats
When a visitor sends a message, it arrives in your Inbox:
- Open Inbox from the left menu.
- Open the conversation to read it and reply in real time.
- You can star, mark as read, archive, or delete conversations.
Each chat is connected to a lead, so you keep a full history of your conversations with that contact in one place. If the AI Assistant is enabled, it answers first; you can jump in at any point; if a visitor asks for a human (and human takeover is enabled), the conversation is flagged for you automatically.
Tips
- Set a friendly welcome message and greeting so visitors feel invited to chat.
- Add a few FAQs to deflect the most common questions, whether or not the AI Assistant is on.
- Turn on knowledge-base grounding if you have documentation in your knowledge base — it gives visitors cited, accurate answers instead of a generic AI response.
- Double-check your Allowed Domains — an empty or missing domain is the most common reason a widget doesn't appear on an external site.
- Keep your Inbox open (or watch for notifications) so you can reply while visitors are still on your site, even with the AI Assistant handling first responses.