Aller au contenu
Busymate AI

Ce guide est actuellement en anglais.

Guides

Ajouter Busymate AI à WordPress, Wix, Ghost et plus

Installez le plugin WordPress ou collez le code d'intégration dans Ghost, Webflow, Wix, Squarespace ou BigCommerce, apprenez-lui vos contenus et reconnaissez les visiteurs connectés.

Sur cette page

Busymate AI reaches a site builder one of two ways. WordPress gets a real, installable plugin; Ghost, Webflow, Wix, Squarespace and BigCommerce use the universal embed, one script tag, placed through whichever injection point the builder supports. Pick your builder in step 1 for its install step, then use the shared sections for knowledge, signed-in visitors and troubleshooting. For a short overview of the script-tag route on WordPress, Wix and Squarespace, see Add Busymate AI to WordPress, Wix or Squarespace. Shopify and WooCommerce have their own guides: Shopify and WooCommerce.

Before you start

  • Admin or editor access to your site on the builder you use.
  • Your workspace open in the Console, where your connection settings show the embed tag with your workspace's own address.
  • For the builders that use the embed tag (everything except the WordPress plugin), this is the tag to paste:
html
<script src="https://your-assistant.busymate.ai/embed/v1.js" data-assistant="your-assistant" data-label="Ask us" async></script>

1. Install on your builder

Pick your builder, follow its install step and skip the rest.

WordPress

The plugin loads the floating widget on every front-end page and signs a short-lived proof of who is logged in, so a returning signed-in visitor never has to sign in twice. It needs a self-hosted WordPress site (wordpress.org) and an admin account. The widget works on any PHP build; signed-in visitor recognition additionally needs the OpenSSL PHP extension (ES256). Without it the widget still loads, and the settings screen names exactly what your host is missing.

Install. Every workspace's plugin is generated for that workspace; your workspace id and the embed origin are baked in at download time, so there is nothing to type into it.

  1. In your Console, open your connection settings and choose Download WordPress plugin.
  2. In wp-admin, open Plugins → Add New → Upload Plugin, upload the zip and activate it.
  3. Activation generates the site's own ES256 signing key. Its settings screen shows the values a signed-in-visitor identity provider needs (issuer, JWKS URL, the launch endpoint) and a Test identity button that proves the signing endpoint answers.

The plugin's own copy, look and available tools all come from Busymate AI at chat time, so updating any of that never means updating the plugin. See the live example at wordpress.demo.busymate.ai (Larkspur Studio).

Put the chat where you want it. Out of the box the plugin adds the floating widget to every page. To put a button inside a specific page (a contact page, a pricing page) that opens the same assistant, optionally with a starting question, use the Busymate AI trigger block in the block editor, or the shortcode anywhere shortcodes work, for example [bmai_assistant label="Ask about sizing" prompt="What sizes do you have?"]. Both ship in the plugin you downloaded: no separate install, no iframe to hand-place. Always give the button a prompt. Without one the chat opens on an empty composer; with one, the question is sent for the visitor exactly as if they had typed it.

If the open chat covers your page. On a theme that runs edge to edge, the open chat panel sits on top of your content on a wide screen. Under Settings → Busymate AI → Widget → On wide screens, switch from Float the chat over the page to Make room for the chat beside the page: your pages shift left only while the chat is open, and only above 1100 pixels. Phones and tablets never move. If your theme styles padding on the <html> element itself, move that to a wrapper first, because in this mode the widget owns it. The reserved width is also published on <html> for anything the padding cannot reach; see the widget page API.

Agent-ready out of the box. The plugin makes your site readable and operable by AI agents and answer engines, with nothing to configure:

  • /llms.txt: a short index of your site (name, key pages, latest content, contact) that an assistant reads before answering about you.
  • /agents.json: the capability card an agent looks for first: your content index, your workspace's MCP interface once you connect one, and a human contact.
  • Markdown on request, on the same page: request a published page or post with Accept: text/markdown and get that page back as clean Markdown with a small frontmatter. Visitors and search engines keep seeing HTML.
  • Structured data and discovery headers: JSON-LD on every page, and Link: headers pointing at /llms.txt and /agents.json.
  • Your WordPress abilities as browser tools: on WordPress 6.9+ with the core Abilities API, a signed-in visitor's own abilities join the same WebMCP tool surface the plugin's page tools use.

Each is generated from your published content and connected workspace, and updates the moment you save a post. See wordpress.demo.busymate.ai/llms.txt and /agents.json.

Ghost

Ghost has no plugin runtime, so the embed goes in through Ghost's own Settings → Code injection panel. The same tag gives you the floating widget everywhere and, optionally, an inline placement on any page or post. You need a Ghost site (self-hosted or Ghost(Pro); Code injection is on every plan) with admin access to Settings, and Ghost's Members feature turned on if you want identified sign-in (it ships with every Ghost install).

Install.

  1. In Ghost admin, open Settings → Code injection.
  2. In Site Header, paste the embed tag.
  3. Save. The floating widget now appears on every page and post.

Inline on a page. For a placement on a specific page (an About or Contact page), add an HTML card in Ghost's editor with the same frame the widget opens, placed in the page flow instead of a corner button:

html
<iframe src="https://your-assistant.busymate.ai/?channel=embed" title="Ask us" loading="lazy" style="width:100%;height:640px;border:0;border-radius:16px"></iframe>

The live example at ghost.demo.busymate.ai (The Meridian Line) shows both placements at once: the floating widget, and an inline card on its About page.

Webflow

Webflow takes the universal embed script on any plan, plus a Designer Extension that adds the same embed natively (build and stage today). You need a Webflow site you can publish.

Install with Custom Code. Custom Code injection (Site Settings → Custom Code, or the per-page equivalent) is a paid-plan feature; Webflow's free Starter plan does not expose it. If your plan has it, copy the embed tag from your connection settings, open Site Settings → Custom Code, paste it into Footer code, save and Publish.

On the Starter plan. Add a single Embed element to your page from the Designer's Add panel, paste the same script tag into it, and publish.

Native path: the Designer Extension. An extension can insert the embed as an HtmlEmbed directly from a panel inside the Designer, with nothing to copy-paste. It is distinct from the universal embed: it runs under your own Webflow session, using the Designer's own Extensions API, and works the same way whether or not Custom Code is available on your plan.

Wix

The released Wix connection uses Settings → Custom Code on a Wix Premium site with a connected domain. A site-widget app has been demonstrated on a free Wix site, but that demonstration is not a public installation path. For free-site app access, contact us. You need a published Wix Premium site with a connected domain and the one script tag from your connection settings.

Install.

  1. Go to Settings → Custom Code in your Wix dashboard.

  2. Add Code Snippet, and paste:

    html
    <script src="https://busymate.ai/embed/v1.js" data-assistant="<your-workspace-slug>" data-label="Ask us" async></script>
  3. Set it to load on All pages, placement Body — end. Save, then Publish.

  4. Open the published page (not the Editor preview) in a private window and confirm the chat bubble appears.

On a free Wix site, do not assume a public app installation is available because the demo works; contact us instead. The loader is async and the widget mounts after the page settles, so give a published page a second before deciding it isn't there.

Squarespace

Squarespace has no plugin runtime, so the embed goes in as one script tag placed via a Code Block or Embed Block inside a page. Squarespace's own Code Injection (a site-wide header and footer script) is a paid-plan feature: it is greyed out behind an upgrade prompt on the free trial and on the entry Personal plan. If you are not sure which plan you are on, start with the block-based path.

Know your setup first:

  • Business plan or higher unlocks Code Injection (Settings → Advanced → Code Injection). Below that, a Code Block or Embed Block on each page is the free-tier path.
  • Your Site Availability (Settings → Website → Site Availability) must be Public for the embed to render for visitors; a Password Protected or Private site keeps the whole page, embed included, behind a gate. On a 14-day trial, "Public" is itself paid-plan-gated ("Upgrade to publish"). Everything else works without publishing; a real visitor reaching the widget does not.

If your plan has Code Injection (Business or higher).

  1. Open Settings → Advanced → Code Injection.
  2. Paste the tag into Header.
  3. Save. The floating widget now appears on every page.

On a plan without Code Injection.

  1. Open the page you want the widget on (repeat this on every page) in the Squarespace editor.
  2. Add a Code Block (or an Embed Block, which wraps the same idea) and paste the same script tag.
  3. Save and publish the page; a block's script only runs on the published site, not in the editor preview.

Page actions. A second small script can register the page's own actions through the WebMCP surface, so the assistant can act instead of only answering. That is covered by Add page actions with WebMCP.

Connect Commerce data (products, orders, inventory). For a store or class-booking site, Busymate AI can answer from your real Commerce data, not just crawled page text, through a Squarespace Developer API key. Unlike Code Injection and Site Availability, minting this key is not plan-gated: it works on the trial.

  1. Open Settings → Advanced → Developer Tools → Developer API Keys.
  2. Generate Key, name it, and check the read scopes you need: typically Products, Inventory, Orders, Transactions and Profiles (each shows a "Premium Feature" banner when checked, but generation still succeeds on a trial). Read Only is enough; the assistant never needs Read and Write.
  3. Copy the key immediately, because Squarespace shows it exactly once, and store it via Console → Connections or the create_app_secret MCP tool so it lands encrypted in the Vault, never in a chat log or file.
  4. Know two endpoint quirks before you wire a connector. GET /1.0/commerce/products covers only Physical, Digital and Gift Card products, so a class or appointment Service product returns an empty list there; GET /1.0/commerce/inventory does list Service products, so it is the read path for a services business. GET /1.0/commerce/orders and GET /1.0/profiles stay empty until your site has real orders and customers.

BigCommerce

BigCommerce is a hosted platform, like Shopify: there is no self-hosted plugin. The embed goes in through Storefront → Script Manager, the store's own supported way to inject a script with no theme edit, and a native single-click app is the one-step alternative. You need a BigCommerce store with admin access to Settings, plus a Store-level API account (Settings → API accounts) if you want the native app path or a connector reading your own catalogue and orders.

Install with Script Manager.

  1. In the BigCommerce control panel, open Storefront → Script Manager.
  2. Create a script and paste the embed tag.
  3. Set it to load on the storefront, footer placement. The floating widget now appears on every storefront page.

The same script can also be created through the Admin API's Content Scripts resource (POST /v3/content/scripts) if you are scripting the install. There is no hosted BigCommerce demo store to open yet: a trial store cannot be launched to the public without a plan. The catalogue read and the order lookup work the same way on your own store once the loader is in place.

Or install the native app (single-click). A BigCommerce app, registered on the developer portal, can install the same loader through the Scripts API on install, and add a "Chat with your mate" widget through the Widgets API in Page Builder. This is the same OAuth single-click pattern every BigCommerce app uses; see Connect an MCP server for the credential shape once installed. The script is enough on its own; the app is an alternative that installs the same loader for you.

Teach it your catalogue. Connect an MCP server reading your store's own Admin API v3 (products, categories) and orders; see Connect an MCP server. A store-level API account with Products and Orders read scope is all it needs, and it never needs write access. Nothing is hardcoded: every answer reflects your live stock and prices.

2. Teach it your content

On every builder, point a website source at your own site URL. It is the same crawler every connection uses, reading your published pages (posts too, on Ghost and WordPress) and citing back to the page an answer came from. Knowledge changes go live when you publish them: add the source, let it read the site, then publish in the Console. A website source re-crawls on its own schedule, so after publishing a new page or post, re-index it manually from the Knowledge base page. You can also paste in your own pages and policies instead.

3. Recognize signed-in visitors

Register your own site (or a small backend you control) as an identity provider, and see Recognize signed-in customers for the exact fields (issuer, JWKS URL, the launch endpoint) and how to verify the wiring end to end before trusting it with real customer data. Builders that have no server-side plugin hand the identity over from the browser: define window.BusymateAI.getIdentity before the embed <script> tag, because the embed captures it once at load. What differs is where the signed-in user comes from:

  • WordPress: nothing to define. The plugin signs the WordPress user id into its proof, so a signed-in visitor is recognized once you register the plugin's values (shown on its settings screen) as an identity provider.
  • Ghost: Ghost's native Members feature is the identity layer. Define getIdentity in Code injection above the embed tag.
  • Webflow: Webflow Memberships (paid plans) can carry your own sign-in; on plans without it, register the demo-signin pattern instead.
  • Wix: the Members Area is client-side (Velo's wix-members API), so bridge identity from your site's own code: define getIdentity inside a Velo page or site code file, reading the signed-in member from wix-members client-side, before the embed script runs.
  • Squarespace: the native Member Areas feature (Business and Commerce plans) is the identity layer. Without Member Areas, register a small backend of your own as the identity provider for a fixed set of accounts.
  • BigCommerce: the Customer Login API identifies who is shopping. Define getIdentity in your Script Manager script above the embed tag, and a signed-in shopper can ask "where's my order" and get a real answer scoped to their own account, while a signed-out visitor is asked to sign in.

Manage from any MCP client

Every step above is available from any MCP client on your own account; script install, connector registration and knowledge sources can all be driven from there instead of the Console UI. Run:

bash
claude mcp add --transport http busymate-ai https://busymate.ai/mcp

Troubleshooting

  • The widget never appears. Check the browser console for a blocked or 404'd request to /embed/v1.js. On WordPress, a caching plugin that strips query-string-free <script> tags can remove it. On Ghost, confirm the Code injection snippet saved (Ghost silently drops an edit left mid-save on some themes). On Squarespace, check Site Availability first, since Password Protected and Private sites gate the whole page.
  • A pasted script tag never appears on a free Wix site. Expected, and not fixable from your side: a free site reports shouldLoadAllExternalScripts: false in its page source and never fetches the loader. Check with performance.getEntriesByType('resource').filter(r => r.name.includes('busymate.ai')) on the published page; it is empty however the tag was added. Use Custom Code on Premium, or contact us for free-site app access.
  • It works in the Wix Editor preview but not on the published page. Always verify on the actual published URL; the Editor's preview runtime can differ from what a real visitor's browser does with a lazy-loaded element.
  • The WordPress settings screen warns about openssl. The site's PHP build is missing the OpenSSL extension with EC (prime256v1) support; ask your host to enable it. The widget itself still works; only signed-in visitor recognition is unavailable until then.
  • A signed-in visitor is still treated as a guest. On WordPress, open Test identity on the plugin's settings screen; if it fails, the identity provider fields registered in the Console don't match what the plugin's screen shows. On the other builders, getIdentity must be defined and resolved before the embed script tag runs; test it with window.BusymateAI.getIdentity() in the browser console.
  • Webflow's Custom Code section is greyed out or missing. Your plan doesn't include it; use the Embed-element path or the Designer Extension.
  • The Squarespace Code Injection panel is greyed out. That's a plan ceiling, not a bug: use the block-based placement on each page instead, or upgrade the plan.
  • The chat answers generically instead of citing your page, or feels stale. Knowledge needs to be added and published; adding a source alone doesn't change live answers until you publish. Then re-index the source after a new post.

Verify

  1. Open your published site in a private window: the floating widget appears and answers from your own pages, with citations. On BigCommerce, ask about a product; the answer uses your live price and stock.
  2. If you wired identity, sign in as a real user (a WordPress user, Ghost member, Wix Member or store customer) and ask something only a signed-in visitor should see; the reply recognizes that visitor.
  3. Ask it to hand off to a person: the conversation reaches your Inbox.

Next steps

Questions

Do I need the WordPress plugin, or can I just use the script tag?

The script tag works everywhere, WordPress included. The plugin adds one thing the script tag can't: a signed proof of who is logged in, so a returning customer doesn't have to identify themselves twice. It works without WooCommerce too; WooCommerce only changes which admin capability guards the settings screen. Inline on a page, use the Busymate AI trigger block or the [bmai_assistant] shortcode.

Is there a Ghost plugin, and can the chat sit inline on a page?

Ghost doesn't support installable plugins the way WordPress does. Code injection, built into every Ghost site, is the supported path, and it's one paste, not a build step. For an inline placement, use one HTML card containing an <iframe> pointed at your workspace's chat on the embed channel.

Do I need a paid plan on Webflow or Wix?

On Webflow, no: Starter has no Custom Code, so place the tag in an Embed element on the page, or let the Designer Extension add it for you (it does not need a paid plan either). On Wix, yes, for the released Custom Code connection (Premium); for site-widget app access on a free site, contact us, because the working demo does not establish general availability.

What should I know about Squarespace plans and Commerce data?

Squarespace reserves site-wide Code Injection for the Business plan and above; below that, a Code Block or Embed Block inside each page runs its script once the page is published, with no upgrade. The embed does not work on a Password Protected or Private site, because Site Availability gates the whole page, so the widget renders only once the site is Public, which a trial cannot select. There is no native Squarespace app today, only the universal embed; a registered Squarespace Extension is on the roadmap. Reading your Commerce data needs no paid plan: a Developer API key works on the trial, even though the generator shows a "Premium Feature" banner for Commerce scopes.

Can a BigCommerce shopper see someone else's order?

No. Order answers are scoped to the customer your Customer Login identity proof names, and a visitor who is not signed in gets no order data.