Przejdź do treści

Obsługa Klienta — przewodnik szczegółowy

Ta sekcja jest operacyjnym podręcznikiem modułu Obsługa Klienta w panelu (panel.aiofactory.pl/support). Pokazuje, jak działają trzy zakładki modułu, jak wygląda przepływ danych od źródła do akcji oraz jak zbudowane są dwa gotowe scenariusze (kolory + imiona psów), z których możesz korzystać od razu.

Jeżeli to Twój pierwszy kontakt z modułem, zacznij od sekcji Obsługa Klienta w Co zostało dostarczone — tam jest jednolinijkowe podsumowanie zgłoszeń. Tutaj wracaj punktowo po szczegóły.

Krótko

  • Trzy zakładki: Zgłoszenia (skrzynka łączona), Scenariusze (wizualny edytor automatyzacji), Reguły przydziału (kto dostaje co).
  • Osiem źródeł wpada do tej samej skrzynki: Allegro · Amazon · eBay · Erli · Joom · Temu · WooCommerce · Email (Gmail / Mailcow).
  • Dyspozytor scenariuszy chodzi co minutę i sam decyduje, czy któryś scenariusz pasuje do nowego zdarzenia. Działa autonomicznie, ale pod nadzorem — patrz Głośna szyba bezpieczeństwa.
  • Wszystkie zmiany w scenariuszach są wersjonowane (Historia) i mogą być wycofane — zanim klikniesz „Aktywny", widzisz dokładnie, co scenariusz zrobi.

Co to jest moduł Obsługi Klienta

Moduł CS (Customer Service) to jedno miejsce na wszystkie wiadomości i sprawy od klientów ze wszystkich kanałów. Zastępuje konieczność logowania się osobno na Allegro, eBay, Amazon, do skrzynki Gmail itd.

Każda wiadomość, spór, zwrot, nowe zamówienie wymagające reakcji — wpada jako zgłoszenie (po angielsku issue / ticket). Zgłoszenie ma swoją historię, status (Nowe / W toku / Zamknięte / Eskalowane), opiekuna i listę akcji, które już zostały wykonane.

To, co odróżnia ten moduł od „zwykłej skrzynki email":

  1. Klasyfikacja AI — każda wiadomość przy wpadnięciu jest oceniana przez model językowy: czy to pytanie o produkt, reklamacja, zwrot, ogólne zapytanie.
  2. Scenariusze — operator może opisać przepływ („gdy wpadnie wiadomość na Allegro z słowem «paragon», zapisz fakt do BaseLinkera, a klientowi wyślij standardową odpowiedź") i panel wykonuje go sam.
  3. Reguły przydziału — wiadomości z konkretnej skrzynki / etykiety Gmaila trafiają automatycznie do konkretnego opiekuna.
  4. Pełna historia po stronie panelu — odpowiedź wysłana z panelu jest natychmiast widoczna w wątku, nie zniknie do czasu kolejnej synchronizacji.

Przepływ danych

flowchart LR
    A[Źródła<br/>Allegro · eBay · Amazon<br/>Erli · Joom · Temu · Woo<br/>Email IMAP] -->|fetcher co 5–15 min| B[cs_issues<br/>Zgłoszenia]
    B --> C[Klasyfikator AI<br/>Claude]
    C --> D[Reguły przydziału<br/>opiekun → label]
    D --> E[Dyspozytor scenariuszy<br/>co 60 s]
    E -->|pasuje?| F[Scenariusz<br/>graf węzłów]
    F --> G[Akcje<br/>send_reply · update_status<br/>BaseLinker · create_ticket]
    F --> H[Eskalacja<br/>operator widzi<br/>„Wymaga uwagi"]

Uwagi do diagramu:

  • Źródła — pobieracze chodzą wyłącznie do odczytu (read-only). Nie oznaczają wiadomości jako przeczytane na platformie, nie odpowiadają, nie zmieniają statusu zamówienia. Cała semantyka „zrób coś" jest po stronie scenariuszy.
  • Zgłoszenie raz utworzone żyje w panelu — kolejne wiadomości w tym samym wątku dopisują się do istniejącego rekordu (new_message), zamiast tworzyć duplikat.
  • Klasyfikator AI ocenia każdą wiadomość po wpadnięciu — wynik zapisuje się jako pole na zgłoszeniu i może być wykorzystany w scenariuszu ({{issue.classification}}).
  • Dyspozytor dopasowuje aktywne scenariusze po: typie zdarzenia (new_issue / new_message / dispute_opened / return_requested), źródle (source_match), koncie (account_id_match) i opcjonalnie typie zgłoszenia (type_match). Każde dopasowanie startuje osobny przebieg scenariusza.

Trzy zakładki modułu

Pasek zakładek na górze strony panel.aiofactory.pl/support:

Zakładka Cel Pełna instrukcja
Zgłoszenia Skrzynka łączona — odbierasz, czytasz, odpowiadasz. Z poziomu jednego wątku możesz odpowiedzieć przez ten sam kanał, z którego wiadomość przyszła. Obsługa Klienta — Jak korzystać
Scenariusze Wizualny edytor grafowy — budujesz autonomiczną logikę reakcji bez kodu. Builder — tutorial
Reguły przydziału Mapowania (źródło, konto, etykieta Gmail) → opiekun. Decydują, kto dostaje powiadomienie. sekcja niżej

Filtr „Moje" w zakładce Zgłoszenia

Domyślnie widzisz tylko zgłoszenia przypisane do siebie (przycisk „Moje (Imię Nazwisko)" w nagłówku). Aby zobaczyć całą skrzynkę firmową, przełącz filtr na „Wszystkie". Filtr źródła (Allegro / Email / …) działa niezależnie. Patrz FAQ #9.

Reguły przydziału

W zakładce Reguły przydziału (/support, trzeci tab) tworzysz tabelę reguł:

Priorytet Źródło Konto Etykieta Gmail Opiekun Aktywne
100 Email support@aiofactory.pl (dowolna) Anna Kowalska
110 Email support@aiofactory.pl Reklamacje Piotr Nowak
200 Allegro (dowolne) n/d Anna Kowalska
999 (dowolne) (dowolne) (dowolna) Anna Kowalska

Reguły sprawdzane są w kolejności rosnącego priorytetu — pierwsza pasująca wygrywa. Ostatnia reguła (999, „dowolne") to catch-all — gwarantuje, że każde nowe zgłoszenie ma opiekuna.

Etykiety Gmail wymagają konta Gmail

Kolumna Etykieta Gmail ma sens tylko dla skrzynek Gmail (Mailcow nie ma odpowiednika). Pojawia się dopiero po wybraniu konta Gmail — patrz Source setup → Gmail. Dla Mailcow zostaw ją pustą (interpretacja: „dowolna").


Głośna szyba bezpieczeństwa

Scenariusze są autonomous-but-supervised — robią rzeczy same, ale każdy ich krok jest widoczny i wycofywalny. Konkretnie:

  1. Każdy scenariusz ma flagę Aktywny. Dopóki jej nie włączysz, scenariusz istnieje w panelu, ale dyspozytor go ignoruje. Nowe scenariusze startują z flagą wyłączoną — musisz świadomie kliknąć „Aktywuj".
  2. Każdy zapis tworzy nową wersję w Historii. Otwórz scenariusz w edytorze → przycisk „Historia" w pasku narzędzi. Widzisz listę zmian z datą, autorem i opcją „Przywróć" do dowolnej wcześniejszej wersji.
  3. Każdy przebieg jest zapisany. Konkretne uruchomienie scenariusza (np. „odpowiedź na zgłoszenie #1234") trafia do tabeli Logi → Przebiegi (/marketplace/history/runs) z pełną listą węzłów, statusem każdego z nich i odsyłaczem do logów Windmill.
  4. Niepowodzenia trafiają do DLQ (Dead-Letter Queue) — /marketplace/history/dlq. Przed kolejnym uruchomieniem operator musi sprawę zaakceptować lub odrzucić.
  5. Test pojedynczego węzła w edytorze (panel po prawej, „Test węzła") — przed pierwszym aktywowaniem przepuszczasz scenariusz „na sucho" przez prawdziwe zgłoszenie i widzisz, co zwróci, bez wysyłania niczego do klienta.
  6. Akcje wysyłające (send_reply, send_template, amazon_template_message) — z założenia nie ponawiają się w przypadku błędu sieci, żeby nie zdublować wiadomości do klienta. Każde podejrzane uruchomienie kończy się w DLQ z komunikatem do ręcznej decyzji.
  7. Filter z raise_on_skip — używasz go, gdy scenariusz powinien tylko reagować na konkretną sytuację. Brak dopasowania = scenariusz cicho się kończy bez śladu (status filtered_out), nie zaśmieca Logów.

Pierwsze uruchomienie nowego scenariusza

Niezależnie od tego, jak prosty wydaje się scenariusz: pierwsze uruchomienie obserwuj na żywo. Otwórz /marketplace/history/runs, włącz scenariusz, wprowadź jedno zgłoszenie testowe (np. wyślij do siebie email pasujący do filtru) i odśwież listę po minucie. Jeśli status = success i akcje wykonały się poprawnie — w porządku. Jeśli failed lub filtered_out w nieoczekiwany sposób — wyłącz scenariusz, otwórz przebieg, sprawdź który węzeł padł.


Co znajdziesz w tej sekcji

Strona Dla kogo
Builder — tutorial Krok-po-kroku jak otworzyć edytor, dodać węzły, połączyć je, zapisać i przetestować scenariusz.
Source setup Per-platforma: jak podpiąć konto Allegro / eBay / Amazon / Gmail / Mailcow / Erli / Joom / Temu / WooCommerce do CS.
Reference węzłów Spis wszystkich 18 typów węzłów z polami, wynikami i częstymi błędami.
Szablon: kolory Wyciąganie koloru z wiadomości Allegro i zapisywanie do BaseLinkera.
Szablon: imiona psów Wyciąganie imion psów z zamówień personalizowanych i kolejkowanie do druku naklejek.

Cross-linki


Dane techniczne

  • Tabele Convex (źródło prawdy): cs_issues, cs_messages, cs_threads, cs_issue_events, cs_issue_runs, cs_dead_letters, cs_scenarios, cs_assignment_rules, cs_email_accounts, cs_message_templates, podaj_kolor_queue.
  • Pobieracze (Windmill, read-only): f/support/imap_fetcher.py (email) + f/marketplace/<vendor>/fetchers/*.py (marketplace).
  • Klasyfikator AI: f/support/classify.py (Claude API).
  • Dyspozytor scenariuszy: f/support/dispatcher.flow/ (cron 0 * * * * *).
  • Implementacje węzłów: f/support/nodes/<typ>.py — jeden plik per CsNodeType.
  • Generowane scenariusze: f/support/scenarios/<slug>/ (auto-tworzone przez Convex support/flow_sync.ts).
  • UI: dashboard/src/routes/support/ (zakładki: IssuesTab, ScenariosTab, AssignmentRulesTab).