Guides
Add your mate to a Squarespace site
Add the embed with a Code or Embed Block, let it learn your pages, recognize signed-in members, and add page actions with WebMCP.
On this page
Squarespace has no plugin runtime, so AI Assistant reaches a Squarespace site through the universal embed — one script tag placed via a Code Block or Embed Block inside a page. Squarespace's own Code Injection (a site-wide header/footer script, the simplest path on WordPress/Ghost/BigCommerce) is a paid-plan feature on Squarespace — it is greyed out behind an upgrade prompt on the free trial and on the entry Personal plan, so start with the block-based path below if you're not sure which plan you're on.
Before you start
- A Squarespace site with editor access.
- Know your plan: 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's 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 below works without publishing; a real visitor reaching the widget does not.
- Your workspace open in the Console.
1. Add the embed
The tag to paste is the one your Console connection settings show, with your workspace's own address:
<script src="https://your-assistant.busymate.ai/embed/v1.js" data-assistant="your-assistant" data-label="Ask us" async></script>If your plan has Code Injection (Business or higher):
- Open Settings → Advanced → Code Injection.
- Paste the tag into Header.
- Save. The floating widget now appears on every page — nothing else to configure for that part.
On a plan without Code Injection:
- Open the page you want the widget on (or repeat this on every page) in the Squarespace editor.
- Add a Code Block (or an Embed Block, which wraps the same idea) and paste the same script tag.
- Save and publish the page — a block's script only runs on the published site, not in the editor preview.
Either way, the widget needs your site to be Public to render for a real visitor — see "Before you start" above.
2. Register the page's own actions (WebMCP)
Alongside the embed script, a second small script can register the page's own actions — "view the class schedule," "book a session" — through the standard document.modelContext WebMCP surface, so the assistant can act instead of only answering. Drop it in that same block (or Code Injection panel), right after the embed script tag. See Add page actions with WebMCP for the shape.
3. Teach it your content
Point a website source at your own Squarespace site URL — the same crawler every connection uses, reading your published pages and citing back to the page an answer came from.
4. Recognize signed-in customers
Squarespace's native Member Areas feature (on Business/Commerce plans) is the identified-visitor layer: register your own site (or a small backend you control) as an identity provider — see Recognize signed-in customers for the exact fields (issuer, JWKS URL, the launch endpoint) — then define window.BusymateAI.getIdentity before the embed <script> tag (the embed captures it once at load) so a signed-in customer is recognized without asking twice. Without Member Areas, register a small backend of your own as the identity provider for a fixed set of accounts instead.
5. Connect Commerce data (products, orders, inventory)
For a store or class-booking site, AI Assistant 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 14-day trial.
- Open Settings → Advanced → Developer Tools → Developer API Keys.
- 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 for the assistant to answer from your data; it never needs Read and Write.
- Copy the key immediately — Squarespace shows it exactly once — and store it via Console → Connections or the
create_app_secretMCP tool so it lands encrypted in the Vault, never in a chat log or file. - Two endpoint quirks before you wire a connector:
GET /1.0/commerce/productscovers only Physical/Digital/Gift Card products, so a class or appointment Service product returns an empty list there.GET /1.0/commerce/inventorydoes list Service products, so it is the read path for a services business.GET /1.0/commerce/ordersandGET /1.0/profilesstay empty until your site has real orders and customers.
Manage from any MCP client
Every step above is available from any MCP client on your own account:
claude mcp add --transport http busymate-ai https://busymate.ai/mcpTroubleshooting
- The widget never appears — check Site Availability first (Password Protected/Private sites gate the whole page); then check the browser console for a blocked or 404'd request to
/embed/v1.js. - The Code Injection panel is greyed out — that's a plan ceiling, not a bug: fall back to the block-based placement from step 1 on each page instead, or upgrade the plan.
- A signed-in visitor is still treated as a guest —
getIdentitymust be defined before the embed script tag runs; check it withwindow.BusymateAI.getIdentity()in the browser console. - Knowledge answers feel stale — a website source re-crawls on its own schedule; re-index it manually from the Knowledge base page after publishing a change.
Verify
- Open your published, Public site in a private window: the floating widget appears and answers from your own pages, with citations.
- If you wired identity, sign in and ask the assistant something only a signed-in visitor should see — the reply recognizes that visitor.
- Ask it to hand off to a person — the conversation reaches your Inbox.
Next
- Teach your assistant your own content — pages beside whatever else you connect.
- Add page actions with WebMCP — let the assistant act on the page, not just answer.
- Recognize signed-in customers — the proof your
getIdentitybridge hands off, registered as an identity provider. - Set up human handoff — staff the Inbox before visitors start asking to talk to someone.
Questions
Why is Code Injection greyed out on my Squarespace plan?
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.
Does the embed work on a Password Protected or Private site?
No. Site Availability gates the whole page, embed included, so the widget renders for visitors only once the site is Public, which a trial cannot select.
Is there a native Squarespace app, or only the script tag?
Only the universal embed today. A registered Squarespace Extension is on the roadmap for a deeper integration.
Do I need a paid plan to read my Commerce data?
No. A Developer API key works on the trial, even though the generator shows a "Premium Feature" banner for Commerce scopes. Publishing the site is the step that needs a paid plan.