Trigger uruchomił workflow. Co dalej? Dane zaczynają płynąć między nodami. Pierwsza zaskakująca rzecz dla większości początkujących: node nie dostaje jednego rekordu, tylko listę.
Każdy node w n8n przyjmuje i zwraca items, czyli tablicę elementów. Jeden item to jedna „porcja” danych, na przykład jeden mail, jeden wiersz z arkusza albo jedno zamówienie.
Dlaczego lista, a nie pojedynczy rekord? Bo automatyzacje rzadko pracują na jednym elemencie. Pobierasz 50 wierszy z Google Sheets i chcesz każdy wysłać dalej. Bez modelu items musiałbyś budować pętle ręcznie. W n8n większość nodów robi to za Ciebie: jeśli node dostanie 50 items, wykona swoją operację 50 razy, raz dla każdego. Dlatego zwykle nie potrzebujesz osobnego node'a pętli.
Jak wygląda item? JSON: główna część każdego itemu. To obiekt z polami, np. imię, e-mail, kwota. Właśnie do tych pól odwołujesz się w wyrażeniach, np. {{ $json.email }}.
Binary: osobna część itemu przeznaczona na pliki (PDF, obraz, załącznik z maila). Plik nie mieści się w JSON, więc n8n trzyma go obok, pod własną nazwą pola (domyślnie „data”). W JSON zostają tylko metadane, a sama zawartość pliku jest w binary. Jeden item może mieć zarówno dane o fakturze w JSON, jak i plik PDF w binary.
Na co uważać:
- Node zwrócił 0 items? Kolejne nody się nie wykonają. Workflow „cicho” się zatrzymuje.
- Node zwrócił 10 items, a spodziewasz się jednego? Kolejne nody wykonają się 10 razy (np. wyślą 10 maili). Do zebrania wszystkiego w jeden item służy Aggregate, a odwrotna akcja to Split Out.
- Wyrażenie $json odnosi się do bieżącego itemu. Do danych z innych nodów użyjesz $('Nazwa noda').
Terminy kolejnych meetupów i warsztatów znajdziesz w sekcji Wydarzenia.