Install the chat widget
Adding Initio to your website takes about two minutes. Copy your embed snippet, paste it into your site's HTML, and the chat launcher appears for every visitor, no build step, no plugins.
Before you start
You'll need an Initio account and your organization's widget token, a unique key that links the widget to your workspace. Find it in your dashboard under Workspace → Widget Settings, where you can also copy the ready-made snippet.
Add the snippet
-
Copy your embed code
In the app, open Workspace → Widget Settings and click Copy embed code. It already contains your widget token, so you don't have to fill anything in.
-
Paste it before the closing </body> tag
Drop the snippet into every page you want chat on, ideally in your site's shared layout, footer template, or tag manager so it loads everywhere.
<!-- Initio live chat --> <script> window.InitioChatConfig = { widgetToken: 'YOUR_WIDGET_TOKEN' }; </script> <script src="https://chat.initiochat.com/js/proactive-chat-widget.js" async></script>The widget reads its appearance, position and behaviour live from your dashboard, change colours or the launcher text in Widget Settings and it updates without touching this code again.
-
Save and reload your site
Refresh any page where you added the snippet. The chat launcher appears in the corner you selected. Open it and send a test message, it lands in your Conversations inbox in real time.
Verify it's working
- The launcher button is visible on your site in the configured position.
- Sending a test message creates a conversation in your dashboard inbox.
- Online agents get a notification (and sound, if enabled) for the new chat.
Common gotchas
- Widget not appearing? Make sure both
<script>tags are present and the token matches the one in Widget Settings. - Content-Security-Policy: if your site uses a strict CSP, allow scripts and connections to
chat.initiochat.com. Wrong colours or missing notifications are the classic symptom, see Widget shows but won't connect. - Single-page apps: the snippet only needs to load once, it survives client-side navigation.