Zammad push notifications on your phone

Zammad does not send push notifications to phones on its own. Zamio adds them using two standard Zammad features: a webhook and a trigger. A Zammad administrator sets it up once, and it takes about five minutes. It works with Zammad 6 and 7, self-hosted or Zammad Cloud.

How it works

Change in a ticket Zammad trigger Signed webhook Zamio notification service Apple / Google Agents' phones

Two settings decide what happens:

  • The trigger decides when. A notification is sent only when the trigger's conditions match.
  • The ticket's group decides who. The notification goes to every agent in the ticket's group who uses Zamio with notifications turned on. The person who made the change doesn't get one.

Step 1: Register your Zammad server

  1. Open notification.zamio.kaju.pl/setup.html.
  2. In Zammad Server URL, enter the address of your Zammad, for example https://support.example.com. Use exactly the address your agents type when they log in to the app (see troubleshooting).
  3. In HMAC Signature Token, make up a secret of at least 8 characters. You will paste the same value into Zammad in step 2.
  4. Click Register Server and copy the webhook URL. It looks like this:
    https://notification.zamio.kaju.pl/webhook/group?server=https://support.example.com

The server is now waiting for verification. It is confirmed automatically when the first correctly signed webhook arrives from your Zammad.

Step 2: Create the webhook in Zammad

  1. In Zammad, go to Manage → Webhook → New Webhook.
  2. Name: for example Zamio push.
  3. Endpoint: paste the URL from step 1.
  4. Signature Token: the same secret you entered in step 1.
  5. Leave SSL Verification on.
  6. Leave Custom Payload off. The service reads the standard Zammad payload (ticket and article).
  7. Save.

Step 3: Create triggers

A trigger that fires on every ticket change floods agents with notifications. I set it up for three situations that are worth interrupting someone for:

SituationTrigger conditions
A ticket lands in a groupGroup has changed
A ticket changes stateState has changed
The customer repliesArticle › Action is created, and Article › Sender is Customer

Conditions in a single Zammad trigger are combined with AND, so the simplest way is to create three triggers, one per row. If you know Zammad's expert mode, you can combine them into one trigger with OR.

For each trigger:

  1. Go to Manage → Trigger → New Trigger.
  2. Activated by: Action.
  3. Add the conditions from the table.
  4. Under Execute changes on objects, choose Notification → Webhook and select Zamio push.
  5. Save.

Step 4: Turn notifications on in the app

Each agent opens Settings → Push notifications in Zamio and allows notifications when the phone asks. The phone is then registered for the Zammad server the agent is logged in to.

Step 5: Test it

Ask a colleague to reply to a ticket in your group, or log in to Zammad in the browser as a different user. You don't get notified about your own changes, so changing a ticket yourself and waiting for a notification is the most common false alarm.

Troubleshooting

Nobody receives notifications
Check the server address. Notifications are matched by the exact address: https vs http, a different subdomain or a port all count as different servers. If you registered https://zammad.example.com but agents log in at https://support.example.com, nothing matches. Register the address the agents actually use.
Zammad shows an error when sending the webhook
The signature token in Zammad is probably different from the secret entered on the setup page. If the server was never confirmed, register it again with a new secret. If it was already confirmed, the setup page will refuse a new registration. Write to kontakt@kaju.pl and I'll reset it.
One agent doesn't get notifications
The agent must be a member of the ticket's group in Zammad. On the phone, check that notifications for Zamio are allowed in the system settings, then switch notifications off and on again in the app.
I turned on Custom Payload
Turn it off. Without the standard ticket and article objects the service can't build the notification and rejects the webhook.
I use two Zammad servers
You get notifications only from the server you're currently logged in to in the app.