Installing on Your Website
Once your agent is indexed, adding it to your site is a single script tag. Find your snippet under Widget → Script.
The embed snippet
Paste this just before the closing </body> tag on every page where you want the chat widget:
<script
src="https://botchata.net/api/widget.js"
data-api-key="YOUR_KEY"
data-api-url="https://botchata.net/api"
defer
></script>
The widget loads asynchronously (defer) and won't slow your page down. It renders inside a Shadow DOM, so it can't clash with your site's CSS.
Platform-specific instructions
| Platform | Where to paste |
|---|---|
| WordPress | Appearance → Theme File Editor → footer.php, before </body> (or use a "header & footer scripts" plugin) |
| Shopify | Online Store → Themes → Edit code → theme.liquid, before </body> |
| Wix | Settings → Custom Code → Add Custom Code → "Body - end" |
| Squarespace | Settings → Advanced → Code Injection → Footer |
| Webflow | Project Settings → Custom Code → Footer Code |
| Tilda | Site Settings → More → HTML code for the <body> |
| Custom HTML | Directly before </body> in your template |
Add the script to every page (usually the shared footer/template), not just the homepage, so the widget is available everywhere.
Verify it's live
Reload your site — the chat bubble should appear in the bottom-right corner.
Didn't see it? View the page source (
Ctrl+U) and confirm the script tag is present anddata-api-keyis not empty. Check the browser console for errors, and make sure the script isn't blocked by a content-blocker.
Pass visitor identity (optional)
If your site already knows who the visitor is (they're logged in), pass their name and email so the bot can greet them by name and pre-fill lead and booking forms:
<script
src="https://botchata.net/api/widget.js"
data-api-key="YOUR_KEY"
data-api-url="https://botchata.net/api"
data-user-name="Jane Doe"
data-user-email="jane@example.com"
defer
></script>
Render these attributes server-side from your auth system. The values are passed to the AI as an identified-visitor context.
Session persistence
The widget remembers each visitor's conversation for 48 hours (per browser). When they return or navigate to another page, the previous conversation and message history are restored automatically.
Sessions are stored in the browser's localStorage, scoped per API key — so if you run more than one bot on the same page, their conversations never mix. The visitor can always start fresh with the "New conversation" reset button in the widget header.
Multiple bots on one page
You can place more than one widget script on the same page (e.g. a sales bot and a support bot), each with its own data-api-key. They run independently and keep separate conversations.
Removing the widget
Delete the script tag from your template. The widget disappears on the next page load — there's nothing else to clean up.