Przejdź do głównej zawartości

Interfejs n8n i Twój pierwszy workflow

Moduł 2 · Poziom: początkującyCzas czytania: ~18 minZ praktyką - budujesz pierwszy workflow

Masz już działającą instancję - czas ją oswoić. W tym module poznasz kanwę i wszystkie panele edytora, zbudujesz pierwszy działający przepływ, zrozumiesz różnice między triggerami i nauczysz się uruchamiać oraz debugować workflow tak, by widzieć, którędy płyną dane.

Edytor n8n (Editor UI) to miejsce, w którym powstają wszystkie automatyzacje. Zanim zaczniesz klikać, warto wiedzieć, jak nazywają się jego elementy - będziemy się do nich odwoływać przez cały kurs, a oficjalna dokumentacja używa tych samych nazw.

Kanwa (canvas)

Główna przestrzeń robocza, na której układasz node'y i łączysz je w przepływ. Przesuwasz ją myszką, przybliżasz scrollem i widzisz tu połączenia między krokami.

Panel node'ów (nodes panel)

Otwiera się przyciskiem + w prawym górnym rogu (lub klawiszem Tab). Wyszukujesz w nim node'y po nazwie i dodajesz je na kanwę - triggery, akcje i node'y logiki.

Panel node'a (parametry)

Otwiera się po dwukliku na node. Tu ustawiasz parametry (co node ma zrobić) oraz wybierasz credentials. Po lewej widzisz dane wejściowe (Input), po prawej wynik (Output).

Ustawienia node'a (Settings)

Zakładka obok parametrów. Tu zmienisz m.in. notatki, obsługę błędów (Continue On Fail), zachowanie przy braku danych czy timeouty - przydaje się przy debugowaniu.

Lista workflow (Overview)

Widok startowy aplikacji z wszystkimi Twoimi workflow. Stąd tworzysz nowy przepływ, otwierasz istniejący, filtrujesz po tagach i folderach.

Executions (wykonania)

Historia uruchomień. Globalna lista "All executions" oraz zakładka Executions w obrębie jednego workflow - kluczowe miejsce do podglądu i debugowania.

U góry edytora znajdziesz nazwę workflow (kliknij, by ją zmienić), przełącznik Active / Inactive (aktywuje workflow dla produkcyjnych uruchomień), dostęp do tagów oraz przycisk Save. Workflow nieaktywny działa tylko w testach z edytora; dopiero aktywacja sprawia, że triggery typu Schedule czy Webhook reagują samodzielnie.

Zbudujesz prosty, ale realny przepływ: Schedule Trigger → HTTP Request → Set (Edit Fields). Codziennie pobierze on dane z publicznego API i wyciągnie z odpowiedzi tylko to, co potrzebne. Każdy workflow zaczyna się od triggera - bez niego n8n nie wie, kiedy ruszyć.

Przepływ, który zbudujesz w tej sekcji: trigger czasowy, pobranie danych z API i wyciągnięcie potrzebnych pól.

  1. Utwórz nowy workflow. Na liście workflow (Overview) kliknij Create Workflow. Otworzy się pusta kanwa z polem Add first step….
  2. Dodaj trigger (Schedule Trigger). Kliknij Add first step → wybierz On a schedule. n8n doda node Schedule Trigger. W jego parametrach ustaw Trigger Interval na Days i godzinę, np. 7:00. To on będzie codziennie startował przepływ.
  3. Dodaj node akcji (HTTP Request). Najedź na trigger, kliknij + przy jego wyjściu i wyszukaj HTTP Request. W polu URL wpisz adres przykładowego API, np. https://api.github.com/repos/n8n-io/n8n, metoda GET.
  4. Ustaw pola w node Set (Edit Fields). Dodaj kolejny node Edit Fields (Set). Włącz tryb Manual Mapping i utwórz pole nazwa z wartością z poprzedniego kroku, np. wyrażenie {{ $json.full_name }}, oraz gwiazdki = {{ $json.stargazers_count }}.
  5. Uruchom workflow. Kliknij Execute workflow (przycisk u dołu kanwy). n8n wykona przepływ od triggera w trybie testowym i pokoloruje node'y, które zakończyły się sukcesem.
  6. Sprawdź wynik i zapisz. Otwórz node Edit Fields i spójrz na panel Output po prawej - zobaczysz przygotowane pola nazwa i gwiazdki. Na końcu kliknij Save i nadaj workflow czytelną nazwę.

Trigger to node, który rozpoczyna workflow. Od jego wyboru zależy, kiedy i jak Twoja automatyzacja w ogóle ruszy. Na start wystarczy poznać trzy najczęstsze - różnią się tym, co wyzwala wykonanie.

Manual Trigger

Ty uruchamiasz przepływ klikając "Execute workflow". Idealny do nauki i testów - nie reaguje na nic z zewnątrz i nie działa po aktywacji.

Schedule Trigger

Czas uruchamia przepływ - co kilka sekund, minut, godzin, dni, tygodni, miesięcy lub wg własnego wyrażenia cron. Do zadań cyklicznych: raporty, synchronizacje.

Webhook

Zdarzenie z zewnątrz uruchamia przepływ - inny system wysyła żądanie HTTP na unikalny URL. Do reakcji w czasie rzeczywistym (formularz, płatność, zdarzenie z innej aplikacji).

Trigger Co go wyzwala Wymaga aktywacji workflow? Typowe zastosowanie
Manual Trigger Kliknięcie "Execute workflow" w edytorze Nie - działa tylko w teście Nauka, testy, jednorazowe uruchomienia
Schedule Trigger Harmonogram (interwał lub cron) Tak - by uruchamiał się sam Raporty cykliczne, synchronizacje, sprzątanie danych
Webhook Przychodzące żądanie HTTP na URL Tak - produkcyjny URL działa po aktywacji Formularze, płatności, integracje real-time, callbacki z API

Budowanie workflow to pętla: uruchom → zobacz dane → popraw. n8n daje do tego komplet narzędzi: pełne i częściowe wykonania, podgląd danych między node'ami, przypinanie danych oraz pełną historię executions.

  • Execute workflow - uruchamia cały przepływ od triggera. Używasz, gdy chcesz sprawdzić wszystko od początku do końca.
  • Execute step (częściowe wykonanie) - uruchamia tylko zaznaczony node, korzystając z danych z poprzednich kroków. Bezcenne, gdy poprawiasz jeden node i nie chcesz znów przepuszczać całego przepływu.

Po każdym uruchomieniu połączenia na kanwie pokazują liczbę przepuszczonych itemów, a w panelu node'a widzisz dane wejściowe (Input) i wynik (Output) w trzech widokach: Table, JSON i Schema. To tutaj sprawdzasz, czy dane mają taki kształt, jakiego oczekujesz - większość błędów to po prostu inna nazwa pola niż się spodziewałeś.

Zakładka Executions w workflow (i globalne "All executions") to dziennik uruchomień. Każde ma status - Success, Error lub Running - oraz tryb: manual, trigger (produkcyjne) albo częściowe. Klikając wykonanie, otwierasz jego kopię na kanwie z dokładnymi danymi z tamtego momentu - wręcz idealne do śledzenia, dlaczego coś poszło nie tak. Nieudane wykonania możesz też ponowić (Retry).

Webhook ma dwa URL-e. Test URL działa po kliknięciu Listen for test event - n8n nasłuchuje pojedynczego żądania, żebyś zobaczył jego dane w edytorze. Production URL zaczyna działać dopiero, gdy workflow jest aktywny (przełącznik Active). To najczęstsza pułapka początkujących: testowy URL działał, a "na produkcji" cisza - bo workflow nie został aktywowany.

Jeden workflow ogarniesz z pamięci. Dwadzieścia - już nie. Im wcześniej wprowadzisz porządek, tym mniej czasu stracisz później na szukanie "tego przepływu, który coś robił z fakturami".

Nazewnictwo i tagi

  • Nadawaj workflow opisowe nazwy (np. "Codzienny raport sprzedaży → Slack"), nie "My workflow 3".
  • Używaj tagów do grupowania po kliencie, dziale lub statusie (np. prod, test, finanse).
  • Jeśli Twoja wersja n8n ma foldery - układaj w nich workflow tematycznie, jak pliki w katalogach.

Sticky notes na kanwie

  • Dodawaj sticky note (notatki), by opisać sekcje przepływu wprost na schemacie.
  • Wyjaśniaj dlaczego, a nie tylko co - przyszły Ty (lub kolega) podziękuje.
  • Zaznaczaj nimi miejsca wymagające uwagi: limity API, dane testowe, kruche założenia.

Zanim ruszysz dalej, odpowiedz sobie na te pytania - na głos albo w dwóch zdaniach na kartce. Jeśli przy którymś się zawahasz, wróć do podlinkowanej sekcji.

  1. Dlaczego Manual Trigger nigdy nie uruchomi workflow "sam z siebie", nawet jeśli przełączysz workflow na Active - co konkretnie odróżnia go pod tym względem od Schedule i Webhooka? Jeśli nie masz pewności - Triggery: Manual, Schedule i Webhook.
  2. Kolejny node w Twoim przepływie "nie widzi" pola, którego się spodziewałeś, i się wywala. Gdzie w edytorze sprawdzisz, jak naprawdę wygląda output poprzedniego node'a, zanim zaczniesz zgadywać? Jeśli nie masz pewności - Podgląd danych między node'ami.
  3. Wracasz po pół roku do workflow, w którym node'y nazywają się "HTTP Request1", "Set1", "IF1". Co stracisz, a czego byś nie stracił, gdybyś od razu nadał im opisowe nazwy? Jeśli nie masz pewności - Organizacja pracy - dobre praktyki od początku.
  4. Wczorajsze, produkcyjne uruchomienie zakończyło się błędem, a Ciebie przy tym nie było. Jak teraz sprawdzisz, na którym dokładnie kroku i z jakimi danymi coś poszło nie tak? Jeśli nie masz pewności - Lista i szczegóły executions.
Mini-zadanie: zamień Schedule Trigger na Webhook

Bazujesz na workflow z tego modułu (Schedule Trigger → HTTP Request → Edit Fields).

  1. Usuń Schedule Trigger i dodaj w jego miejsce node Webhook (metoda GET).
  2. Połącz go z istniejącym HTTP Request i Edit Fields - reszta przepływu zostaje bez zmian.
  3. Kliknij Listen for test event i otwórz Test URL w przeglądarce (albo wywołaj go curl-em).
  4. Sprawdź w panelu Output node'a Edit Fields, że dane przeszły tak samo jak wcześniej.
  5. Żeby to zadziałało "na produkcji", pamiętaj o dwóch rzeczach z tego modułu: aktywacji workflow (Active) i użyciu Production URL zamiast Test URL.

Co warto zapamiętać z tego modułu

  • Edytor n8n to: kanwa, panel node'ów (Tab / +), panel parametrów i ustawień node'a, lista workflow i executions.
  • Każdy workflow startuje od triggera; uniwersalny wzorzec to "kiedy → skąd → co z tym zrobić".
  • Manual = testy, Schedule = harmonogram/cron, Webhook = reakcja na zdarzenie z zewnątrz.
  • "Execute workflow" uruchamia całość, "Execute step" tylko jeden node - szybsze poprawki.
  • Pinning danych przyspiesza testy i oszczędza limity API, ale działa tylko w edytorze, nie na produkcji.
  • Webhook ma osobny Test URL i Production URL; produkcyjny wymaga aktywnego workflow.
  • Porządek od początku: opisowe nazwy, tagi, foldery i sticky notes.

Częste pytania

Czy workflow zadziała sam, jeśli go nie aktywuję?

Nie. Bez aktywacji (przełącznik Active) workflow działa wyłącznie w edytorze - uruchamiany ręcznie przyciskiem "Execute workflow". Triggery Schedule i Webhook reagują samodzielnie dopiero po aktywacji. Manual Trigger nigdy nie działa "produkcyjnie" - służy tylko do testów.

Czym różni się "Execute workflow" od "Execute step"?

"Execute workflow" uruchamia cały przepływ od triggera. "Execute step" to częściowe wykonanie - odpala tylko zaznaczony node, korzystając z danych z wcześniejszych kroków. Drugie jest szybsze, gdy poprawiasz pojedynczy node i nie chcesz przepuszczać wszystkiego od nowa.

Mój webhook działa w teście, ale nie na produkcji - dlaczego?

Najczęściej dlatego, że workflow nie jest aktywny lub system zewnętrzny używa Test URL zamiast Production URL. To dwa różne adresy. Aktywuj workflow przełącznikiem Active i skopiuj produkcyjny URL z node'a Webhook do systemu, który wysyła żądania.

Po co przypinać dane (pinning), skoro mogę po prostu uruchomić workflow?

Pinning "zamraża" wynik node'a, więc kolejne testy nie wywołują ponownie API - oszczędzasz czas i limity, a zarazem pracujesz na tym samym, stałym zestawie danych (łatwiej porównać efekty zmian). Pamiętaj jednak, że przypięte dane działają tylko w edytorze; produkcja zawsze pobiera dane na żywo.

Który trigger wybrać dla swojego pierwszego prawdziwego workflow?

Jeśli zadanie ma się dziać o określonych porach (raport, synchronizacja) - Schedule Trigger. Jeśli ma reagować na zdarzenie z innego systemu (formularz, płatność) - Webhook. Do nauki i ręcznych testów zostań przy Manual Triggerze. Więcej o przepływie samych danych pokażę w Module 3: Praca z danymi.

Następny krok

Utknąłeś w tym module albo coś jest nieaktualne? Napisz do mnie - poprawię materiał.

made with ❤️ by aitomate.pl - Łukasz Podgórski