Answer visitors, capture leads and call your own APIs with an agent you configure end to end, with provider fallbacks so chat stays up and a human takeover button for when it matters.
Knowledge is text you control. Paste FAQs, policies, pricing and product details into the agent and it answers from them.
Text blocks and question-and-answer pairs placed in the prompt.
Strict mode: answer only from the knowledge you provided, otherwise say so and offer a person.
You decide what it knows. The agent answers from the text you paste in and nothing else. It does not crawl your website or ingest files, so there is no stale copy of a page it can quote by accident.
Tools: custom HTTP and built-in
Tools are how the agent does things instead of just saying things.
Custom HTTP tools: name, description, JSON-schema parameters, method, URL, header and body templates, encrypted secrets, timeouts, retries, response size limits and a "running" message.
Decide when the agent is on, which pages it serves, how long a chat can run, and what happens after hours.
Maximum turns and duration per conversation.
End-chat conditions: a phrase, a tool call, or an inactivity timeout.
Weekly business hours with a timezone, and an offline behavior: keep answering, show a message, or collect the visitor's details.
Idle follow-ups: a "still there?" nudge for a visitor who went quiet, with the texts you write and up to three per chat. The background worker delivers them, and never after a person has taken over.
Page and URL targeting: site-wide rules to show or hide the widget on chosen pages, and URL include and exclude patterns per agent, so a sales agent can serve your pricing pages while a support agent serves the help center.
Handoff is configured per business, not imposed. Pick the triggers and the action.
Triggers: the visitor asks for a person, keyword or topic rules, several unanswered replies in a row, an explicit tool call, or being outside business hours.
Actions: live takeover, email handoff with the transcript and collected details, or an offline message. Combine them.
Collect details before the handoff: name, email, reason.
Operator inbox with assignment, take over, reply and hand back to the AI. Live takeover is included from the Starter plan.
A sentiment rule that escalates when a visitor's messages turn negative.
Any teammate with the right role can pick up a flagged chat, so you decide who is on duty.
See what visitors ask and test changes before they go live.
Conversation log with search, filters and a transcript viewer.
Counts of conversations, handoff rate and leads, plus tokens and an estimated cost per agent and model. Your provider's bill is the authoritative number.
Playground: chat with your draft as a visitor, with custom attributes such as a page URL or a logged-in name.
Post-chat analysis on Pro and above: a summary, the visitor's sentiment, the outcome and any fields you ask for, shown as badges and filters in the inbox and as charts in Analytics.
Unanswered questions: a ranked list of what visitors asked and the agent could not answer, with filters and links to the conversations, so you know what to add to the knowledge next.
Debug trace: a per-turn trace in the playground and in the inbox shows which models were tried and which tools ran.
A single script renders the widget inside a Shadow DOM, so your CSS cannot break it and it cannot break your site. Settings are fetched at load, so changes apply without re-embedding.
14 premade themes: Canopy, Minimal, Midnight, Ocean, Sunset, Forest, Lavender, Mono, Glass, Bold Contrast, Soft Pastel, Corporate, Warm Paper and Neon. Each has a designed dark variant and meets WCAG AA contrast (4.5:1) in light and dark. Applying a theme fills in ordinary settings that you can then tweak.
A full colour system: separate light and dark colours for surfaces, header, bubbles, borders, links, input, buttons and status, plus typography, shape (radius, borders, spacing density) and solid, gradient or image backgrounds.
48 design tokens: every one is a CSS variable you can override one by one. Tokens and themes are on every plan.
Launcher: shape, size, icon or image, label, animation, position and offsets, welcome bubble, delay.
Header, messages and composer: header layout, avatar, online indicator, timestamps, feedback thumbs, message and input styling, open, close and typing animations, and every string editable.
Phones: full screen, bottom sheet or floating, with a breakpoint you set and tablet overrides.
Expandable large view: a header button switches the small window to a roomy centred panel with a comfortable reading width, an optional side panel for starters and links, or a docked drawer. On phones it becomes true full screen with safe-area insets and keyboard-aware layout. Focus is trapped while it is open, Escape collapses it, and it respects reduced motion. Choose compact, expanded or automatic by screen size; the visitor's choice is remembered.
Formatted answers: Markdown renders fully, with tables, nested lists, code, quotes, links and rules, and it is rendered safely. Visitor messages stay plain text.
The editor: 21 grouped sections with search, a theme gallery with live previews, and a live preview for phone, tablet or desktop, compact or expanded, light or dark. It has colour pickers with contrast hints, undo and redo, a reset for each section, and JSON export and import.
Behavior: sessions that persist across pages, sound, business-hours banner, ARIA live region and keyboard support.
Auto-open: open the chat after a delay, after a scroll depth or on exit intent. It happens once per session and never after the visitor has dismissed the chat.
Consent notice: visitors accept your notice before they can chat. It links to your privacy policy, is remembered per visitor, and the time of acceptance is recorded on the conversation.
White-label: remove "Powered by" and add your own CSS on Pro and above. The server enforces it, so it cannot be switched on by editing the page.
Commands: open, close, toggle, identify, setAttributes, event, sendMessage, expand, collapse, toggleExpand and on, with expand and collapse events.
Page event hooks: fire SiteTrellis('event', name, data) from your own code, and a rule you define can open the chat, show a message or set visitor attributes.
Signed identity for logged-in users: your server signs the visitor's details with a per-site HS256 secret that you can rotate. Verified values are trusted separately from the self-reported ones that identify sets.
sendMessage sends a message as the visitor from your own button or link. It waits for the consent notice when you use one.
Anthropic, OpenAI, Google Gemini, OpenRouter and DeepSeek, plus any OpenAI-compatible endpoint, all with your own keys.
Keys are encrypted at rest, shown masked, and tested with one click. A failing key is flagged in the dashboard.
An ordered chain per agent. A step is skipped on network errors, timeouts, HTTP 429, 5xx, overload or an invalid key, after a short retry for transient errors.
Conversation context is rebuilt for each provider, so tool-call history survives a switch mid-conversation.
A known-down step is temporarily skipped, and the whole turn has a time budget so chats do not hang.
If every step fails, the visitor sees your failure message, and you can have the conversation escalated by email.
Custom endpoint: point a key at any OpenAI-compatible API with a base URL and a model id, and optionally let SiteTrellis discover the model list. Only https addresses on public hosts are accepted.
Let an AI assistant read your conversations, look up leads or check analytics, and let your scripts do the same. Every connection is separate from your own login and has only the permissions you tick.
Claude, ChatGPT and other assistants connect over MCP: add one connector address, sign in to SiteTrellis in your browser and approve what the assistant may do.
Permissions start read-only. Anything that reaches visitors, such as taking over a chat and replying, is off until you switch it on.
Assistants and keys never get billing, team, AI provider keys or settings, and they cannot delete anything.
Scripts use API keys with their own permissions, workspace limits and expiry.
You can disconnect any connection at any time, and an owner can switch the whole feature off for the account.
Work your live chat inbox without keeping the dashboard open. Both apps sign in through your browser, so they never see your password, and both are included on every plan. Taking over a chat needs a plan with live takeover, as in the dashboard.
Desktop app for Windows
Live inbox with Needs attention, Mine, Open and All views.
Native notifications when a chat needs a person or a visitor writes in your chat, and optionally for every new chat.
Tray icon with a badge, and do-not-disturb.
Take over, reply, hand back, resolve or close, with typing indicators and the visitor and lead details beside the chat.
Light and dark themes, and full keyboard control.
Links in visitor messages never open without your confirmation.
Version 1.0.1, 64-bit installer, about 107 MB. The installer is not code-signed yet, so Windows SmartScreen may ask you to confirm: choose More info, then Run anyway. Notifications arrive while the app is running, and it keeps running in the tray when you close the window. macOS and Linux versions are next.
Provider, model, key, timeout and retries for every fallback step
Personality
System prompt, persona, tone, language, greeting, starter buttons
Knowledge
What the agent knows, and whether it may answer beyond it
Actions
Which tools exist, what they call, and which are allowed
Handoff
Triggers, actions, details to collect, who gets the email
Availability
Business hours, timezone, offline behavior, conversation limits, a monthly message cap per agent
Reach
Which pages each agent serves, when the chat opens by itself, idle follow-ups, and the consent notice visitors accept
Connections
Which assistants and API keys can connect, and exactly what each may read or do
Appearance
A premade theme or your own colours for light and dark, typography, shape, launcher, copy, compact or expanded view, phone layout, and 48 design tokens
Your data
Which events go to which webhook endpoints, and which leads you export
Your spend
Which providers are used and in what order, and the rate limits in front of them
Who it's for
Small businesses
One site, one agent. Answer common questions after hours, capture leads, and jump in yourself when a customer needs a person. Start on Free, move to Starter for live takeover.
Agencies
A workspace per client, seats for your team, and a lot of sites and agents on one plan. Each client brings their own key, so you never front token costs.
SaaS teams
Connect tools to your own API for account and order lookups, sign the identity of logged-in users, and push events into your support stack with webhooks.
Built for text web chat
SiteTrellis does one job: a text chat agent on your website, with you in control of the model, the knowledge and the handoff. That focus is also what it leaves out:
Text, not voice. The agent chats in writing on your site.
Replies arrive whole. The widget uses short polling, so a reply appears when it is complete.
Knowledge is text you write. You paste in what the agent should know. There is no crawler, file ingestion or embeddings search, and you control every word it can draw on.
One channel: your website. Email is outbound only (transcripts and alerts). There is no inbound email, WhatsApp or Slack channel.
Webhooks and custom tools instead of native connectors. Send events to your CRM or helpdesk, or call its API from a tool.
Prompt and rules, not a flow builder. You shape the agent in plain language.
Email and password sign-in for your team. There is no SSO or SAML.
Go deeper
Reference lives in the docs. These pages cover the thinking around it.