The single most predictive setting on any chatbot widget is the welcome message. A generic "How can I help?" underperforms a specific "Hi! Looking for pricing, or do you have a quick question first?" by a wide margin — because the second message telegraphs what the bot can actually do, and visitors self-select into the right path before typing a word.
EmbedHub ships with a default welcome message on every widget, but the value is in the override. Set data-subtitle to a one-line promise ("We usually reply instantly" or "Ask me about packages"), and the bubble tells visitors what to expect before they engage. The first message the bot sends after they open the panel comes from welcome_message on the server-side config, so a non-technical operator can rewrite it without redeploying the embed.
For lead qualification, the chatbot widget persists every visitor message via POST /api/chatbot/submits — even if your AI integration is not turned on yet. That means you can start collecting intent today (every question becomes a row you can read) and layer in real AI replies later without losing history.
Locked-down builders (Wix custom HTML blocks, Squarespace code embeds, some WordPress security plugins) will sometimes strip or sandbox custom JavaScript. For those environments we expose an iframe fallback — the same chatbot renders inside a fixed-position frame, no script execution required on the host page. The script-tag version remains the preferred embed because it preserves your page background, transitions, and z-index; but the iframe is the safety net that makes the widget universally deployable.
Brand consistency is one script attribute. data-color sets the bubble background, and the bubble re-skins the chat header, the send button, and the user-message bubbles from that single hex value. Pair it with data-title and data-subtitle and the widget reads as a native part of your site, not an embedded third-party tool.
Try it live
This is the real widget — same code you would embed on your site. Submit the form (or open the chat) to see it hit the API live.
Look for the chat bubble in the bottom-right corner.
Click it to open a conversation with the AI assistant. The bubble re-skins itself from the data-color attribute.
Install this widget
Paste this before </body> on any page. Swap in your own data-widget-id and you are live.
<script src="/widgets/chatbot.js"
data-widget-id="blog-chatbot"
data-title="EmbedHub Assistant"
data-subtitle="We usually reply instantly"
data-color="#6366f1"></script>