Skip to main content
This page describes what visitors see and can do in the embedded chat.

Streaming responses

Responses stream in real time. Visitors see the answer appear progressively as the agent generates it, with a status indicator while the agent works. Auto-scroll keeps up with new content; if the visitor scrolls up to review earlier messages, auto-scroll pauses so they are not interrupted.

Markdown rendering

Agent responses render as formatted Markdown:
  • Headings, bold, italic, and inline code
  • Ordered and unordered lists
  • Links, which open in new tabs
  • Blockquotes and horizontal rules
  • Fenced code blocks with syntax highlighting and a copy button

Tool usage visibility

When the agent uses tools, the widget shows status pills with the tool name, a progress indicator while it runs, and its completion status. Visitors can see what the agent is doing rather than waiting on a blank screen.

Citations

When the agent cites source documents, the widget displays them as clickable references showing which document the information came from.

Inline images

If a response includes images, such as diagrams from indexed documents, the widget renders them inline. Visitors can click an image to view it at full size.

Welcome message

The chat window can open with a configurable greeting. Set the welcome message in the agent’s Chatbot settings. Leave it blank for no greeting. See configuration.

Conversation continuity

The SPA stores the session token in localStorage under a per-key prefix, so a visitor who navigates away and returns picks up where they left off. Sessions last 24 hours. If localStorage is unavailable (sandboxed iframe, private browsing), the widget still works but the chat resets between page loads.

Window controls

Visitors can expand the chat window, collapse it back, and close it to the bubble. Each response has a copy button. An unread count badge appears on the bubble when the agent sends a message while the chat is closed.

Mobile fullscreen mode

On small screens the widget switches to an edge-to-edge layout so the full viewport is available for the chat.

Error handling

If the connection drops or an error occurs mid-stream, the widget shows a clear error message, lets the visitor retry, and preserves the prior chat history.

Programmatic control

Your page can open or close the chat from its own buttons or links using window.CircuitChat.open() and window.CircuitChat.close(). See the JS API reference for details.