Guides
Add your mate to a Ghost publication
Wire the embed through Ghost's own Code Injection, let it learn your posts and pages, register a member as your identified reader, and add an inline placement.
On this page
Ghost has no plugin runtime like WordPress, so AI Assistant reaches a Ghost publication through the universal embed — wired through Ghost's own Code Injection, not a script tag pasted somewhere ad hoc. The same snippet gives you the floating widget everywhere and, optionally, an inline placement on any page or post.
Before you start
- A Ghost site (self-hosted or Ghost(Pro)) with admin access to Settings.
- Ghost's Members feature turned on if you want identified sign-in — it ships with every Ghost install.
- Your workspace open in the Console.
1. Add the embed via Code Injection
-
In Ghost admin, open Settings → Code injection.
-
In Site Header, paste the one script tag from your Console connection settings:
html<script src="https://busymate.ai/embed/v1.js" data-assistant="<your-workspace-slug>" data-label="Ask us" async></script> -
Save. The floating widget now appears on every page and post — nothing else to configure for that part.
See the live example at ghost.demo.busymate.ai (The Meridian Line).
2. Put the chat inline on a page
Out of the box you get the floating widget. For an inline 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:
<iframe src="https://busymate.ai/support/<your-workspace-slug>?channel=embed" title="Ask us" loading="lazy" style="width:100%;height:640px;border:0;border-radius:16px"></iframe>The live demo shows both placements at once — the floating widget and an inline card on its About page.
3. Teach it your content
Point a website source at your own Ghost URL — the same crawler every connection uses, reading your published pages and posts and citing back to the page an answer came from.
4. Recognize signed-in members
Ghost's native Members feature 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 in Code Injection before the embed <script> tag (the embed captures it once at load) so a signed-in member is recognized without asking twice.
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 the browser console for a blocked or 404'd request to
/embed/v1.js; confirm the Code Injection snippet saved (Ghost silently drops an edit left mid-save on some themes). - A signed-in member 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 new post.
Verify
- Open your site in a private window: the floating widget appears and answers from your own posts and pages, with citations.
- Sign in as a Ghost member and ask the assistant something only a signed-in visitor should see (if you've wired identity) — 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 — posts and pages beside whatever else you connect.
- 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
Do I need Code Injection, or is there a Ghost plugin?
Ghost doesn't support installable plugins the way WordPress does — Code Injection (a feature built into every Ghost site) is the supported path, and it's one paste, not a build step.
Does this work on Ghost(Pro) or only self-hosted?
Both — Code Injection is available on every Ghost plan.
Can I put the chat inline on a page instead of a floating button?
Yes, with one HTML card containing an
<iframe>pointed at your workspace's/support/<slug>?channel=embedpage — see the live demo above.