Files
servicedesk/wiki/operator
Kacper 0d116dfd98 v1.2.0
- E-mail intake (IMAP), optional and off by default: clients can create a
  ticket or reply to an existing one just by sending/replying to an e-mail.
  Configure any number of mailboxes in the new Admin > Poczta page (SMTP +
  IMAP together, replacing the old "E-MAIL" tab), each routed to a specific
  subcategory or a whole category (new tickets.category_id column). Replies
  are matched to their ticket via the number/checksum already in every
  notification subject; autoresponders/bounces are detected and rejected;
  "restrict tickets to LDAP" is enforced for e-mail like the guest web form.
  Manual "Pobierz teraz" per-mailbox fetch button; dedicated
  storage/logs/imap-*.log regardless of the app's log level; mail-icon badges
  on e-mail-originated tickets/messages in the operator queue and ticket view.
- Operator queue: "select all" checkbox in the table header for every
  currently visible ticket under the active filter/tab.
- Fixed: scheduled commands (SLA breach check, automation rules, and now IMAP
  fetch) always sent notifications through .env's default mailer instead of
  the configured SMTP server, because AppServiceProvider's Settings override
  used to skip itself for any console command, not just migrate.
- Fixed: visiting a ticket that no longer exists (deleted mid-session, or a
  stale background refresh) showed a raw 404 instead of redirecting back to
  the operator queue / client dashboard.
- Docs: README/ARCHITECTURE/CLAUDE/install/wiki updated for all of the above,
  including the previously-missing host crontab entry for schedule:run.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-23 12:44:30 +02:00
..
2026-07-23 12:44:30 +02:00

Przewodnik — Operator

Panel operatora (/operator) to miejsce pracy z kolejką zgłoszeń: przegląd, odpowiadanie, zmiana statusu/priorytetu/przypisania oraz statystyki zespołu.

Domyślnie każde konto ląduje po zalogowaniu w panelu Klienta; przełącz się do panelu Operatora przez menu profilu (prawy górny róg), jeśli konto ma tę rolę. Dzwoneczek powiadomień w górnym pasku (widoczny we wszystkich panelach) pokazuje Twoje nieprzeczytane powiadomienia, aktualizowane na żywo w chwili ich utworzenia (niezależny od tego 30-sekundowy fallback dogrywa to, co ominęłoby zerwane połączenie) — kliknięcie (albo „Oznacz wszystkie jako przeczytane”) usuwa je z listy.

„Powiadomienia” w menu profilu (/settings/notifications) pozwala wybrać, dla każdej kategorii zdarzeń (nowe zgłoszenie, aktualizacja zgłoszenia, eskalacja), jaki zakres zgłoszeń ma Cię powiadamiać dzwoneczkiem — moje / nieprzypisane / obserwowane / wszystkie — oraz czy dodatkowo wysłać e-mail. Tam też włączysz natywne powiadomienia push przeglądarki (działają, dopóki karta jest otwarta).

Kolejka zgłoszeń — aktualizacje na żywo

Panel główny (/operator) pokazuje listę zgłoszeń z zakładkami po lewej stronie:

  • Otwarte — wszystkie zgłoszenia jeszcze nie zamknięte, widoczne dla Ciebie.
  • Moje zgłoszenia — przypisane do Ciebie (bez zamkniętych).
  • Nieprzypisane — czekają na przejęcie przez kogoś z zespołu (bez zamkniętych).
  • Zamknięte — archiwum; jedyna zakładka, w której pojawiają się zamknięte zgłoszenia.
  • Zespoły — osobna zakładka na każdy zespół, do którego należysz (administrator widzi wszystkie zespoły; też bez zamkniętych).

Nie-administratorzy widzą tylko zgłoszenia swoich zespołów, zgłoszenia bez przypisanego zespołu, oraz wszystko przypisane bezpośrednio do nich.

Filtry nad tabelą: status, priorytet, kategoria, wyszukiwanie po numerze/ temacie/kliencie/treści zgłoszenia i odpowiedzi w wątku. Kolumny można dowolnie włączać/wyłączać przyciskiem „Kolumny” (numer, temat, klient, kategoria, podkategoria, priorytet, status, SLA, przypisany, zespół, utworzono — kilka z nich domyślnie ukryte), a nagłówki kolumn sortują listę. Wybrana zakładka i kolumny zostają zapamiętane w adresie strony, więc odświeżenie nie cofa Cię do pierwszej zakładki.

Zapisane widoki — przycisk „Zapisane widoki” pozwala zapisać bieżącą kombinację zakładki/filtrów/sortowania/kolumn pod własną nazwą, oznaczyć jeden z zapisanych widoków jako domyślny (ładuje się automatycznie przy wejściu do kolejki) i usuwać niepotrzebne. Widoki są prywatne — każdy operator widzi tylko swoje.

Akcje zbiorcze: zaznacz kilka zgłoszeń checkboxami, by je scalić (pierwsze zaznaczone staje się główne, reszta trafia do niego jako wiadomości i zostaje zamknięta) albo usunąć. Checkbox w nagłówku tabeli zaznacza/odznacza od razu wszystkie zgłoszenia aktualnie widoczne pod bieżącym filtrem/zakładką (nie wszystkie w systemie).

Zgłoszenie założone albo odpowiedziane przez e-mail (patrz konfiguracja w Admin > Poczta) ma widoczną ikonę koperty obok numeru w kolejce oraz przy konkretnej wiadomości w wątku zgłoszenia.

Kolejka aktualizuje się na żywo — nowe zgłoszenie, zmiana statusu/priorytetu/ przypisania czy nowa odpowiedź pojawiają się bez odświeżania strony. Obok przycisku „Kolumny” widać mały licznik odliczający do zera — to niezależny od połączenia na żywo, okresowy fallback (co ok. 60 s), na wypadek gdyby połączenie sieciowe w tle się zerwało.

Praca ze zgłoszeniem

Widok zgłoszenia też aktualizuje się na żywo — nowa wiadomość klienta pojawia się od razu (bez odświeżania), podobnie jak zmiana statusu/priorytetu/zespołu zrobiona przez innego operatora albo przez regułę automatyzacji SLA. Licznik przy przycisku „Wróć do listy” to taki sam fallbackowy zegar jak w kolejce (co ok. 30 s).

W widoku pojedynczego zgłoszenia:

  • Obserwuj — przycisk obok licznika auto-odświeżania oznacza zgłoszenie jako obserwowane niezależnie od przypisania czy zespołu; zasila zakres „Obserwowane zgłoszenia” w Twoich preferencjach powiadomień (/settings/notifications).
  • Zmiana statusu / priorytetu / zespołu / przypisanego operatora — z listy rozwijanej; „Przypisz do mnie” to skrót jednym kliknięciem.
  • Odpowiedź publiczna — widoczna dla klienta; można wybrać szablon odpowiedzi (wstawia gotowy tekst do edycji) i wysłać razem ze zmianą statusu jedną szybką akcją (np. „Wyślij i zamknij”) zamiast dwóch osobnych kroków.
  • Notatka wewnętrzna — widoczna tylko dla operatorów/adminów, np. do przekazania kontekstu innemu operatorowi.
  • Załączniki — do odpowiedzi/notatki, przeciągnij pliki na pole załączników albo kliknij, żeby wybrać je z dysku, w granicach limitów ustawionych przez administratora; załączone obrazy pokazują się jako miniatury w wątku.
  • Baza wiedzy (jeśli administrator włączył integrację z BookStack) — panel boczny podpowiada artykuły pasujące do kategorii/podkategorii zgłoszenia; kliknięcie otwiera artykuł, przycisk „Kopiuj link" kopiuje adres bez wychodzenia ze zgłoszenia (np. do wklejenia w odpowiedzi).
  • Ocena obsługi — jeśli klient już ocenił zgłoszenie, ocena (gwiazdki + ewentualny komentarz) pokazuje się w panelu bocznym, tylko do odczytu.
  • Licznik czasu pracy — start/stop/reset przy zgłoszeniu; czas zapisuje się automatycznie nawet przy zamknięciu karty (mechanizm sendBeacon). Zliczanie jest automatycznie wstrzymywane, gdy zgłoszenie ma status zamknięty — nie uruchomi się przy otwarciu zamkniętego zgłoszenia ani nie będzie dalej biec po jego zamknięciu; wcześniej naliczony czas można wciąż ręcznie skorygować.
  • Edycja danych zgłoszenia — temat, opis, podkategoria, pola dodatkowe; zmiana kategorii może wysłać powiadomienie do klienta.
  • Historia — log każdej zmiany (status, priorytet, zespół, przypisanie) z datą; wpis zaczynający się od „Automatyzacja: …” oznacza, że zmianę wykonała reguła automatyzacji SLA (Admin > Automatyzacja SLA), nie operator ręcznie.

Statystyki (/operator/stats)

Nowa zakładka „Statystyki” (przycisk w pasku narzędzi kolejki) pokazuje pulpit analityczny z możliwością filtrowania — dane odświeżają się na żywo przy każdej zmianie filtra, bez przeładowania strony.

Filtry:

  • Zakres dat — Dziś / 7 dni / 30 dni / 90 dni / Cały okres / zakres niestandardowy (oddo).
  • Zespół, priorytet, kategoria, operator — jak w kolejce; nie-administratorzy widzą tylko swoje zespoły i przypisanych do nich operatorów.

Kafelki KPI:

Wskaźnik Co pokazuje
Łącznie zgłoszeń liczba zgłoszeń w wybranym zakresie/filtrach
Otwarte / Zamknięte podział + % zamkniętych
Śr. czas 1. odpowiedzi średni czas od utworzenia do pierwszej odpowiedzi operatora
Śr. czas rozwiązania średni czas od utworzenia do zamknięcia (przybliżony — brak osobnej daty "rozwiązano", liczony do ostatniej aktualizacji zamkniętego zgłoszenia)
Naruszenia SLA % zgłoszeń, które przekroczyły czas rozwiązania wg priorytetu (zgodnie z regułami SLA w Admin > Statusy/Priorytety)
Ocena obsługi (CSAT) średnia ocen klientów (15) w wybranym zakresie/filtrach + % zamkniętych zgłoszeń, które zostały ocenione

Przycisk „Eksportuj CSV" pobiera listę zgłoszeń (jeden wiersz na zgłoszenie) z uwzględnieniem aktualnie wybranego zakresu dat i filtrów.

Reszta strony jest podzielona na sekcje:

Rozkład zgłoszeń (paski poziome, kolor = ta sama identyfikacja co w kolejce dla statusu/priorytetu; najedź kursorem na pasek, by zobaczyć dokładną wartość):

  • Zgłoszenia wg statusu
  • Zgłoszenia wg priorytetu
  • Zgłoszenia wg kategorii
  • Zgłoszenia wg podkategorii

Obciążenie:

  • Obciążenie zespołów
  • Obciążenie operatorów (ranking wg liczby przypisanych zgłoszeń)

Klienci:

  • Najaktywniejsi klienci (Top 10 wg liczby zgłoszeń w wybranym okresie; osobny wiersz „Goście (bez konta)” sumuje zgłoszenia bez zalogowanego klienta)
  • Klienci wg podkategorii — tabela krzyżowa: top 10 klientów × top 5 najczęstszych podkategorii w wybranym okresie, reszta podkategorii zbiorczo w kolumnie „Inne”.

Ocena obsługi (CSAT) — średnia ocena (X.XX / 5) wg zespołu i wg operatora; zespół/operator bez żadnej oceny w wybranym okresie po prostu nie pojawia się na liście.

Trend — dzienny wykres słupkowy „Nowe zgłoszenia” i „Zamknięte zgłoszenia” obok siebie (maks. ostatnie 60 dni wybranego zakresu, żeby słupki pozostały czytelne przy długich okresach).

Wskazówki

  • Zgłoszenie bez przypisanego zespołu jest widoczne dla wszystkich operatorów — warto je szybko zaklasyfikować/przypisać.
  • Szybkie akcje i szablony odpowiedzi konfiguruje administrator (Admin > Szybkie akcje / Szablony odpowiedzi) — zgłoś mu, jeśli brakuje przydatnego szablonu.