unsubbed.co

Zammad

Zammad is a Ruby-based application that provides helpdesk software.

Self-hosted helpdesk software, honestly reviewed. No marketing fluff, just what you get when your support tickets run on your own server.

TL;DR

  • What it is: Open-source (AGPL-3.0) web-based helpdesk and customer support platform — think Zendesk, but the source code is owned by a non-profit foundation and runs on your own infrastructure [5].
  • Who it’s for: Support teams, IT departments, and non-technical founders who are paying per-agent SaaS fees and want a full-featured alternative they can control. Also useful for GDPR-conscious European businesses [1][5].
  • Cost savings: Zendesk Suite Team runs $55/agent/month. A 5-agent team on Zammad self-hosted pays for the VPS ($10–20/mo) and nothing else. That’s roughly $3,200/year saved on agent licensing alone.
  • Key strength: Multi-channel inbox that genuinely works — email, chat, phone, and social media in one ticket view. 40+ language support out of the box. Built in Germany, owned by a non-profit foundation, GDPR-compliant by design [1][5].
  • Key weakness: AGPL-3.0 license is more restrictive than MIT — modifying and offering Zammad as a service to others triggers copyleft obligations. Elasticsearch is required for full-text search, which adds setup complexity. Not self-explanatory to configure initially [1][4].

What is Zammad

Zammad is a web-based helpdesk and customer support platform. You connect your support channels — email inboxes, live chat, telephone, Twitter, Facebook — and it pulls everything into a unified ticket queue where agents assign, respond, and track resolution. The project has been running since 2016, currently sits at 5,461 GitHub stars, and by its own count is used by over 2,000 organizations and 50,000+ users worldwide [website].

What makes the project structurally interesting is who owns it. The source code is held by the Zammad Foundation, a non-profit NGO, independent from Zammad GmbH, the commercial company that does the actual development [5]. This matters: it means the commercial entity can’t unilaterally relicense the codebase or pull an “open core bait-and-switch” the way some companies have. The Foundation is the legal backstop. Zammad GmbH sells hosting and support contracts; the software itself stays open.

The license is AGPL-3.0 — not MIT, not “Fair-code.” AGPL is a full open-source license but with copyleft: if you self-host Zammad for your own internal team, you have no obligations. If you modify Zammad and offer it to others as a service, you must release your modifications. For the typical non-technical founder running a support team, this distinction is irrelevant. For someone building a SaaS on top of Zammad, talk to a lawyer first.

The product is made and hosted in Germany, which comes up repeatedly in their marketing for a reason — GDPR compliance is built in, data stays on German servers for the SaaS tier, and the company is betting that data sovereignty is a real concern for European businesses [website].


Why people choose it

The third-party sources in this review are primarily official documentation rather than independent buyer reviews, so the synthesis here draws partly on what the official materials reveal about actual usage patterns, plus what the community page says about the project’s origin story.

Versus Zendesk and Freshdesk. These are the obvious incumbents. Zendesk’s pricing starts at $55/agent/month for the basic Suite Team plan; Freshdesk’s Growth tier starts at $15/agent/month. Neither is self-hostable. For a 5-agent support team, Zendesk costs $275/month minimum — $3,300/year — before you’ve bought a single integration. Zammad self-hosted costs the price of a VPS. The feature gap between Zendesk and Zammad is real but narrower than that price difference suggests: Zammad ships with multi-channel support, a knowledge base, macros, automation, text modules, SLAs, and time tracking — all features that Zendesk gates behind paid tiers [1][website].

The GDPR angle. For European businesses in regulated industries, running a SaaS helpdesk means customer data crosses into American infrastructure. Zammad’s self-hosted option keeps everything in-house. Their cloud offering stores data on German servers explicitly [website]. This is a genuine differentiator for German, Austrian, and Swiss businesses in particular — Zammad cites ISO certifications in one customer story [website].

The multi-channel pitch. The README describes Zammad as a tool for managing “customer communication across channels like email, chat, telephone and social media.” In practice, this means a single agent interface that handles email threads, live chat sessions, phone call logs, and Twitter/Facebook DMs without switching apps. One customer story mentions resolving ~4,700 tickets per month with 15+ agents, averaging 30-minute resolution time and 80% first-contact resolution — though these numbers come from Zammad’s own marketing materials, so treat them as “what a good deployment looks like” rather than typical results [website].

The foundation model as trust signal. The Zammad community page makes explicit that Martin Edenhofer (founder) built Zammad because “it’s in a market without an elegant and powerful open source alternative” [5]. The non-profit foundation structure means the motivations are at least partially non-commercial. Whether that translates to long-term reliability is something you evaluate over years, not a product page.


Features

Based on the system documentation, user documentation, and website:

Core ticket engine:

  • Unified inbox for email, chat, phone, and social media [1]
  • Ticket assignment, priority levels, internal notes, and tagging [website]
  • SLA tracking and enforcement [1]
  • Macros for repeatable multi-step actions [user docs]
  • Shared drafts between agents [user docs]
  • Ticket templates and text modules [user docs]
  • Time tracking per ticket [user docs]
  • Full-text search across tickets and attachments — “searching 40GB of data takes less than 3 seconds” (requires Elasticsearch) [website][1]
  • Keyboard shortcuts throughout the interface [user docs]

Automation and workflow:

  • Trigger-based automation (postmaster filters, event triggers) [4]
  • Core Workflows with Dynamic Object Screens — define which ticket fields different agent groups see [website]
  • Bulk actions [website]
  • Checklist feature for multi-step processes [website]

Knowledge base:

  • Built-in customer-facing and internal knowledge base [website]
  • Multi-language support for knowledge base articles (plan-dependent) [website]
  • 40+ language UI support [website]

AI features:

  • AI features listed in user documentation, though specifics aren’t detailed in the available sources [user docs]
  • The homepage headline reads “AI-powered Support Platform” — typical vendor positioning [website]

Integrations and API:

  • Full REST API with documented endpoints [1]
  • GitHub and GitLab integration for linking tickets to issues [user docs]
  • i-doit integration for tracking company property [user docs]
  • CTI (Computer Telephony Integration) for phone channels [1]
  • LDAP/Active Directory for user authentication [4]
  • Single Sign-On support (Kerberos documented) [1]
  • Two-factor authentication [user docs]

Security:

  • Password policies configurable [website]
  • Device logging [website]
  • Secure email (S/MIME) [user docs]
  • Privacy and data retention controls [1]

Deployment targets:

  • Docker Compose (primary recommended path) [1]
  • Kubernetes with Helm charts (Artifact Hub listed) [1]
  • DEB/RPM packages for bare-metal installs [README]
  • Source install documented [1]

Pricing: SaaS vs self-hosted math

Zammad Cloud (their SaaS): Specific tier pricing wasn’t captured in the scraped data for this review — check https://zammad.com/en/pricing for current numbers. What’s clear from the website: they offer a free trial, and the SaaS tiers include hosting on German servers with full maintenance handled [website]. If you’re evaluating, request a trial before committing.

Self-hosted (community edition):

  • Software: $0 (AGPL-3.0)
  • VPS: $10–20/month on Hetzner or Contabo (Zammad needs at least 4GB RAM in production)
  • Elasticsearch: can run on the same server or separately — budget RAM accordingly
  • Optional: Zammad GmbH sells self-hosting support contracts if you want commercial backup [website]

Zendesk for comparison:

  • Suite Team: $55/agent/month (annual billing)
  • Suite Growth: $89/agent/month
  • Suite Professional: $115/agent/month
  • A 5-agent team on Suite Team: $275/month, $3,300/year

Freshdesk for comparison:

  • Free tier: limited
  • Growth: $15/agent/month
  • Pro: $49/agent/month
  • A 5-agent team on Pro: $245/month, $2,940/year

Self-hosted math for a 5-agent team:

PlatformMonthlyAnnual
Zendesk Suite Team$275$3,300
Freshdesk Pro$245$2,940
Zammad self-hosted~$15 (VPS)~$180

Annual savings vs Zendesk: ~$3,120. Over three years, that’s ~$9,360 — enough to hire a contractor for a week to handle the initial setup and then some.

The catch: this math assumes someone technical sets it up. If you need to hire someone to deploy it, a one-time cost of $200–500 still saves you money by month three. If you’re paying someone ongoing to maintain it, the math changes.


Deployment reality check

Zammad’s documentation [1][4] is detailed enough that a technical user can follow it, but the stack is non-trivial: Ruby on Rails application, PostgreSQL database, Redis, Elasticsearch (required for full-text search), and a reverse proxy (nginx or Apache). That’s five moving parts before you’ve connected an email channel.

What you actually need:

  • A Linux VPS with 4GB RAM minimum (8GB recommended for teams with meaningful ticket volume)
  • Docker and Docker Compose (the recommended path) or a package manager install
  • PostgreSQL (bundled in the Docker Compose setup)
  • Redis (bundled)
  • Elasticsearch (bundled or external — required for search to work properly)
  • A domain name and TLS certificate
  • An SMTP provider for outbound email notifications

The setup wizard [4] walks through creating the first admin account, uploading a company logo, configuring email channels, and setting SMTP. The documentation describes this as straightforward; the complexity comes after the wizard, when you configure groups, triggers, SLAs, roles, and user permissions in the right order. The first-steps documentation [4] lays out a suggested sequence: configure groups → adjust triggers → add postmaster filters → configure SLAs → add email channels → add text modules → configure roles → add agents. That’s eight steps before you’re in production. Not insurmountable, but not a 20-minute install either.

What can go sideways:

  • Elasticsearch configuration is a common pain point in the community — if it’s not running, search is broken [1].
  • The Kerberos SSO setup requires removing nginx and switching to Apache, which is a significant infrastructure change for an existing deployment [1].
  • The documentation [4] itself warns that SMTP setup during the wizard “might fail” and suggests skipping it and fixing later. Real-world installs will have edge cases.
  • Upgrading across major versions requires following a migration path — not drop-in upgrades [1].

Realistic time estimate: A technical user comfortable with Docker Compose: 2–4 hours to a working instance, another 2–4 hours to configure email channels, groups, and basic automation. A non-technical founder: this is not a solo project. You need someone to deploy it.


Pros and cons

Pros

  • Non-profit foundation owns the IP. Zammad Foundation (independent NGO) holds the source code [5]. Zammad GmbH can’t relicense it unilaterally. This is a stronger governance structure than most “open source” companies provide.
  • True multi-channel without bolt-ons. Email, live chat, phone (via CTI), Twitter, Facebook — all in one ticket view by default [website][1]. Not an add-on tier.
  • GDPR-native. Made and hosted in Germany. Self-hosted option means your customer data never leaves your infrastructure. Privacy and data retention controls documented [1][website].
  • Strong REST API. Full API surface documented in [1] — Calendars, Checklists, Knowledge Base, Organizations, Tickets, Users, all covered. Programmatic management is first-class, not an afterthought.
  • 40+ language UI. Genuinely multilingual, not just “we have a Spanish translation that’s 60% complete” [website].
  • Serious enterprise features included. Knowledge base, SLAs, time tracking, macros, role-based access, LDAP, SSO — these are paid add-ons in Zendesk, included in Zammad [1][user docs].
  • Kubernetes and Helm support. For teams running on K8s, there’s an official Helm chart on Artifact Hub [1]. Not an afterthought deployment.
  • 2,000+ organizations running it in production [website]. This isn’t a hobby project.

Cons

  • AGPL-3.0, not MIT. If you’re building a product that incorporates Zammad and offers it to customers, you’re in copyleft territory. Fine for internal use; requires legal review for embedding in a SaaS product.
  • Elasticsearch is a hard dependency for search. Adding Elasticsearch to your stack means another service to run, monitor, and keep in sync with Zammad. The documentation covers it, but it adds operational overhead [1].
  • Heavy stack for a small team. Rails + Postgres + Redis + Elasticsearch is four processes for a tool that might serve 3 agents. The $10/month VPS won’t cut it; you need 4GB RAM minimum.
  • Complex initial configuration. Eight-step post-install sequence documented in [4] before you’re in production. Groups, triggers, SLAs, roles — all need configuring in the right order. The wizard is helpful; what comes after the wizard is not beginner-friendly.
  • AI features are vague. The homepage claims “AI-powered” in the H1, but specifics aren’t detailed in available documentation [user docs]. Treat AI marketing as aspirational until verified.
  • Upgrade path has friction. Major version upgrades require migration steps, not just docker pull [1]. Plan for maintenance windows.
  • Limited third-party reviews. The available sources for this review are mostly official documentation, not independent buyer analysis. This makes it harder to validate real-world pain points beyond what the docs acknowledge.

Who should use this / who shouldn’t

Use Zammad if:

  • You’re a European business (especially German/Austrian/Swiss) where GDPR compliance and data sovereignty are hard requirements, not checkbox exercises.
  • You’re paying Zendesk or Freshdesk per-agent and the bill feels disproportionate to the value — especially if you have 5+ agents.
  • You have (or can hire) someone technical to do the initial deployment. After that, Zammad’s admin UI is manageable for a non-technical admin.
  • You need genuine multi-channel support — email, chat, and phone in one queue — without paying extra for it.
  • You want a full REST API for integrating helpdesk data into your own dashboards or internal tools.

Skip it (use Freshdesk) if:

  • You want managed SaaS with minimal setup and Freshdesk’s pricing works for your agent count. Freshdesk’s free tier is a legitimate starting point.
  • You need dozens of native integrations with business tools and don’t want to build them via API.

Skip it (use Zendesk) if:

  • You need enterprise compliance (SOC 2, HIPAA), polished mobile apps, and a vendor with 24/7 enterprise support contracts.
  • Your team is already trained on Zendesk and switching costs exceed hosting costs.

Skip it (stay on email + a spreadsheet) if:

  • You have fewer than 3 people handling support and volume is low. Setting up Zammad for 2 agents processing 20 tickets/week is overkill.

Alternatives worth considering

  • Freshdesk — the most direct SaaS comparison. Free tier for small teams, $15/agent/month for Growth. Closed source, US-hosted, but significantly easier to set up. Reasonable choice until ticket volume makes per-agent pricing hurt.
  • Zendesk — the category leader. Better integrations, polished mobile apps, enterprise compliance. $55+/agent/month and scaling up. Worth it only if the feature gap justifies the cost.
  • osTicket — older open-source helpdesk, PHP-based, much simpler stack than Zammad. Fewer features but easier to deploy on cheap shared hosting. Good for very small teams where Zammad’s Rails stack feels heavy.
  • Helpdesk (by Tidio) or Crisp — if live chat is the primary channel and email is secondary, these are simpler and cheaper for that specific use case.
  • Chatwoot — open-source (MIT), focused on multi-channel customer messaging. Simpler than Zammad, less helpdesk-feature-complete, but easier to self-host and a genuine MIT license.
  • Plane — if the use case is more internal IT/project tracking than customer-facing support, Plane (open source, MIT) is worth comparing.

For a non-technical founder escaping Zendesk bills, the realistic shortlist is Zammad vs Chatwoot vs Freshdesk. Pick Zammad if you need the full helpdesk feature set and are willing to invest in the initial setup. Pick Chatwoot if you need something simpler and MIT-licensed. Pick Freshdesk if you want managed SaaS and the pricing fits.


Bottom line

Zammad is a mature, serious helpdesk platform — not a weekend project or a “good enough for free” compromise. The feature set legitimately competes with Zendesk at the $55/agent/month tier: multi-channel, SLAs, knowledge base, REST API, role-based access, and automation are all included, not gated. The governance structure (non-profit foundation owns the IP) provides a stronger open-source guarantee than most alternatives. For European businesses with GDPR requirements, it’s one of the few helpdesks where self-hosting isn’t just an option, it’s the recommended path.

The trade-offs are real: AGPL-3.0 restricts embedding in commercial SaaS products, the stack is heavier than you’d want for a 2-person team, and initial configuration is a multi-step process that requires someone technical. The math still works for most support teams above 3–5 agents currently paying per-seat SaaS fees — the setup investment pays back within a few months. If the deployment is the blocker, that’s exactly what unsubbed.co’s parent studio upready.dev deploys for clients. One-time fee, done, you own the infrastructure.


Sources

  1. Zammad System Documentation — Full system/admin documentation covering installation, API, configuration, and operations. https://docs.zammad.org/en/latest/
  2. Zammad User Documentation (German) — User-facing documentation for Zammad features including AI, checklists, time tracking, and integrations. https://user-docs.zammad.org/de/latest/index.html
  3. Zammad User Documentation (French) — French-language user documentation, mirrors the German edition. https://user-docs.zammad.org/projects/zammad-user-documentation-fr/fr/latest/
  4. Zammad First Steps Guide — Post-install setup wizard and recommended configuration sequence for new Zammad instances. https://docs.zammad.org/en/latest/getting-started/first-steps.html
  5. Zammad Community — About Us — Origin story, mission, organizational structure (Foundation vs GmbH), and team. https://zammad.org/about

Primary sources:

Features

Integrations & APIs

  • REST API