AI chat widget for your website, in one script tag
An AI chat widget answers visitor questions on your website instantly, without a human on the other end. BotReply's widget installs with a single script tag on any site, answers from the knowledge base you upload, streams replies as they are written, and passes the conversation to your team when it should.
Works on WordPress, Shopify, Webflow, and custom sites · No developer required
How to add an AI chat widget to your website
One script tag, then everything else from the dashboard.
Copy your embed snippet
Open the Webchat section of your workspace and go to Deploy. The script tag there already carries your channel ID, so there is nothing to fill in — copy it as it is.
Paste it into your site
Drop the snippet into your site's HTML just before the closing body tag. It is a plain script tag with no build step and no package to install, so it works the same on WordPress, Shopify, Webflow, and a hand-written site.
Style it and aim it
Back in the dashboard, set your colours, theme, fonts, and launcher — then choose which pages it appears on, which devices it serves, and which domains are allowed to embed it at all.
Publish your agent
Link an agent to the channel, upload what your business gets asked about, and publish. From then on the widget answers visitors from your own content rather than a script you have to maintain.
A widget that behaves itself
Most embedded chat widgets fight with the site they are added to. This one is built not to.
Shadow-DOM isolated
The widget renders in its own shadow root, so your site's CSS cannot leak in and its styles cannot leak out. No broken layouts, no specificity wars.
Streamed replies
Answers stream in token by token over server-sent events, with an automatic fallback to a standard request when streaming is not available.
Matches your brand
Theme, primary and bubble colours, header style, five fonts, sizing, corner rounding, launcher icon and animation — and the badge can be switched off.
Shows up where it should
Include or exclude URL patterns, restrict to desktop or mobile, allowlist the domains that may embed it, and open on a delay or on exit intent.
Pre-chat form
Collect name, email, or phone before the conversation starts — or leave it optional so visitors can ask first and identify themselves later.
Answers from your content
The same knowledge base and agent that serve WhatsApp and Telegram answer here, so a price change lands on every channel at once.
Edit it once, never touch your site again
The script tag carries nothing but your channel ID. Every setting is fetched at runtime, so changes you make in the dashboard are live on your site immediately — no redeploy, no cache clear, no asking a developer to edit a template. That includes:
- Colours, theme, and fonts
- Greeting, tagline, and placeholder text
- Launcher position, size, and label chip
- Page, device, and domain targeting
- Pre-chat form fields
- Conversation starter questions
<!-- Paste before the closing </body> tag -->
<script
src="https://botreply.in/widget.js"
data-channel="YOUR_CHANNEL_ID"
data-api-url="https://api.botreply.cloud"
async
></script>What this looks like in practice
Someone on a product page wants to know whether it ships to their city and what the return window is. They get an answer in the corner of the page they are already on, instead of leaving to find a contact form.
A visitor asks what is included on which plan and whether you integrate with the tool they already use. The pre-chat form takes their email first, so a genuine lead is still a lead after they close the tab.
Opening hours, fees, documents to bring, how to book. The widget answers them from your uploaded policies at 11pm on a Sunday, and escalates the genuinely unusual ones to your team with the whole conversation attached.
Conversation starters
Up to six suggested questions appear under the greeting, and clicking one sends it straight away — the difference between a visitor who types and a visitor who closes the tab. If you do not write your own, BotReply generates four from your agent's linked knowledge, so the suggestions are about your business rather than generic filler.
Sensible defaults, real limits
Sessions time out after an idle period and offer a fresh start, per-visitor rate limits keep abuse in check, and a domain allowlist means the widget only runs on sites you approve. Mobile gets a fullscreen chat with iOS safe-area handling rather than a cramped popup.
Live chat vs an AI widget
Live chat is excellent when someone is available. The problem is the hours, and the queue, when they are not.
| Situation | Staffed live chat | BotReply widget |
|---|---|---|
| Answers at 2am | Offline form, reply tomorrow | Answered immediately |
| Cost per conversation | Agent time | Model cost only, tracked per chat |
| Knows your catalog | If the agent does | Retrieved from your content |
| Handling a rush | Queue and wait times | Every visitor answered at once |
| Escalation to a person | The default | Rule-based, with full history |
| Same brain elsewhere | Web only | Shared with WhatsApp and Telegram |
One script tag away
Add the widget, upload what your business knows, and start answering visitors the moment they ask. Free plan available — no credit card required.
Website chat widget FAQ
Installation, styling, targeting, and how it behaves on your site.
How do I add the AI chat widget to my website?
Paste one script tag into your site's HTML, just before the closing body tag. The Deploy tab hands you the tag with your channel ID already in it, so there is nothing to fill in. That is the whole installation — it works on any platform that lets you add HTML, including WordPress, Shopify, Webflow, and custom sites. Every setting is fetched at runtime, so changes you make in the dashboard go live without editing your site again.
Will the widget interfere with my site's styling?
No. The widget renders inside a shadow DOM, which isolates its styles completely — your CSS cannot leak into it and its CSS cannot leak into your page. It also handles iOS safe areas and switches to a fullscreen chat on mobile.
Can I control which pages the widget appears on?
Yes. You can include or exclude URL patterns, restrict it to desktop or mobile only, and set a domain allowlist so it can only be embedded on origins you approve. You can also set an auto-open delay or open it on exit intent when a visitor's cursor leaves the viewport.
Can I collect visitor details before the chat starts?
Yes. The pre-chat form can collect name, email, and phone as individual toggles, and you can require it before the conversation begins or leave it optional so visitors can ask first and identify themselves later.
Do replies stream in like ChatGPT?
Yes. Replies are token-streamed over a server-sent events connection so the answer appears as it is generated, with an automatic fallback to a standard request if streaming is unavailable on the visitor's network.
Can I match the widget to my brand?
Yes. You control theme (light, dark, or automatic), primary and bubble colours, header style, five font choices, font size, window width, corner rounding, launcher position, size, icon, and animation, plus a label chip beside the launcher. The 'Powered by BotReply' badge can be switched off.
What are conversation starters?
Up to six suggested questions shown under the greeting; clicking one sends it immediately. If you do not configure any, BotReply generates four from your agent's linked knowledge so the suggestions are specific to your business rather than generic.

