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":
- Klasyfikacja AI — każda wiadomość przy wpadnięciu jest oceniana przez model językowy: czy to pytanie o produkt, reklamacja, zwrot, ogólne zapytanie.
- 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.
- Reguły przydziału — wiadomości z konkretnej skrzynki / etykiety Gmaila trafiają automatycznie do konkretnego opiekuna.
- 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 | support@aiofactory.pl |
(dowolna) | Anna Kowalska | ✅ | |
| 110 | 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:
- 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". - 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.
- 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. - Niepowodzenia trafiają do DLQ (Dead-Letter Queue) —
/marketplace/history/dlq. Przed kolejnym uruchomieniem operator musi sprawę zaakceptować lub odrzucić. - 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.
- 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. - 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 (statusfiltered_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¶
- Słowniczek pojęć (zgłoszenie, opiekun, automatyzacja, scenariusz) — Pierwsze kroki — Słowniczek.
- Naprawione zgłoszenia Forgejo dotyczące CS — FAQ #5, #6, #9, #10.
- Wystawianie ofert — Listings → przewodnik per platforma. CS i Listings dzielą konfigurację OAuth — jeden zalogowany Allegro / eBay / Amazon obsługuje oba moduły.
- Logi i DLQ — Monitoring. Wszystkie przebiegi scenariuszy mają tu odsyłacze.
- Pojedyncze automatyzacje korzystające z CS — Pupprint (imiona psów), Podaj kolor.
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/(cron0 * * * * *). - Implementacje węzłów:
f/support/nodes/<typ>.py— jeden plik perCsNodeType. - Generowane scenariusze:
f/support/scenarios/<slug>/(auto-tworzone przez Convexsupport/flow_sync.ts). - UI:
dashboard/src/routes/support/(zakładki:IssuesTab,ScenariosTab,AssignmentRulesTab).