Self-hosted — your servers, your database
Talk to the people on your website, before they leave it.
Live chat, a help centre, a ticket queue and the reporting to go with them — for every website you run, in one inbox. You install it on your own infrastructure, so the conversations stay yours.
Free to start, no card. One website and one seat for as long as you like; paid plans from $20 a month when you need more.
What you get
Everything a support conversation touches, in one place.
Not a chat widget with an inbox bolted on. The conversation, the article that answers it, the ticket it becomes when nobody is around, and the numbers that tell you whether any of it is working.
One live inbox
Every website you run, in one queue. Assign, transfer, tag, add a private note, close and reopen. Messages arrive over a socket, so both sides see them without reloading.
Rules that start the conversation
Greet somebody who has been on your pricing page for a minute. Route by department. Ask for an order number before the chat starts — and see the answer beside the message.
A help centre that answers first
Write articles once, publish them on your own domain, and let people find the answer themselves. Full-text search, drafts that stay private until you publish.
Tickets for the quiet hours
When nobody is online the widget takes a message and opens a ticket, numbered per account. Replies go by email; internal notes never do.
Reporting you can check
Volume, first response time, resolution time, per agent and per website — computed in your own timezone from your own rows, not sampled.
Webhooks and an API
Signed webhooks with retries and a delivery log, plus scoped API keys on the same routes the dashboard uses. No second, weaker API to keep in step.
The agent's side
Built for somebody handling six conversations at once.
Not for a demo. Filters that narrow rather than widen, search that reaches message bodies, and notes that are a different kind of message rather than a flag on an ordinary one.
My order says delivered but nothing arrived
Sorry about that. Do you have the order number?
#48120
Found it — it went to the depot. I've booked redelivery for Thursday.
Internal note · not sent to the visitor
Depot confirmed. Refunding the delivery fee too.
Sub-second
Delivery over a socket, both directions
Gapless
Sequence numbers, so a reconnect replays exactly what was missed
Never sent
Internal notes are not in the visitor’s stream at all
How it works
Installed in an afternoon, not a quarter.
Three steps, and the third one is the part that usually takes weeks somewhere else.
The whole installation
<script>
window.SmartChat = { p: "your-public-id" };
</script>
<script async src="https://cdn.example.com/loader.js"></script>A public identifier and no credential — safe to paste into a page anyone can read.
Add your website
Create an account and add the site you want to talk to people on. You get the snippet above, generated for it.
Paste one script tag
The widget loads in a shadow root, so it cannot inherit or disturb your page’s styles, and the panel runs in its own frame on its own origin. Nothing about your site has to change.
Answer from one inbox
Conversations arrive live. Add your team, scope them to the websites they look after, and set the rules that greet people before anybody has to.
Why self-hosted
The conversations are your customers’ words. Keep them.
A hosted chat tool means every message your customers write is stored on somebody else’s infrastructure, under somebody else’s retention policy, and metered by the seat.
Your database
Postgres you run. Back it up on your schedule, restore it on your terms, delete what you choose to delete.
Your retention rules
Set how long conversations are kept. A nightly job removes what is past the window — the transcripts, the files behind them, and the visitors.
Not priced per conversation
Plans are sized by websites and people, never by message volume. A busy month costs the same as a quiet one, and nothing counts conversations against you.
One deployment
Docker Compose, an edge proxy with TLS, health checks and a restore rehearsal that has actually been run rather than merely written down.
What it costs
Free to start. Priced by websites and people, not conversations.
Every account begins on the free plan with no card. Add websites, teammates, integrations and the AI agent as you grow; move between plans from the Billing page whenever you like.
Free
For one website and one person
Free
No card needed
- 1 website included
- 1 team member included
- Unlimited conversations included
- AI agent not included
- Voice calls not included
- API keys & webhooks not included
- Remove widget branding not included
Starter
For a small team
$20 /month
Billed monthly, cancel any time
- 3 websites included
- 5 team members included
- Unlimited conversations included
- AI agent not included
- Voice calls not included
- API keys & webhooks included
- Remove widget branding not included
Growth
For a support team, with an AI agent
$50 /month
Billed monthly, cancel any time
- 10 websites included
- 15 team members included
- Unlimited conversations included
- AI agent included
- Voice calls · 500 call minutes a month included
- API keys & webhooks included
- Remove widget branding included
Custom
For larger teams and special requirements
Custom
Priced for what you need
- Unlimited websites included
- Unlimited team members included
- Unlimited conversations included
- AI agent included
- Voice calls included
- API keys & webhooks included
- Remove widget branding included
- Your own AI provider key included
Put it on your own servers this afternoon.
Create a free account, add a website, paste one script tag. No card until you choose a paid plan.