Na początek najczęstsze źródło frustracji czyli wyjaśnienie modelu danych. Większość problemów z n8n na starcie to nie problemy z węzłami. To niezrozumienie jednej rzeczy: n8n nie przekazuje między nodami „danych". Przekazuje listę item-ów.
Każdy item to obiekt: { "json": { ...twoje dane... }, "binary": { ...pliki, jeśli są... } }
Z tego wynikają trzy konsekwencje, które zmieniają sposób budowania workflow:
- Node wykonuje się raz na każdy item. Jeśli z Google Sheets przyjdzie 50 wierszy, node HTTP Request wystrzeli 50 razy. Nie musisz pisać pętli — n8n robi to sam. Dlatego początkujący dodają Loop Over Items tam, gdzie nie jest potrzebny.
- Tablica w polu to nie to samo co lista itemów. API zwraca jeden item z polem results zawierającym 20 rekordów? Dla n8n to nadal jeden item. Node przetworzy go raz. Żeby przerobić każdy rekord osobno, musisz najpierw rozbić tablicę na itemy — od tego jest node Split Out. Operacja odwrotna to Aggregate (wiele itemów → jeden).
- Odwołujesz się do konkretnego itemu, nie do „wyniku noda". {{ $json.email }} — pole z aktualnie przetwarzanego itemu. {{ $('Webhook').item.json.email }} — pole z odpowiadającego itemu z wcześniejszego noda.
Kiedy zrozumiesz, że pracujesz na liście, a nie na jednym rekordzie, znika większość „dziwnych" zachowań workflow.
Już niedługo informacje o pierwszym meetup-ie w Poznaniu & w Gdańsku. Będzie 🔥