Agent zgłoszeń w ChatGPT: przepis w sześciu krokach
Temat: Usługi techniczne i serwisowe
W sześciu krokach zbudujecie w projekcie ChatGPT agenta, który czyta zgłoszenia serwisowe z pięciu kanałów, przypina każde do urządzenia i umowy, nadaje priorytet, liczy termin reakcji w godzinach obsługi z umowy i wykrywa, że dwa telefony to jedno zdarzenie. Agent kładzie dyspozytorowi na biurku tabelę zgłoszeń i proponowaną kolejność, ale nie przydziela technika i nie obiecuje klientowi terminu. Stan funkcji sprawdzony 15.10.2026 w dokumentacji projektów ChatGPT.
To przepis do karty agenta zgłoszeń z serii o usługach technicznych i serwisowych jako jednym systemie. Pracujemy na tych samych danych ćwiczeniowych co w pozostałych przepisach: osiem zgłoszeń z jednego poranka, dziewięć urządzeń u czterech klientów i cztery umowy o różnym poziomie gwarantowanego czasu reakcji (SLA). Wszystkie dane są fikcyjne, łącznie z piekarnią, która ma dwa piece tego samego modelu.
Gotowy skill. Procedurę agenta zgłoszeń serwisowych z tego przepisu znajdziecie jako gotowy skill w otwartym repozytorium moja-firma-serwis na GitHubie, razem z danymi ćwiczeniowymi i wynikiem kontrolnym. Działa w Claude, Microsoft 365 Copilot, ChatGPT i Gemini. Jak z niego skorzystać.
Co zbudujesz
Projekt w ChatGPT ze stałymi instrukcjami i dwoma plikami z parkiem urządzeń i umowami. Do nowej rozmowy w projekcie dołączasz arkusz ze zgłoszeniami z poranka i dostajesz to, co dziś kosztuje dyspozytora godzinę telefonów do techników.
| Wejście | Co robi agent | Wynik |
|---|---|---|
| Zgłoszenia z pięciu kanałów (XLSX w rozmowie) | rozpoznaje klienta, obiekt i urządzenie, także po skróconej nazwie | każde zgłoszenie przypięte do numeru seryjnego albo oznaczone „do dopytania” |
| Kartoteka urządzeń | czyta historię i uwagi (drugi piec w obiekcie, powtarzająca się usterka) | priorytet z uzasadnieniem |
| Umowy serwisowe | liczy termin reakcji w godzinach obsługi z umowy, przy 24/7 kalendarzowo | start zegara i termin reakcji dla każdego zgłoszenia |
| Wszystko razem | scala duplikaty, wyłącza przeglądy i klientów bez umowy, proponuje kolejność | tabela zgłoszeń, lista spraw do dopytania, kolejność dla dyspozytora |
Czym ChatGPT różni się od pozostałych trzech narzędzi w tym zadaniu. Liczenie robi analiza danych: ChatGPT pisze i uruchamia Pythona w notatniku Jupyter i czyta zarówno XLSX, jak i CSV, w przeciwieństwie do Agent Buildera w Microsoft 365 Copilot, którego wiedza bierze tylko XLSX. Najwięcej zmienia się wokół projektu: dawny tryb agenta zastąpił ChatGPT Work, własne GPT są wycofywane, a do automatyzacji służą workspace agents. Dlatego ten przepis stoi na projekcie, czyli na części, która się nie zmienia. Gemini z kolei czyta pliki prosto z Dysku Google, tutaj pliki wgrywacie do projektu.
Czego potrzebujesz
- Workspace’u ChatGPT na planie Business albo Enterprise. Na stronie OpenAI Business kosztuje 25 USD za użytkownika miesięcznie albo 20 USD przy płatności rocznej, przy minimum dwóch użytkownikach; traktujcie to jako orientację, bo OpenAI wspomina też miejsca Standard i Premium, których cennik nie pokazuje, więc cenę potwierdźcie przed zakupem. Projekt na tych planach mieści do 40 plików.
- Uprawnień do tworzenia i udostępniania projektów. Nadaje je administrator workspace’u (krok 1).
- Danych ćwiczeniowych: zgloszenia.xlsx, urzadzenia.xlsx, umowy.xlsx. Ten sam komplet w CSV (UTF-8, separator średnik) i w jednym archiwum: agent-ut-dane-cwiczeniowe.zip. Analiza danych czyta oba formaty; w przepisie używamy XLSX, żeby nie walczyć z separatorem.
Czego ten agent nie zrobi
Nie przydzieli technika i nie poinformuje klienta o terminie wizyty. Kolejność, którą proponuje, jest propozycją dla dyspozytora; o tym, czy jechać w nocy do usterki, którą klient sam nazwał „nie pilną”, choć umowa 24/7 tego nie rozróżnia, decyduje człowiek. Czy przyjąć klienta bez umowy i na jakich warunkach, rozstrzyga kierownik serwisu. Agent pokazuje, co jest w umowie i ile zostało do terminu, żeby te decyzje zapadły na danych, a nie na tym, kto głośniej dzwonił.
Nie zastąpi też porządku w kartotece. Jeśli urządzenia u klientów nie mają numerów seryjnych nigdzie poza zdjęciami w telefonach techników, agent nie ma do czego przypiąć zgłoszenia. Gorzej: model chętnie wypełni lukę czymś, co brzmi wiarygodnie, na przykład „prawdopodobnie piec PK-44120”. W prawdziwej firmie zacznijcie od jednego arkusza z parkiem urządzeń: numer seryjny, model, klient, obiekt, umowa. Dopiero potem agent.
Krok 1. Sprawdź uprawnienia w workspace
Administrator otwiera Workspace settings → Permissions & roles → Projects i włącza „Create and manage projects” oraz „Share projects”. Projekty dziedziczą ustawienia narzędzi, retencji i rezydencji danych z workspace’u, więc to też dobry moment, żeby sprawdzić, co administrator tam ustawił.
Powinieneś zobaczyć w pasku bocznym Projects z możliwością założenia nowego projektu. Jeśli go nie ma, uprawnienie jest wyłączone.
Krok 2. Załóż projekt i wpisz instrukcje
W pasku bocznym wybierz Projects i załóż nowy projekt o nazwie „Agent zgłoszeń”. Potem otwórz menu projektu (•••) → Project settings i wklej instrukcje poniżej. Obowiązują tylko w tym projekcie i mają pierwszeństwo przed Twoimi globalnymi instrukcjami.
Jesteś agentem zgłoszeń w firmie serwisowej (serwis urządzeń u klienta, technicy w terenie, umowy SLA).
Pracujesz na plikach projektu:
- urzadzenia.xlsx: park urządzeń u klientów (numer seryjny, model, typ, klient, obiekt, umowa,
ostatnia naprawa, liczba zgłoszeń z 12 miesięcy, uwagi),
- umowy.xlsx: umowy serwisowe (poziom, czas reakcji i naprawy w godzinach, godziny obsługi,
rozliczenie, ryczałt miesięczny).
Gdy dostaniesz listę zgłoszeń (plik zgloszenia.xlsx w rozmowie), dla każdego zgłoszenia zrób kolejno:
1. Rozpoznaj klienta, obiekt i urządzenie po nazwie firmy, obiekcie, modelu i treści. Nazwy w zgłoszeniu
bywają skrócone („Bochen” to Piekarnia Rzemieślnicza Bochen sp. z o.o.). Jeśli pasuje więcej niż jedno
urządzenie, wypisz wszystkie i oznacz zgłoszenie jako „do dopytania”. Jeśli nie pasuje żadne, wpisz
„brak w kartotece”.
2. Przypnij umowę z pliku umowy.xlsx po kliencie. Klient bez umowy to „poza umową”: zegar SLA nie biegnie.
3. Nadaj priorytet: krytyczny (produkcja stoi, temperatura produktu, zagrożenie ludzi), wysoki (urządzenie
nieczynne, powtarzająca się usterka, urządzenie pod dozorem), normalny (komfort, usterka bez przestoju),
przegląd planowy (termin z umowy, nie awaria; nie uruchamia zegara awarii).
4. Policz termin reakcji: start zegara to data i godzina zgłoszenia; dodaj czas reakcji z umowy, licząc
tylko godziny obsługi z umowy (przy 24/7 godziny kalendarzowe). Czas poza godzinami obsługi nie liczy
się do zegara; zgłoszenie złożone poza nimi startuje na początku najbliższych godzin obsługi.
Jeśli termin już minął, napisz to wprost.
5. Wykryj duplikaty: dwa zgłoszenia tego samego klienta o tym samym urządzeniu i zdarzeniu, z różnych
kanałów, to jedno zdarzenie. Scal je; zegar liczy się od wcześniejszego.
6. Wypisz, czego brakuje, żeby wysłać technika (który egzemplarz, kod błędu, potwierdzenie alarmu
u klienta, zgoda na wycenę).
7. Zaproponuj kolejność obsługi: najpierw zgłoszenia, których termin reakcji przypada dziś albo już minął,
w ich obrębie według priorytetu (krytyczny, wysoki, normalny), a przy równym priorytecie według terminu;
zgłoszenie krytyczne, które czeka na odpowiedź klienta, ustaw za krytycznym gotowym do obsługi.
Potem zgłoszenia z terminem w kolejnych dniach, potem przeglądy planowe (w oknie klienta),
na końcu zgłoszenia poza umową, oznaczone „decyzja kierownika serwisu”.
Zasady:
- Licz w Pythonie (analiza danych) na plikach projektu i na załączniku, nie z pamięci.
Przy każdym terminie podaj, z których wierszy (urządzenie, umowa) pochodzi.
- Nie dopisuj urządzeń ani umów, których nie ma w plikach. Brak danych nazwij wprost.
- Nie przydzielasz technika i nie obiecujesz klientowi terminu wizyty. Kolejność jest propozycją
dla dyspozytora; obsługa klienta bez umowy to decyzja kierownika serwisu.
- Wynik: tabela zgłoszeń (zgłoszenie, urządzenie, klient, umowa, priorytet, start zegara, termin reakcji,
uwagi), lista duplikatów i spraw do dopytania, proponowana kolejność.
Reguła liczenia zegara jest jawna celowo — tylko godziny obsługi z umowy, przy 24/7 kalendarzowo — więc dyspozytor może się z nią kłócić, zamiast ufać „intuicji modelu”. Zasada „zgłoszenie krytyczne, które czeka na odpowiedź klienta, za krytycznym gotowym do obsługi” sprawia, że piekarnia z dwoma piecami nie blokuje komory chłodniczej z mięsem.
Krok 3. Dodaj pliki projektu
Dodaj do plików projektu urzadzenia.xlsx i umowy.xlsx. Zajmą 2 z 40 miejsc i są daleko od limitów wielkości (ok. 50 MB dla arkusza). Nazwy kolumn znajdziesz w pierwszym wierszu każdego arkusza; jeśli w swoich danych użyjesz innych, popraw je w instrukcji.
Zgłoszeń nie dodawaj do plików projektu. Pliki projektu to Wasz park urządzeń i umowy, obowiązujące w każdej rozmowie. Zgłoszenia z poranka są sprawą na dziś i trafiają do pojedynczej rozmowy.
Krok 4. Uruchom agenta na zgłoszeniach
W projekcie rozpocznij nową rozmowę, dołącz zgloszenia.xlsx i napisz:
Dziś jest poniedziałek 7.09.2026, godzina 9:30. W załączniku zgłoszenia z ostatniej doby. Przeprowadź triage według instrukcji projektu, licząc w Pythonie na plikach projektu i na załączniku.
Powinieneś zobaczyć, że ChatGPT uruchamia analizę danych (kod w Pythonie), czyta oba arkusze projektu i załącznik, a potem odpowiada w kolejności z instrukcji: tabela zgłoszeń z urządzeniem, umową, priorytetem i terminem, lista duplikatów i spraw do dopytania, proponowana kolejność. Jedno zastrzeżenie: strona pomocy o projektach nie wymienia analizy danych wprost wśród narzędzi projektu. Jeśli w odpowiedzi nie widać uruchomionego kodu, poproś o niego wprost i nie przyjmuj terminów, dopóki go nie zobaczysz. Na własnych danych usuńcie z promptu datę — agent weźmie bieżącą; w ćwiczeniu podajemy ją wprost, bo zgłoszenia pochodzą z września 2026.
Krok 5. Gdy potrzebujesz gotowego arkusza
Dokumentacja analizy danych nie mówi wprost, czy z rozmowy w projekcie pobierzesz wynik jako plik XLSX, więc sprawdź to sam, prosząc o plik na końcu odpowiedzi. Pewną drogą do gotowego arkusza jest ChatGPT Work: przełącz rozmowę na Work w tym samym projekcie, a zadanie wykona się z kontekstem projektu i zakończy dokumentem albo arkuszem (ChatGPT Work). Work zastąpił dawny tryb agenta, więc jeśli w starszym poradniku zobaczysz polecenie /agent, to już nie działa.
Sprawdź wynik na danych kontrolnych
Porównaj odpowiedź z tabelą poniżej. Terminy policzyliśmy niezależnie z tych samych plików. Siódmy września 2026 to poniedziałek, szósty — niedziela.
| Zgłoszenie | Urządzenie | Klient / umowa | Priorytet | Start zegara | Termin reakcji | Uwaga agenta |
|---|---|---|---|---|---|---|
| Z-001 | PK-44120 lub PK-44121 | K-021 / U-2024-11 (Złoty, 4 h, 24/7) | krytyczny — produkcja stoi | 7.09 06:40 | 7.09 10:40 | dwa piece tego samego modelu w obiekcie — do dopytania; weszło telefonem do technika |
| Z-002 | BR-1092 | K-034 / U-2025-03 (Srebrny, 8 h, pn–pt 7–19) | wysoki — rampa nieczynna | 7.09 07:55 | 7.09 15:55 | piąte zgłoszenie w 12 miesięcy — zalecenie wymiany fotokomórki, do kierownika serwisu |
| Z-003 | CH-7790 | K-041 / U-2025-09 (Złoty, 4 h, 24/7) | krytyczny — temperatura produktu | 7.09 08:12 | 7.09 12:12 | alarm automatyczny — potwierdzić telefonicznie u klienta |
| Z-004 | DZ-5510 | K-008 / U-2023-07 (Brązowy, 24 h, pn–pt 8–16) | wysoki — dźwig pod dozorem, nikt nie uwięziony | 7.09 08:30 | 10.09 08:30 | rozliczenie za zlecenie — wycena przed wyjazdem; uprawnienia dźwigowe |
| Z-005 | jak Z-001 | K-021 / U-2024-11 | duplikat Z-001 | 7.09 06:40 | 7.09 10:40 | to samo zdarzenie innym kanałem — scalić ze Z-001 |
| Z-006 | brak w kartotece | brak umowy | poza umową | — | — | nowy klient — przyjąć za zlecenie z wyceną albo odmówić: kierownik serwisu |
| Z-007 | WZ-3300 | K-034 / U-2025-03 | przegląd planowy | — | termin przeglądu do końca września 2026 | zaplanować w oknie klienta z zestawem części; bez zegara awarii |
| Z-008 | WZ-3312 | K-041 / U-2025-09 (Złoty, 4 h, 24/7) | normalny — komfort | 6.09 23:50 | 7.09 03:50 | termin minął, zanim ktokolwiek przeczytał maila; „nie pilne” klienta nie zmienia SLA — decyzja dyspozytora |
Prawidłowa kolejność to Z-003, Z-001 (ze scalonym Z-005), Z-002, Z-008, Z-004, Z-007, Z-006. Komora chłodnicza idzie przed piecem, choć jej termin jest późniejszy, bo piekarnia czeka na odpowiedź, który piec stanął. Z-008 ląduje przed dźwigiem, bo jego termin już minął — niedzielny mail o 23:50 na umowie 24/7 to jedyne zgłoszenie z poranka, które jest przeterminowane, zanim dyspozytor usiadł do biurka. Dźwig ma czas do czwartku, bo umowa Brązowa liczy dobę reakcji tylko w godzinach 8–16 od poniedziałku do piątku.
Jeśli w tabeli Z-004 ma termin we wtorek, agent policzył dobę kalendarzową zamiast godzin obsługi. Jeśli Z-005 jest osobnym wierszem z własnym zegarem od 08:41, agent nie scalił duplikatu. Jeśli terminy się nie zgadzają, poproś o pokazanie kodu analizy i sprawdź, jak liczył godziny obsługi. Odpowiedź policzona z pamięci wygląda tak samo pewnie jak policzona kodem; różnicę widać dopiero w kodzie.
Krok z rzeczywistością
Umowy się zmieniają, a agent musi to zauważyć bez zmiany instrukcji. Otwórz umowy.xlsx, w wierszu U-2023-07 (Hotel Pod Dębami) zmień godziny obsługi z pn–pt 8:00–16:00 na 24/7, zapisz plik i w plikach projektu zastąp starą wersję nową.
Zadaj w nowej rozmowie to samo pytanie. Termin reakcji dla Z-004 powinien przesunąć się z czwartku 10.09 08:30 na wtorek 8.09 08:30: ta sama doba reakcji, ale liczona kalendarzowo. Kolejność nie powinna się zmienić — dźwig nadal ma termin w kolejnym dniu, więc zostaje za zgłoszeniami z dzisiejszym i przekroczonym terminem.
Jedna komórka w umowie przesunęła termin o dwa dni. Dlatego godziny obsługi mają być w zapisie przy umowie, a nie w pamięci dyspozytora.
Krok 6. Udostępnij zespołowi i zaplanuj automatyzację
Kiedy wynik zgadza się z danymi kontrolnymi, kliknij Share w projekcie i dodaj osoby albo grupę z workspace’u (do 100 współpracowników). Dyspozytorom daj uprawnienie Chat, osobie odpowiedzialnej za instrukcje i pliki Edit. Link w workspace domyślnie daje dostęp Chat, a projekt udostępniony zawsze pracuje w trybie pamięci Project-only.
Zgłoszenia przychodzą mailem i z portalu i to jest następny krok, ale już poza projektem. Workspace agent (Agents → Create w pasku bocznym) dostaje te same pliki, aplikacje takie jak Google Drive czy SharePoint i harmonogram uruchomień — na przykład triage skrzynki co godzinę. Gmail występuje z kolei jako wyzwalacz „nowa wiadomość” dla zadań Work. Akcje zapisu mają tam domyślnie ustawienie Always ask, czyli agent przygotowuje, a człowiek zatwierdza. Zostawcie to tak. Według zapowiedzi OpenAI z kwietnia 2026 workspace agents są rozliczane kredytami (stawek nie potwierdziliśmy), a w Enterprise są domyślnie wyłączone (workspace agents). Outlook i SharePoint wymagają jeszcze zgody administratora Microsoft Entra.
Typowe problemy
| Objaw | Przyczyna | Co zrobić |
|---|---|---|
Brak tworzenia projektu albo przycisku Share | administrator wyłączył uprawnienie | Workspace settings → Permissions & roles → Projects |
| W tabeli jest urządzenie, którego nie ma w kartotece | model dopowiada zamiast czytać | poproś o numery wierszy i ponowne policzenie w Pythonie |
| Termin Z-004 wypada we wtorek | agent liczył dobę kalendarzową zamiast godzin obsługi | przypomnij regułę z instrukcji: tylko godziny obsługi, chyba że 24/7 |
| Z-005 ma własny zegar od 08:41 | agent nie scalił duplikatu | wskaż regułę: to samo zdarzenie z dwóch kanałów to jedno zgłoszenie |
| Kolega nie widzi projektu po dodaniu do grupy | członkowie dodani później nie dostają powiadomienia | wyślij mu link do projektu |
| Aplikacja ma etykietę „Disabled by admin” | aplikacja wyłączona w Admin → Plugins | administrator włącza aplikację i akcje |
| Nie da się zbudować nowego GPT | GPT są wycofywane | zostań przy projekcie albo workspace agent |
Co dalej
Na własnych danych potrzebujecie dwóch eksportów, w XLSX albo CSV, i jednego dziennego załącznika. Kartoteka urządzeń z ERP albo z załączników do umów: numer seryjny, model, typ, klient, obiekt, umowa, data ostatniej naprawy, liczba zgłoszeń z dwunastu miesięcy, uwagi. Umowy: poziom, czas reakcji i naprawy, godziny obsługi, sposób rozliczenia, ryczałt. I codziennie zgłoszenia: kanał, data i godzina, kto zgłasza, firma i obiekt tak, jak podał klient, treść. Nazwy kolumn mogą być Wasze, wtedy poprawcie je w instrukcji.
Ten sam agent w innych narzędziach:
Pełną kartę agenta zgłoszeń, czyli co czyta, co może sam, co zatwierdza człowiek i czym go mierzyć, znajdziecie we wpisie o zegarze SLA, który rusza sam.
- Usługi techniczne i serwisowe
- ChatGPT
- Agent AI
- Zgłoszenia serwisowe
