Powiadomienia push z Zammad na telefonie

Zammad sam nie wysyła powiadomień push na telefony. Zamio dodaje je za pomocą dwóch standardowych funkcji Zammad: webhooka i triggera. Administrator Zammad konfiguruje to raz, zajmuje to około pięciu minut. Działa z Zammad 6 i 7, na własnym serwerze i w Zammad Cloud.

Jak to działa

Zmiana w tickecie Trigger w Zammad Podpisany webhook Serwis powiadomień Zamio Apple / Google Telefony agentów

O wszystkim decydują dwie rzeczy:

  • Trigger decyduje, kiedy. Powiadomienie wychodzi tylko wtedy, gdy spełnione są warunki triggera.
  • Grupa ticketu decyduje, kto. Powiadomienie dostaje każdy agent z grupy ticketu, który używa Zamio z włączonymi powiadomieniami. Nie dostaje go osoba, która wprowadziła zmianę.

Krok 1: Zarejestruj serwer Zammad

  1. Otwórz notification.zamio.kaju.pl/setup.html.
  2. W polu Zammad Server URL wpisz adres swojego Zammad, np. https://helpdesk.firma.pl. Musi to być dokładnie ten adres, który agenci wpisują przy logowaniu w aplikacji (zob. problemy).
  3. W polu HMAC Signature Token wymyśl sekret, co najmniej 8 znaków. Ten sam wkleisz w Zammad w kroku 2.
  4. Kliknij Register Server i skopiuj adres webhooka. Wygląda tak:
    https://notification.zamio.kaju.pl/webhook/group?server=https://helpdesk.firma.pl

Serwer czeka teraz na weryfikację. Zostanie potwierdzony automatycznie, gdy z Twojego Zammad przyjdzie pierwszy poprawnie podpisany webhook.

Krok 2: Utwórz webhook w Zammad

  1. W Zammad przejdź do Zarządzaj → Webhooki → Nowy webhook.
  2. Nazwa: np. Zamio push.
  3. Endpoint: wklej adres z kroku 1.
  4. Signature Token: ten sam sekret co w kroku 1.
  5. Zostaw włączoną weryfikację SSL.
  6. Zostaw wyłączony własny payload (Custom Payload). Serwis odczytuje standardowe dane z Zammad (ticket i artykuł).
  7. Zapisz.

Krok 3: Utwórz triggery

Trigger, który reaguje na każdą zmianę w tickecie, zasypie agentów powiadomieniami. Ja ustawiam go na trzy sytuacje, dla których warto komuś przerwać pracę:

SytuacjaWarunki triggera
Ticket trafia do grupyGrupa zmieniła się
Ticket zmienia statusStan zmienił się
Klient odpowiadaArtykuł › Akcja jest utworzony oraz Artykuł › Nadawca jest Klient

Warunki w jednym triggerze Zammad łączy przez „i”, więc najprościej utworzyć trzy triggery, po jednym na wiersz. Jeśli znasz tryb eksperta w Zammad, możesz połączyć je w jeden trigger z „lub”.

Dla każdego triggera:

  1. Przejdź do Zarządzaj → Wyzwalacze → Nowy wyzwalacz (w angielskim interfejsie: Triggers).
  2. Aktywowany przez: Akcja.
  3. Dodaj warunki z tabeli.
  4. W sekcji wykonywanych zmian wybierz Powiadomienie → Webhook i wskaż Zamio push.
  5. Zapisz.

Krok 4: Włącz powiadomienia w aplikacji

Każdy agent otwiera w Zamio Ustawienia → Powiadomienia push i zezwala na powiadomienia, gdy telefon o to zapyta. Telefon zostaje wtedy zarejestrowany dla serwera Zammad, na który agent jest zalogowany.

Krok 5: Sprawdź, czy działa

Poproś kolegę o odpowiedź w tickecie z Twojej grupy albo zaloguj się do Zammad w przeglądarce jako inny użytkownik. Nie dostajesz powiadomień o własnych zmianach, więc zmiana ticketu przez siebie i czekanie na powiadomienie to najczęstszy fałszywy alarm.

Rozwiązywanie problemów

Nikt nie dostaje powiadomień
Sprawdź adres serwera. Powiadomienia są dopasowywane po dokładnym adresie: https zamiast http, inna subdomena czy port to dla serwisu różne serwery. Jeśli zarejestrowałeś https://zammad.firma.pl, a agenci logują się na https://helpdesk.firma.pl, nic się nie dopasuje. Zarejestruj adres, którego faktycznie używają agenci.
Zammad pokazuje błąd przy wysyłaniu webhooka
Najpewniej Signature Token w Zammad różni się od sekretu wpisanego na stronie rejestracji. Jeśli serwer nie został jeszcze potwierdzony, zarejestruj go ponownie z nowym sekretem. Jeśli był już potwierdzony, strona rejestracji odrzuci ponowną rejestrację. Napisz wtedy na kontakt@kaju.pl, a zresetuję go.
Jeden agent nie dostaje powiadomień
Agent musi należeć w Zammad do grupy ticketu. Na telefonie sprawdź, czy powiadomienia dla Zamio są dozwolone w ustawieniach systemu, a potem wyłącz i włącz je ponownie w aplikacji.
Włączyłem własny payload (Custom Payload)
Wyłącz go. Bez standardowych obiektów ticket i article serwis nie zbuduje powiadomienia i odrzuci webhook.
Używam dwóch serwerów Zammad
Powiadomienia przychodzą tylko z serwera, na który jesteś aktualnie zalogowany w aplikacji.