DominaresTools

All tools / Email & messaging

chatbaton

Know when a visitor needs a person, then let one take over the chat.

Buy chatbaton for $149

One payment of $149, plus sales tax where it applies, and every future update. Delivered as a private GitHub repository you're invited to.

See it work

chatbaton 1.0.1real run
chatbaton classify "I would like to talk to a real person"
{
  "text": "I would like to talk to a real person",
  "kind": "live_person",
  "force_reply": true,
  "reply_text": "Of course. I'll get someone from our team to help you. Leave your name and the best way to reach you in the form below, and they'll get back to you within 48 hours or less.",
  "send_alert": true,
  "channels": [],
  "mode": "canned_reply",
  "label": "",
  "handoff": true,
  "handoff_reason": "live_person"
}

chatbaton classify "Can you tell me how much the large plan costs?"
{
  "text": "Can you tell me how much the large plan costs?",
  "kind": "buying_intent",
  "force_reply": false,
  "reply_text": null,
  "send_alert": true,
  "channels": [],
  "mode": "alert_only",
  "label": "",
  "handoff": false,
  "handoff_reason": ""
}
Real output of chatbaton 1.0.1, run on 2026-10-05 on the tool run for real on our test machine, on two example visitor messages; no AI model is involved and nothing leaves the machine.

What it does

chatbaton spots a visitor who needs a person without calling a model, lets someone on your team take over the live bot chat and hand it back, and keeps the promises it makes honest. It comes with the browser widget, the "talk to a person" card and a reference server.

Detection with no model
A visitor who asks for a person, threatens to escalate, is abusive, says nobody ever answers or reports a payment problem is recognised from grammar rules, not word lists. A mention such as "my representative" is left alone.
Live takeover
A person takes a chat, the bot goes quiet, their words show to the visitor as a labelled human, and they can push one line in the bot's own voice and hand the chat back. The takeover is a lease with a heartbeat, so a closed laptop never strands a visitor.
Honest promises
The "talk to a person" card is shown when a follow-up is promised and nobody can reach the visitor, and a promise is repeated only while it is still true.
Rules an operator edits
A JSON file decides what happens for each kind: a canned reply, an alert only, or pass through. Add your own phrases, vetoes and triggers; a missing or damaged file means the shipped defaults.
Widget and reference server
One JavaScript file for the visitor's page (the poll, the labelled human messages, the card), a standard-library server and an operator page that show the whole flow in one read.
Plain about its limits
English only, and a grammar classifier that will miss some requests. It sends no email or message itself: you receive an alert and send it. The reference server is a reference, not a product.

What you get

chatbaton 1.0.1: the Python package and the chatbaton command, the browser widget, a reference server with an operator page, and the full test suite, with 318 automated tests.

A commercial license. Use it and change it in your own projects and your clients' projects. Don't share or resell the source. Read the license.

Every update. New versions land in the same repository; git pull to get them.

Requirements

Python 3.10 or newer. Python 3.10 or newer, no runtime dependencies. Node is optional, for the widget's own tests.

How buying works

  1. Enter your GitHub username. You'll see the account before you pay, so you can check it's yours.
  2. Pay $149, plus any sales tax shown at checkout, on Stripe's checkout page.
  3. Accept the invitation GitHub emails you. Signed in as that account, you'll also find it at github.com/dominares-tools/chatbaton/invitations. Invitations expire after 7 days; you can get a new one any time.
  4. Clone and install:
    git clone https://github.com/dominares-tools/chatbaton.git

    Private repo: sign in to GitHub on this computer first. Run gh auth login and choose HTTPS, or give git a personal access token when it asks for a password. To use an SSH key instead, clone git@github.com:dominares-tools/chatbaton.git.

    python3 -m venv .venv && . .venv/bin/activate
    pip install ./chatbaton

Questions

Do I need GitHub?

Yes. Access is a read-only invitation to a private repository, sent to the GitHub account you choose.

Can I get a refund?

Yes, within 14 days, no questions asked. Access ends when the refund goes through. Refund policy.

Who takes the payment?

Payments are handled by Stripe, which works out sales tax. Your receipt and card statement show Link (LINK.COM*), Stripe's checkout service.

Something wrong?

Email support@dominares.org. Every buyer of a tool shares its repository, so support happens by email rather than in GitHub issues.