Jak używać webhooków w n8n

Jak używać webhooków w n8n — integracja z zewnętrznymi aplikacjami

Odbieraj dane z dowolnej aplikacji w czasie rzeczywistym — formularz kontaktowy, płatność, push GitHuba. Webhook w n8n to najprostszy sposób na integrację.

2 marca 2026·n8n·7 min czytania

Spis treści

  1. Czym jest webhook i jak działa w n8n
  2. Jak skonfigurować węzeł Webhook w n8n krok po kroku
  3. Jak używać webhooków do integracji z zewnętrznymi aplikacjami
  4. Bezpieczeństwo webhooków w n8n
  5. Często zadawane pytania

Czym jest webhook i jak działa w n8n

Webhook to mechanizm, dzięki któremu jedna aplikacja natychmiast informuje drugą o zajściu zdarzenia. Działa na zasadzie odwróconego API: zamiast regularnie pytać "czy coś nowego się pojawiło?", zewnętrzna aplikacja sama wysyła dane do n8n w momencie, gdy zdarzenie nastąpi. To powiadomienie trafia w postaci żądania HTTP POST na unikalny adres URL wygenerowany przez n8n.

W praktyce wygląda to tak: klient składa zamówienie w Twoim sklepie, sklep wysyła POST z danymi zamówienia na URL webhooka n8n, a n8n natychmiast uruchamia workflow — bez żadnego opóźnienia. Porównaj to z pollingiem, który sprawdzałby nowe zamówienia np. co minutę: przy 100 zamówieniach dziennie średnie opóźnienie wynosiłoby 30 sekund, a API sklepu byłoby zbędnie obciążone 1440 zapytaniami na dobę.

N8n obsługuje webhooks jako trigger (węzeł uruchamiający workflow po otrzymaniu żądania) i jako punkt odpowiedzi (możesz zwrócić dane do aplikacji, która wysłała webhook). Każdy webhook w n8n ma dwa adresy: testowy (aktywny tylko gdy workflow jest otwarty w edytorze) i produkcyjny (aktywny gdy workflow jest aktywny). Oba są publicznie dostępne pod domeną Twojej instancji n8n.

Jak skonfigurować węzeł Webhook w n8n krok po kroku

Krok 1: Utwórz nowy workflow i dodaj węzeł Webhook

W panelu n8n kliknij New Workflow. Kliknij duży przycisk plus i w wyszukiwarce węzłów wpisz "Webhook". Wybierz węzeł Webhook jako trigger. Na ekranie konfiguracji zobaczysz dwa URL: Webhook URL (produkcyjny) i Test Webhook URL. Skopiuj Test Webhook URL — przyda się do testów z curl lub Postman.

Krok 2: Ustaw metodę HTTP i opcje odpowiedzi

W polu HTTP Method wybierz POST (najczęściej używane) lub GET, zależnie od tego, co wysyła zewnętrzna aplikacja. W sekcji Response Mode zostaw domyślne "When last node finishes" jeśli chcesz odesłać przetworzone dane, lub wybierz "Immediately" jeśli aplikacja wysyłająca nie czeka na odpowiedź. Path możesz zostawić wygenerowany lub nadać czytelną nazwę, np. /zamowienia.

Krok 3: Przetestuj odbieranie danych

Kliknij Listen for Test Event — n8n zaczyna nasłuchiwać. Otwórz terminal i wywołaj: curl -X POST "TWÓJ-TEST-URL" -H "Content-Type: application/json" -d '{"imie":"Jan","email":"[email protected]","produkt":"Hosting n8n"}'. Możesz też użyć Postmana. W n8n zobaczysz odebrany JSON — kliknij na węzeł, żeby podejrzeć strukturę danych. To kluczowe dla budowy kolejnych kroków workflow.

Krok 4: Przetwórz dane i aktywuj workflow

Po węźle Webhook dodaj kolejne węzły przetwarzające dane — Set (ekstrakcja pól), IF (warunki), Slack/Email (powiadomienia), baza danych. Gdy workflow jest gotowy, kliknij Activate w prawym górnym rogu. Od tej chwili produkcyjny URL webhooka jest aktywny i gotowy do przyjmowania danych. Zewnętrzna aplikacja powinna używać właśnie tego URL, nie testowego.

Jak używać webhooków do integracji z zewnętrznymi aplikacjami

Webhook w n8n to uniwersalny punkt wejścia dla niemal dowolnej aplikacji. Oto trzy konkretne scenariusze integracji, które możesz wdrożyć od razu.

Formularz kontaktowy do CRM: masz formularz na stronie WWW zbudowany w Gravity Forms, Contact Form 7 lub własnym rozwiązaniu. Skonfiguruj go, żeby wysyłał dane (imię, email, treść wiadomości) na webhook n8n. W workflow dodaj węzeł HTTP Request, który tworzy nowy kontakt w HubSpot lub Pipedrive przez ich API. Dodaj też węzeł Gmail, który wysyła email potwierdzający do klienta i powiadomienie do Twojego zespołu. Cały proces zajmuje n8n ułamek sekundy.

Płatność Stripe do bazy danych: Stripe obsługuje webhooks natywnie. W panelu Stripe dodaj nowy webhook z typem zdarzenia payment_intent.succeeded i URL z n8n. Gdy klient zapłaci, n8n odbiera dane transakcji (kwota, waluta, email kupującego, ID płatności) i zapisuje je do arkusza Google Sheets lub bazy MySQL/PostgreSQL. Opcjonalnie dodaje kontakt do listy mailingowej w Mailchimp i wysyła fakturę PDF na email klienta.

GitHub push do powiadomienia Slack: w ustawieniach repozytorium GitHub przejdź do Settings → Webhooks i dodaj webhook z eventem push, wskazując URL n8n. Każdy push do repozytorium uruchomi workflow, który wyciąga dane commita (autor, gałąź, wiadomość commita, lista zmienionych plików) i wysyła sformatowaną wiadomość na kanał #dev w Slacku. Dodaj filtr IF, żeby powiadomienia dotyczyły tylko gałęzi main/master.

Ważne: Produkcyjny URL webhooka n8n jest aktywny tylko gdy workflow ma status "Active". Jeśli Twoje workflow jest wyłączone, webhook zwróci błąd 404. Pamiętaj o aktywacji przed produkcyjnym wdrożeniem integracji.
Wskazówka: Dodaj na początku każdego workflow z webhookiem węzeł Set, który wyciąga i nadaje czytelne nazwy wszystkim używanym polom z payloadu. Dzięki temu reszta workflow będzie czytelna i łatwa w utrzymaniu — nie będziesz musiał pamiętać głęboko zagnieżdżonych ścieżek JSON takich jak $json.body.customer.billing_address.city.

Bezpieczeństwo webhooków w n8n

Publiczny URL webhooka oznacza, że technicznie każdy może wysłać żądanie na ten adres. N8n oferuje kilka metod zabezpieczenia webhooków przed nieautoryzowanym dostępem.

Basic Authentication to najprostsza metoda: włącz ją w ustawieniach węzła Webhook, ustaw login i hasło. Zewnętrzna aplikacja musi przekazać te dane w nagłówku Authorization. Sprawdza się dla prostych integracji wewnętrznych.

Header Authentication jest bezpieczniejsza dla integracji z zewnętrznymi serwisami. Ustaw nazwę nagłówka (np. X-Webhook-Secret) i wartość tokenu. Zewnętrzna aplikacja musi dołączać ten nagłówek do każdego żądania. Bez poprawnego tokenu n8n odrzuci żądanie z kodem 401.

Weryfikacja podpisu to najsilniejsza metoda, stosowana przez Stripe, GitHub i inne profesjonalne platformy. Platforma podpisuje payload kryptograficznie (HMAC-SHA256) używając współdzielonego sekretu. W n8n użyj węzła Code z JavaScript, żeby zweryfikować podpis przed przetworzeniem danych: oblicz HMAC z otrzymanego payloadu, porównaj z podpisem z nagłówka i odrzuć żądanie jeśli się nie zgadzają.

Na smartxhosting.pl wszystkie webhooks n8n działają przez HTTPS z ważnym certyfikatem SSL Let's Encrypt, co eliminuje ryzyko podsłuchania danych w transmisji. To podstawowy wymóg wielu platform (m.in. Stripe odrzuca webhooki bez SSL).

Często zadawane pytania

Jaka jest różnica między webhook a pollingiem w n8n?

Webhook to powiadomienie wysyłane przez zewnętrzny system natychmiast po zajściu zdarzenia — n8n reaguje w czasie rzeczywistym, bez opóźnień. Polling to regularne odpytywanie zewnętrznego systemu przez n8n (np. co minutę): sprawdza, czy coś nowego się pojawiło. Webhook jest szybszy i mniej obciążający API, ale wymaga, żeby zewnętrzna aplikacja obsługiwała wysyłanie webhooków.

Czy n8n może wysyłać webhook do zewnętrznych usług?

Tak. Użyj węzła HTTP Request z metodą POST, podaj URL docelowego endpointu i ustaw treść żądania (JSON body). To technicznie nie jest wysyłanie webhooka przez n8n jako serwer, ale wywołanie zewnętrznego webhooka — n8n działa wtedy jako klient HTTP wysyłający powiadomienie do innego systemu.

Jak testować webhook w n8n bez zewnętrznej aplikacji?

Użyj narzędzia curl lub Postman. W trybie testowym webhook n8n nasłuchuje pod adresem /webhook-test/[id]. Wywołaj go komendą: curl -X POST "https://twoja-instancja/webhook-test/[id]" -H "Content-Type: application/json" -d '{"test":"data"}'. N8n pokaże odebrany payload w podglądzie węzła.

Chcesz uruchomić n8n bez konfiguracji serwera?

smartxhosting.pl oferuje n8n w gotowym kontenerze Docker za 10 zł/miesiąc. Darmowy SSL, 10 GB przestrzeni i dostęp przez przeglądarkę — gotowe w kilka minut.

Zamów hosting n8n
n8nautomatyzacjaintegracja aplikacjiwebhook
Czy ta informacja była pomocna? 0 klientów oceniło tę informację jako przydatną (0 Głosów)