Shopify App

The Conferbot Shopify app installs the AI chat widget on a Shopify storefront. It is a small Node.js app that handles OAuth, registers a ScriptTag, and serves a per-shop widget loader - the merchant only pastes a Chatbot ID.

See it in action

Paste the Chatbot ID in the app settings, save, and the chat is live on the storefront (recorded against the mock storefront from the e2e suite):

How it works

Install and runtime flow
merchant clicks install
  -> GET /auth?shop=x.myshopify.com          (redirect to Shopify OAuth)
  -> GET /auth/callback (HMAC + state check) (code -> access token)
  -> ScriptTag created: src = {APP_URL}/script.js?shop=x.myshopify.com
  -> merchant lands on /app (settings page: paste bot ID, flip switch)

every storefront page load
  -> Shopify injects <script src=".../script.js?shop=...">
  -> loader boots window.ConferbotWidget(botId, embedType, options)
     with { platform: "shopify", shopDomain, storeCurrency, user? }

The loader boots the standard Conferbot web widget - all widget appearance and behavior is configured in the Conferbot dashboard and delivered at runtime.

Requirements

  • A Shopify store (the app injects storefront-wide via the ScriptTag API)
  • A Conferbot account with a published chatbot, or the built-in demo bot to try it first
  • Self-hosting the app: Node.js, a public HTTPS APP_URL, and Shopify API credentials from the Partner dashboard

Installation

  1. Install the Conferbot app on your store. The OAuth flow (with HMAC and CSRF-state verification) exchanges the authorization code for an access token.
  2. The app registers a ScriptTag pointing at its per-shop loader, so the widget loads on every storefront page.
  3. You land on the app's settings page: paste your Chatbot ID, flip the switch, and save.

Running your own instance from source:

  1. Create an app in the Shopify Partner dashboard (Apps > Create app > public). Set the App URL to {APP_URL} and the redirect URL to {APP_URL}/auth/callback.
  2. Copy .env.example to .env and fill in the API key/secret. APP_URL must be a public HTTPS URL (use cloudflared/ngrok in development).
  3. npm install && npm start
  4. Install on a dev store: open {APP_URL}/auth?shop=your-dev-store.myshopify.com, approve, paste a bot ID (or click the demo bot), save.

Configuration

The only merchant-facing setting is the Chatbot ID. Paste the bare 24-character hex ID, the full embed snippet, or a dashboard URL - the ID is extracted automatically. A one-click demo bot (691c970890527a0468f9b2c9) lets the widget work before signing up.

💡

The app itself is free

The Conferbot subscription is the product - the Shopify app carries no charge of its own.

What the app passes to the widget

  • customData - platform: "shopify", the shop domain, and the store currency.
  • user - the logged-in customer, when available.

Troubleshooting

💡

Widget blank after install?

Confirm the bot is published in the dashboard, the widget is enabled on the app settings page, and the Chatbot ID is the 24-character hex value. The loader is a no-op until the app is configured. The demo bot 691c970890527a0468f9b2c9 isolates setup problems from bot configuration.

Source

Open source (MIT) on GitHub: Conferbot/conferbot-shopify. 28 tests via the built-in node:test runner, including a real-browser e2e that mounts the CDN widget on a mock storefront.