Build your own Zammad plugin — integrations, API, and webhooks
Searches for Zammad plugins, Zammad integrations, or “install a Zammad add-on” often hit a wall: there is no plugin store like OTOBO or Znuny. Teams still extend Zammad every day — through built-in modules, webhooks, and their own API services.
This article maps that search intent and the shortest path to a custom plugin. The full developer checklist lives in Build your own Zammad plugin.
Why so many people search for Zammad plugins
Zammad is a standalone Ruby helpdesk (AGPL-3.0), not an OTRS fork. Anyone coming from Znuny or OTOBO expects .opm packages. In Zammad, an extension means:
- A native integration in core (GitHub, GitLab, Slack, Teams, LDAP, CTI, Checkmk, …)
- Configuration (triggers, schedulers, core workflows, object manager)
- An external integration via the REST API or webhooks
Open ITSM Hub collects those community projects in the Zammad plugin directory — n8n nodes, MCP servers, PHP/Python clients, Slack bridges, LDAP sync.
Which plugin type do you actually need?
“We want Slack / Teams / GitHub.” Check Admin → Integrations first. Many “plugins” are product features. Setup and tokens are in the admin documentation.
“When a ticket becomes X, system Y should do something.”
Webhook plus trigger. Zammad sends X-Zammad-Trigger and X-Zammad-Delivery; optional HMAC via X-Hub-Signature. No deploy into the Zammad container.
“We are building a portal, ERP sync, or AI agent.”
Your plugin is a service with an access token against /api/v1. Building blocks: n8n Zammad nodes, zammad-mcp-server, zammad_py.
“The UI must change in the core.” That is a fork, not a plugin. High cost on every Zammad upgrade — only with your own release process.
Mini example: create a ticket via API (your first “plugin”)
curl -X POST https://helpdesk.example.com/api/v1/tickets \
-H "Authorization: Token token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "Request from the shop",
"group": "Users",
"customer": "customer@example.com",
"article": {
"subject": "Order 1042",
"body": "Customer asks about delivery status.",
"type": "note",
"internal": false
}
}'
Agents create tokens in personal preferences. Avoid basic auth; restrict permissions to what you need.
Curated integrations to learn from
Before starting from scratch, browse existing packages — filterable by category in the directory:
- ChatOps: slack2zammad, matrix-zammad
- Automation: n8n nodes, Entra user sync
- AI: MCP servers (Softoft-Orga vs. community) — MCP comparison
- Identity: zammad-ldap-sync
- CMS: zammad-wp
Year overview: Best Zammad plugins 2026.
Operations and privacy
A plugin that sends ticket text to n8n, an LLM, or a CRM processes personal data. Settle processing agreements, storage location, and logs before the webhook goes live. Technical guardrails (staging, least privilege, idempotency) are in the developer docs.
Next steps
- Check a native integration or a no-code webhook
- Otherwise sketch an API service and token scopes
- Test against staging, then list it in the directory
Zammad stays upgradeable — and you still get the integration admins are searching for.