[Demo] Custom Actions w ChatGPT - połącz asystenta z API dowolnego narzędzia
Jak zintegrowałem ChatGPT z kampusem Product Academy dzięki Custom Actions. Demo + praktyczny tutorial (i dlaczego czasem lepiej poczekać na oficjalne MCP).
Jakiś czas temu podczas sesji Q&A w mojej społeczności Product Academy dostałem pytanie: „Tomek, jak zintegrować swojego asystenta ChatGPT z Jirą?”. Takiego, który nie tylko „gada”, ale faktycznie dodaje zadania czy przegląda tickety.
Wtedy nie było jeszcze oficjalnego MCP dla Jiry. Pomyślałem: “Hmm, w sumie czemu nie spróbować tego obejść?”. Jak stworzyć własną integrację z narzędziem, które (jeszcze) nie ma oficjalnego wsparcia dla AI.
I tak poznałem i zacząłem stosować Custom Actions w ChatGPT.
Nie potrzebowałem akurat integracji z Jirą, ale pomyślałem o moim własnym podwórku - stworzenie integracji z moją społecznością Product Academy.
W tym newsletterze pokażę Ci jak to zrobiłem:
Co to są Custom Actions i po co Ci to?
[DEMO] Co-pilot kampusu PA z custom actions
Jak to zrobiłem w praktyce krok po kroku?
Custom Actions vs. MCP - kiedy co wybrać?
Dlaczego warto się pomęczyć?
Zaczynamy ⤵️
1. Co to są Custom Actions i po co Ci to?
W dużym uproszczeniu: to mechanizm, który pozwala Twojemu GPT komunikować się z zewnętrznym oprogramowaniem za pomocą API (Application Programming Interface). Dzięki temu GPT wie, jakie komendy może wysłać do innego systemu i jakich odpowiedzi się spodziewać.
W praktyce:
tworzysz sobie asystenta (Custom GPT),
definiujesz jakie akcje może wykonywać przez dostępne API narzędzia (np. “pobierz zadania”, “utwórz ticket”, “zaktualizuj status”).
W moim przypadku GPT przestał tylko “rozmawiać” o kampusie Product Academy, a zaczął fizycznie wywoływać jego API, żeby pobierać wiadomości lub publikować posty.
2. [DEMO] Co-pilot kampusu PA z custom actions
Nagrałem krótki demo jak stworzyłem swojego wykorzystałem pierwsze Custom Actions w praktyce. Zbudowałem asystenta, który integruje się z Circle (platformą, na której stoi Kampus Product Academy).
Celem było stworzenie bota, który potrafi wchodzić do kampusu i przez API pobierać dane albo w nim publikować.
Co zobaczysz na nagraniu?
Pobieranie danych: Proszę asystenta: “Pobierz ostatnich 5 postów”. On łączy się z API Circle i wyciąga konkretne wiadomości z ogłoszeń.
Publikowanie treści: Proszę go opublikować odpowiedniego posta w społeczności.
Efekt: Asystent nie tylko generuje treść, ale fizycznie wrzuca ją na platformę. Po chwili wchodzę na Kampus i... post tam jest.
Mówiąc szczerze - trochę się z tym męczyłem. API Circla nie jest super dokładnie udokumentowane, więc trochę debugowania było w pakiecie.
Ale efekt? Bardzo fajne i przydatne narzędzie.
3. Jak to zrobiłem w praktyce?
Jeśli chcesz stworzyć własny Custom Action, oto jak to robię krok po kroku:
Krok 1: Znajdź dokumentację API
Musisz wiedzieć, jak Twoje narzędzie “rozmawia”. Ja po prostu znalazłem dokumentację API Circle (zwykle wystarczy wpisać w Google “[Nazwa narzędzia] API docs”). Większość nowoczesnych SaaS-ów to ma.
Krok 2: Stwórz OpenAPI schema
Custom Actions w ChatGPT potrzebują schematu API w formacie którego chce OpenAPI. To JSON/YAML opisujący jakie endpointy są dostępne, jakie parametry przyjmują, co zwracają.
Dobra wiadomość: Nie musisz pisać tego ręcznie.
Ja po prostu poprosiłem samego ChatGPT o pomoc. Wkleiłem mu fragment dokumentacji i napisałem prompt w stylu: “Przygotuj mi Schema do Custom Action, która pozwoli na pobieranie postów i publikowanie wiadomości”. Prowadził mnie krok po kroku.
Oczywiście nie wyszło od razu - musiałem poprawiać schema, debugować błędy, testować różne konfiguracje. Ale miałem solidny punkt startowy.
Krok 3: Skonfiguruj Custom Action w GPT
W interfejsie Custom GPT:
Wejdź w “Configure” → “Actions”
Kliknij “Create new action”
Wklej swoje OpenAPI schema
Skonfiguruj autentykację (API key, OAuth, itp.)
Przetestuj pierwszą akcję
Krok 4: Testuj i debuguj (bo nie wyjdzie od razu)
Tutaj poświęciłem najwięcej czasu. Typowe problemy:
Autentykacja nie działa → Sprawdź czy API key jest w odpowiednim miejscu (header vs. query param)
Schema jest niepoprawne → GPT podpowie błędy, czytaj je uważnie
API zwraca błędy → Użyj “View details” w GPT, żeby zobaczyć raw response
To rzadko działa za pierwszym kliknięciem. Ja też musiałem trochę “poprawiać” kod i debugować, żeby autoryzacja zadziałała poprawnie. GPT często wypluwa błędy, ale... też pomaga je naprawić. Wklejasz błąd z powrotem do czatu i pytasz: “Co jest nie tak?”.
Nie zniechęcaj się. To normalne, że pierwsza wersja nie działa. Ja spędziłem kilka godzin na debugowaniu, zanim wszystko zadziałało jak należy.
4. Custom Actions vs. MCP - kiedy co wybrać?
Zanim rzucisz się w wir tworzenia Custom Actions, sprawdź najpierw czy nie ma lepszego rozwiązania.
MCP (Model Context Protocol) to nowy standard od Anthropic, który pozwala AI asystentom (Claude, ale też innym, od jakiegoś czasu też ChatGPT) łączyć się z różnymi narzędziami w sposób ustandaryzowany.
W praktyce: ktoś (często twórcy narzędzia) tworzy serwer MCP, a ty możesz z niego korzystać bez budowania własnej integracji.
ChatGPT podpowiedział mi coś takiego, co całkiem nieźle oddaje różnicę:
Custom Actions = Budujesz most między ChatGPT a API sam. Kontrolujesz wszystko, ale też odpowiadasz za wszystko (autentykację, update’y, maintenance).
MCP = Korzystasz z gotowego mostu, który ktoś już zbudował. Szybsze wdrożenie, lepsze wsparcie, mniej pracy.
Kiedy masz możliwość, lepiej zwykle wybrać korzystanie MCP.
5. Dlaczego warto się pomęczyć?
Bo kiedy to zadziała, magia dzieje się sama ✨. Mój asystent teraz na jedno polecenie “Pobierz ostatnie posty” sam łączy się z kampusem i wyciąga dane, zamiast kazać mi tam wchodzić i szukać ręcznie.
Mogę z tego szybko zrobić np. podsumowanie ostatnich dyskusji w społeczności. Oszczędność czasu i satysfakcja z „zatrudnienia” robota do niewdzięczniej roboty - bezcenne.
P.S. Jeśli uda Ci się spiąć coś ciekawego, koniecznie daj znać – chętnie zobaczę Wasze use-case’y!





