Skip to content
Widget

Install the LuluDesk widget

One script tag. No build step, no npm, no framework dependency. Paste it before </body> and your assistant is live.

For platform-specific instructions see the Shopify, Squarespace, and WordPress guides.


1. Copy your install snippet

Go to your dashboard → Widget tab. Under Embed snippetyou'll see a script tag with your unique install_token already filled in. Copy it — it looks like this:

html
<script src="https://luluclaw.com/widget/v1/YOUR_INSTALL_TOKEN" async></script>

The token in the URL identifies your workspace. Keep it private — treat it like an API key. Anyone with the token can embed your widget on any domain unless you restrict allowed domains in the dashboard.

2. Paste it before </body>

Open the HTML template for the page (or pages) where you want the widget to appear. Paste the script tag immediately before the closing </body> tag.

html
  <!-- your existing page content -->

  <script src="https://luluclaw.com/widget/v1/YOUR_INSTALL_TOKEN" async></script>
</body>
</html>

The async attribute lets the script load without blocking your page render. Placement just before </body> is preferred but not required — the widget initializes after DOMContentLoaded.

3. Verify it's working

Reload your page. Within a few seconds you should see a floating chat button in the bottom-right corner. Click it to open the chat panel.

Back in the LuluDesk dashboard, the Widget tab will update its status from Pending to Active once LuluDesk detects the beacon from your page. This usually happens on the first load.

What the widget includes

The current widget build ships with several UX features out of the box — no configuration required:

  • Animated typing indicator — three pulsing dots appear while the assistant is composing its reply, so visitors know something is happening.
  • Suggested prompts — up to three starter questions shown before the first message. Edit them from the Widget tab in your dashboard.
  • Conversation history — returning visitors see their previous messages when they re-open the widget (stored in localStorage for 7 days). A New conversation button lets them start fresh.
  • Mobile full-screen sheet— on narrow screens (<768 px) the widget opens as a bottom sheet that fills most of the viewport, matching the native feel of iOS and Android chat apps.

These features are part of the shared widget bundle served from luluclaw.com. They update automatically — you do not need to change your script tag to receive improvements.

About install_token

The install_token is the unique identifier embedded in your script URL. It tells the widget which workspace to load, which model to use, and which knowledge sources to query. You do not need to pass it separately — it is already baked into the script URL you copied.

If you want to restrict which domains can use your token, add them to the Allowed domains list in the Widget tab. The widget will silently refuse to load on any domain not in that list.

Having trouble? See the widget troubleshooting guide for common issues. To manage your widget settings, open the dashboard.