CanWeChat docs
Website chat for teams that already live in Slack, Discord, Telegram, or a shared inbox. Install once, answer where you work.
Activation goal
Pick a path
Start with the job you need done. Each guide stays short and points back to the product screens.
I want the widget on my site
One script tag, domain lock, then send a test from the bubble.
I want to answer in the inbox
Open, unread, closed, search — one shared thread for the workspace.
I want replies in Slack
One Slack thread per conversation. Reply in-thread; the visitor sees it.
I want the Widget API
open, identify, send, events — queued until the script boots.
I am an AI coding agent
Install checklist, identify, webhooks, and what not to invent.
I am building MCP support
Required tools, resources, prompts, and secret-handling rules.
I want the HTTP API / OpenAPI
Envelope, auth model, and the machine-readable openapi.json.
I want signed webhooks
HMAC events, retries, and a delivery history in the dashboard.
I want billing details
Trial, Dodo Payments, fair use, and what happens when a plan goes inactive.
Product
CanWeChat is website live chat for one site and one active reply destination. Visitors send messages from a lightweight widget. You reply from the built-in inbox or from Slack, Discord, or Telegram, and the answer returns to the same visitor thread.
The product deliberately avoids helpdesk sprawl. There are no ticket queues to configure before launch, no seat matrix, and no promise of fake response-time metrics. The default flow is: install the script, send a test message, choose where replies should land, then answer real visitors.
Accounts
Sign in with an email one-time code powered by Better Auth. The first successful sign-in creates a workspace, a site key, default widget settings, and a 3-day trial.
Invite teammates from Team. Workspace deletion is handled by support today. Conversation export and conversation deletion are self-serve from the dashboard, with exports available as JSON or CSV.
Architecture
Add a script tag to your pages. CanWeChat runs on Cloudflare Workers, stores conversation history in D1, uses Durable Objects for realtime sockets, and sends outbound integration work through queues so a visitor send is not tied to Slack, Discord, Telegram, or webhook latency.
Integration credentials stay server-side. Public site keys can be locked to allowed hostnames, and webhook events are signed so your backend can verify they came from CanWeChat.