Migrate from Chatwoot to Clanker Support
Both Chatwoot and Clanker Support can be self-hosted, but the stacks differ: Chatwoot is Ruby on Rails + PostgreSQL + Redis, while Clanker Support runs serverless on Cloudflare (D1, KV, workerd). Migrating means a widget swap plus a knowledge-base re-import — and, if you self-host, far less infrastructure to maintain afterward.
Quick migration
Replace the Chatwoot SDK loader with the Clanker Support script tag and re-import your knowledge base. If you self-host, you can decommission the Rails/PostgreSQL stack once you're live on Clanker Support.
<script>
(function(d,t) {
var BASE_URL = "https://app.chatwoot.com";
var g = d.createElement(t),
s = d.getElementsByTagName(t)[0];
g.src = BASE_URL + "/packs/js/sdk.js";
g.defer = true; g.async = true;
s.parentNode.insertBefore(g, s);
g.onload = function() {
window.chatwootSDK.run({
websiteToken: "XXXXXXXX",
baseUrl: BASE_URL,
});
};
})(document, "script");
</script><script
src="https://api.clankersupport.com/widget.js"
data-project="pk_live_xxxxxxxxxxxx"
data-brand="#111827"
defer
></script>Step by step
- 1
Create your Clanker Support project
Sign up for managed Clanker Support (or set up the self-hosted deployment on your Cloudflare account). Create a project and grab your public key.
- 2
Re-import your knowledge base
Copy your Chatwoot help-center / Captain AI content into your Clanker Support knowledge base. Chatwoot's articles export cleanly as text — paste the relevant parts into your system prompt.
- 3
Swap the SDK loader
Remove the Chatwoot websiteToken SDK loader and drop in the Clanker Support script tag. One line replaces the loader function. The widget loads in a shadow DOM, which Chatwoot's widget doesn't do.
Add the Clanker Support widget<script src="https://api.clankersupport.com/widget.js" data-project="pk_live_xxxxxxxxxxxx" data-brand="#111827" defer ></script> - 4
Configure escalation and your notify email
In project settings, set the escalation threshold (how many exchanges before the bot hands off) and the notify email where escalations should land. This is your team inbox or a shared support address. When the bot can't help, the full conversation arrives there with context intact.
- 5
Set up email threading (optional)
If you want customer email replies to thread back into the widget conversation, point an inbound domain at Clanker Support and set your inbound email local in project settings. Replies then flow both ways — your team answers from the inbox, the customer sees it in the widget. No separate helpdesk required.
- 6
Test, then go live
Open your site, start a test conversation, and trigger an escalation to confirm it reaches your inbox. Once it looks right, you're done — the widget is already live for every visitor.
Concept mapping
Chatwoot → Clanker Support
| websiteToken | data-project (publicKey) |
| sdk.js loader function | Single widget.js script tag |
| Captain AI (fixed stack) | Any model via LLM Gateway |
| Rails + PostgreSQL + Redis | Cloudflare D1 + KV + workerdNo DB server to run. |
| Chatwoot inbox | Clanker Support inbox |
What to expect
Carries over
- ✓Knowledge base / help-center content (paste it in)
- ✓Self-hosting posture (now serverless, much lighter)
- ✓Web chat support workflow
Needs a separate plan
- –WhatsApp, Instagram, Telegram, and email channels
- –Full agent management: roles, teams, canned responses, labels, reports
- –Conversation history (export from Chatwoot for your records)
Want the full feature comparison first?
See exactly how Clanker Support and Chatwoot stack up across setup, AI, channels, and pricing before you switch.
Clanker Support vs. Chatwoot →