n8n w praktyce: 12 przykładów automatyzacji w polskiej firmie, węzeł po węźle
W małej polskiej firmie n8n najczęściej obsługuje formularz kontaktowy zapisywany w CRM, szkice odpowiedzi na maile pisane przez AI, ofertę w PDF, faktury kosztowe z KSeF do zatwierdzenia, przypomnienia o płatności, zamówienia z Allegro i BaseLinkera zamieniane na faktury oraz raport tygodniowy, a osobny przepływ błędów pilnuje wszystkich pozostałych. Każdy taki przepływ (workflow) zaczyna się wyzwalaczem, czyli zdarzeniem albo harmonogramem, a kolejne węzły pobierają, przekształcają i wysyłają dane. Fakturownia, inFakt, wFirma, BaseLinker i Allegro nie mają wbudowanych węzłów w n8n, więc łączy się z nimi węzłem HTTP Request przez ich API. Automat robi powtarzalną część, a pieniądze, wiadomości do klientów i decyzje o ludziach zatwierdza człowiek.
- W n8n wyzwalacz Schedule Trigger zużywa jedno wykonanie przy każdym uruchomieniu, a wyzwalacze odpytujące, takie jak Gmail Trigger, liczą wykonanie tylko wtedy, gdy znajdą nowe dane.
- Fakturownia, inFakt, wFirma, BaseLinker i Allegro nie mają wbudowanych węzłów w katalogu integracji n8n, więc łączy się z nimi węzłem HTTP Request przez publiczne API tych usług.
- Węzeł Gmail w n8n ma operację Send and Wait for Approval, która wstrzymuje przepływ, dopóki człowiek nie kliknie przycisku zatwierdzenia.
- Według pomocy wFirmy zwykła faktura utworzona przez API przy włączonej automatycznej wysyłce od razu trafia do kolejki KSeF, a wersja robocza utworzona przez API (na przykład typ normal_draft) nie dostaje numeru i nie idzie do KSeF, dopóki ktoś nie zatwierdzi jej w panelu wFirmy.
Jakie automatyzacje mają sens w małej firmie?
Takie, które powtarzają się codziennie albo co tydzień, mają jasne reguły i kończą się zapisem w systemie albo szkicem do zatwierdzenia. Każdy z dwunastu przykładów ma wyzwalacz, węzły po kolei, miejsce decyzji człowieka i opis tego, co się psuje.
Opisuję niżej dwanaście przepływów: formularz kontaktowy do CRM, skrzynkę biuro@ ze szkicami odpowiedzi, ofertę z formularza do PDF, zamówienie z maila do systemu sprzedaży, zamówienia z Allegro i BaseLinkera do faktury, faktury kosztowe z KSeF, przypomnienia o płatności, nowego kontrahenta po NIP, raport tygodniowy, onboarding nowego klienta, agenta AI odpowiadającego o status zamówienia i przepływ błędów. Pierwsze trzy dotyczą zapytań klientów, kolejne pięć zamówień i pieniędzy, a ostatnie cztery raportów, obsługi klienta i nadzoru nad automatami.
Gotowe przepływy od społeczności znajdziesz w bibliotece szablonów na stronie n8n, a wybrany importujesz do swojej instancji z zakładki Templates. Szablon nie wie jednak, kto u Ciebie zatwierdza płatność i co ma się stać, gdy API dostawcy przestanie odpowiadać, dlatego przy każdym opisie piszę o tym wprost.
Każdy z tych przepływów uruchamiasz tak samo: budujesz go albo importujesz z szablonu, podłączasz własne poświadczenia, sprawdzasz na kilku prawdziwych przypadkach pod adresem testowym i dopiero potem publikujesz. Na start polecam formularz do CRM albo raport tygodniowy, bo powtarzają się często, a pomyłka mało kosztuje. Skupiam się na procesach biurowych polskiej firmy; przykładów z marketingu czy mediów społecznościowych szukaj w bibliotece szablonów.
Jeśli dopiero poznajesz narzędzie, zacznij od przewodnika n8n: co to jest i jak działa. Nazwy węzłów podaję po angielsku, tak jak w panelu, a limity, nazwy opcji i ceny sprawdziłem w dokumentacji producentów, którą wymieniam w źródłach na końcu strony.
| Przepływ | Wyzwalacz w n8n | Gdzie decyduje człowiek |
|---|---|---|
| 1. Formularz kontaktowy do CRM | Webhook albo n8n Form Trigger | Handlowiec ocenia zapytanie i dzwoni |
| 2. Skrzynka biuro@ ze szkicami odpowiedzi | Gmail Trigger albo Microsoft Outlook Trigger | Osoba poprawia szkic i sama go wysyła |
| 3. Oferta z formularza do PDF | n8n Form Trigger | Handlowiec zatwierdza cenę i rabat |
| 4. Zamówienie z maila do systemu sprzedaży | Gmail Trigger | Opiekun zatwierdza linie oznaczone jako niepewne |
| 5. Zamówienia z Allegro i BaseLinkera do faktury | Schedule Trigger | Obsługa rozstrzyga wyjątki |
| 6. Faktury kosztowe z KSeF | Schedule Trigger | Osoba z uprawnieniem zatwierdza zakup i płatność |
| 7. Przypomnienia o płatności | Schedule Trigger | Właściciel decyduje o drugim monicie i telefonie |
| 8. Nowy kontrahent po NIP | Webhook albo n8n Form Trigger | Ktoś ustala termin płatności i limit |
| 9. Raport tygodniowy na maila | Schedule Trigger | Odbiorca czyta i decyduje, co z tym zrobić |
| 10. Onboarding nowego klienta | Webhook albo Schedule Trigger | Opiekun dzwoni w pierwszym tygodniu |
| 11. Agent AI odpowiadający o status zamówienia | Gmail Trigger | Człowiek zatwierdza każdą odpowiedź agenta |
| 12. Przepływ błędów, który pilnuje pozostałych | Error Trigger | Dyżurny decyduje, czy ponowić uruchomienie |
Jak zbudowany jest każdy przepływ: wyzwalacz, węzły, zatwierdzenie, awaria
Każdy z opisanych przepływów ma ten sam szkielet: wyzwalacz, kilka węzłów, które wykonują pracę, punkt zatwierdzenia i ścieżkę na wypadek błędu. Zanim przejdziesz dalej, poznaj cztery szczegóły, o które łatwo potknąć się w pierwszej wersji przepływu.
Wyzwalacz decyduje o koszcie. Według cennika n8n płacisz za wykonania, czyli uruchomienia całego przepływu, bez względu na liczbę kroków. Dokumentacja dodaje, że Schedule Trigger zużywa wykonanie przy każdym uruchomieniu, także gdy nie ma nic do zrobienia. Harmonogram co 15 minut przez całą dobę to 96 wykonań dziennie, czyli około 2,9 tys. w 30-dniowym miesiącu.
Strefa czasowa. Według dokumentacji Schedule Trigger używa strefy ustawionej w przepływie, a gdy jej brak, strefy instancji. Na własnym serwerze domyślna strefa to America/New York, więc raport zaplanowany na poniedziałek na 7:00 bez ustawienia Europe/Warsaw przyjdzie zwykle około 13:00 polskiego czasu. n8n Cloud próbuje wykryć strefę właściciela przy rejestracji, a gdy się nie uda, przyjmuje GMT.
Adres testowy i produkcyjny. Według dokumentacji Webhook i formularz (Form Trigger) mają po dwa adresy. Testowy działa tylko wtedy, gdy w edytorze nasłuchujesz zdarzenia testowego, a produkcyjny zaczyna działać dopiero po opublikowaniu przepływu.
Dopisek na końcu maila. Dokumentacja węzła Gmail podaje, że domyślnie dopisuje on na końcu wiadomości zdanie o automatycznej wysyłce. Przed pierwszą wiadomością do klienta wyłącz opcję Append n8n attribution. Formularz z Form Trigger ma podobny dopisek na dole strony, który wyłączasz opcją o tej samej nazwie.
| Wyzwalacz | Kiedy liczy się wykonanie | Przykłady z tego przewodnika |
|---|---|---|
| Schedule Trigger | Przy każdym uruchomieniu, niezależnie od wyniku | KSeF, przypomnienia, raport tygodniowy, Allegro i BaseLinker |
| Wyzwalacze odpytujące, np. Gmail Trigger | Tylko gdy znajdą nowe dane; puste sprawdzenie się nie liczy | Skrzynka biuro@, zamówienia z maila, agent AI |
| Webhook | Przy każdym przychodzącym żądaniu, także z pustą treścią | Formularz do CRM, nowy kontrahent |
| Error Trigger | Nie liczy się do limitu | Przepływ błędów |
| Uruchomienie ręczne i podprzepływ | Nie liczą się; przy podprzepływie liczy się tylko przepływ nadrzędny | Testy w edytorze |
Jak połączyć formularz z CRM, uporządkować skrzynkę biuro@ i przygotować ofertę?
Zgłoszenie z formularza albo nowa wiadomość uruchamia przepływ, węzeł CRM zakłada rekord, a Gmail przygotowuje szkic odpowiedzi. Automat zbiera i porządkuje dane, ale do klienta nic nie wychodzi bez człowieka, bo w tych trzech przepływach klient czeka na odpowiedź.
- 1. Formularz kontaktowy do CRMWyzwalacz: Webhook z uwierzytelnieniem Header Auth i opcją Ignore Bots, do którego formularz na stronie wysyła zgłoszenie, albo Form Trigger, gdy formularz ma wygenerować sam n8n. Węzły: Remove Duplicates odrzuca zgłoszenie wysłane drugi raz, HubSpot (Create/Update a contact) albo Pipedrive (Create a lead) zakłada rekord, Slack powiadamia handlowca. Człowiek: handlowiec ocenia zapytanie i dzwoni. Co się psuje: formularz podpięty pod testowy adres webhooka. Pełną wersję ze zgodami i deduplikacją opisuję w przewodniku formularz kontaktowy a CRM.
- 2. Skrzynka biuro@: AI sortuje, człowiek wysyłaWyzwalacz: Gmail Trigger z filtrem etykiety albo Microsoft Outlook Trigger. Węzły: Text Classifier przypisuje kategorię (zapytanie, reklamacja, faktura, inne), Gmail tworzy szkic odpowiedzi podpięty do wątku klienta (opcja Thread ID) i dodaje etykietę. Człowiek: czyta szkic, poprawia i sam klika Wyślij. Co się psuje: według dokumentacji Text Classifier domyślnie odrzuca wiadomość, której nie dopasuje do żadnej kategorii, więc bez ustawienia When No Clear Match na gałąź Other część maili znika z przepływu bez śladu. Szczegóły w przewodniku o szkicach odpowiedzi na maile z AI.
- 3. Oferta z formularza do PDFWyzwalacz: formularz (Form Trigger) z polami na klienta i zakres prac. Węzły: Google Sheets pobiera cennik, Google Drive (Copy) kopiuje szablon oferty, Google Docs (Update) wpisuje dane, Google Drive (Download) eksportuje PDF, Gmail (Send and Wait for Approval) wysyła podgląd handlowcowi. Człowiek: zatwierdza cenę i rabat; dopiero po kliknięciu Gmail wysyła ofertę klientowi. Co się psuje: cennik w arkuszu zmieniony bez sprawdzenia formuł. Więcej w przewodniku o automatycznych ofertach i wycenach.
- 01 · StartNowy mail w skrzynceGmail Trigger sprawdza skrzynkę w ustalonym rytmie i bierze tylko wiadomości z wybraną etykietą.Gmail
- 02 · AutomatKategoria i najważniejsze polaText Classifier nadaje kategorię, a maile bez dopasowania idą na gałąź Other, zamiast znikać.n8n
- 03 · AutomatSzkic w wątku klientaGmail tworzy szkic odpowiedzi w tym samym wątku i dodaje etykietę „czeka na sprawdzenie”.Gmail
- 04 · CzłowiekOsoba poprawia i wysyłaCzyta szkic, poprawia i sama klika Wyślij. Reklamacje i sprawy pieniężne pisze od zera.
- 05 · EfektOdpowiedź sprawdzona przez człowiekaKlient dostaje odpowiedź podpisaną przez człowieka, a szkice czekają w wątkach, zamiast ginąć w skrzynce.
Odzyskany czasOsoba z biura zamiast pisać po raz kolejny tę samą odpowiedź zajmuje się klientami z nietypową sprawą.
Jak przenieść zamówienia z maila, Allegro i BaseLinkera do systemu i faktury?
Automat zakłada szkic w systemie sprzedaży albo kolejkę wyjątków, a nie gotowy dokument bez sprawdzenia, bo przy zamówieniach błąd kosztuje towar i nerwy klienta.
Zanim zbudujesz przykład 5, sprawdź, co już masz. BaseLinker, którego dokumentacja API używa już nazwy Base, sam wystawia faktury do zamówień (służy do tego metoda addInvoice). Własny automat przydaje się, gdy potrzebujesz czegoś, czego panel nie zrobi: kolejki wyjątków dla człowieka, zapisu w CRM-ie albo zestawienia z kilku kanałów. Szerzej piszę o tym w przewodniku automatyzacja sklepu internetowego.
Dopiero przy zdarzeniu READY_FOR_PROCESSING Allegro pokazuje adres dostawy i dane do faktury, które według dokumentacji już się nie zmienią. Według tej samej dokumentacji dziennik pozwala pobrać zdarzenia z ostatnich 60 dni, więc dłuższego przestoju nie nadrobisz z samego dziennika. Dokumentacja BaseLinkera zaleca pobierać tylko zamówienia potwierdzone, bo niepotwierdzone bywają niekompletne i mogą się jeszcze zmienić.
- 4. Zamówienie z maila do systemu sprzedażyWyzwalacz: Gmail Trigger z etykietą „zamówienia”. Węzły: Extract From File odczytuje XLSX, CSV albo tekst z PDF-a, Information Extractor wyciąga pozycje według schematu JSON, Data Table zamienia nazwy używane przez klienta na Twoje indeksy (słownik mapowań), Wait z formularzem zatrzymuje przepływ do zatwierdzenia, HTTP Request zakłada szkic w systemie sprzedaży. Człowiek: opiekun poprawia linie oznaczone jako niepewne. Co się psuje: nowa nazwa towaru, której nie ma w słowniku. Drogi do Subiekta, Optimy, enova365 i Wapro opisuję w przewodniku zamówienia z maila do systemu.
- 5. Zamówienia z Allegro i BaseLinkera do fakturyWyzwalacz: Schedule Trigger, bo n8n nie ma wyzwalacza dla Allegro ani BaseLinkera i przepływ sam pyta o nowe zamówienia. Węzły: HTTP Request pobiera zdarzenia z Allegro (
GET /order/events) albo zamówienia z BaseLinkera (metodagetOrders), If przepuszcza tylko zamówienia gotowe do realizacji, Remove Duplicates odrzuca te już obsłużone, HTTP Request wystawia fakturę w Fakturowni albo inFakcie. Człowiek: rozstrzyga wyjątki, czyli anulowanie po opłaceniu, zakup firmowy bez danych do faktury, nietypową ilość. Co się psuje: według dokumentacji Allegro zdarzenia mogą przyjść w nieoczekiwanej kolejności, a jedno zamówienie może dostać kilka zdarzeń READY_FOR_PROCESSING, więc logikę opieraj na identyfikatorze zamówienia, nie na zdarzeniu.
- 01 · StartCo kwadrans w godzinach pracySchedule Trigger uruchamia przepływ; n8n nie ma wyzwalacza Allegro, więc przepływ sam pyta o zdarzenia.n8n
- 02 · AutomatNowe zdarzenia zamówieńHTTP Request pobiera zdarzenia od ostatniego zapamiętanego identyfikatora, If zostawia READY_FOR_PROCESSING.Allegro API
- 03 · AutomatOdsianie już obsłużonychRemove Duplicates odrzuca zamówienia, które już mają fakturę, po identyfikatorze zamówienia.n8n
- 04 · CzłowiekWyjątki czekają na decyzjęAnulowanie, brak danych do faktury firmowej albo nietypowa ilość trafiają do osoby z obsługi z opisem powodu.
- 05 · AutomatFaktura w programieDla pozostałych zamówień HTTP Request wystawia fakturę w Fakturowni albo inFakcie.Fakturownia
- 06 · EfektFaktury bez przepisywaniaZwykłe zamówienia mają fakturę bez klikania, a nietypowe czekają na człowieka.
Odzyskany czasObsługa sklepu odpisuje kupującym i pilnuje zwrotów, zamiast przepisywać dane z zamówień do programu do faktur.
Jak pobierać faktury z KSeF, przypominać o płatnościach i dodawać kontrahenta po NIP?
Automat pobiera faktury z KSeF, należności z Fakturowni i dane kontrahenta z białej listy VAT, a potem przygotowuje wszystko poza decyzją, że pieniądze wychodzą z firmy albo że klient dostaje kolejny monit. Tę decyzję zostawiam człowiekowi.
Faktury z KSeF to najtrudniejszy z tych przepływów. Według przewodnika Ministerstwa Finansów paczka z eksportu przychodzi jako zaszyfrowane archiwum ZIP podzielone na części, a każdą część trzeba odszyfrować kluczem AES-256 wygenerowanym przy zleceniu eksportu, więc potrzebny jest własny kod, na przykład mała usługa wywoływana przez HTTP Request. Często prościej czytać faktury kosztowe z programu do faktur, jeśli ten sam pobiera je z KSeF: Fakturownia zwraca wydatki przez API z parametrem income=no, a inFakt ma osobny zakres uprawnień klucza do kosztów (api:costs:read). Techniczną stronę opisuję w przewodniku integracja z KSeF przez API.
Przy przypomnieniach najpierw sprawdź program. Według pomocy Fakturowni program sam wysyła przypomnienia we wskazane dni o 13:00 (można ograniczyć je do dni roboczych), pozwala wyłączyć je dla wybranego klienta i zmieniać treść zależnie od numeru przypomnienia. Jeśli to wystarcza, osobny automat nie jest potrzebny. Przepływ ma sens, gdy przy dużej kwocie albo stałym kliencie zamiast maila ma zadzwonić człowiek. Wzory wiadomości i progi opisuję w przewodniku o automatycznych przypomnieniach o płatności.
- 6. Faktury kosztowe z KSeF do zatwierdzeniaWyzwalacz: Schedule Trigger, na przykład co godzinę w dni robocze. Węzły: HTTP Request zleca eksport faktur w API KSeF (
POST /invoices/exports) i pobiera paczkę, własny kod ją odszyfrowuje, Remove Duplicates odrzuca faktury po numerze KSeF, Gmail (Send and Wait for Approval) pyta osobę z uprawnieniem o akceptację. Człowiek: zatwierdza zakup i płatność. Co się psuje: limity. Według przewodnika Ministerstwa Finansów do KSeF 2.0 można zlecić najwyżej 20 eksportów na godzinę, odstęp dla jednego typu podmiotu nie powinien być krótszy niż 15 minut, a po przekroczeniu limitu API odpowiada kodem 429 z nagłówkiem Retry-After. Cały obieg opisuję w przewodniku obieg faktur kosztowych po KSeF. - 7. Przypomnienia o płatności z eskalacjąWyzwalacz: Schedule Trigger codziennie rano w strefie Europe/Warsaw. Węzły: HTTP Request pobiera z Fakturowni faktury (parametry
periodiper_page; według dokumentacji API najwyżej 100 rekordów na stronę), If wybiera przeterminowane, Gmail wysyła pierwsze przypomnienie z zatwierdzonego szablonu, a przy drugim Gmail (Send and Wait for Approval) pyta właściciela. Człowiek: decyduje o kolejnym monicie, telefonie albo wstrzymaniu wysyłek. Co się psuje: przelew zaksięgowany po pobraniu listy, więc tuż przed wysyłką przepływ ponownie sprawdza status faktury. - 8. Nowy kontrahent po NIPWyzwalacz: Webhook z formularza w CRM albo formularz Form Trigger. Węzły: HTTP Request pyta API wykazu podatników VAT (białą listę) o status i rachunki, drugi HTTP Request pobiera dane rejestrowe z bezpłatnej usługi GUS BIR1 (klucz użytkownika zamawiasz mailowo w GUS), HubSpot albo Pipedrive zakłada firmę. Człowiek: ustala termin płatności i limit kupiecki. Co się psuje: limity białej listy. Według strony Ministerstwa Finansów metoda „search” to 100 zapytań dziennie o najwyżej 30 podmiotów naraz, a po wyczerpaniu limitu dostęp może zostać zablokowany do północy. Więcej w przewodniku dane firmy po NIP przez API.
- 01 · StartCodziennie o 8:00 czasu polskiegoSchedule Trigger w strefie Europe/Warsaw uruchamia sprawdzenie należności.n8n
- 02 · AutomatLista przeterminowanych fakturHTTP Request pobiera faktury z Fakturowni, If zostawia nieopłacone po terminie.Fakturownia API
- 03 · AutomatPierwsze przypomnienieGmail wysyła uprzejme przypomnienie z zatwierdzonego wcześniej szablonu, z numerem faktury i terminem.Gmail
- 04 · CzłowiekWłaściciel wybiera kolejny krokPrzy drugim monicie dostaje wiadomość z przyciskami: wysłać albo wstrzymać, bo zadzwoni sam.
- 05 · EfektNależności pod kontroląNikt nie trzyma terminów w głowie, a ton rozmowy z ważnym klientem ustala człowiek.
Odzyskany czasWłaściciel dzwoni tylko do kilku klientów, przy których rozmowa coś zmienia, zamiast co tydzień przeglądać listę faktur.
Jak wysyłać raport tygodniowy i prowadzić onboarding nowego klienta?
Raport uruchamia się co tydzień o stałej porze, a powitanie klienta startuje, gdy w CRM oznaczysz szansę sprzedaży jako wygraną. Żaden z tych przepływów nie przenosi pieniędzy, ale dzięki nim ważne rzeczy dzieją się regularnie, a nie wtedy, gdy ktoś sobie przypomni.
- 9. Raport tygodniowy w poniedziałek ranoWyzwalacz: Schedule Trigger z interwałem tygodniowym, poniedziałek 7:00, strefa Europe/Warsaw. Węzły: HTTP Request i Google Sheets zbierają sprzedaż, zapytania i należności, Code liczy porównanie z poprzednim tygodniem, Gmail wysyła wynik jednym mailem. Człowiek: czyta i decyduje, co dalej. Co się psuje: źródło zmienia układ kolumn i raport pokazuje zera, dlatego przy zerze wierszy przepływ zatrzymuje się węzłem Stop And Error. Jak wybrać liczby, piszę w przewodniku o automatycznym raporcie tygodniowym.
- 10. Onboarding nowego klientaWyzwalacz: Webhook wywoływany przez CRM przy wygranej szansie albo Schedule Trigger, który sprawdza ostatnio zmienione szanse (węzeł HubSpot ma operację Get recently modified deals). Węzły: Google Drive zakłada folder klienta i udostępnia go (operacje Create i Share), Gmail wysyła powitanie z listą potrzebnych dokumentów, Wait (After Time Interval) czeka kilka dni, a Slack przypomina opiekunowi o telefonie. Człowiek: opiekun dzwoni w pierwszym tygodniu. Co się psuje: klient odpisuje na powitanie, a skrzynki, z której wyszło, nikt nie czyta. Scenariusz pierwszego tygodnia znajdziesz w przewodniku onboarding klienta B2B.
Jak zbudować agenta AI z zatwierdzaniem i przepływ, który pilnuje pozostałych?
Agent AI to węzeł AI Agent połączony z modelem językowym i narzędziami. Ponieważ agent sam decyduje, którego narzędzia użyć, narzędzie wysyłające wiadomość do klienta podłączam tak, żeby czekało na zgodę człowieka. Przepływ błędów pełni podobną rolę dla pozostałych automatów: gdy któryś się zatrzyma, osoba dyżurna dostaje alert.
Przepływ błędów łapie awarie, ale nie złe dane. Dlatego w ważnych miejscach dodaj węzeł Stop And Error, który przerywa wykonanie, gdy reguła biznesowa nie jest spełniona, na przykład przy fakturze bez NIP-u; taki przypadek też trafi do dyżurnego. Na węzłach HTTP Request włącz w ustawieniach Retry On Fail z kilkoma próbami i przerwą między nimi (pola Max Tries i Wait Between Tries), żeby chwilowa niedostępność API nie kończyła się alarmem.
- 11. Agent AI odpowiadający o status zamówieniaWyzwalacz: Gmail Trigger z etykietą „gdzie moje zamówienie”. Węzły: AI Agent z modelem językowym i co najmniej jednym narzędziem; HTTP Request jako narzędzie czyta zamówienie z BaseLinkera, Gmail jako narzędzie odpowiada klientowi. Narzędzie wysyłające maila podpinasz pod krok human review, więc przepływ czeka na zgodę. Człowiek: widzi, którego narzędzia i z jakimi parametrami agent chce użyć, i zatwierdza albo odrzuca odpowiedź. Co się psuje: mail od klienta może zawierać polecenia dla modelu, dlatego agent ma tylko odczyt zamówień. Budowę krok po kroku opisuję w przewodniku agent AI w n8n, a zagrożenia w tekście o bezpieczeństwie agenta AI.
- 12. Przepływ błędówWyzwalacz: Error Trigger. Budujesz go raz, a w ustawieniach każdego przepływu wskazujesz go jako Error workflow; jeden przepływ błędów może obsługiwać wszystkie. Węzły: Slack albo Gmail wysyła osobie dyżurnej szczegóły błędu i link do wykonania. Człowiek: decyduje, czy ponowić uruchomienie, czy najpierw poprawić dane. Co się psuje: dokumentacja n8n uprzedza, że przepływu błędów nie przetestujesz ręcznym uruchomieniem, bo Error Trigger reaguje tylko na błędy przepływów uruchomionych automatycznie. Sprawdź go na opublikowanej kopii przepływu z celowo zepsutym krokiem.
- 01 · StartWykonanie zakończone błędemError Trigger startuje, gdy przepływ uruchomiony automatycznie kończy się błędem albo zatrzymuje go Stop And Error.n8n
- 02 · AutomatAlert z kontekstemSlack dostaje szczegóły nieudanego przepływu, treść błędu i link do wykonania.Slack
- 03 · CzłowiekDyżurny decydujeSprawdza dane w historii wykonań i decyduje: ponowić, poprawić dane albo zgłosić problem dostawcy.
- 04 · EfektKażdy błąd ma właścicielaBłąd, który zatrzymał przepływ, trafia do konkretnej osoby, zamiast czekać, aż zauważy go klient.
Odzyskany czasZespół nie sprawdza codziennie, czy automaty działają, tylko reaguje na konkretny alert, gdy coś się faktycznie zepsuło.
Fakturownia, inFakt, wFirma, BaseLinker, Allegro: jak połączyć je z n8n bez gotowego węzła?
Łączysz się z nimi węzłem HTTP Request, który wywołuje publiczne API każdego z tych programów. W katalogu integracji n8n żaden z nich nie ma własnego węzła, ale każdy producent publikuje dokumentację API.
Według dokumentacji n8n węzeł HTTP Request uwierzytelnia się między innymi kluczem w nagłówku (Header Auth), parametrem w adresie (Query Auth) albo przez OAuth2. Polecenie curl skopiowane z dokumentacji dostawcy wklejasz przez Import cURL, a węzeł sam wypełni adres, nagłówki i treść żądania. Gdy wyniki są podzielone na strony, włączasz paginację, a gdy API ma limit zapytań, opcja Batching wysyła żądania partiami z ustaloną przerwą. Przy BaseLinkerze to konieczne, bo jego dokumentacja dopuszcza 100 zapytań na minutę.
Najważniejsza różnica między tymi programami dotyczy KSeF. Według pomocy wFirmy zwykła faktura wystawiona przez API przy włączonej automatycznej wysyłce trafia do kolejki KSeF od razu po utworzeniu, a gdy czeka w kolejce, nie da się jej zmienić ani usunąć. Bezpieczniej tworzyć przez API wersję roboczą (typy normal_draft, bill_draft albo margin_draft): nie dostaje numeru, nie idzie do KSeF i czeka, aż ktoś zatwierdzi ją w panelu wFirmy. Wysyłka do KSeF idzie w imieniu użytkownika, którego klucz API użyto, więc potrzebuje on autoryzacji w KSeF, chyba że administrator wskaże do tego inną osobę.
Dla części polskich programów, na przykład Fakturowni i BaseLinkera, w rejestrze npm są węzły społeczności. Dokumentacja n8n ostrzega, że taki węzeł ma pełny dostęp do maszyny, na której działa n8n, i do danych w przepływach, a niezweryfikowane węzły zainstalujesz tylko na własnym serwerze. Przed instalacją sprawdź w opisie pakietu, czy łączy się bezpośrednio z API programu, czy przez serwer pośredniczący autora, bo wtedy dane faktur przechodzą przez kolejną firmę. Przy kilku wywołaniach API wolę HTTP Request, który widzę w całości.
GET https://api.allegro.pl/order/events?from={last_seen_event_id}&limit=500
Authorization: Bearer {access_token}
Accept: application/vnd.allegro.public.v1+jsonPOST https://api.baselinker.com/connector.php
X-BLToken: {token_z_panelu}
Content-Type: application/x-www-form-urlencoded
method=getOrders
parameters={"date_confirmed_from": 1790805600, "get_unconfirmed_orders": false}| Program | Połączenie z n8n | Uwierzytelnienie | Na co uważać |
|---|---|---|---|
| Fakturownia | HTTP Request do REST API, np. invoices.json; program ma też webhooki | Token API z ustawień konta (Integracja, Kod autoryzacyjny API) | Lista zwraca najwyżej 100 rekordów na stronę; przy włączonym KSeF pola tekstowe mają limity schematu FA(3), na przykład 256 znaków dla uwag |
| inFakt | HTTP Request do API v3 | Klucz w nagłówku X-inFakt-ApiKey, z zakresami uprawnień ustalanymi przy tworzeniu klucza | Do testów jest sandbox z limitem 2500 faktur miesięcznie; nadaj kluczowi tylko potrzebne zakresy |
| wFirma | HTTP Request do API wFirmy | Klucz API przypisany do konkretnego użytkownika | Zwykła faktura przy włączonej wysyłce od razu trafia do kolejki KSeF; wersja robocza (np. normal_draft) czeka na zatwierdzenie w panelu; regulamin API przewiduje bezpłatnie do 1000 dokumentów miesięcznie |
| BaseLinker (Base) | HTTP Request: POST na connector.php z polami method i parameters | Token w nagłówku X-BLToken, generowany w panelu | Limit 100 zapytań na minutę; getOrders zwraca do 100 zamówień naraz, pobieraj tylko potwierdzone |
| Allegro | HTTP Request do REST API, np. GET /order/events | OAuth2: token dostępowy ważny 12 godzin, refresh token przedłuża dostęp do 3 miesięcy | Token traci ważność także po zmianie hasła albo wylogowaniu ze wszystkich urządzeń; zdarzenia bywają w nieoczekiwanej kolejności |
Co się psuje w takich automatyzacjach i jak to wyłapać?
Najczęściej psuje się styk z innym systemem, a nie sam n8n: ta sama sprawa przychodzi dwa razy, token wygasa, API odrzuca zapytania ponad limit albo harmonogram rusza o złej godzinie. Większość tych problemów wyłapiesz ustawieniem węzła albo przepływem błędów, zanim zauważy je klient.
Ponad węzłami stoi jedna zasada: każdy przepływ ma właściciela, który dostaje alert i wie, co z nim zrobić. Raz w tygodniu przegląda wykonania zakończone błędem i liczbę spraw przekazanych człowiekowi. Gdy wyjątków przybywa, zwykle zmienił się proces albo dane u dostawcy, a nie sam automat.
| Problem | Gdzie wystąpi | Jak go wyłapać w n8n |
|---|---|---|
| Ta sama sprawa obsłużona dwa razy | Formularz wysłany dwa razy, powtórzone zdarzenia Allegro, okna eksportu KSeF | Remove Duplicates w trybie Remove Items Processed in Previous Executions (domyślnie pamięta 10 tys. wartości) albo Data Table z operacją If Row Does Not Exist |
| Wygasły token | Allegro po 12 godzinach bez odświeżenia, klucz API pracownika, który odszedł | Przepływ błędów z alertem, odświeżanie tokenu Allegro przed wygaśnięciem, klucze zakładane na użytkownika technicznego |
| Przekroczony limit zapytań | BaseLinker 100 na minutę, KSeF 20 eksportów na godzinę, biała lista 100 zapytań „search” dziennie | Batching w HTTP Request, harmonogram dopasowany do limitu, obsługa kodu 429 i nagłówka Retry-After |
| Zła godzina uruchomienia | Schedule Trigger na własnym serwerze bez ustawionej strefy, domyślnie America/New York | Strefa Europe/Warsaw w ustawieniach przepływu |
| Cicho zgubiona wiadomość | Text Classifier, który nie dopasował kategorii, domyślnie odrzuca element | When No Clear Match ustawione na gałąź Other |
| Przegapione uruchomienie | Serwer n8n wyłączony o godzinie harmonogramu | Od wersji 2.36 w ustawieniach Schedule Trigger włączysz nadrobienie ostatniego przegapionego uruchomienia (domyślnie wyłączone); działa w węzłach dodanych od tej wersji i tylko z trwałym harmonogramem (durable scheduler) |
| Za krótka historia wykonań | Plan Starter w chmurze: historia wykonań z 7 dni | Własny dziennik ważnych zdarzeń w Data Table albo arkuszu |
Od czego zacząć i ile czasu zabiera Ci to dziś?
Zacznij od przepływu, który powtarza się najczęściej, a pomyłka w nim najmniej kosztuje. Zwykle jest to formularz do CRM albo raport tygodniowy, a nie faktury z KSeF.
- Policz czasWpisz w kalkulatorze poniżej, ile minut zajmuje jedna sprawa, jak często się powtarza (dziennie, w tygodniu albo w miesiącu) i ile osób się nią zajmuje. Wynik w godzinach miesięcznie pokaże, który proces warto zautomatyzować najpierw.
- Sprawdź, co już maszFakturownia ma automatyczne przypomnienia, BaseLinker sam wystawia faktury do zamówień. Jeśli program robi to dobrze, n8n nie jest potrzebny.
- Wybierz chmurę albo własny serwern8n Cloud przechowuje dane na serwerach we Frankfurcie, a własny serwer wymaga aktualizacji i kopii zapasowych. Porównanie opisuję w przewodniku n8n na własnym serwerze.
- Najpierw przepływ błędówZanim opublikujesz pierwszy przepływ, zbuduj przepływ błędów i wskaż osobę, która dostaje alerty.
- Uruchom obok ręcznej pracyPrzez pierwsze tygodnie automat przygotowuje szkice, a człowiek porównuje je z własną pracą. Ręczną pracę wyłączasz, gdy wyniki się zgadzają.
Policz na swoich liczbach
Minuty × powtórzenia × osoby, przeliczone na miesiąc i rok: 52 tygodnie, a „dziennie” to 5 dni roboczych w tygodniu. Tyle czasu wraca do ludzi na klientów, sprzedaż, naukę albo spokojniejszy dzień, jeśli tę czynność przejmie automat, a człowiek zostanie tam, gdzie trzeba ocenić lub zatwierdzić.
Zbudować samemu czy zlecić: kto potem utrzymuje automaty?
Proste przepływy z wbudowanymi węzłami zbudujesz sam. Przy KSeF, systemie sprzedaży albo kilku API naraz liczy się utrzymanie, a nie tylko pierwsza wersja.
Przykłady 1, 2, 9 i 12 opierają się na wbudowanych węzłach i nadają się na pierwszą samodzielną próbę. Przykłady 4, 5, 6 i 8 wymagają dokumentacji API, obsługi limitów i tokenów, a przy KSeF także własnego kodu. API się zmieniają: dokumentację BaseLinkera zaktualizowano 30 września 2026 r., więc ktoś musi to śledzić. Jak rozplanować wdrożenie i utrzymanie, opisuję w przewodniku wdrożenie n8n w firmie, a gdy wahasz się co do samego narzędzia, w porównaniu n8n, Make czy Zapier.
Trzymam się jednej zasady: automat przejmuje przepisywanie, sprawdzanie i przypomnienia z zatwierdzonego szablonu, a człowiek zatwierdza pieniądze, wiadomości do klientów i decyzje o ludziach. Więcej w tekście o człowieku w pętli.
Jeśli chcesz uruchomić któryś z tych przepływów u siebie, napisz mi, który proces zabiera Wam najwięcej czasu, jak często się powtarza i w jakich programach pracujecie, na przykład Fakturownia, BaseLinker, Gmail albo Outlook. Odpowiem w ciągu jednego dnia roboczego, od którego przepływu bym zaczął i czego potrzebuję po Waszej stronie. Pracuję z Mikołowa, zdalnie z firmami z całej Polski. Zakres prac opisuję na stronach automatyzacje i agenci AI oraz integracje API, a widełki znajdziesz w cenniku.
Pytania i odpowiedzi
Gdzie znaleźć gotowe przykłady workflow w n8n?
Szablony przepływów są dostępne we wszystkich planach n8n, a oficjalną bibliotekę przeglądasz na stronie n8n i importujesz wybrany szablon do swojej instancji. Szablon to dobry punkt startu, ale nie zna Twoich danych, poświadczeń ani wyjątków. Przed publikacją podłącz własne poświadczenia, przetestuj go na kilku prawdziwych przypadkach i dodaj zatwierdzenie tam, gdzie przepływ wysyła coś do klienta.
Czy n8n ma integrację z Fakturownią, inFaktem albo wFirmą?
W katalogu integracji n8n nie ma wbudowanych węzłów dla Fakturowni, inFaktu ani wFirmy. Wszystkie trzy mają publiczne API, więc łączysz się z nimi węzłem HTTP Request: z Fakturownią przez token API, z inFaktem przez klucz w nagłówku X-inFakt-ApiKey, z wFirmą przez klucz API użytkownika.
Czy n8n połączy się z BaseLinkerem i Allegro?
Tak, przez węzeł HTTP Request, bo ani BaseLinker, ani Allegro nie mają wbudowanego węzła w n8n. BaseLinker przyjmuje zapytania z tokenem w nagłówku X-BLToken i limitem 100 na minutę, a Allegro wymaga OAuth2 z tokenem ważnym 12 godzin. Najpierw sprawdź, co BaseLinker robi sam, na przykład wystawianie faktur do zamówień.
Czy da się pobierać faktury z KSeF w n8n?
Tak, ale to najtrudniejszy z tych przykładów. API KSeF zwraca paczki faktur jako zaszyfrowane archiwa ZIP i ogranicza eksport do 20 na godzinę, więc obok węzłów n8n potrzebny jest własny kod. Prostszą drogą bywa odczyt faktur kosztowych przez API programu do faktur, jeśli ten sam pobiera je z KSeF.
Ile wykonań zużyją te przepływy i ile kosztuje n8n?
W n8n płacisz za wykonania, czyli uruchomienia całego przepływu, bez względu na liczbę kroków. Według cennika n8n przy płatności rocznej plan Starter kosztuje 20 euro miesięcznie i obejmuje 2,5 tys. wykonań, a Pro 50 euro miesięcznie i 10 tys. wykonań. Harmonogram raz dziennie to 30 lub 31 wykonań w miesiącu, co 15 minut przez całą dobę około 2,9 tys. Za model AI na własnym kluczu płacisz osobno jego dostawcy.
Czy do budowy przepływów w n8n trzeba umieć programować?
Do prostych przepływów, takich jak formularz do CRM czy raport tygodniowy, zwykle nie, bo wystarczą wbudowane węzły. Przy polskich programach bez węzła trzeba czytać dokumentację API i konfigurować HTTP Request, a przy KSeF potrzebny jest kod. n8n pozwala dodać krok z kodem w JavaScripcie albo Pythonie.
Czy n8n z modelem AI w przepływie jest zgodne z RODO?
Zgodność zależy od tego, jak zbudujesz przepływ, a nie od samego narzędzia. Według cennika n8n plany hostowane przez n8n przechowują dane w UE, na serwerach we Frankfurcie, a przy własnym serwerze miejsce wybierasz sam. Art. 28 ust. 3 RODO wymaga umowy (albo innego instrumentu prawnego) z każdym podmiotem, który przetwarza dane osobowe w Twoim imieniu, w tym z dostawcą modelu AI; więcej w przewodniku AI Act i RODO w małej firmie.
Co zrobić, gdy przepływ w n8n przestanie działać?
Najpierw otwórz listę wykonań przepływu: widać w niej, na którym węźle i na jakich danych przepływ się zatrzymał, a dane z poprzedniego wykonania możesz wczytać do edytora. Żeby nie dowiadywać się o awarii od klienta, zbuduj przepływ błędów z węzłem Error Trigger i wskaż go w ustawieniach każdego przepływu. Historia wykonań ma limit; w planie Starter to 7 dni.
Czy mogę używać węzłów społeczności w n8n?
Możesz, ale ostrożnie. Według dokumentacji n8n węzeł społeczności ma pełny dostęp do maszyny, na której działa n8n, i do danych w przepływach, a aktualizacja od autora może zepsuć Twoje przepływy. Zweryfikowane przez n8n węzły znajdziesz w panelu węzłów; niezweryfikowane zainstalujesz tylko na własnym serwerze.
Czy n8n może sam wysyłać maile do klientów?
Technicznie tak, węzeł Gmail wysyła wiadomości bez udziału człowieka. Projektuję przepływy tak, że sam wychodzi tylko mail z zatwierdzonego szablonu, na przykład pierwsze przypomnienie o płatności, a tekst napisany przez model AI czeka jako szkic albo na kliknięcie w Send and Wait for Approval. Wyłącz też dopisek o n8n, który węzeł Gmail domyślnie dodaje na końcu wiadomości.
Źródła
Liczby i terminy w tym przewodniku sprawdziłem w oficjalnych źródłach. Ceny i przepisy się zmieniają, więc przy decyzji warto zajrzeć do nich ponownie.
- n8n: cennik, plany i definicja wykonania
- n8n: biblioteka szablonów przepływów
- n8n: szablony z kategorii Marketing (m.in. publikacja w mediach społecznościowych)
- n8n: jak wykonania liczą się do limitu planu (wg typu wyzwalacza)
- n8n: węzeł HTTP Request (uwierzytelnianie, Batching, import curl)
- n8n: węzeł Webhook (adres testowy i produkcyjny, uwierzytelnianie)
- n8n: węzeł Schedule Trigger (strefa czasowa, przegapione uruchomienia)
- n8n: operacje Gmail na wiadomościach (Send and Wait for Approval)
- n8n: węzeł Text Classifier (When No Clear Match)
- n8n: węzeł Remove Duplicates
- n8n: obsługa błędów, Error Trigger i Stop And Error
- n8n: zatwierdzanie narzędzi agenta AI przez człowieka
- n8n: ryzyka węzłów społeczności
- n8n: instalacja węzłów społeczności (niezweryfikowane tylko na własnym serwerze)
- n8n: węzeł Error Trigger (testowanie przepływu błędów)
- n8n: typowe problemy węzła HTTP Request (Retry on Fail, Batching)
- n8n: węzeł n8n Form Trigger (adres testowy i produkcyjny, dopisek n8n)
- BaseLinker (Base): dokumentacja API, limit zapytań i metody zamówień
- Allegro REST API: obsługa zamówień i dziennik zdarzeń
- Allegro REST API: uwierzytelnianie i ważność tokenów
- Fakturownia: dokumentacja API
- Fakturownia: automatyczne przypomnienia o nieopłaconej fakturze
- inFakt: dokumentacja API v3
- wFirma: API, wersje robocze faktur, wysyłka do KSeF i regulamin API
- Ministerstwo Finansów, przewodnik KSeF 2.0: przyrostowe pobieranie faktur
- Ministerstwo Finansów: API wykazu podatników VAT (biała lista) i limity
- GUS: usługa BIR1 (API REGON), dostęp i limity
- RODO (rozporządzenie 2016/679), art. 28: podmiot przetwarzający
Masz pytanie do swojego projektu?
Opisz, co chcesz osiągnąć. Odpowiem konkretnie, także wtedy, gdy najlepszą odpowiedzią jest „nie rób tego”.
Jonasz Jankowski · Bezpośrednia współpraca · Mikołów (Śląsk), zdalnie w całej Polsce
- Odpowiadam osobiście w ciągu jednego dnia roboczego.
- Krótka rozmowa o celu, funkcjach, materiałach i integracjach.
- Dostajesz zakres z etapami i konkretną kwotę, zanim cokolwiek zaczniemy.