TL;DR
- Zawsze używaj Expression fields zamiast Fixed – dają więcej kontroli i możliwości manipulacji kodem
- Wszystkie dane w N8N to tablice obiektów – zrozumienie tej struktury eliminuje 90% błędów początkujących
- JSON to fundament – bez znajomości JavaScript Object Notation wszystko będzie trudniejsze
- N8N jest AI-native – wbudowane funkcjonalności AI znacznie przewyższają inne platformy no-code
- Webhooks to klej internetu – pozwalają łączyć dowolne systemy bez głębokiej wiedzy programistycznej
- Praktyczne zastosowania generują prawdziwy ROI – jak system automatycznej odpowiedzi na zapytania dziennikarzy
- HTTP requests + AI = potężny web scraping – możliwość analizy dowolnych stron internetowych
Filozofia praktycznego podejścia do N8N
Nick Sarief z Left Click AI kładzie duży nacisk na praktyczne tworzenie rozwiązań. W przeciwieństwie do wielu platform no-code, N8N nie chowa kodu – go wykorzystuje. Jak zauważa Sarief, zrozumienie podstaw kodu, szczególnie JSON, sprawia, że stajesz się znacznie potężniejszy w automatyzacji.
W webinarze Sarief prezentuje dwa kompletne systemy biznesowe. Pierwszy to personalizacja zimnych e-maili – system pobiera dane leadów z Google Sheets, analizuje je przez AI i generuje spersonalizowane elementy emaili (subject line, icebreaker, elevator pitch, call to action, PS). Drugi to automatyzacja odpowiedzi na zapytania dziennikarzy z platformy Source of Sources.
Większość osób na YouTube pokazuje podstawy, jednak Sarief skupia się na systemach, które faktycznie sprzedaje swoim klientom. Dlatego jego focus to rozwiązania generujące prawdziwy zwrot z inwestycji.
Expression fields vs Fixed fields – kluczowa decyzja
Według Sariefa, najważniejszą decyzją w N8N jest zawsze używanie Expression fields zamiast Fixed. Dlaczego? Fixed fields to uproszczenie dla początkujących. N8N domyślnie ustawia pola na Fixed, aby nie przestraszyć użytkowników. Jednak ta „łatwość” ogranicza możliwości.
Expression fields dają dostęp do prawdziwej mocy. Możesz robić dokładnie to samo co w Fixed, ale dodatkowo:
- Manipulować danymi w locie
- Używać funkcji wbudowanych w N8N (split, join, filter)
- Łączyć różne źródła danych w jednym polu
- Dodawać logikę warunkową bez dodatkowych węzłów
- Referencować dane z poprzednich węzłów
- Wykonywać operacje matematyczne i tekstowe
Jak podkreśla Sarief: „Nie ma realnej potrzeby używania Fixed. Możesz napisać to samo w Expression, a dodatkowo masz opcje kodowe.”
JSON – język, którym mówi N8N
JavaScript Object Notation to nie tylko format danych – to sposób myślenia o strukturach informacji. Sarief pokazuje, że bez zrozumienia JSON wszystko w N8N będzie trudniejsze.
Podstawowe typy danych w JSON
Strings (ciągi znaków) – zawsze w cudzysłowach:
"firstName": "Nick"
Numbers (liczby) – bez cudzysłowów:
"age": 30
Booleans (prawda/fałsz) – true lub false:
"isActive": true
Arrays (tablice) – lista elementów w nawiasach kwadratowych:
"skills": ["automation", "AI", "marketing"]
Objects (obiekty) – zagnieżdżone struktury:
"user": {
"firstName": "Nick",
"company": "Left Click AI"
}
Najczęstszy błąd początkujących
Sarief identyfikuje główną pułapkę w N8N: niezrozumienie ile obiektów wysyła poprzedni węzeł. Ludzie próbują odwołać się do danych, które nie istnieją lub istnieją w innej strukturze niż oczekują.
Techniczne szczegóły referencowania
Problem z spacjami w nazwach pól. Gdy nazwa pola zawiera spacje (jak „First Name Suggestion”), nie możesz użyć standardowej notacji kropkowej. Musisz zastosować notację nawiasów kwadratowych:
$json['First Name Suggestion'] // Zamiast $json.First Name Suggestion
Mimo dostępnych opcji, Sarief preferuje camel case (firstName) zamiast podkreślników (first_name) dla lepszej czytelności kodu.
Jak N8N strukturyzuje dane
Wszystkie dane w N8N to tablice obiektów – to fundamentalna zasada, którą musisz zrozumieć. Jak wyjaśnia Sarief, każdy input i output ma strukturę:
[
{
"item1": "data"
},
{
"item2": "more data"
}
]
Odwoływanie się do danych
Z poprzedniego węzła:
$json.fieldName
Z węzłów wcześniejszych:
$('NodeName').item.json.fieldName
Sarief podkreśla: „Jeśli zrozumiesz, że wszystko to tablice obiektów, rozwiążesz największą pułapkę N8N.”
Ukryta struktura danych
N8N ukrywa prawdziwą strukturę danych. To co widzisz w interfejsie jako proste pola, w rzeczywistości ma dodatkowe warstwy. Kiedy odwołujesz się do danych sprzed więcej niż jednego węzła, musisz użyć pełnej ścieżki:
$('NodeName').item.json.fieldName
Item i JSON to ukryte warstwy, których nie widzisz w standardowym widoku, ale są wymagane przy referencowaniu.
Węzły do wykonywania akcji
HTTP Requests – dostęp do całego internetu
Według Sariefa, HTTP requests pozwalają robić dokładnie to samo co przeglądarka – pobierać kod stron internetowych. Jednak w N8N dostajesz surowy kod, nie wyrenderowaną stronę.
Praktyczne zastosowanie: Sarief pokazuje jak w kilka minut zbudować scraper, który pobiera kod strony internetowej, ekstraktuje tekst używając selektorów CSS (H1, H2, P tags), łączy wszystkie teksty funkcją join(), analizuje zawartość przez AI i generuje strukturalne dane biznesowe w JSON.
Uwaga o cloud vs self-hosted N8N
Sarief używa cloud hosted offering N8N, co znacznie upraszcza integracje. Na cloudzie wystarczy „Sign in with Google” dla połączeń z Google Sheets czy Gmail. W wersji self-hosted musisz ręcznie konfigurować połączenia przez Google Cloud Console – znacznie bardziej skomplikowany proces.
Webhooks – klej łączący systemy
Webhooks to sposób na otrzymywanie danych z zewnętrznych systemów. Sarief demonstruje jak w 30 sekund połączyć ClickUp z N8N:
✅ Checklist: Konfiguracja webhooków (bazowane na przykładzie z webinaru)
☐ Stwórz webhook w N8N (automatycznie dostajesz URL)
☐ Skopiuj wygenerowany URL
☐ Sprawdź czy używasz GET czy POST (Sarief testował oba dla ClickUp)
☐ Skonfiguruj w zewnętrznym systemie wysyłanie na ten URL
☐ Przetestuj połączenie robiąc test event
☐ Zmień na production URL przed publikacją workflow
Jak to ujmuje Sarief: „To klej, który trzyma internet razem”.
AI Agents – przewaga N8N
N8N jest AI-native od samego początku. W przeciwieństwie do innych platform, które AI „doklejają”, N8N ma wbudowane funkcjonalności jak OpenAI integration, AI Agents z dostępem do narzędzi, memory management i automatyczne wywołania funkcji.
Memory management jest kluczowe. Bez memory AI agent nie pamięta poprzednich wiadomości – każda sesja jest niezależna. Dlatego Sarief używa Window Buffer Memory z 10 wiadomościami (domyślnie 5) do zachowania kontekstu rozmowy.
Dostępne modele AI: OpenAI, Mistral, Google Gemini, Anthropic, Ollama. Sarief preferuje OpenAI dla lepszej jakości odpowiedzi, jednak możesz wybierać w zależności od wymagań bezpieczeństwa danych.
Sarief pokazuje agenta, który automatycznie sprawdza kalendarz Google i odpowiada na pytania o spotkania. Agent może również generować audio – przykład „Nick is awesome and very pretty” głosem Nova z OpenAI.
Węzły modyfikujące przepływ
If statements – logika warunkowa
If pozwala na tworzenie dwóch ścieżek: true i false. Sarief używa prostego przykładu – jeśli imię to „Nick”, nagroda $100, w przeciwnym razie $5.
Filter – zatrzymywanie niepotrzebnych danych
Filter to bramka – przepuszcza tylko dane spełniające warunki. W przeciwieństwie do If, który tworzy dwie ścieżki, Filter albo przepuszcza dalej, albo zatrzymuje.
Merge – łączenie wielu ścieżek
Gdy masz dwie równoległe ścieżki (np. generowanie dwóch różnych tekstów), Merge pozwala je połączyć w jeden strumień danych.
Split into batches – kontrola nad tempem
Kluczowe dla zarządzania rate limitami. Sarief pokazuje przykład z 128 leadami – zamiast bombardować API wszystkimi naraz, Split into batches przetwarza je jeden po drugim z 5-sekundowymi przerwami.
Problem rate limitów jest realny. Sarief często napotykał błędy 400/403 (przekroczenie limitu API) przy jednoczesnym przetwarzaniu dużych ilości danych. Rozwiązanie: Loop over items + Wait node eliminuje te problemy.
Merge ma różne tryby: append (łączy jako osobne elementy), combine (scala w jeden obiekt) i SQL query. Jednak Sarief używa głównie append dla prostoty.
Case study 1: System personalizacji zimnych e-maili
Przed przejściem do systemu dla dziennikarzy, Sarief pokazuje pierwszy system – automatyczną personalizację zimnych e-maili. Proces wygląda następująco:
Input: Google Sheet z leadami (Amy, Joe, Mercedes, Susan) zawierający pola jak civility, first name, company, title, summary, industry.
AI Processing: System wysyła dane do OpenAI z promptem generującym 5 elementów emaila:
- Subject line: „Hej Amy, myślę, że mam coś dla Ciebie odnośnie wzmocnienia strategii online”
- Icebreaker: „Wiem, że prowadzisz Creative Web Solutions w Netdirectives…”
- Elevator pitch: „Krótko mówiąc, myślę, że mogę dodać 5k/miesiąc do Twoich wysiłków marketingowych skupionych na kliencie”
- Call to action: „Właśnie zrobiłem to dla bardzo podobnej firmy konsultingowej IT…”
- PS: „Nawet jeśli tylko porozmawiamy, chciałbym usłyszeć o tym, co robisz z video marketingiem”
Output: System automatycznie aktualizuje Google Sheet z wygenerowanymi treściami i tworzy szkice e-maili w Gmail.
Case study 2: Automatyzacja odpowiedzi na zapytania dziennikarzy
Sarief prezentuje kompletny system automatyzacji oparty na Source of Sources (dawniej HARO) – serwisie łączącym dziennikarzy z ekspertami.
Problem biznesowy
Dziennikarze wysyłają codziennie zapytania szukając ekspertów w różnych dziedzinach. Przykłady rzeczywistych zapytań z SOS:
- „Poszukuję specjalisty od Medicare w służbie zdrowia, który wypowie się na temat wpływu RFK Jr i Dr. Mehmet Oz na świadczenia”
- Zapytania o tech trends, AI, automatyzację biznesową
Ręczne przeglądanie i odpowiadanie to masowe marnowanie czasu. Dlatego system Sariefa automatycznie parsuje email, ocenia trafność i generuje odpowiedzi.
Rozwiązanie automatyczne
✅ Checklist: Budowanie automatyzacji email response (bazowana na systemie Sariefa)
☐ Gmail trigger – skonfiguruj filtr na nadawcę (np. „SOS Media Queries”)
☐ Wyłącz Simplify – ustaw na false żeby dostać pełne dane email
☐ Analiza treści – użyj split() do dzielenia na podstawie separatorów
☐ Split out array – przekształć array w pojedyncze elementy
☐ Dodaj Limit – testuj najpierw na 2-3 elementach
☐ AI evaluation – sprawdź trafność przed generowaniem odpowiedzi
☐ Filter – przepuść tylko trafne (true) zapytania
☐ Generuj odpowiedzi – AI tworzy email na podstawie szablonu
☐ Draft creation – zapisz jako draft do ręcznej weryfikacji
☐ Test end-to-end – sprawdź cały przepływ przed uruchomieniem
Kluczowe funkcje użyte
Sarief wykorzystał funkcje Split do dzielenia treści email na podstawie separatorów (gwiazdki i podkreślenia charakterystyczne dla SOS), Filter do przepuszczania tylko trafnych zapytań oraz Limit do testowania na małej próbie przed pełnym uruchomieniem.
Szczegóły parsingu: SOS używa konsystentnych separatorów – gwiazdki na górze emaila i podkreślenia między zapytaniami. Pierwszy split dzieli na „powyżej linii gwiazdek” i „poniżej”. Drugi split dzieli dolną część na pojedyncze zapytania. Finalny rezultat: 19 elementów gotowych do analizy przez AI.
Funkcja join() jest kluczowa – przekształca array tekstów w jeden string, który AI może przetworzyć.
Jak mówi Sarief o obu systemach: „To system, który sprzedałem już wiele razy”. Automatyzacja nie tylko oszczędza czas, ale zwiększa szanse na publikację dzięki szybkiej i profesjonalnej odpowiedzi. System personalizacji emaili zwiększa wskaźniki odpowiedzi dzięki pozornemu „research” każdego leada.
Praktyczne wskazówki od eksperta
Debugowanie w N8N
Zawsze patrz na JSON output – nie na Schema czy Table view. Sarief tłumaczy: „Jeśli będziemy patrzeć na outputy cały dzień, równie dobrze możemy nauczyć się JSON.”
Pin data na każdym etapie – zapisuje dane z kosztownych operacji (jak AI calls) żeby nie płacić za każdy test.
Zarządzanie tokenami AI
Zawsze dodawaj limity znaków w promptach do AI. Sarief pokazuje, jak bez tego czekał „do następnej epoki lodowcowej” na odpowiedź GPT. Tip: Dodaj „less than 100 words” do promptów.
Unikanie rate limitów
Używaj Wait nodes i Split into batches – szczególnie przy integracjach z zewnętrznymi API. Sprawdzaj czy workflow nie wykonuje się zbyt często i nazywaj węzły opisowo dla lepszej organizacji.
Execute Once setting
Gdy węzeł otrzymuje multiple items, ale ma uruchomić się tylko raz – użyj Execute Once w ustawieniach węzła. Sarief pokazuje przykład gdzie Gmail miał utworzyć jeden draft zamiast dwóch identycznych.
Co dalej z N8N
Jak podkreśla Sarief, to dopiero podstawy. Prawdziwa wartość N8N ujawnia się przy budowaniu systemów multi-agent AI i złożonych automatyzacji biznesowych.
Kluczem jest przejście od myślenia „no-code” do myślenia „low-code” – wykorzystania tej mocy, którą daje N8N zamiast walki z nią.
Kluczowy insight
Nie uciekaj od kodu
Standardowo myślimy: Wybieramy no-code platformy, żeby uniknąć programowania i kodowania. Fixed fields wydają się bezpieczniejsze dla początkujących.
W praktyce okazuje się, że: W N8N sukces przychodzi gdy przyjmujesz kod, nie gdy go unikasz. Jak zauważa Sarief: „N8N nie chowa kodu – go wykorzystuje” i „Nie ma realnej potrzeby używania Fixed.”
Dlaczego to jest istotne: Ten paradoks oznacza, że osoby które „boją się kodu” będą ograniczone, podczas gdy te które go przyjmą – odblokują prawdziwą moc automatyzacji. To odwraca całą filozofię no-code.
Test na jutro: Następnym razem gdy będziesz konfigurować węzeł w N8N, zamiast zostawać w Fixed fields, od razu przełącz na Expression i sprawdź ile dodatkowych opcji zyskujesz.
Ten wpis jest częścią mojej kolekcji notatek z ciekawych podcastów, webinarów i innych treści, które uważam za wartościowe i do których sam chcę wracać. Jeśli chcesz sprawdzić oryginalne źródło, znajdziesz je tutaj: N8N Foundational Concepts (AI Agents, JSON, Logic)
Dodaj komentarz
Musisz się zalogować, aby móc dodać komentarz.