Embed and Deployment Guide
Use this guide when taking an assistant live on your site.
What you need before embedding
- At least one assistant is created.
- Knowledge is uploaded and tested in
Try Assistant. - You have your assistant embed values:
assistantIdtoken
Required embed structure
Minimum required embed format:
<div id="chatbot-root"></div>
<script>
window.ChatbotConfig = { token: "YOUR_TOKEN", assistantId: "YOUR_ASSISTANT_ID" };
(function (d) {
var s = d.createElement("script");
s.src = "https://cdn.solhelps.com/bootstrap.js";
s.async = true;
d.head.appendChild(s);
})(document);
</script>
Required parts:
- container element with id
chatbot-root window.ChatbotConfigwith correcttokenandassistantId- loader script from
https://cdn.solhelps.com/bootstrap.js
Environment requirements
Embedding can work in:
- static HTML sites
- React/Next.js apps
- tag managers (for example GTM), if script injection is allowed
If your site has strict script policies, review CSP requirements before rollout.
CSP and security checklist
If your site enforces Content Security Policy, ensure required Sol Helps origins are allowlisted for script loading and runtime network calls.
At minimum, teams usually need to verify policy coverage for:
script-srcconnect-srcimg-srcframe-src(if your environment uses embedded frames)
Coordinate with your security owner before release if your org blocks third-party script execution by default.
Recommended rollout approach
- Start with 1-2 high-intent pages (pricing, docs, help).
- Validate behavior and capture for 24-48 hours.
- Expand to more pages after quality checks pass.
Avoid rolling out everywhere before first validation.
Post-embed validation checklist
Run in an incognito window:
- Widget appears and opens normally.
- Assistant responds to a known question.
- Conversation appears in
Conversations. - Metrics begin appearing in
Signal Health. - Repeated issues eventually appear in
Friction Insights.
If item 1-2 work but item 3-5 do not, review environment blocking, assistant selection, and filters.
Common deployment issues
Widget does not render
Check:
chatbot-rootexists on page- script is loaded successfully (no blocked network request)
- no JavaScript errors in browser console
Wrong assistant appears
Check:
- correct
assistantIdinwindow.ChatbotConfig - deployment did not cache an old snippet
No data in Conversations after launch
Check:
- assistant is actually embedded on pages with traffic
- date/assistant filters in
Conversationsare not narrowing results - browser/network tooling is not blocking requests
Script blocked in production only
Most often this is CSP or edge security policy drift between staging and production.
Operational ownership
Define these owners before broad rollout:
- embed owner (implements snippet changes)
- product owner (validates assistant behavior)
- operations/support owner (monitors Conversations and Insights)
Safe rollback
If severe issues appear:
- remove/disable embed snippet from affected pages
- verify widget no longer loads
- resolve root cause in staging
- redeploy with validation checklist