A chat bubble, a socket server and one inbox page take an agent a sitting. The rest of the weekend goes into what you rely on once visitors use it: email alerts and replies while you are away, a widget that cannot break your site, spam control and a reconnect that never loses a message. WhatsApp, Instagram and SMS need Meta or carrier approval, and the AI bot and mobile apps are products in themselves.
Before you buildCrisp Free already gives 2 agents, 100 profiles, the widget, the shared inbox and the mobile apps. Try it before paying $45 for Mini; tawk.to is another free widget.
Build me a live chat for my website to replace Crisp. Requirements: - Node.js 22 + TypeScript: a Fastify server with `@fastify/websocket` and a React inbox built with Vite. `npm start` serves http://localhost:4750: the inbox at /inbox, the widget at /widget.js. - Widget: one script tag adds a chat bubble inside a Shadow DOM so the host page's CSS cannot touch it. An anonymous visitor id lives in localStorage; name and email are optional; a dropped connection reconnects and re-sends anything unconfirmed. - Storage: better-sqlite3 in ./data/chat.db: visitors, conversations (open, snoozed, closed), messages (visitor or agent, text, created_at) and canned replies. - Inbox: conversations with unread counts, live updates over the socket, a reply box with canned replies, a close button, and the visitor's page URL and browser beside each thread. - Offline: when the inbox is not open, email each new message with nodemailer (SMTP from .env) and accept replies through IMAP polling (`imapflow`) into the same thread; send a push through ntfy when NTFY_TOPIC is set. - Security: one admin password in .env (signed cookie); the widget only works from ALLOWED_ORIGINS; 20 messages a minute per visitor; messages capped at 2,000 characters and escaped on output. - Single operator. No accounts, no telemetry, local-first. Outbound calls: SMTP, IMAP and ntfy. - Out of scope: WhatsApp, Instagram or SMS, an AI bot, mobile apps, several agents, ticketing. - README: the embed snippet, the .env keys, a reverse proxy with WebSocket upgrade headers, and a reminder that a chat box collects personal data, so the site needs a privacy line.
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 Crisp.
Add a docs-based answer bot to the live chat in this folder. Requirements: - A command `chat index <folder>` that reads Markdown files into an SQLite FTS5 table, split by heading, with the file path stored for each chunk. - For a new visitor message, fetch the five best chunks and ask an LLM (key in .env, OpenAI-compatible endpoint) to answer only from them, with the source path in the reply. - If nothing matches or the model says it is unsure, say so and flag the conversation for me. - A "talk to a human" button always stops the bot for that conversation. - Log every bot answer in the inbox, marked as automated. - Update the README with the model settings and what text is sent out.
Add a Crisp importer to the live chat in this folder. Requirements: - A command `chat import-crisp-contacts <file>` that reads the CSV from Contacts > Actions > Export Contact Profiles, prints the columns it found and maps email, name and notes. - A command `chat import-crisp-conversations` that pulls conversations and messages through Crisp's REST API with CRISP_WEBSITE_ID and the plugin token in .env, one page at a time. - Respect rate limits: back off on HTTP 429 and keep a resume point in SQLite. - Imported conversations are closed and marked as imported; running twice creates no duplicates. - Update the README with where to create the API token.
Add chat triggers to the live chat in this folder. Requirements: - In the admin, rules with a URL pattern, a delay in seconds and a message, for example /pricing after 30 seconds. - The widget fetches the rules for the current page, shows each message once per visitor per day and never interrupts a visitor who has opened the bubble. - Count shown, opened and replied per rule and list the counts in the admin. - Update the README.
Add a Telegram bridge to the live chat in this folder. Requirements: - A bot (`grammy`, TELEGRAM_TOKEN and my chat id in .env) that posts each new visitor message with the visitor's name and page. - Replying to that Telegram message sends the text into the conversation. - Only my chat id is accepted; every other sender is ignored. - A /close command on a thread closes the conversation. - Update the README with how to create the bot.
Support chat is a promise to answer, and visitors see a live widget that the vendor keeps running, with the mobile apps and email threading behind it. The Free tier and the flat price per workspace make the first steps cheap, and teams climb only when they need more channels or an AI agent.
Estimate · Runs on a $5 VPS or a small Node host; SMTP and ntfy fit free tiers at one person's volume. The build is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0/workspace | $0/workspace | 2 agents, 100 customer profiles, chat widget, shared inbox, mobile apps, chat SDKs, contact form, Shopify, WooCommerce and other store integrations. |
| Mini | $45/workspace | — | 4 agents, 5,000 customer profiles, shared email inbox, chat triggers, private notes, custom email domain, unlimited data retention, $5 of AI credits. |
| Essentials | $95/workspace | — | 10 agents, 50,000 profiles, 2 sub-inboxes, WhatsApp, Instagram, SMS and other channels, workflow builder, AI chatbot, knowledge base, analytics, routing rules, $25 of AI credits. |
| Plus | $295/workspace | — | 20 agents, 200,000 profiles, 5 sub-inboxes, ticketing, unlimited task automations, 100+ integrations, white-label widget, $75 of AI credits. |
| Enterprise | custom | — | Custom agents and profiles, dedicated onboarding, a personal SLA, custom features and team training. |
Free covers 2 agents, 100 customer profiles, the website chat widget, a shared inbox, the mobile apps and unlimited conversations.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: WhatsApp, Instagram, SMS and other channels in one inbox, Native iOS and Android apps for answering on the go.
About $45 a month on the Mini plan, $540 a year (checked 2026-10-19).
WhatsApp, Instagram, SMS and other channels in one inbox; Native iOS and Android apps for answering on the go; The AI chatbot, knowledge base and routing rules; More than one agent, sub-inboxes and ticketing; Chat SDKs and 100+ integrations with stores and CRMs. If any of those matter to you, keep paying.
Yes: Chatwoot (open source), Libredesk (open source), Live Helper Chat (open source).