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
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
- Open notification.zamio.kaju.pl/setup.html.
- 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). - In HMAC Signature Token, make up a secret of at least 8 characters. You will paste the same value into Zammad in step 2.
- 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
- In Zammad, go to Manage → Webhook → New Webhook.
- Name: for example
Zamio push. - Endpoint: paste the URL from step 1.
- Signature Token: the same secret you entered in step 1.
- Leave SSL Verification on.
- Leave Custom Payload off. The service reads the standard Zammad payload (ticket and article).
- 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:
| Situation | Trigger conditions |
|---|---|
| A ticket lands in a group | Group has changed |
| A ticket changes state | State has changed |
| The customer replies | Article › 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:
- Go to Manage → Trigger → New Trigger.
- Activated by: Action.
- Add the conditions from the table.
- Under Execute changes on objects, choose Notification → Webhook and select
Zamio push. - 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:
httpsvshttp, a different subdomain or a port all count as different servers. If you registeredhttps://zammad.example.combut agents log in athttps://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
ticketandarticleobjects 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.