← all SaaS

Self-host Zendesk

Customer support / helpdesk · Category: team chat & community

Zendesk is the default helpdesk for B2B SaaS. The self-hostable replacements all cover ticketing + email-to-ticket; the gap is the AI-powered macros and the omnichannel polish.

Zendesk pricing anchor: $55/agent/mo on Suite Team tier.

Chatwoot chatwoot/chatwoot alive

GitHub
★ 29.1k · last commit 1d ago · 1183 open issues
License
MIT (Community Edition) / Enterprise license for some features
Setup time
20min docker-compose
Monthly cost
$10 VPS — Postgres + Redis + Rails app.
Migration sketch. No first-class Zendesk importer. Use the Zendesk Tickets API to dump tickets to JSON, then call Chatwoot's Conversations API to recreate them. Email channel is easy to flip — repoint your support@ inbox to Chatwoot.
Good fit forTeams that want chat + email + social inbox in one tool.
Weak atSome advanced reporting + audit features are Enterprise-only.

FreeScout freescout-help-desk/freescout alive

GitHub
★ 4.25k · last commit 1d ago · 26 open issues
License
AGPL-3.0
Setup time
10min (PHP + MySQL on a single VPS)
Monthly cost
$5 VPS easily.
Migration sketch. Zendesk → admin → Export tickets (CSV/JSON). In FreeScout install the `Zendesk Importer` module and point it at the export. Conversations + agents come over; satisfaction ratings are dropped.
Good fit forSmall teams who want an Help-Scout-shaped shared inbox without a SaaS bill.
Weak atNo live chat in core — modules add it but feel bolted on.

Zammad zammad/zammad alive

GitHub
★ 5.59k · last commit today · 464 open issues
License
AGPL-3.0
Setup time
30min docker-compose
Monthly cost
$10 VPS — Elasticsearch + Postgres + Rails.
Migration sketch. Built-in `zammad run rake zammad:migrate` task with a Zendesk subcommand pulls tickets, users, and groups via the Zendesk REST API. Custom fields need manual mapping in the Zammad admin first.
Good fit forTeams that need ITIL-ish workflows + multi-channel (email, telephony, chat).
Weak atSetup is heavier than Chatwoot or FreeScout.

In a terminal? npx os-alt zendesk prints this table — how the CLI works →