Open-source alternatives to Freshdesk for self-hosted customer support

Zammad is the open-source option built for customer support ticketing, with a built-in Freshdesk migrator. This page covers what carries over, what must be rebuilt and what the move costs.

On this page

Which open-source alternative to Freshdesk fits your support team

For customer support ticketing, Zammad is the main self-hosted option to evaluate against Freshdesk. GLPI fits only if IT service management is also in scope, such as internal IT incidents, change control, asset inventory and a configuration database alongside customer requests. If your renewal or pricing review is the trigger, decide early which of those two workloads you are actually moving, because that choice drives the platform, the migration plan and the staff who will own it.

Teams usually start looking elsewhere for a few recurring reasons: a renewal that forces a new commercial conversation, a change in pricing or packaging, a requirement to keep ticket data in a specific jurisdiction or on infrastructure the organization controls, or a growing concern about depending on one vendor's hosted platform for years of case history. Self-hosting addresses the residency and lock-in concerns directly, since the data sits in your cloud account or data center. It also moves operational duties to you, including upgrades, backups, access control and monitoring, so the trade-off should be weighed before the decision is made. Zammad is licensed under GNU AGPLv3 and its source code is owned by the Zammad Foundation, independent of Zammad GmbH, which is useful context when you assess long-term control of the software. Confirm the license obligations with your legal team if you plan to modify the code.

Before you commit, check three things in your own environment. First, confirm which Freshdesk data you need to keep, because Freshdesk's XML export from the account administration area covers tickets, solutions, forums and customers, and that scope will shape what you migrate. Second, list the integrations your agents rely on today, such as telephony, chat or internal systems, since none of them move with the data. Third, ask whether your support team needs ticketing only or a combined service desk. If the answer is ticketing only, Zammad is the starting point. If the answer includes IT service management, evaluate GLPI in the same pilot.

Open-source options that can replace Freshdesk ticketing

Freshdesk is a customer support ticketing product, so the replacement question starts with Zammad, which is built for agent-facing ticketing. GLPI covers a different part of the work, internal IT incidents and assets, and is useful mainly if your Freshdesk use extends into IT operations. The cards below set out what each option fits, what it costs to run, and what to check before you commit.

Zammad for customer support ticketing

Zammad is licensed under GNU AGPLv3 and its source code is owned by the Zammad Foundation, independent of Zammad GmbH, which develops it with the community. Its built-in migrator imports from Freshdesk, so a support team moving off Freshdesk has a direct path. Migrations are all or nothing and work only on a new instance, so plan a clean target rather than an in-place upgrade. Confirm that the migrator carries the attachments, custom fields and automation rules your team relies on before you retire the Freshdesk account.

Freshdesk XML export as a fallback

Freshdesk account administrators can export tickets, solutions, forums and customers as XML from Admin, Account, Account Details, Export data, on all plans. Use this file as the source of record and your independent copy, even if the Zammad migrator handles the import. Ask Freshdesk what the export does not include, and test a sample import into a staging Zammad instance before the cutover. Keep the export in your own storage, since it contains customer personal data.

Self-hosted or hosted Zammad with vendor support

You can run Zammad yourself in your own cloud account or data center, or use the hosted plans that Zammad GmbH runs in German data centers. Self-hosting shifts operational work to your team, including upgrades, backups, mail connectors and monitoring. Zammad GmbH sells support contracts for self-hosted installations named Business, Enterprise and Corporation. Ask each tier what response commitments, upgrade help and hardening guidance it includes, and compare them with an implementation partner's fixed scope.

Rebuilding automation and reporting

Ticket data often moves more easily than the workflow around it. Triggers, macros, SLAs, routing rules, and the reports your managers read usually need to be recreated in Zammad's own model. Inventory every Freshdesk automation before migration, mark which ones are still needed, and test each one with real ticket samples. Plan for this rebuild as a distinct workstream, because it is the most common source of surprises after go-live.

GLPI for internal IT incidents

GLPI is free asset and IT management software under GPL-3.0. It covers ITIL incident, problem, change and service level management, asset inventory, configuration management, a knowledge base and contract management. It suits internal IT teams that need an asset register next to their ticketing, and it is a weaker match for external customer support conversations. Its maintainer, Teclib', also runs GLPI Network, a hosted offering with a free 45-day trial.

Confirming fit before you commit

Before choosing, run a short proof of concept with a representative queue, your real mailbox routing and your reporting needs. Confirm channel support for chat, social and phone integrations you use today, because those connectors vary by product and version. Ask whether the migrated data includes Freshdesk ticket history with original timestamps and agent assignments. Record the answers in writing so the scope and cost follow from confirmed facts.

How Freshdesk capabilities map to Zammad and GLPI

This table compares the main Freshdesk customer support capabilities with Zammad, the self-hosted helpdesk this migration targets, and GLPI, which covers ITIL service management for internal IT. Read each cell as a starting point: Zammad's current documentation should confirm channels, SLA rules, automation conditions and reporting before you commit to a design.

Freshdesk capabilityZammadGLPI
Email-to-ticketEmail is a core channel for ticket creation and replies. Confirm inbound and outbound mailbox setup against current Zammad documentation.Ticket creation by email is available, but customer support workflows are less central than in Zammad. Confirm mailbox collector setup.
Agent collaborationShared ticket views, internal notes and ticket assignment. Confirm group and role permissions for your team structure.Assignment to users and groups with ITIL roles for requesters, assignees and observers. Confirm fit for non-IT support teams.
SLAs and escalationsSLA rules are supported. Confirm the exact conditions, calendars and escalation actions your plan needs in current documentation.Service level management is covered under the ITIL scope. Confirm how targets map to your existing Freshdesk SLA policies.
Automations and triggersTriggers and scheduled actions are supported. Confirm which conditions and actions match your Freshdesk automations, since these rarely convert one to one.Business rules and automatic actions are available. Expect to rebuild most automations by hand.
Knowledge base and solutionsKnowledge base is available as a built-in module. Confirm public access, categories and migration of Freshdesk solution articles.Knowledge base module covers internal articles. Public customer-facing portal use usually needs additional work.
Customer portalCustomers can view and reply to tickets through the web interface. Confirm branding and self-service options for your deployment.Self-service portal exists for requesters. Confirm whether it meets external customer needs.
Reporting and dashboardsBuilt-in overviews and reporting. Confirm the metrics you rely on in Freshdesk reports and plan to recreate any missing ones.Statistics and dashboards are available for tickets and assets. Confirm report exports and custom reporting needs.
Multichannel (chat, phone, social)Channel support varies by edition and integration. Confirm chat, phone and social channels against current Zammad documentation before planning.Not a multichannel contact center. Pair with a separate telephony or chat tool if needed.
API accessREST API is available for tickets, users and organizations. Confirm endpoints needed for integrations and rate limits for your hosting.REST API is available for assets and tickets. Confirm coverage against your integration list.

What you give up when leaving Freshdesk and how teams work around it

Freshdesk's XML export moves tickets, solutions, forums and customers, but a helpdesk also carries configuration that lives inside the admin console. The cards below cover what typically stays behind, how to inventory it before cutover, and the workarounds teams use to rebuild it in Zammad. Confirm each item against your own Freshdesk account, since the export contents are the part of the migration this page can describe with confidence.

Automations and ticket rules

Freshdesk automations route, prioritize and escalate tickets based on conditions set in the admin console. The XML export contains ticket records, not the rule definitions, so these do not arrive as working logic. Inventory every active rule before cutover and recreate each one as a Zammad trigger or an equivalent mechanism. Test escalations and any time-based behavior with sample tickets, because timing logic is easy to misconfigure and hard to spot in daily use.

Custom reports and dashboards

Reports and dashboards your team built in Freshdesk live in that product, so they do not move with the export. The export gives you the underlying ticket records, which you can parse to rebuild historical figures outside Zammad. Ask who owns each report, which fields it depends on, and whether metrics such as first response or resolution time can be reproduced from exported timestamps. Agree the baseline definitions before cutover so trend lines remain comparable.

Portal and widget configuration

The Freshdesk export covers tickets, solutions, forums and customers, but not the portal theme, widget placement or contact forms that surround that content. Those need to be recreated in Zammad's own configuration. Solution articles and forum posts arrive as content records, so review formatting, embedded images and internal links after import. Check that public URLs customers have bookmarked still resolve, or plan redirects for the ones that do not.

Third-party app integrations

Connections to chat, telephony, CRM and marketplace apps are configured inside Freshdesk and are not part of the data export. Inventory each one with its business owner, its data direction and the credentials it uses. For each, decide whether Zammad offers a suitable channel or integration, whether a connector must be built, or whether the integration can be retired. Confirm expected behavior with the owning team before you switch off the Freshdesk connection.

Rebuilding through the Zammad API

The Zammad API is the usual route for recreating objects the migrator does not carry, such as scripted group, role and ticket field setup, and for pulling ticket history into reporting. Create a dedicated API token with only the permissions the script needs, and keep setup scripts under version control so the rebuild is repeatable between staging and production. Confirm endpoint coverage for each object type against the Zammad documentation for your version, since not every object is exposed the same way.

Single source and cutover limits

Zammad's migrator runs all or nothing, works only on a new instance and accepts one source system per migration. If you are also consolidating a second helpdesk into the same Zammad, plan a separate run and a reconciliation step, since one import will not merge two sources. Stop writes in Freshdesk during the final export window and agree in advance who signs off the last delta before the switch.

How to migrate from Freshdesk to Zammad step by step

This sequence moves customer support from Freshdesk to a self-hosted Zammad instance in controlled stages, so each stage produces evidence that the next one can rely on. It ends with a verified cutover and a retired Freshdesk account.

  1. Inventory agents, groups, SLAs and integrations

    Your support operations lead and a Freshdesk administrator list every agent, group, role, business hour calendar, SLA policy, automation rule, email inbox and integration that feeds or reads from Freshdesk, such as chat, telephony, billing or the product's own help widgets. Record which items you intend to rebuild in Zammad and which you will retire. The step is complete when the list has an owner and a disposition for every line, signed off by the team that depends on each item.

  2. Export account data as XML

    A Freshdesk account administrator opens Admin, Account, Account Details, then Export data, and requests the XML export of tickets, solutions, forums and customers. Freshdesk offers this export on all plans. Store the archive in a restricted location, record its date and the account it came from, and confirm that the file opens and contains the expected ticket and customer counts. The export is your baseline for the migration and for any later reconciliation.

  3. Map fields, states and roles to Zammad

    Your support lead and the Zammad administrator compare Freshdesk ticket statuses, priorities, custom fields, agent roles and group structures against Zammad's object model, then write a mapping table that names the target for each one. Decide how to handle attachments, merged tickets, and customer records that appear under more than one email address. Confirm with Zammad's migration documentation which items the built-in migrator carries over and which need manual work. The mapping is complete when every Freshdesk field has a documented target or an agreed reason to drop it.

  4. Run a pilot on a new Zammad instance

    Your platform team provisions a new, self-hosted Zammad instance in your own environment and runs the built-in Freshdesk migrator against a copy of the export. The migrator is all or nothing, works only on a new instance and accepts one source system per migration, so the pilot must use a fresh instance rather than a live one. Support agents then test sample tickets, customer lookups, SLA timers, notifications and reporting. The pilot is complete when the test cases you wrote in step one pass and the team signs off on the results.

  5. Rebuild configuration and integrations

    Your Zammad administrator recreates the items the migrator does not carry across, such as triggers, schedules, email channels, SLA rules, macros and integrations with chat or telephony systems. The DeployOpen team, or your own engineers, documents each rebuilt item against the disposition list from step one. Confirm the result with a second person who did not build it. The step is complete when every item marked for rebuild has a tested replacement and a recorded owner.

  6. Operate Zammad and Freshdesk in parallel

    For a defined period agreed with your support leadership, new inbound requests go to Zammad while Freshdesk stays available for existing conversations and reference. Agents work in both systems and log discrepancies in a shared list. Your team compares ticket volumes, response handling and SLA reporting between the two systems each day. The parallel run is complete when discrepancies are resolved and leadership agrees that Zammad handles production work reliably.

  7. Cut over email routing and DNS

    Your network and email administrators switch inbound support addresses, forwarding rules and any web form endpoints from Freshdesk to the Zammad instance. The team runs a final incremental import of any tickets created after the original export, then freezes Freshdesk for new work. Test each channel by sending a message from outside your organization and confirming it appears in Zammad. Cutover is complete when every support channel reaches Zammad and a documented rollback plan has been tested.

  8. Decommission Freshdesk and retain records

    After cutover is stable, your compliance lead confirms the retention requirements for historical tickets and customer data, and the administrator stores the final XML export in an approved archive. Then the team cancels the Freshdesk subscription, removes integrations and revokes agent access, and confirms the vendor's data deletion steps in writing. The step is complete when the archive is verified, access is removed and the contract is closed with a written confirmation from the vendor.

Which option fits your support situation

If your main driver is where customer records live, self-hosted Zammad moves the ticket store into infrastructure you choose, such as your own data center, a private cloud account or an air-gapped segment. Zammad is licensed under GNU AGPLv3 and its source code is owned by the Zammad Foundation, so you can run it without a vendor-hosted tenant. Your team, or a partner such as DeployOpen, then owns hardening, backups, patching and access control.

  • Hosting location: You decide the region, network segment and storage encryption, and you document them for your data protection assessment.
  • Vendor access: Confirm what remote access, if any, your support contract requires, because Zammad GmbH's support options for self-hosted installations are separate from hosted plans.
  • Backups and restore: Define retention, off-site copies and a tested restore procedure, since none of this comes with a hosted service.
  • Integrations: Map every connector that exports ticket data, including email gateways and chat tools, so no copy leaves your boundary by accident.
  • Migration scope: Freshdesk's XML export has to be imported into a new Zammad instance, and the migrator works only on a new instance and is all or nothing.

Before committing, confirm with your legal and security teams which data categories may leave the organization and which must stay inside the self-hosted boundary.

Questions buyers ask before moving off Freshdesk

How long does a Freshdesk to Zammad migration take?

No duration is fixed by the migration tooling itself, so the timeline depends on the size and shape of your Freshdesk data and on how much rebuilding your team needs to do. The main drivers are the volume of tickets and attachments in the XML export, how many agents, groups, roles and SLA rules must be recreated by hand, how many integrations and automations must be rebuilt, and how much cutover testing your support operation requires. Because Zammad's built-in migrator is all or nothing and runs only on a new instance, plan a dry run on a staging system before the cutover date. Ask any partner for a written scope that lists each of these items and the deliverables that close them out.

Can our own team migrate from Freshdesk to Zammad without a partner?

Yes, if your team has the skills and time to run a self-hosted Zammad instance, use the built-in migrator and rebuild the operational configuration by hand. The migrator is documented by Zammad, and Freshdesk administrators can export their account as XML from the Admin area on all plans. What is harder to judge in advance is the rebuild work: groups, roles, SLAs, email channels, macros, triggers and integrations all need to be checked against how your support team actually works. Many organizations split the work, keeping the business rules and agent training in-house while bringing in outside help for hosting, hardening, backup and cutover. Decide which parts you can own before you commit to a timeline.

What does the work require from our internal team?

The work needs named people from support operations, IT or platform engineering, and security or compliance. Support operations owns the decisions about queues, categories, SLAs, macros and what an agent sees on screen. Platform or IT engineers own the server, database, storage, email routing, backups and upgrade process in your own infrastructure. Security or compliance reviews access control, data retention, encryption and how customer personal data is handled during the export and import. Someone must also sign off on the test results and the cutover plan. Confirm these roles in the written scope, because gaps usually appear around email channels and customer data handling.

What does the Freshdesk XML export not carry over?

The Freshdesk export covers tickets, solutions, forums and customers as XML, but the account configuration around that data is not the same as the data itself. Expect to rebuild agent accounts and their permissions, groups, business hours, SLA policies, automation rules, canned responses, email and mailbox setup, custom ticket fields where the mapping is not direct, and any apps or integrations you connected to Freshdesk. Check attachment handling, time zone settings and any ticket status or priority values that do not map one to one. Test a sample of closed and open tickets, including their history and notes, before you accept the migration as complete. Confirm every item against the current export file and Zammad's migration documentation, since the exact coverage can change between releases.

Can Zammad's built-in migrator run more than once?

No. Zammad's migrator runs all or nothing, works only on a new instance and accepts one source system per migration, according to Zammad's migration documentation. It does not run as a differential sync, so changes made in Freshdesk after the import will not be picked up by a second pass into the same instance. In practice, this means you should run a rehearsal on a throwaway instance to find problems, then freeze Freshdesk changes or plan a final export and a fresh import on a clean target at cutover. Ask your team to confirm the current behavior in the version you intend to deploy, because migrator rules are the kind of detail that changes across releases.

What does a Zammad support contract cover?

Zammad GmbH offers support contracts for self-hosted installations under the names Business, Enterprise and Corporation, according to its pricing page. These contracts are a vendor relationship with the company that develops Zammad, and they are separate from the open-source license, which is GNU AGPLv3 and does not require a subscription to use. Compare the contract tiers on the pricing page and ask Zammad GmbH to confirm in writing which response times, channels, upgrade help and escalation paths each tier includes. A contract is an ongoing recurring cost, so include it in your total cost of ownership next to hosting, staff time and any outside services. Do not assume a contract covers your customizations or your hosting environment unless the written terms say so.

What recurring costs do we take on after the move?

After cutover, the recurring costs are the infrastructure that runs Zammad, the people who operate and patch it, backups and storage for ticket history and attachments, and any vendor support contract you choose. Freshdesk subscription fees stop only when your account is closed, so run both systems in parallel for the agreed period and budget for that overlap. Costs rise with ticket volume, attachment size, number of agents, email channels and the number of integrations you maintain. Ask any partner to separate one-time work, such as the migration and rebuild, from ongoing retainer work, such as upgrades and monitoring, in the quote.

What carries over from Freshdesk and what must be rebuilt

Plan on the records moving and the routing logic being rebuilt. Freshdesk's XML export, found under Admin, Account, Account Details, Export data, covers tickets, solutions, forums and customers, and it is available on all plans. Zammad's built-in migrator reads that Freshdesk source and imports the customer and ticket history. Those are the records your agents and auditors will search. Everything that tells the system how to act on those records sits in configuration, and that configuration is not the same thing as data. Treat the two as separate workstreams with separate owners and sign-off.

Expect to recreate the triggers, SLA policies, automations, mailboxes, macros, business hours and portal branding in Zammad by hand. Freshdesk's rules for routing, escalation and response targets depend on how your team built them, so each one needs a written equivalent in Zammad's trigger, overview and SLA settings before cutover. Inbound email addresses must be reconnected to Zammad's mail channels, and the help center's look and content must be rebuilt separately. The Zammad migration documentation states that migrations run all or nothing, only on a new instance and from one source system at a time, so a partial retry is not an option. Test on a scratch instance first.

Before you commit, run a test Freshdesk export and compare the XML fields against a sample of real tickets. Confirm how attachments, ticket time stamps, custom fields, tags, agent assignments and customer organizations are represented after import, and confirm the exact field coverage with the Zammad version you plan to run. Build an inventory of every Freshdesk rule and mailbox, then assign each one to a rebuild item with an owner. If you want an implementer to write that inventory and run the rebuild, the scope, deliverables and timeline are agreed in writing before work starts, and the quote follows from that scope.

How DeployOpen scopes, migrates and supports your Zammad move

DeployOpen is a Chainscore Labs company that plans, implements, hardens, backs up, documents and supports self-hosted open-source platforms inside your own cloud accounts, data centers or air-gapped networks. For a move from Freshdesk to Zammad, we start with a written scope that covers the data export, the migration run, and the parts of the helpdesk that must be rebuilt by hand.

How we scope

  • We confirm which Freshdesk XML export components you need: tickets, solutions, forums and customers.
  • We map agent groups, roles, SLAs, automations and email channels to Zammad equivalents before any build starts.
  • Engagements are fixed-scope, so deliverables and timelines are agreed in writing before work begins.

How we build

  • We stand up a new Zammad instance in your environment, since the built-in migrator only runs against a new instance.
  • We run the migration as a full import, test it against a copy of the data, and check ticket counts and attachments.
  • We rebuild triggers, macros, email channels and reporting, then test each workflow with your support team.

How we hand over

  • We document the architecture, the migration steps, the configuration decisions and the rebuilt workflows.
  • We write runbooks for backups, upgrades and user management so your own staff can operate the system.
  • We agree a cutover plan with a rollback path and a defined window for the final Freshdesk export.

How we support

  • Ongoing support, upgrades and continuous security testing are available as retainers after go-live.
  • Zammad GmbH offers support contracts for self-hosted installations, and we can help you compare them with a retainer.
  • Ask us to confirm which parts of the Freshdesk setup, such as third-party integrations, need a post-migration review.

Sources and further reading

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.