August 2026
New features
Human take-over and closed conversations
Human take-over and closed conversations
409 CONVERSATION_CLOSED, and only your
team can reopen it. Both rules hold across the widget, all channel
integrations, and the v0 and v2 APIs.Sign in with AgentID — accounts for AI agents
Sign in with AgentID — accounts for AI agents
https://sitegpt.ai/auth/agentid, approves the request by signing a
challenge with its registered key, and lands in the dashboard as a
normal account under its verified @agentmail.to address — the same
account a person would get, with the same API tokens, chatbots, and
billing. The login page offers the flow, and agents discover it
programmatically through the agent_auth.identity_assertion block in
the OAuth discovery
metadata
and auth.md. See
use SiteGPT with AI agents.Agent-mode views: ?mode=agent
Agent-mode views: ?mode=agent
?mode=agent convention: request
any sitegpt.ai marketing page with ?mode=agent as the only query
parameter and it redirects to the page’s markdown twin — the same
machine view the .md suffix serves. Pages whose content depends on
other query parameters keep serving HTML so agents never receive a
default-variant markdown page labeled as something else.MCP server: 17 tools and inline app views
MCP server: 17 tools and inline app views
search, execute_read, and execute_write —
which still reach the whole API — purpose-built tools now cover chatting
with a chatbot, onboarding status, widget appearance (read and update),
conversation inboxes and transcripts, analytics, leads, waiting
escalations, and knowledge sources (list, connect, authorize, and file
upload). On AI apps that support MCP Apps, these tools render as eight
live views directly in the conversation — the actual chat widget, an
analytics card, a leads browser, and more — and the same views ship in
the OpenAI Apps format for hosts that use that dialect. Anonymous
clients can complete the handshake and list every tool before
authorizing; every tool call still requires the OAuth grant. See
what the tools cover.Markdown twins on every page — and a docs MCP server
Markdown twins on every page — and a docs MCP server
.md to the URL (https://sitegpt.ai/pricing.md; the homepage
is /index.md), or request the page with Accept: text/markdown —
docs pages included. llms.txt states the
convention and links the machine-readable entry points, and a dedicated
docs MCP server at https://sitegpt.ai/docs/mcp gives agents search
over this documentation with no authentication. See
machine-readable surfaces for agents.Engagement analytics through the API — widget opens included
Engagement analytics through the API — widget opens included
GET /api/v2/chatbots/{chatbotId}/analytics returns widget
opens, messages, conversations started, unique visitors, escalations,
leads, and unanswered turns per UTC day, with totals and a
prior-period comparison (default: the trailing 30 days). The same
surface ships everywhere at once: chatbots.analytics in the
TypeScript and
Python SDKs, Chatbots.Analytics in
Go, sitegpt analytics in the CLI, the
getChatbotAnalytics action in the
Convex component,
and engagement totals on the MCP analytics card. The account needs
analytics enabled (the API answers 403 ANALYTICS_LOCKED otherwise),
and insight-derived counters appear only when insights is on. See
reading analytics through the API.Official API SDKs: TypeScript, Python, and Go
Official API SDKs: TypeScript, Python, and Go
@sitegpt/sdk on npm
(typed end to end from the live OpenAPI document),
sitegpt on PyPI (standard library only,
Python 3.9+), and
github.com/sitegpt/sitegpt-go (zero
dependencies). All three share the same shape: convenience namespaces
over chatbots, knowledge, conversations, leads, messages, and
onboarding; structured errors carrying the API’s code, message, and
hint; confirm-guarded deletes; a generic request escape hatch for
every other endpoint; and the public no-token onboarding bootstrap.
Releases publish from CI through npm, PyPI, and Go module trusted
publishing.SiteGPT answers other agents over A2A
SiteGPT answers other agents over A2A
https://sitegpt.ai/.well-known/agent-card.json declares the SiteGPT
Support Agent, and a JSON-RPC message/send endpoint at
https://sitegpt.ai/a2a answers questions about SiteGPT — features,
pricing, setup, APIs — from the same knowledge base as the sitegpt.ai
support chatbot. No authentication required, and the reply’s
contextId continues the conversation. See the
A2A agent guide.MCP registry listings and a local launcher
MCP registry listings and a local launcher
io.github.sitegpt/sitegpt (the account server at
https://sitegpt.ai/mcp) and io.github.sitegpt/sitegpt-docs (the
docs server at https://sitegpt.ai/docs/mcp). For clients that prefer
a local stdio server, npx -y @sitegpt/mcp launches the same
implementation through the CLI. See
where to find the server.An API built for agents — honest errors, public health check, open MCP handshake
An API built for agents — honest errors, public health check, open MCP handshake
GET /api/v2/health confirms reachability with no token, and MCP clients can complete the initialize handshake and list tools before authorizing (every tool call still requires the OAuth grant). The OpenAPI document now types every response, documents every parameter, and reports the real success statuses. See Getting started.Per-page conversation starters — the right prompt on the right page
Per-page conversation starters — the right prompt on the right page
/pricing or /docs/* (the same grammar as
Excluded Pages) and the starter appears only when the visitor is on
a matching page — “What’s included in the Pro plan?” on pricing,
“How do I install the widget?” across the docs. Starters with the
field empty keep showing everywhere, and channels without a page
(Slack, WhatsApp, Messenger, Crisp) always show every starter. Also
in the CLI (--page, --clear-pages) and API v2 (a paths array
on each starter). See
showing a starter only on certain pages.Excluded Pages — keep the chat off specific pages
Excluded Pages — keep the chat off specific pages
/pricing for that page, /checkout/* for a whole section. It
follows along in single-page apps, never loses the conversation,
and leaves inline embeds and custom (hideBubble) launchers
untouched. See
hiding the widget on specific pages.Timestamps in your chatbot's language
Timestamps in your chatbot's language
locale
(endpoint reference).
See
Language & Region.Long answers start at the top
Long answers start at the top
Allowed Domains — restrict where your chatbot can be embedded
Allowed Domains — restrict where your chatbot can be embedded
Automatic plan entitlements
Automatic plan entitlements
Analytics in every plan tier
Analytics in every plan tier
Brand kit
Brand kit
Improvements
- Clear trial terms on the pricing page: every self-serve plan now states its trial exactly — a 7-day free trial, credit card required, cancel anytime before it ends — and the yearly-billing toggle says “Save up to 40%”, matching the real per-plan discounts.
- No cookie banner needed in the EU: visitors from the EEA and UK now get a fully storage-free analytics setup on sitegpt.ai — no analytics identifiers or tracking cookies are written to their device, so there is nothing to consent to. The chat widget you embed was already tracker-free and is unchanged.
- Leaner AI-assistant responses: replies served to AI assistants over MCP no longer carry internal identifiers or teammate email addresses. API responses are unchanged — tools and scripts still need those fields.
- Widget accessibility: fixes across the chat widget from a WCAG 2.1 AA audit — contrast, focus handling, and screen-reader semantics.
- Dashboard update banner: long-open dashboard tabs offer a one-click refresh when a new version ships, instead of running stale.
- Auto-sync jobs go live: the sync-jobs list updates in real time with accurate loading states.
- Ingestion resilience: transient quota-check hiccups no longer fail documents during training.
Bug fixes
- Resolved conversations leave the Attention view: marking a conversation resolved now removes it from Chat History’s Attention view whatever its flags — so triage shows exactly what still needs a human. Later in August, resolving became a hard close: see the Human take-over and closed conversations entry above. See chat history.
- Connecting messaging integrations works again: a provisioning bug broke new Messenger, Google Chat, Zoho, and Freshdesk connections for about three weeks in July and August; connecting them works again. Existing connections were unaffected.
- iPhone app reply delivery (update 1.0.1): replies sent from the iOS app were failing with a connection error after a backend migration. Delivery was restored server-side for the app version already on phones, and the 1.0.1 update completes the fix — it also renders lead-capture and human-handoff system messages in conversations and shows an error with retry when lists fail to load.