Zammad and Checkmk alert tickets

Checkmk can send status alerts to Zammad by email or REST API, creating, updating and closing tickets so infrastructure incidents share the support queue. This page covers the method, prerequisites, setup, mapping, testing and failure points.

On this page

How Zammad and Checkmk alert tickets keep incidents in one queue

Infrastructure incidents raised by Checkmk often sit outside the helpdesk, so support staff learn about an outage from a user complaint instead of the alert. Where the alerts do reach the helpdesk, they can arrive as a new ticket for every notification, which buries the real work under duplicates. Checkmk can send real-time status alerts to Zammad by email or REST API. These alerts create tickets, update them as the state changes and close them when the issue is resolved, and several alerts can update a single ticket.

The purpose is to put monitoring and user requests in one queue. Agents then work from the same list, see the same history and use the same reporting, whether a ticket began as a customer email or a disk-space warning on a file server. Keeping one ticket per incident also means the team does not answer the same outage several times or lose track of which alert belongs to which problem. Treat this as an operating model decision for the support and infrastructure leads together, because it changes who sees alerts and who is expected to act on them.

The method is the one documented in the Zammad admin documentation for Checkmk. Confirm the exact notification setup, including the Checkmk notification rule, the Zammad inbound channel or API endpoint, the fields that identify an existing ticket and the status values used to close one, against that documentation for the Zammad version you run. Settings and field names can change between releases, so test against a non-production instance before enabling live notifications.

Before you build, decide which Checkmk hosts and services should create tickets at all. Alerting on every state change will flood the queue, while alerting only on critical problems may hide warnings that matter. Agree on the routing: which group owns the ticket, which priority each Checkmk state maps to, and who may close a ticket that Checkmk has resolved. Also plan for the case where a ticket was closed by an agent while the alert is still active, since a new alert could reopen it or create a new one depending on your configuration.

Plan for failure of the alert path itself. If email is the transport, check mail delivery, spam filtering and the mailbox used by Zammad. If the REST API is used, check credentials, certificate trust and who rotates them. Run a test incident that goes from a Checkmk alert to a ticket, an update and a closure, and confirm that the second alert updates the first ticket rather than creating a new one. Record the results so the team can repeat the test after each Zammad upgrade.

Prerequisites for Zammad and Checkmk alert tickets

These prerequisites cover the Zammad platform, its data services, the network path and the alert identity that the Checkmk integration depends on. Confirm each one before you change Checkmk notification settings or create alert handling in Zammad, because a gap in any of them appears later as missing tickets or failed deliveries.

Running Zammad on a supported release line

The integration needs a self-hosted Zammad instance that is installed, reachable and already handling ordinary tickets before any alert rule is added. Check the release line you run against the Zammad releases page. Zammad published security release 7.2.2 on 8 October 2026 and security release 6.5.5 on 15 October 2026, so confirm you are on the current patch level of your line before you start. An instance behind on those security fixes should be patched first, because the patch level becomes the baseline you test against.

PostgreSQL 15 and Redis 7

Zammad stores its content in PostgreSQL 15 or newer, so confirm the database version before installation or upgrade. Redis 7 or newer handles the realtime websocket communication that keeps agent screens current, so confirm it is running and reachable from the Zammad application nodes. Verify that backups cover the database. Elasticsearch is optional for this integration but strongly recommended for search and attachment content. Memcached is needed only for multi-instance deployments such as containers or cluster nodes, while single installations can use the file system cache.

Nginx or Apache as reverse proxy

Zammad supports Nginx or Apache as the reverse proxy in front of the application, so choose one of the two and align its configuration with the documentation for your release. The proxy must pass the websocket upgrade that realtime updates use. Confirm its maximum request body size accepts the alert emails or API payloads that Checkmk sends. Keep proxy logs where the on-call team can read them during an incident, since a rejected alert at the proxy leaves no ticket to investigate.

Checkmk site with notification capability

The Checkmk site that monitors your hosts must be able to send notifications to Zammad, either by email or by REST API. Confirm the site version and the notification method your team plans to use. Check that notification rules can be scoped to the hosts and services that should create tickets. Checkmk status alerts create tickets, update them and close them when the issue is resolved, with several alerts updating a single ticket. Decide which services are covered before you enable the rule, because one incident can produce many alerts.

Dedicated alert account or mailbox

Alerts need an identity inside Zammad. Create a dedicated agent account or a dedicated inbound mailbox for Checkmk, so alert activity stays separate from personal agent work and can be audited on its own. Grant only the group and role permissions needed to create, update and close tickets in the queue that receives alerts. If you use email, confirm the mailbox accepts inbound delivery and that its credentials are stored in your secrets process. Ask who owns the account and how its password or API token is rotated.

Network reachability and TLS chain

The Checkmk server must reach the Zammad endpoint over the path you chose, whether that is the REST API or the mail route. Confirm firewall rules, DNS resolution and any proxy between the two systems, and check the return path where a response is expected. The Zammad certificate must present a complete chain that Checkmk trusts, including intermediate certificates, or notifications fail during the TLS handshake. Test the chain from the Checkmk server itself with the hostname Checkmk will use, since a browser test from another machine can pass while the monitoring host fails.

How Checkmk alerts create, update and close tickets

The core behavior to design around is simple: a problem notification from Checkmk creates a Zammad ticket, later notifications about the same problem update that ticket, and a recovery notification closes it. Checkmk can send real-time status alerts to Zammad by email or REST API, and several alerts can update a single ticket. The point of this section is to make sure your team understands that lifecycle before it configures anything, because the deduplication behavior is what keeps infrastructure incidents from flooding the same queue that handles user requests.

Checkmk supports two transport options, and the choice shapes your operating model. Email is the simpler path to start with: Checkmk sends a message to a Zammad inbound address, and Zammad parses it into a ticket or an article. Authentication is largely handled by the mail infrastructure, and parsing depends on the message format Checkmk produces. Failure visibility is weaker, because a bounced or silently dropped message may only show up as a missing ticket. The REST API path uses a Zammad API token and an explicit HTTP call, which gives you clearer authentication control, stronger response codes for failures and a more deliberate payload structure. It also means the token becomes a secret you must store, rotate and scope to the minimum permissions needed.

Whichever transport you choose, the mechanism for linking a new alert to an existing ticket depends on the identifiers the notifications carry. Zammad needs a stable reference, such as a host and service combination or a custom field value, that appears identically in the problem notification and in every later update and recovery. If the identifier changes between notifications, or is not present in the body that Zammad reads, the alerts will create new tickets instead of updating the original. Do not assume the mapping works from general descriptions. Confirm the exact fields and their behavior in the Checkmk and Zammad documentation, then check them in a test instance with a deliberately triggered problem, a repeat notification and a recovery.

Plan the test so it covers the failure cases, not only the happy path. Trigger a problem, let it repeat, recover it, and then raise it again to confirm that a new incident opens a new ticket rather than reopening an old one that was closed. Check how Zammad handles notifications that arrive out of order, and confirm what happens when the mail server or API endpoint is unavailable. Record which team member owns the test results, because those results determine whether the transport and identifier design is ready for production alerting.

Decide early who owns the Checkmk notification rules, who maintains the Zammad inbound channel or API token, and who responds to tickets created by monitoring. A ticket that updates automatically is only useful if an agent knows whether the incident is still active. Agree on the priority and group assigned to monitoring tickets, and document how an engineer should add context to an open alert ticket without breaking the link used for later updates.

Setup sequence for Zammad Checkmk alert tickets

This sequence connects Checkmk notifications to a dedicated Zammad queue so each infrastructure incident opens one ticket, receives updates and closes when the host recovers. Each step ends with a check that confirms the previous step works before the next one starts.

  1. Choose email or REST API and record the decision

    The team that runs Checkmk and the Zammad administrator agree on one inbound method, either email or the REST API, and write the choice down with the reasons. Email needs a mailbox that Zammad can read and a Checkmk notification that sends mail to it. The REST API needs a Zammad credential and a Checkmk notification that calls the Zammad endpoint. Ask Zammad's current documentation for the supported options before you commit, because the setup differs between the two. The step is done when the decision record names the method, the mailbox or API user, the owner of each, and who approves changes to it.

  2. Create the alert owner group and target queue

    The Zammad administrator creates an agent group that owns infrastructure alert tickets, adds the on-call or operations agents to it, and creates a separate queue or ticket view for alerts. Keeping alerts in their own queue stops monitoring traffic from burying customer requests while still putting it in the same helpdesk. Set the group as the default owner for tickets created by the alert channel. The check is a test ticket created by hand in the new queue, which an agent in the owning group can see and reassign, with the queue and group names matching the decision record.

  3. Configure the inbound channel or API credentials

    Depending on the decision, the administrator either configures the mailbox that Zammad polls for alert messages or creates a dedicated API user with a token that has only the permissions needed to create and update tickets in the alert queue. Do not reuse a personal agent login. Store the token or mailbox password in your secrets store, not in a shared document. The check is a successful connection test from Zammad for the mailbox, or an authenticated API call that returns the expected user and group, shown in the admin log without errors.

  4. Point the Checkmk notification at Zammad

    The Checkmk administrator creates a notification rule that sends status alerts for selected hosts and services to the Zammad mailbox or API endpoint. The rule should include problem and recovery notifications so that a closed alert can close the matching ticket. Confirm the exact message fields Checkmk sends with the Zammad documentation for Checkmk, because the matching of alerts to tickets depends on them. The check is a notification test from Checkmk that reaches the Zammad side and is logged there, with no error from the sending or receiving system.

  5. Send a test problem and recovery from a non-production host

    The Checkmk administrator triggers a controlled problem on a non-production host, such as a service set to a deliberate warning state, and then restores it. Both events should travel through the notification rule created in the previous step. This test confirms that the problem and recovery arrive in the expected order and that Zammad recognizes them as the same incident. Record the host, service, timestamps and the Zammad ticket number in the change record. The check is that the test produces messages in Zammad without manual intervention, and no unexpected extra tickets appear in the queue.

  6. Confirm one ticket is created, updated and closed

    Using the ticket from the test, the administrator verifies the full lifecycle. One ticket should exist for the problem, later alerts for the same service should add to that ticket instead of opening new ones, and the recovery should move it to the closed state. Check the ticket state, owner, group and article history in Zammad. If the test creates a duplicate, stop the rollout, review how Checkmk identifies the alert and correct the mapping before continuing. The step is done when one ticket shows created, updated and closed states with the expected group and no duplicates.

  7. Enable production hosts in batches

    The Checkmk and Zammad owners enable the notification rule for production hosts in small groups, starting with the least critical systems, and watch each batch before adding the next. For each batch, confirm that every problem and recovery produces the expected single ticket in the alert queue and that no alert is lost or misrouted. Keep a written list of enabled hosts and the date each batch was added. Expand to the next batch only after the previous one has produced clean ticket lifecycles. The check is a reviewed log of each batch showing one ticket per incident and an agreed rollback step if a batch misbehaves.

How alert states map to ticket states and owners

This table maps each Checkmk alert event to the ticket behavior it should trigger in Zammad, including the matching key and target group. Read the middle column as the intended design and the right column as the items to verify before go-live. Field names and exact mapping behavior come from the Zammad Checkmk documentation, so confirm them in your own Zammad version before you build the rules.

Alert eventIntended ticket behaviorWhat to confirm
Problem, first notificationCreate one ticket in the target group, set an open state, and leave the owner unassigned or set to the group's on-call agent.Whether the email or API route creates the ticket, and the default state and owner Zammad applies.
Problem, repeated notificationAdd the alert as an article to the existing open ticket. Keep the owner and state unchanged unless a rule says otherwise.That the matching key finds the open ticket, and whether repeats should change the state at all.
RecoveryClose the ticket or move it to a closed or resolved state, and add the recovery message as an article.Which state a recovery triggers in your version, and whether automatic closing is enabled.
Acknowledgement (if used)Record the acknowledgement as an article and set the owner to the agent who took the incident.Whether acknowledgements reach Zammad at all. Many setups send only problem and recovery notifications.
Host or service identifierUse the host and service identity in each alert as the key that links every notification to one ticket.The exact field name or subject pattern used for matching in your Zammad Checkmk documentation version.
Target group or queueRoute new incident tickets to a dedicated group so infrastructure alerts stay separate from user requests.Which group receives the tickets, and that its agents have permission to view and change them.
Problem returns after recoveryEither open a new ticket or reopen the closed one, based on the rule you choose and how long ago it closed.Which behavior the integration applies by default. Decide the rule before go-live and test it.

Which queue, owner and customer identity alert tickets should use

Alert tickets should not be created under a real person's customer identity. If an alert arrives as a ticket owned by an employee's customer record, the ticket inherits that person's name, email history and notifications, and the next time that person writes to support, their conversation can be merged with, or buried under, machine-generated status changes. The safer pattern is a dedicated system or service customer account, created for Checkmk only, with a name that makes its origin obvious to agents, such as a monitoring service identity. Confirm in your Zammad instance that this account cannot log in interactively, that it is excluded from customer satisfaction surveys, and that its email address is a mailbox you control, because Checkmk's email method and any reply behavior depend on it. Choose the receiving group before you configure the alert path. Most teams route alert tickets to a dedicated infrastructure or operations group rather than the general support group, so that agents who are on call can filter for it and so that user requests are not diluted by monitoring noise. Decide who is allowed to reassign alert tickets, who may close them manually, and whether the group needs a shared inbox view. Group membership and roles are set in Zammad's administration, and the decision should be documented next to the Checkmk notification rules so the two stay aligned when staff change. Priority rules determine whether an infrastructure incident is seen before a password reset. Define how Checkmk alert states map to Zammad priorities, for example a critical host or service state creating a high priority ticket, and a recovery message only updating the existing ticket. Then decide whether alert tickets sort above or below user requests in the default views. Test these rules with a non-production Checkmk host, because the mapping is only useful if the on-call agent sees the ticket in the first screen they open. Agents see alert tickets in the same queue as user requests unless you separate them with views, groups or overviews. That is usually the right trade-off for small teams, as long as the views filter by group, state and priority and the alert ticket titles include the host and service name. Test how a shared queue behaves under volume: a flapping service can generate many updates, so confirm whether each update appears as a new article, whether notifications fire for every article, and how your team wants to handle duplicates. If several Checkmk sites or environments send alerts into one Zammad instance, the identity and routing decisions multiply. Give each site or environment its own identifier in the ticket title or a tag, decide whether production and test alerts may share the same receiving group, and confirm that alerts from one site cannot update tickets created by another. Ask your integration owner to document the matching rules, since the same host name in two sites can otherwise cause one site's recovery message to close another site's incident. Plan this before onboarding the second site rather than after the first duplicate appears.

Securing the Checkmk to Zammad alert path

An alert path from Checkmk into Zammad carries hostnames, service names and internal addresses into a ticket queue that many agents and customers can see. The controls below cover the identity the integration uses, how its credentials are stored and rotated, how traffic is protected and filtered, and how long alert content and ticket changes are kept.

Dedicated least-privilege alert account

Create a Zammad agent account or mailbox used only for Checkmk alerts, with no admin rights and access limited to the groups that should receive infrastructure tickets. Do not reuse a personal agent login or a shared support mailbox that people also use. Before go-live, confirm in your own Zammad instance that this account can create and update tickets in the target group and cannot change system settings or read unrelated queues.

Credential storage on the Checkmk side

Checkmk needs the Zammad credentials for either the email or the REST API route, so decide where those secrets live before configuration. Store them in the Checkmk configuration that restricts visibility to administrators, not in plain notification scripts or shared runbooks. Check who can open the notification rules, export configuration or read the Checkmk site backups, because each of these exposes the same secret.

TLS on every hop

Protect each leg of the path: Checkmk to the Zammad endpoint, the Zammad web or API endpoint behind its reverse proxy, and any mail relay used for the email route. Use valid certificates that Checkmk trusts, and disable plaintext listeners for the API and mail submission. Confirm the certificate chain and the protocol settings in your own environment, since the exact options depend on how Zammad and the mail relay are deployed.

Restricting who can submit alerts

Limit the sources allowed to create tickets. For the API route, restrict network access to the Checkmk server addresses and require the integration credential on every call. For the email route, accept mail only from the Checkmk sending address and from the mailbox used for alerts, and reject everything else. Without this, anyone who learns the alert address can open tickets in the infrastructure queue.

Retention of alert content

Alert bodies often contain hostnames, IP addresses, service names and check output that describe your internal network. Decide how long these ticket articles and attachments are kept, who can see them, and whether closed infrastructure tickets are purged on a schedule that matches your records policy. Make sure backups and exports follow the same rule, and document the decision so it can be shown during an assessment.

Audit logging of integration changes

Record every ticket create, update, state change and close made by the Checkmk account, and review those entries regularly for unexpected activity such as tickets reopened in bulk or changes to customer fields. Confirm which events your Zammad version logs and where those logs are forwarded, because retention of the audit trail should be longer than the ticket lifecycle. Assign an owner for reviewing the log.

Secrets rotation and upgrade reviews

Plan rotation of the Zammad password or token and the mail credentials, with a dated owner, a change window and a tested cutover in which Checkmk is updated before the old secret is revoked. Repeat the review of the full alert path whenever Zammad or Checkmk is upgraded, since upgrades can change API behavior, authentication handling and default settings. Check the Zammad release notes for the version you are moving to before you schedule the change.

Testing Zammad Checkmk alert tickets before go-live

Before any Checkmk notification reaches the production Zammad queue, run the full alert lifecycle against a non-production host that you can break on purpose. The goal is to prove that the integration creates one ticket per incident, updates that ticket when the problem repeats, closes it when recovery arrives, and makes failures visible to the people who must act on them. Start by choosing a test host in a non-production Checkmk site and a non-production Zammad instance with the same channel (email or REST API) that production will use. Testing the wrong channel proves very little, because the email path and the REST path differ in how they carry host, service and state information into Zammad.

Run three basic scenarios in order. First, force a problem state on a test service and confirm that exactly one ticket appears in the intended group with the host and service identified in the subject or body. Second, let the problem repeat or change state, for example from warning to critical, and confirm that the existing ticket receives an update rather than a second ticket. Third, return the service to OK and confirm that the recovery notification moves the same ticket to the closed state configured for your integration. Record the ticket number at each step. A duplicate at any step means the matching rule between Checkmk notifications and Zammad tickets needs correction before go-live, not after.

Then test the harder case: recovery arrives after an agent has already changed the ticket. Set the ticket to a state such as pending or in progress, or reassign it, and then send the recovery notification. Confirm whether Zammad closes the ticket, leaves the agent's state in place, or creates a new ticket. Your support team needs a documented answer to this, because the wrong outcome either hides an open incident or buries a resolved alert in a fresh queue item. Also test a new problem that arrives after a ticket was closed by recovery, to confirm that a new incident opens a new ticket as intended.

Load testing comes next. Send a burst of alerts from one test host, sized to match the largest realistic flapping pattern you expect, and then repeat the burst across several test hosts at the same time. Watch for lost notifications, delayed updates, duplicate tickets and changes to ticket ordering. Confirm the mail queue or API rate limits on both sides, and confirm the Zammad background job behavior under the burst. Ask your Zammad partner and your Checkmk administrator to agree the burst sizes in writing, since no fixed capacity figure applies to every environment. Finally, deliberately break delivery, for example by pointing a notification at an unreachable mail server or an invalid API token, and confirm that operators see the failure in Checkmk's notification log, in a monitored mailbox, or in an alert on the integration itself.

Keep the evidence in a change record that an auditor or the next engineer can follow. Store the Checkmk version, Zammad version, notification rule definitions, the Zammad channel or API user configuration (without secrets), the test host and service names, and the timestamp and ticket number for each scenario. Include screenshots or exports of ticket history, the Checkmk notification log for the failed delivery test, and the sign-off from the operator who confirmed visibility. Record the exact acceptance criteria you applied, such as the number of tickets expected per incident, and state any deviation with its owner and due date. This record lets the team repeat the test after each Checkmk or Zammad upgrade, which is when integrations most often break silently.

Why Zammad creates duplicate or missing alert tickets

This table lists the failures teams most often see when Checkmk alerts feed Zammad, with the likely cause and the first thing to check for each. Read it as a triage order: start with the row that matches the symptom, then confirm the cause in your own Checkmk and Zammad settings before changing anything. Most failures trace back to how alerts are linked to tickets or how Zammad receives them.

SymptomLikely causeCheck first
Duplicate tickets for one host or serviceAlerts do not carry the identifier Zammad uses to link them to an existing ticket, so each notification opens a new ticket.Compare the headers and subject of two alerts from the same service. Confirm the ticket identifier is present in every notification your Checkmk rule sends.
No ticket created for an alertThe inbound mailbox is not being polled, or the mailbox or channel configuration points somewhere other than the one Checkmk sends to.Check that the Zammad email channel is active and that its last fetch succeeded. Send a test notification and confirm it reaches the mailbox Zammad reads.
No ticket created for an API alertThe API credential used by Checkmk lacks the rights needed to create or update tickets in the target group.Review the role and group permissions of the API user. Test a ticket creation call with the same credential outside Checkmk and compare the response.
Closed ticket does not reopen for a new problemThe new alert is linked to the old closed ticket, and Zammad does not reopen closed tickets for that path in your configuration.Check the ticket state after the first recovery and the state set by your Checkmk notification. Confirm whether a new problem should open a new ticket or reopen the existing one under your process.
Recovery notification ignoredAn agent closed the ticket manually, so the later recovery alert finds nothing open to update.Look at the ticket history for the manual close. Decide with the support team whether recovery should reopen, add a note, or be ignored, and document that rule.
Alerts fail between Checkmk and Zammad over HTTPSCertificate trust, a hostname mismatch, or an internal certificate authority missing from the Checkmk host causes the TLS handshake to fail.From the Checkmk server, test the TLS connection to the Zammad hostname and confirm the certificate chain and name match. Check the trust store used by the Checkmk notification process.
Queue flooded during an outageOne infrastructure event triggers many service alerts, each creating or updating tickets, so agents face a storm of similar tickets.Review the notification rules and whether several services on one host notify separately. Consider grouping or a single host-level ticket, and agree the rule with the support team before changing it.
Tickets updated on the wrong alertThe linking identifier is reused or formatted differently across hosts or services, so updates attach to unrelated tickets.Check how the identifier is built for each host and service. Verify with one test alert per object that updates land on the intended ticket.

What Zammad Checkmk alert tickets cost and need from your team

What drives the effort of connecting Checkmk alerts to Zammad?

The main drivers are how many Checkmk sites send alerts, how many hosts and services generate them, whether alerts arrive by email or the REST API, and how much queue design your team needs. Each Checkmk site is a separate source to configure and test, so several sites take more work than one. A large number of hosts and services raises the chance of alert floods, which adds time on notification rules, filtering and duplicate prevention. Email is usually quicker to start with, while the REST API gives more control over creating, updating and closing tickets. Queue design adds effort when infrastructure alerts need their own groups, priorities, states or escalation paths. Ask for each of these inputs to be listed in the written scope so quotes can be compared on the same basis.

Can our team set up Checkmk alert tickets in Zammad alone?

Yes, in a small single-site environment with an existing Zammad instance, provided your team has time to test. The work covers the Checkmk notification setup, the Zammad channel, trigger and state settings, and a test host that produces controlled alerts. The critical check is that repeated alerts update one ticket instead of opening new ones. Teams with several Checkmk sites, a shared support queue that customers also use, or no spare admin capacity should weigh the testing time and the risk of duplicate or stale tickets before deciding. Zammad's documentation for the Checkmk integration is the right starting point for an in-house build, and it is worth reading the full setup before you commit to a date.

How much does a Zammad support subscription cost and how fast does it respond?

Zammad's pricing page 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. Response times are 6 hours for Business, 4 hours for Enterprise and 2 hours for Corporation. Self-hosted Zammad has no license fee, so the subscription is an optional yearly cost for vendor support on the software. It covers support from Zammad, not the design, configuration or testing of your Checkmk integration, which is quoted separately from a written scope. Confirm with Zammad which tier includes what before you choose, and check the current pricing page because these figures can change.

What access and resources do we need to provide for the Checkmk integration?

Plan to provide admin access to both Checkmk and Zammad, a test host that can generate controlled alerts, a change window for enabling the integration in production, and a named owner for the alert queue. Checkmk admin access lets the team create or review notification rules for the sites involved. Zammad admin access is needed for channel, trigger, group and state settings. Ask whether a staging Zammad instance is available, because testing on the production queue creates tickets that agents will see. Agree who approves the change window and how alerts will be handled during it. The queue owner decides priorities, assignment rules and who closes what. Without that owner, duplicate or stale alert tickets tend to build up unnoticed.

How long does a Checkmk to Zammad alert integration take?

Duration depends on scope, so no fixed timeline applies across every environment. The main inputs are the number of Checkmk sites, the number of hosts and services generating alerts, the delivery method, and how much queue design is needed. A single-site setup with one queue and existing Zammad admin skills will take less time than several sites feeding a shared queue with escalation paths. Your own review, testing and change window scheduling also shape the calendar. Ask providers for a written scope that lists the sites, alert sources, delivery method, queues, test plan and handover steps, along with the schedule that follows from them. Work should not begin until that scope is agreed in writing.

Should Checkmk alerts reach Zammad by email or the REST API?

Choose email when you want a simpler setup with fewer moving parts and alert volume is modest. Choose the REST API when you need tighter control over creating, updating and closing tickets. Checkmk can send status alerts by either method, and in both cases several alerts can update a single ticket, which prevents a new ticket for every state change. Email depends on the mail path, the sender address and how the mailbox is processed, so test delivery and threading carefully. The API depends on credentials, token handling and error handling in the notification script. Decide early, because switching later means reworking the notification path and retesting duplicate prevention.

Which costs are one-time and which recur for this integration?

The build is a one-time cost: scoping, configuring Checkmk notifications, configuring Zammad channels, triggers and queues, testing and handover. Some costs recur. A Zammad support subscription, if you buy one, is a yearly fee. Your team will also spend time maintaining the integration when Checkmk or Zammad is upgraded, when sites or hosts are added, or when queue rules change. Hosting, backups and mail services for Zammad are costs you already carry for the helpdesk. Ask any provider to separate one-time build fees from ongoing support fees in the quote, and to state what each one covers, including how changes are handled after handover.

How DeployOpen scopes and supports the Checkmk alert integration

DeployOpen plans the Checkmk to Zammad alert path as part of a self-hosted Zammad deployment in infrastructure you control. We agree the alert mapping, ticket rules and test plan in writing before build starts, then hand over documented configuration your team can run.

How we scope

  • Inventory which Checkmk sites and alert types should create tickets, and which should only be logged
  • Agree whether alerts arrive by email or REST API, and who owns each sending path
  • Define how repeat alerts update one open ticket and when the ticket closes on recovery
  • Record the written scope, deliverables and timeline before any configuration begins, since engagements are fixed-scope

How we build

  • Configure the Checkmk notification path and the matching Zammad inbound channel or API user
  • Set group, priority and customer rules so infrastructure tickets land in the intended queue
  • Test create, update and close behavior with controlled alerts before enabling production traffic
  • Confirm duplicate suppression holds when several alerts fire for the same host or service

How we hand over

  • Document the Checkmk notification settings, Zammad channel configuration and ticket rules as delivered
  • Provide the test cases used, with expected ticket states for create, update and close
  • Walk your operations and helpdesk staff through how to read and act on alert tickets
  • Record credential locations and where API tokens or mail account settings are kept

How we support

  • Ongoing support, upgrades and testing are available as a retainer after handover
  • Re-test the alert path after Zammad or Checkmk upgrades, since behavior can change between releases
  • Review ticket volume and noise with your team and adjust alert rules through a written change
  • Confirm current Checkmk and Zammad versions with the vendors before scoping, as compatibility depends on your environment

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.