Skip to content

Chat Interface

SquadOS presents messages in four contexts. They share bubble-based reading, but their identities, controls, and permissions differ.

ContextEntryWho uses itWriting
Hub/hubAuthenticated member with Hub accessInternal conversation with an AI agent.
Public page/a/<inbox-slug>Visitor without loginConversation through the public inbox.
Widget/embed/<inbox-slug> inside a websiteVisitor without loginConversation through the widget inbox.
Admin handling/admin/conversationsMember with Conversations accessHuman reply or internal note on an external channel.

There is also the read-only /share-chat/<conversation-id> page, generated from a Hub conversation menu. See the known limitation under Shared conversation.

Open the Hub through /hub; do not use /hub/chat as an entry point. The organization may be on the collaborative Hub or the compatibility experience, but individual agent conversations use the same history and composer.

In the collaborative Hub, the rail separates Rooms, Agents, Direct, Meetings, and the admin panel according to your permissions. In Agents:

  • New conversation opens a draft; the conversation is only created when you send the first message;
  • the column groups conversations under Pinned, Today, This week, and Earlier;
  • each item shows its title, agent, latest-message preview, and relative time;
  • the item menu offers Rename, Share, Export, Pin to top or Unpin, and Delete;
  • the Hub-wide search opens from the column field or with Ctrl+K and reaches rooms, agents, and sessions.

There are no conversation folders. Use Pin to top to keep a conversation visible at the top.

Your messages appear on one side and received messages on the other. In admin handling, the perspective is reversed: the customer is on the received side, while an agent or attendant represents the organization.

Each bubble can show its author, time, attachments, and Markdown content. In the Hub and admin handling, Message details lets you copy the text and inspect available data such as agent, requested model, provider, tokens, tools, and sent time. Cost and credits only appear to users allowed to view financial data.

When the agent works with tools, its path appears in the Hub and admin handling:

  • while it runs, Thinking… or Working… shows progress and elapsed time;
  • after the answer, the summary shows the number of steps and, when available, their duration;
  • the path starts open and can be collapsed with Hide the path;
  • Show details exposes the technical input and result for each step.

The public page and widget hide each message’s steps and technical details — including model and credits — from visitors.

Agent handoffs appear as a separate indicator. Generated images render in the conversation and can be enlarged or downloaded.

In the Hub, the composer uses the Type your message… field. You can:

  • send with Enter and use Shift+Enter for a line break;
  • choose an agent; No agent may also be available in a new conversation;
  • change the model only when your role or team allows it;
  • switch to image generation when your account can generate images;
  • attach through the paperclip, paste with Ctrl+V, or drag files into the composer;
  • record audio when the agent accepts audio.

Selecting an agent does not make every model available. When you choose an agent, the composer returns to its configured model; the model selector only appears to authorized users.

Each message accepts up to five attachments. JPEG, PNG, GIF, WebP, PDF, TXT, Markdown, CSV, Word, and Excel are accepted; video is not.

  • The final file must be no larger than 4 MB.
  • Recompressible images may enter at up to 10 MB.
  • PDFs may enter at up to 25 MB and are compressed before upload.
  • GIFs and other documents do not receive that allowance and must be no larger than 4 MB.

The product reports when it is compressing, uploading, or rejecting a file. See also Audio and Transcription.

The public page and widget are resolved from the inbox, not directly from an agent:

  • an inbox with an agent shows the agent identity and sends the turn to AI;
  • a human-handling inbox shows the organization identity and states that a person will reply;
  • a business-hours rule may also route the turn to human handling and display that notice.

The public page has a control to start another conversation after the current conversation exists and its response has finished. The widget uses the inbox name and logo, may show a welcome message, respects its configured color and position, and has a close button.

Visitors do not see an audio recorder. The attachment paperclip appears only when Allow attachments is enabled on the inbox; that setting does not enable video.

At /admin/conversations, the selected conversation uses the same message format and adds operational controls. Reply sends to the customer through the original channel; Internal note remains within the team.

Replying depends on permission, conversation state, AI being disabled, and, on WhatsApp, the 24-hour window or an approved template. The header provides claim, transfer, snooze, complete, reopen, and archive actions according to state and authorization. See Managing Conversations and Human Intervention.

A Hub conversation menu contains Share and generates a read-only page with the title, agent, and messages. The page has no composer and does not expose the agent path.

Known limitation: the product generates the link, but anonymous reading is blocked by the current access rules, and the generated token is used by neither the URL nor the query. An external recipient may see This conversation is not available. Do not rely on this link as external evidence until product access is fixed; prefer a reviewed and authorized export.

  • An older conversation is missing? Clear the search; it matches the title or agent name. Conversations belonging to archived agents do not appear in the list.
  • The model is missing? The selector depends on your role or team’s permission. The agent still uses its configured model.
  • An attachment was rejected? Check its type, count, and final size. Shrink the file or send only the PDF pages you need.
  • The answer stopped? Wait for the connection or timeout notice. If the product reports an interruption, send the message again; do not assume a tool finished without checking the persisted path.
  • Need to continue without AI? In admin handling, claim the conversation or disable AI according to your permission.