Skip to content

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, in full. No card, no plans, no seat count — every feature on this page is the one you get.

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.

Inbox · 2 unassigned
Rowan T.deliveryopenAssigned to you

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.

Reply, or type / for a saved reply…Send

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.

  1. 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.

  2. 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.

  3. 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 seat

Add the whole team. There is no seat count and no per-agent charge — what it costs to run is the server you already have.

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

Nothing. There is no paid tier to move up to.

Every feature described on this site is switched on for every account, from the first one. No plans, no allowances, no card, and no screen that asks you to upgrade before it will do its job.

$0

The whole product, for every account

No card

Nothing to enter, at signup or afterwards

Unlimited

Websites, teammates and conversations

Your server

The only thing it costs is what you run it on

Put it on your own servers this afternoon.

Create an account, add a website, paste one script tag. Nothing expires, and nothing asks you for a card.