Zendesk cost vs self-hosted Zammad

Zammad has no license fee, so the comparison comes down to hosting, migration, optional support and the admin time each option needs. This page shows how to build that comparison with your own numbers.

On this page

Is self-hosted Zammad cheaper than Zendesk Suite?

If your Zendesk renewal is driven by per-agent pricing or by a requirement to control where ticket data lives, the first thing to understand is that self-hosted Zammad carries no license fee. The comparison is therefore not license against license. It is your hosting, migration, optional vendor support and internal administration time against Zendesk's per-agent Suite subscription, which recurs every year for as long as you stay. Zammad's source code is licensed under AGPLv3, so the software itself costs nothing to download and run.

Self-hosting tends to cost more where the work lands on your staff. You pay for the servers or cloud accounts, PostgreSQL 15 or newer, Redis 7 or newer, and, for multi-instance deployments, Memcached. Elasticsearch is optional but strongly recommended for search and attachment content, so budget for it. The larger recurring cost is people: someone must patch the application, maintain the database, handle backups and watch upgrades. If that skill is not in-house, the internal time or an outside implementation partner becomes the main line item. Zammad's optional support subscriptions are named Business at 2,999 EUR per year, Enterprise at 5,999 EUR per year and Corporation at 9,999 EUR per year, according to Zammad's pricing page. Ask Zammad which tier matches your response expectations, and whether your own staff or a partner will carry the day-to-day operation.

Self-hosting tends to cost less as the agent count grows, because Zammad's cost mostly does not scale with seats while a per-agent subscription does. Before modeling this, pull your current agent count and plan from your Zendesk invoice, and confirm whether your account needs Zendesk's JSON, CSV or XML exports, which are available on Suite Growth and higher and must be enabled by the account owner through Zendesk support. Those exports also set context for migration effort: XML is capped at 500 MB and unavailable above 200,000 tickets. Put a one-time migration estimate beside the recurring costs, and ask Zammad or your partner for a written quote that separates hosting, migration, support and administration.

Which cost components each side carries

This table sets each cost component of commercial Zendesk against self-hosted Zammad, showing who is paid, whether the cost is one-time or recurring, and what drives it up. Read it as a checklist for a quote or internal budget, since Zendesk's subscription is a single recurring line while Zammad shifts most spending to infrastructure and staff time. The main takeaway is that the absence of a license fee does not remove recurring work, and the Zammad support subscription is optional and priced in EUR per year per the Zammad pricing page.

Cost componentCommercial Zendesk sideSelf-hosted Zammad sideOne-time or recurring
Subscription or licensePer-agent Suite plan paid to Zendesk, with price set by plan and agent countNo license fee for the AGPLv3 software; optional Zammad support subscription in EUR per year on the Zammad pricing pageZendesk: recurring. Zammad: recurring only if a support contract is chosen
InfrastructureIncluded in the subscription; Zendesk hosts the application and dataServers or cloud instances for the application, PostgreSQL 15 or newer, Redis 7 or newer, and optional ElasticsearchRecurring
ImplementationPlan configuration, channels, routing and agent setup inside the Zendesk admin consoleInstallation by package, Docker Compose or Helm, reverse proxy, email channels and third-party login setupOne-time, with ongoing changes
Data migrationExport or migration work is needed only when leaving ZendeskBuilt-in Zendesk migrator needs an API token from a full administrator; passwords are not migrated and differential runs are unsupportedOne-time per migration, plus test runs
Vendor supportIncluded in the Zendesk planCommunity support, or a Business, Enterprise or Corporation support contract from Zammad GmbH, or a third-party partnerRecurring if a contract is bought
Upgrades and patchingPerformed by ZendeskYour team or partner applies minor releases and security releases, such as the 7.2 line and parallel 6.5 fixesRecurring
Internal skills and admin timeAdmin time for configuration and reporting in the Zendesk consoleStaff time for Linux, database, cache, backup and monitoring operations, plus Zammad administrationRecurring; often the largest internal cost
Backup and exportsAccount exports in JSON, CSV or XML need a plan that allows them and must be enabled by Zendesk supportYour own backup schedule for PostgreSQL and attachments, which you control and testRecurring
Exit costExport work and data cleanup if you leave Zendesk laterMigration out of Zammad depends on your export format and tooling; confirm the process before you commitOne-time when leaving

What moves the Zammad-versus-Zendesk comparison

Zendesk's bill scales with agents and plan tier, while self-hosted Zammad scales with infrastructure and the people who run it. The cards below cover the factors that most change the result, from ticket volume and data export limits to residency rules and the in-house skills a self-hosted stack requires.

Agent count and ticket volume

Zendesk pricing is quoted per agent, so headcount and seat tiers set the subscription line. Self-hosted Zammad has no license fee, so the cost question shifts to how many tickets, attachments and concurrent agents the server sizing must handle. Ask Zendesk for a quote at your actual agent count and plan tier, and ask your own engineers to size a Zammad instance for your peak ticket load and mailbox volume before comparing totals.

Data volume and export limits

Your data volume determines how hard it is to leave Zendesk and how much backup storage you need. Zendesk's XML export is capped at 500 MB and is unavailable above 200,000 tickets, so larger accounts should plan on JSON. Budget migration time for the full history, and confirm with Zendesk support that exports are enabled on your plan before you start.

Edition and plan tier

Some features that drive Zendesk spend sit behind higher Suite or Support tiers, and data export access depends on the plan. On the Zammad side, features are part of one open-source codebase, while a Zammad GmbH support contract is a separate, optional line item. Compare the tier you need in Zendesk with the support level you would buy for Zammad, not with the free software alone.

Availability and on-call needs

Zendesk runs the service for you, including uptime and patching. A self-hosted Zammad instance makes your team responsible for availability, backups, upgrades and incident response, often outside business hours for a 24/7 support operation. Define your required uptime and out-of-hours coverage first, then price the on-call rota and monitoring that meet it, whether that comes from internal staff or a retainer.

EU residency requirements

If regulators or internal policy require support data to stay in a specific region, the answer may favor self-hosting or Zammad's German-hosted plans over Zendesk's standard service. Zendesk's data center location add-on applies only to certain plans, so confirm which service data it covers. Document where tickets, attachments and logs will reside, and confirm the hosting location with each vendor in writing.

In-house skills for the stack

A production Zammad deployment depends on PostgreSQL, Redis and, for search and reporting, Elasticsearch, with Memcached needed for multi-instance setups. Each component adds patching, tuning and backup work. Check whether your platform team already runs these services. If not, add the cost of training, a managed service or an implementation partner to the self-hosted side of the comparison.

What the self-hosted Zammad stack asks you to run

Running Zammad yourself means operating a small stack, not a single application. The database is PostgreSQL 15 or newer, which holds all ticket content. Redis 7 or newer handles realtime websocket communication, so agents see updates without refreshing. A reverse proxy, either Nginx or Apache, sits in front of the application. Each of these is a service your team installs, configures, backs up, patches and monitors, and each carries its own upgrade path. Before you compare hosting costs with Zendesk's per-agent fee, list these components and assign an owner for each one, including who receives security advisories for Redis and PostgreSQL. Two components are optional but change the workload. Elasticsearch is not required, yet Zammad uses it for faster search, reporting features and searching the content of email attachments, and the project strongly recommends it. Choosing to skip it keeps the stack smaller but limits search and reporting, which matters if you rely on Zendesk's search for daily work. Memcached is needed when you run multiple Zammad instances, such as containers or cluster nodes, while a single installation can use the file system cache. If you plan a multi-node design for availability, budget for Memcached and confirm the cache settings in the Zammad software requirements before you size hardware. Zammad documents three install paths: system packages, Docker Compose and a Kubernetes Helm chart. Package installs are the simplest to audit but tie upgrades to your operating system's schedule. Docker Compose suits a single host with clear version pinning. On Kubernetes, Zammad support covers only the Zammad application, so cluster networking, storage classes and node issues remain with your platform team or a partner. Ask your platform team which path matches your existing operations skills, and ask any implementation partner to state in writing which layers they will own.

How to build the comparison with your own numbers

This sequence turns the cost comparison into a three to five year model built from your own Zendesk invoices, infrastructure quotes and admin time, so each line can be checked against a source document.

  1. Count named agents and light users

    Support leads and the account owner list every named agent, admin and light user on your current Zendesk plans, noting which seats are full agents and which only need read access. Keep the list separate for each plan tier, because Zendesk prices by plan and seat type. The step is done when the count matches the seat totals shown in the Zendesk admin console and you can explain any difference from the invoice.

  2. Pull the current Zendesk price from your order form

    Finance or procurement takes the per-agent price, term length, discounts and add-ons from your signed order form or latest invoice, not from a list price or an estimate. Record the currency, billing frequency and any multi-year commitment, since these change the annual figure. The step is done when you have one annual Zendesk subscription total with its source document and renewal date attached.

  3. Size the self-hosted infrastructure from real quotes

    Your infrastructure or cloud team requests quotes for the virtual machines or managed services that will run Zammad, along with PostgreSQL 15 or newer, Redis 7 or newer, and optionally Elasticsearch for search and Memcached if you run multiple instances. Include backup storage, load balancing and a non-production copy for testing. The step is done when each component has a priced line from your provider and a note on whether it is one-time or monthly.

  4. Scope the migration against Zammad's limits

    Your team confirms what Zendesk data must move, such as tickets, users, organizations and macros, and checks it against Zammad's migration documentation. The Zendesk migrator needs an API token from a full administrator, does not migrate user passwords, does not support differential runs, and has rate limits that depend on your Zendesk plan. Decide whether any remaining work needs a custom import through the Zammad API or outside help. The step is done when the scope is written down with a named owner for each item and each cost line is either priced or marked for quote.

  5. Choose the support level

    Decide between no vendor support, Business, Enterprise or Corporation, the self-hosted support subscriptions Zammad GmbH sells. Zammad's pricing page lists Business at 2,999 EUR per year, Enterprise at 5,999 EUR per year and Corporation at 9,999 EUR per year. Compare the level you need against your internal skills, uptime expectations and the cost of an implementation partner for the migration. The step is done when you have recorded one support option and the reason for it.

  6. Estimate admin hours from time records

    Ask the people who will run Zammad to log their hours for a representative month of Zendesk administration, such as trigger changes, reporting and user management, then estimate the equivalent hours for Zammad patching, backups, upgrades and monitoring. Include time for reviewing security releases in both release lines. Use your own time records or timesheets for the baseline, and label any forecast as an estimate. The step is done when you have monthly hours for each option and an agreed hourly internal rate.

  7. Run a three to five year view

    Build a spreadsheet with one-time costs (migration scope, setup, testing and training) in a separate column from recurring costs (Zendesk subscription, hosting, support contract and admin hours). Run the totals for three and five years and include a line for any Zendesk data export or archive you keep. The step is done when the model shows each line's source document, and the finance and support owners have signed off on the assumptions.

What the Zendesk to Zammad migration costs in effort

The effort of moving from Zendesk to Zammad is shaped less by the tool than by the constraints of its built-in migrator, so plan around those constraints before estimating anything. Zammad's Zendesk migrator needs an API token created by a full administrator in Zendesk, and the migration runs all or nothing on a new Zammad instance. It does not carry over user passwords, so every imported agent and customer will need a password reset or a login through a configured provider such as SAML, OpenID Connect or Google. Ask your Zendesk owner who can create that token and confirm, in the Zammad Zendesk migration documentation, how rate limits apply to your Zendesk plan, since those limits set how long the import takes.

The largest hidden cost is rerunning. Because differential migrations are not supported, a change made in Zendesk after a test run is not picked up by a later run, and a failed or unsatisfactory import means starting the whole migration on a fresh instance. Each rerun therefore costs administrator time for setup, verification and sign-off. Reduce that time by cleaning Zendesk data first (closing stale tickets, removing duplicate users, and fixing organizations) and by agreeing on a single cutover date so the import runs once. Effort rises when there are many custom fields, macros or triggers that need manual rebuilding in Zammad, which the migrator does not translate for you.

Zendesk's own JSON export is the practical safety net. Exports are available on Suite Growth and higher and on Support Professional and higher, but the account owner must ask Zendesk support to enable them. Request that export before cutover and store it under your retention rules, because it gives you a restorable copy of tickets, users and organizations if the import needs to be reversed. Note that the CSV export omits ticket comments and descriptions, so JSON is the format to keep. Confirm with Zendesk, before you start, that the export is enabled and that your account size fits the format limits described in the help center.

Questions buyers ask before comparing costs

Is Zammad free to run on our own servers?

Yes, the self-hosted Zammad software has no license fee. Zammad is licensed under the GNU Affero General Public License version 3, so the software itself costs nothing to download and install. What you pay for is everything around it: the servers or cloud accounts that host the application, PostgreSQL 15 or newer, Redis 7 or newer, a reverse proxy such as Nginx or Apache, and optional Elasticsearch for faster search and attachment content search. Storage, backups, monitoring, email routing and the staff who operate the system are also yours to fund. Those costs recur every month, while installation and configuration are mostly one-time. Ask your team to price each component separately so the comparison with Zendesk Suite covers the same functions.

What does a Zammad support contract add to self-hosting?

A support contract buys vendor-backed help for a self-hosted installation, not the software. Zammad GmbH sells support subscriptions for self-hosted installations named Business at 2,999 EUR per year, Enterprise at 5,999 EUR per year and Corporation at 9,999 EUR per year, according to its pricing page. Before you buy, confirm with Zammad GmbH what each tier covers, including response expectations, upgrade assistance, the Zammad versions it supports and whether it covers Kubernetes-specific issues, which Zammad's documentation says fall outside its support scope. A contract is optional. Many teams compare it against the internal staff time it would replace, and the answer depends on how much in-house Zammad experience you already have.

How much internal admin time does self-hosting Zammad need?

The honest answer depends on your environment, so treat any figure you hear as a question to verify. The main drivers are how many instances you run, whether you use Docker Compose or the Kubernetes Helm chart, how often you upgrade, how many email channels and integrations you connect, and whether you enable Elasticsearch. Multi-instance deployments such as containers or cluster nodes need Memcached, while single installations can use the file system cache, so the design choice changes the workload. Ongoing tasks include patching the operating system and database, applying Zammad releases, managing backups, watching queues and email delivery, and handling user and role administration. Ask your platform team to estimate these hours in writing for your chosen architecture, then compare them with the seats and admin hours you spend on Zendesk today.

Can our own team run the Zendesk to Zammad migration without outside help?

Your team can run the migration if it has someone comfortable with the Zammad administration console, a full Zendesk administrator who can create the API token, and a clear cutover plan. Zammad's built-in Zendesk migrator needs an API token created by a full administrator, does not migrate user passwords, does not support differential migrations, and its rate limits depend on your Zendesk plan. Migrations are all or nothing, run only on a new Zammad instance and accept one source system per migration. Plan for a test import, reconciliation of tickets, users and organizations, and a sign-off step before cutover. If your team has not done this before, an outside implementation partner can take on that work under a written, fixed scope. DeployOpen plans, implements and documents self-hosted platforms in the client's own infrastructure, but it does not issue audit reports or certifications.

What does a quote for self-hosted Zammad depend on?

A quote depends on scope, architecture and the level of ongoing responsibility you want to hand over. The main inputs are the number of agents and users, ticket volume, the number of channels and integrations, data retention rules, the hosting model you choose, and whether you need high availability, backup testing, monitoring or compliance evidence gathered for an assessment. Ask for line items that separate one-time work such as installation, configuration, migration and documentation from recurring work such as upgrades, backup operations and support retainers. Also ask which components you would pay a third party for and which you would pay your cloud or data center provider for. DeployOpen does not publish a price list. Its engagements are usually fixed-scope, with scope, deliverables and timelines agreed in writing before work starts.

Does moving to self-hosted Zammad change what happens at renewal?

Yes. Zendesk renewals are a recurring per-agent cost, while self-hosted Zammad moves the recurring spend to infrastructure, staff time and any support contract you choose. Before you give notice to Zendesk, export your data. Zendesk's account exports in JSON, CSV and XML are available on Suite Growth and higher and Support Professional and higher, not on Team plans, and they are not enabled by default, so the account owner must ask Zendesk support to turn them on. The CSV export omits ticket comments and descriptions, and XML exports are capped at 500 MB and unavailable above 200,000 tickets, so JSON is the safer choice for larger accounts. Confirm your contract's notice period and data retention terms with Zendesk directly, since those terms are outside this comparison.

Costs teams forget on each side

The per-agent price on a Zendesk quote is rarely the whole bill, and a self-hosted Zammad has no license fee but still carries running costs. The cards below cover the items that tend to appear after the decision, on both the Zendesk side and the self-hosted side.

Zendesk add-ons and overages

Suite pricing is only the base. Ask for a written list of every add-on the team uses or plans to use, such as advanced security, data residency or extra channels, and confirm how overage is billed if agent or usage counts grow mid-term. Check the notice period for renewal price changes so the exit date can be planned against the current contract.

Export and retention work before exit

Zendesk exports are not enabled by default on any plan, and the account owner must ask Zendesk support to turn them on. CSV omits comments and descriptions, so a full history usually needs JSON or the incremental export API. Budget time for the export, for checking its completeness and for storing the copy under your own retention rules.

Backups and tested restores on-prem

Zendesk backs up the platform for you, but a self-hosted Zammad puts PostgreSQL, attachments and configuration under your team's control. The recurring cost is the backup storage, the monitoring that proves backups ran, and time spent on restore tests. A backup that has never been restored is not a control, so schedule restore drills as a recurring task.

Elasticsearch sizing and upkeep

Elasticsearch is optional but strongly recommended for Zammad, since it powers faster search, reporting and attachment content search. It adds a separate server tier with its own memory, disk and index maintenance, and it grows with ticket volume and attachment history. Ask your implementation partner to size it from your ticket count and retention period before purchasing hardware.

Staff cover for security release lines

Zammad publishes security releases on more than one line at once. In the recent period, 7.x and 6.5 both received security fixes within days of each other, so patching is not a once-a-year task. Plan named staff and maintenance windows for both lines, and decide who approves an emergency patch outside business hours.

Retraining agents and administrators

Agents, team leads and administrators will learn a different ticket view, macro model, permissions and reporting layout. Budget training time for each role, a short parallel period for the first live queues, and runbooks for admins who will now own user management, mail channels and the migration cleanup. Ask any partner quoting this work to name the roles and hours in writing.

What to ask for in a written scope

Before any cost comparison means anything, the scope needs to be written down. Start with the migration scope: which Zendesk objects move (tickets, users, organizations, macros, triggers, views and knowledge base content), which do not, and who rebuilds the rest by hand. Zammad's built-in Zendesk migrator is all or nothing, works only on a new instance and accepts one source per migration, and it does not carry user passwords or support differential runs. A written scope should say how a cutover window will be handled, how many agents and mailboxes are in play, and who signs off on the imported data. Ask for the effort in writing, separated into migration, configuration and testing, so the internal admin time is visible rather than buried.

Next, fix the hosting topology and the backup and restore tests. The scope should name the reverse proxy (Nginx or Apache), the PostgreSQL 15 or newer database, the Redis 7 or newer instance used for websockets, and whether Elasticsearch and Memcached are included, since both depend on whether the deployment is a single node or a multi-instance setup. It should also name the infrastructure it runs on, its monitoring, and who patches it. For backups, require a documented restore test with a recorded result, not only a backup job. Zendesk's own exports are useful as an independent copy, but they have plan limits and the CSV format omits comments, so the scope should say which copy is authoritative.

Finally, record the support tier and its annual EUR figure, if one is chosen, along with the handover of runbooks. Zammad GmbH lists self-hosted support subscriptions at 2,999 EUR per year for Business, 5,999 EUR per year for Enterprise and 9,999 EUR per year for Corporation, and those figures belong in the scope only as the price the vendor published on its pricing page at the time of quoting. Confirm whether support is included, what it does not cover (such as Kubernetes-specific issues), and what the team keeps in-house. Require written runbooks for upgrades, backups, user administration and incident response, and make their delivery an acceptance condition. The result of the comparison depends on your own figures for agents, hosting, labor and risk, so run the numbers against this written scope, not against any published example.

How DeployOpen scopes a fixed-price Zammad implementation

DeployOpen plans, implements, integrates, hardens, backs up and documents self-hosted Zammad inside your own cloud account, data center or air-gapped network. Engagements are fixed-scope, so the cost of the Zendesk move is agreed in writing before any work begins.

How we scope

  • We confirm your Zendesk plan, agent count and whether you need the Zammad GmbH support tier or a retainer.
  • We agree which tickets, users, organizations, macros and triggers move, and which history stays in a Zendesk export.
  • We record hosting location, data residency requirements and who on your team owns the API token and admin tasks.

How we build

  • We install Zammad with its documented package, Docker Compose or Helm options, plus PostgreSQL, Redis and Elasticsearch where required.
  • We run the Zendesk migrator against a new instance in a test environment and check results before any cutover.
  • We configure single sign-on through your identity provider and set up email channels, roles and the knowledge base in scope.

How we hand over

  • We document the hosting topology, backup and restore steps, upgrade procedure and the internal admin tasks your team will own.
  • We deliver a written record of what migrated, what did not, including user passwords, and any differential sync decisions.
  • We walk your administrators through daily operations so the running cost is understood before go-live.

How we support

  • Ongoing support, upgrades and continuous testing are available as a retainer after handover.
  • We can plan Zammad upgrades and security patch rollouts against the release notes for your running version.
  • Any Zammad GmbH support contract you choose stays a separate purchase, which we can help you scope and integrate.

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.