BigCommerce App

The Conferbot BigCommerce app installs the AI chat widget on a BigCommerce storefront. It is a Node.js app with an OAuth install callback, signed-payload load/uninstall callbacks, and a storefront Script (Scripts API v3) that serves a per-store widget loader.

See it in action

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

How it works

Install and runtime flow
merchant installs from the marketplace
  -> BigCommerce calls GET /auth?code&scope&context
  -> code exchanged at login.bigcommerce.com/oauth2/token
  -> Script registered: src = {APP_URL}/script.js?store={hash}
     (auto_uninstall: true, async, all_pages)
  -> merchant lands on /app (settings: paste bot ID, flip switch)

merchant opens the app later     -> GET /load?signed_payload_jwt   (HS256-verified)
merchant uninstalls              -> GET /uninstall?signed_payload_jwt (record removed)

every storefront page load
  -> BigCommerce injects the Script
  -> loader boots window.ConferbotWidget(botId, embedType,
       { customData: { platform: "bigcommerce", storeHash }, user? })

The loader boots the standard Conferbot web widget - widget appearance and behavior stay dashboard-driven.

Requirements

  • A BigCommerce store
  • 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 app credentials from the BigCommerce Developer Portal (the Content: modify scope for the Scripts API)

Installation

  1. Install the Conferbot app from the store control panel. BigCommerce calls the app's auth callback and the code is exchanged for a token.
  2. The app registers a storefront Script (async, all pages, auto_uninstall: true) that loads the per-store widget loader.
  3. On the app settings page, paste your Chatbot ID, flip the switch, and save.

Running your own instance from source:

  1. Create a draft app in the BigCommerce Developer Portal: set the Auth callback to {APP_URL}/auth, Load callback to {APP_URL}/load, Uninstall callback to {APP_URL}/uninstall, and request the Content: modify scope.
  2. Copy .env.example to .env with the client ID/secret. APP_URL must be public HTTPS.
  3. npm install && npm start, then install the draft app on your sandbox store from the dev portal.

Configuration

The only merchant-facing setting is the Chatbot ID - paste the bare ID, the full embed snippet, or a dashboard URL and it is extracted automatically. A one-click demo bot (691c970890527a0468f9b2c9) works without a Conferbot account.

What the app passes to the widget

  • customData - platform: "bigcommerce" and the store hash.
  • user - the logged-in customer, when available.

Uninstall

Uninstalling triggers the app's signed uninstall callback, which removes the store record. The storefront Script is registered with auto_uninstall: true, so BigCommerce removes it automatically - no leftover script on the storefront.

Troubleshooting

💡

Widget blank after install?

Confirm the bot is published, 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-bigcommerce. 12 tests cover signed-payload JWT verification, install token exchange, Script registration idempotency, uninstall cleanup, and a real-browser widget mount.