A chat bubble on one site, a socket server and an inbox page fit one agent session, and an FAQ bot is retrieval over your own Markdown plus one LLM call. The weekend goes on what you rely on once visitors use it: a widget that can't break your pages, email replies when you're away, spam control and a bot that says "I don't know" instead of inventing a refund policy. Messenger, Instagram and WhatsApp need Meta approval, and Lyro's tuning and the mobile apps are products in themselves. Chatwoot already gives you the inbox side as free software.
Before you buildTidio Free keeps 50 billable conversations a month and 10 agents. If your site gets a few chats a week you may never need to pay.
Build me a live-chat widget with an FAQ bot to replace Tidio on my own website. Requirements: - Node.js 22 + TypeScript: a Fastify server with the `ws` WebSocket library. `npm start` serves http://localhost:4600 with the inbox at /inbox and the widget script at /widget.js. - Widget: one vanilla TypeScript file bundled with `esbuild` to under 25 KB, loaded with a single script tag. It renders in a shadow root so site CSS can't break it, and keeps the visitor id and open conversation in localStorage so a page change doesn't reset the chat. - Storage: better-sqlite3 in ./data/chat.db for visitors, conversations and messages, with an FTS5 table over the FAQ text. - FAQ bot: read every Markdown file in ./faq/, split it by heading, and answer a question by taking the top 3 BM25 matches and calling an OpenAI-compatible chat endpoint (LLM_BASE_URL, LLM_API_KEY and LLM_MODEL in .env). If nothing matches well enough, say so and offer a human. - Handover: a "Talk to a person" button flags the conversation for the inbox and stops the bot for that visitor. Outside the hours set in ./config.yaml, ask for an email address instead. - Inbox: password from .env (signed cookie); open, solved and unanswered lists, live updates, a reply box, and an email to the visitor through nodemailer SMTP when they have left the page. - Rules: up to five triggers in ./config.yaml, such as a greeting after 20 seconds on /pricing, each shown at most once per visitor. - Single owner. No accounts, no telemetry, local-first: outbound calls go to your LLM endpoint and SMTP server only, and the README lists what text is sent to the LLM. - Out of scope: Messenger, Instagram and WhatsApp, mobile apps, several agents, store plugins. - README: the script tag, the .env keys, how to run it behind a reverse proxy with HTTPS.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Tidio.
Extend the chat widget in this folder. Requirements: - When the bot has no good FAQ match, ask for the visitor's name and email in the chat, validate the address, and store it on the conversation. - The inbox gets a Leads view with name, email, first page, and the question that went unanswered, plus a CSV export. - Email me a summary of new leads once a day through the existing SMTP settings. - Never ask the same visitor twice; remember the answer in localStorage and in SQLite. - Update the README.
Add an FAQ suggestion loop to the chat app in this folder. Requirements: - In the inbox, a "Save as FAQ" button on a solved conversation drafts a Markdown entry from the visitor's question and my reply, using the LLM endpoint, and shows it for editing. - Saving writes a new file in ./faq/ and re-indexes it into the FTS5 table without a restart. - A page lists questions the bot couldn't answer in the last 30 days, grouped by similarity of their first six words. - Never write a file outside ./faq/ and escape every title that goes into a file name. - Update the README.
Add a Tidio importer to the chat app in this folder. Requirements: - `npm run import-tidio -- contacts.csv` reads the CSV from Customers > Export in Tidio and creates a visitor record per row with name, email and any phone number it finds. - Skip rows without an email, merge duplicates on lowercased email, and print counts of created, merged and skipped rows. - Imported visitors show up in the inbox search; no message is sent to them. - Chat history isn't in that export, so say so in the README and describe the one-at-a-time CSV transcript export as the way to keep a conversation.
Tidio puts live chat, tickets, social inboxes and an AI agent behind one script tag and one bill, and the free plan costs nothing until the 50th conversation of the month. Installs for Wix and Shopify sites take minutes, and the AI agent is metered per conversation instead of being a salary.
Estimate · A $5 VPS, SMTP on a free tier and a few cents of LLM tokens per hundred bot answers. The build is token usage on your agent plan.
Checked 2026-10-19 against Tidio's docs: 1, 2, 3, 4, 5, 6, 7
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0 | $0 | 50 billable conversations a month, 10 seats, Flows for 100 visitors a month, 50 one-time Lyro AI conversations. |
| Starter | $29 | $24.17 | 100 billable conversations a month, 10 seats, 50 one-time Lyro AI conversations. |
| Growth | $59 | $49.17 | From 250 billable conversations a month, 10 seats; larger quotas up to 2,000 cost more (1,000 conversations is $179 a month). |
| Plus | $300 | — | Custom conversations and seats, usage billed on top, wire transfer accepted. |
| Premium | custom | — | Custom limits; Lyro quotas start at 3,000 conversations. |
| Lyro AI Agent (add-on) | $39 | $32.50 | From 50 Lyro AI conversations a month; the 50 included in Free and Starter are a one-time allowance. |
| Flows (add-on) | $29 | $24.17 | From 2,000 visitors reached a month, up to 100,000. |
Free covers 50 billable conversations a month, up to 10 agents and 100 visitors reached by Flows.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: Messenger, Instagram and WhatsApp conversations in the same inbox, Mobile apps with push notifications for agents.
About $29 a month on the Starter plan, $348 a year (checked 2026-10-19).
Messenger, Instagram and WhatsApp conversations in the same inbox; Mobile apps with push notifications for agents; Lyro's tuning, Guidance and Procedures, which shape how the AI agent answers; Shopify order and product tools inside the chat; A visual Flows builder for lead capture and proactive messages. If any of those matter to you, keep paying.
Yes: Chatwoot (open source), Live Helper Chat (open source), Libredesk (open source).