Overview
Discover what makes Zammad powerful
Zammad is a modern, open‑source ticketing and customer support platform that unifies communication channels—email, chat, telephone, social media—into a single web interface. From a developer’s standpoint it is an opinionated Ruby on Rails application that exposes a rich REST API, WebSocket endpoints, and a plugin architecture for extending core functionality. The project is licensed under AGPL‑v3, ensuring that any derivative work remains open source while giving the community a clear legal framework for contribution and distribution.
Multichannel ingest
Real‑time updates
Automation engine
Extensibility
Overview
Zammad is a modern, open‑source ticketing and customer support platform that unifies communication channels—email, chat, telephone, social media—into a single web interface. From a developer’s standpoint it is an opinionated Ruby on Rails application that exposes a rich REST API, WebSocket endpoints, and a plugin architecture for extending core functionality. The project is licensed under AGPL‑v3, ensuring that any derivative work remains open source while giving the community a clear legal framework for contribution and distribution.
Key Features
- Multichannel ingest: Incoming emails are parsed with
mail, chat and phone integrations rely on WebSocket/AMQP pipelines, and social feeds are pulled via scheduled jobs. - Real‑time updates: The front‑end uses
ActionCableto push ticket changes, notifications, and chat messages without page refreshes. - Automation engine: Rules, triggers, SLA definitions, and dynamic fields are all configurable through the UI but also exposed via API for programmatic manipulation.
- Extensibility: A Ruby‑based plugin system lets developers ship modules that hook into lifecycle callbacks (
before_create,after_update) and add new REST endpoints or UI widgets.
Technical Stack
| Layer | Technology |
|---|---|
| Application | Ruby on Rails 7.x, PostgreSQL 12+, Redis (session store & background jobs) |
| Background workers | Sidekiq, used for email parsing, ticket aging, outbound notifications |
| Search & indexing | ElasticSearch (optional) for full‑text search across tickets and assets |
| Containerization | Official Docker images, docker-compose templates, Helm chart for Kubernetes |
| API | JSON‑based REST (/api/v1/...) + WebSocket (/cable) |
| Testing | RSpec, Capybara, FactoryBot – extensive CI pipelines on GitHub Actions |
The core codebase is split into app/models, app/controllers, and a separate lib/zammad namespace that holds business logic. Plugins are installed as Rails engines, making them first‑class citizens in the application lifecycle.
Core Capabilities for Developers
- Full CRUD API: Manage tickets, users, groups, and organizations via authenticated REST calls.
- Webhooks & Event Subscriptions: Subscribe to ticket events (
ticket.created,ticket.updated) and send payloads to external services. - Custom Fields & Form Config: Programmatically add dynamic fields, validation rules, and UI widgets.
- Authentication Hooks: Integrate with LDAP/Active Directory or SAML providers through the
authnamespace. - Scripting: Use the built‑in scripting console (
/dev/shell) to run Ruby code against live data, useful for migrations or debugging.
Deployment & Infrastructure
Zammad is designed to run in a container‑oriented environment but also supports traditional package installation on Debian/Ubuntu or RHEL/CentOS. The Docker image includes all dependencies and can be orchestrated with Compose, Swarm, or Kubernetes via the provided Helm chart. Horizontal scaling is achieved by running multiple Rails workers behind a load balancer; PostgreSQL can be replicated for read scalability, and Redis supports clustering. Backups are automated through pg_dump scripts and can be stored in S3 or a local NAS.
Integration & Extensibility
- Plugin System: Plugins are Rails engines that mount routes, add models, and register hooks. The official docs provide a starter template.
- API Rate Limiting: Clients can configure per‑token limits via the admin UI or environment variables.
- OAuth2 & JWT: Supports token‑based authentication for external applications, enabling single‑sign‑on flows.
- Webhooks: POST payloads can be customized to match external service schemas, and incoming webhooks can trigger ticket creation or updates.
- GraphQL (experimental): A preview GraphQL endpoint is available for exploratory queries, though the primary interface remains REST.
Developer Experience
The documentation at docs.zammad.org is modular, with a dedicated “Developer Manual” section that walks through API usage, plugin development, and advanced configuration. The community is active on GitHub Issues, Slack, and the Zammad Foundation mailing list, providing rapid feedback loops. Continuous integration ensures that every PR passes automated tests and style checks before merging.
Use Cases
- Self‑Hosted Helpdesk – Enterprises that require full control over data can deploy Zammad on-premise or in a private cloud, leveraging its LDAP integration for single‑sign‑on.
- Custom Customer Portal – Developers can extend the UI with a Vue or React front‑end that consumes the REST API, while keeping ticketing logic in Zammad.
- Automation‑Heavy Workflows – Companies that need complex SLA enforcement or rule‑based routing can script these rules via the API and plug them into CI/CD pipelines.
- Hybrid Support Channels – Integrate with Twilio for SMS, Slack for internal chat, or custom webhook endpoints to funnel all interactions into a single ticketing system.
Advantages
- Open Source & AGPL‑v3: No vendor lock‑in; the entire codebase is available for inspection and modification.
- Rich API Surface: Almost every feature is exposed programmatically, reducing the need for manual UI interactions.
- Performance: Rails 7 with
ActionCableand Sidekiq provides low‑latency real‑time updates; optional ElasticSearch boosts search
Open SourceReady to get started?
Join the community and start self-hosting Zammad today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
Inboxen
Infinite anonymous inboxes for privacy and clean mail
MongooseIM
Enterprise‑grade XMPP instant messaging platform
Uptime Kuma
Self-hosted uptime monitoring for all services
Vanilla Cookbook
Simplify recipe management with smart conversion and AI assistance

Moodle
Open‑source LMS for online learning and course management
Kavita
Self-hosted digital library for comics, manga, and books
