Automatyczny n8n newsletter działa tak: każdej nocy n8n pobiera artykuły z 10 źródeł RSS, OpenAI wybiera najważniejsze i pisze streszczenia po polsku, a gotowy plik trafia na Google Drive. Rano masz do przejrzenia kilka zdań zamiast dziesiątek zakładek — albo gotowy HTML-owy mail który możesz wysłać do znajomych lub zespołu.
W tym tutorialu zobaczysz jak zbudować taki workflow krok po kroku — z prawdziwym kodem do skopiowania. Konfigurujesz raz, potem działa sam.
Informacja: artykuł zawiera link afiliacyjny do n8n — jeśli założysz konto przez ten link, wspierasz blog bez żadnego dodatkowego kosztu.
Nie masz jeszcze n8n? → Instalacja krok po kroku lub załóż konto na n8n.cloud (link afiliacyjny)
Co zbudujesz — automatyczny newsletter AI w n8n
Workflow ma kilkanaście węzłów. Wejście: 10 feedów RSS równolegle. Wyjście: plik .md w Google Drive z gotowym przeglądem newsów.
Pamiętaj: newsletter generuje AI na podstawie treści z RSS — to punkt wyjścia, nie gotowy artykuł dziennikarski. Zawsze warto zajrzeć do oryginalnych źródeł przed dalszym udostępnianiem. Możesz go czytać rano przy kawie, czerpać inspiracje do własnych treści albo przerobić na maila do zespołu — AI zrobi z niego co chcesz.
Źródło: zrzut ekranu z panelu n8n — opracowanie własne
Kolejność węzłów:
- Schedule Trigger — odpala workflow co noc o północy
- 10× RSS Feed Read — równolegle pobiera artykuły z 10 źródeł
- Łączenie — scala wszystkie artykuły w jedną listę
- Filtrowanie artykułów — odrzuca stare wpisy
- Sortowanie artykułów — najnowsze na górze
- Code (JSON) — pakuje dane do formatu który zrozumie OpenAI
- Redaktor (OpenAI) — pisze newsletter na podstawie artykułów
- Budowanie artykułu (Code) — parsuje odpowiedź AI do pliku
- Convert to File — zamienia markdown na plik binarny
- Zapis na Google Drive — wysyła gotowy plik na Drive
Chcesz zrozumieć jak agenci AI działają od środka? → Czym są agenci AI
Wymagania przed startem
- n8n — self-hosted (bezpłatny) lub n8n.cloud (link afiliacyjny)
- Konto OpenAI z kluczem API
- Konto Google z dostępem do Google Drive
Krok 1 — Schedule Trigger (n8n schedule)
Dodaj węzeł Schedule Trigger jako pierwszy krok. Workflow odpala się automatycznie bez żadnego systemu cron — n8n schedule obsługuje to wewnętrznie.
Źródło: zrzut ekranu z panelu n8n — opracowanie własne
Ustawienia:
- Trigger Interval:
Days
- Days Between Triggers:
1
- Trigger at Hour:
Midnight
- Trigger at Minute:
0
Chcesz newsletter rano zamiast w nocy — zmień godzinę na 6 lub 7. Newsletter tygodniowy? Przestaw Interval na Weeks i wybierz dzień. Jedno pole, zero kodu.
Zamiast jednego feeda — podpinasz 10 naraz. Każdy węzeł RSS Feed Read działa niezależnie i równolegle, co skraca czas wykonania workflow.
Źródło: zrzut ekranu z panelu n8n — opracowanie własne
Każdy węzeł RSS to jedna linia: wpisz URL feedu w pole URL i gotowe. Przykładowe źródła AI i tech:
| Nazwa |
URL feeda |
| AIBusiness |
https://aibusiness.com/rss.xml |
| Hacker News |
https://hnrss.org/frontpage |
| MIT Tech Review |
https://www.technologyreview.com/feed/ |
| VentureBeat AI |
https://venturebeat.com/category/ai/feed/ |
| The Verge |
https://www.theverge.com/rss/index.xml |
Podmień na swoje branżowe blogi, portale konkurencji albo Google News dla wybranej frazy. Możesz mieć ich tyle ile chcesz — dodajesz kolejny węzeł RSS i podpinasz do Merge.
Pamiętaj: wygenerowany newsletter ma być dla Ciebie inspiracją i pomocą w śledzeniu newsów — nie gotowym materiałem do masowej dystrybucji. Przy rozsyłaniu do dużej listy odbiorców warto sprawdzić warunki konkretnych serwisów.
Krok 3 — Łączenie, filtrowanie i sortowanie
Trzy węzły po kolei porządkują zebrane artykuły przed przekazaniem do AI.
Łączenie (Merge)
Źródło: zrzut ekranu z panelu n8n — opracowanie własne
- Mode:
Append — skleja wyniki ze wszystkich wejść w jedną listę
- Number of Inputs:
10 — tyle samo co liczba węzłów RSS
Filtrowanie artykułów
Źródło: zrzut ekranu z panelu n8n — opracowanie własne
Węzeł Filter odrzuca artykuły starsze niż 24h — newsletter ma zawierać tylko świeże newsy. Ustaw jeden warunek:
- Wartość 1 (górna):
{{ $json.isoDate }}
- Operacja:
is after
- Wartość 2 (dolna):
{{ DateTime.now().minus({ hours: 24 }).toISO() }}
Artykuły bez daty albo starsze niż doba nie trafiają dalej.
Sortowanie artykułów
Źródło: zrzut ekranu z panelu n8n — opracowanie własne
- Type:
Simple
- Field Name:
isoDate
- Order:
Descending — najnowsze artykuły na górze listy
isoDate to pole które węzeł RSS Feed Read dodaje automatycznie — to data publikacji artykułu w formacie ISO 8601, np. 2026-05-12T06:30:00.000Z. Dzięki temu można porównywać daty i sortować artykuły chronologicznie bez żadnego dodatkowego kodu.
Krok 4 — Przygotowanie danych (węzeł Code)
Węzeł Code pakuje wszystkie artykuły do jednego obiektu JSON który OpenAI dostanie jako dane wejściowe. Tryb Run Once for All Items — kod odpala się raz na całą listę, nie per artykuł.
Źródło: zrzut ekranu z panelu n8n — opracowanie własne
return [
{
json: {
articles: $input.all().map(item => ({
title: item.json.title,
content: item.json.contentSnippet || item.json.content,
url: item.json.link,
date: item.json.isoDate,
})),
},
},
];
Kod wyciąga z każdego artykułu cztery pola:
- tytuł —
title
- treść —
contentSnippet (skrót) lub content (pełna)
- URL —
link
- data —
isoDate
Wynik to jeden item z tablicą articles — gotowy do wrzucenia do prompta.
Chcesz dodać inne pole z RSS-a (np. kategorię)? Dodajesz kolejną linię w mapowaniu — możesz wkleić ten kod do ChatGPT lub Claude i poprosić o modyfikację.
Krok 5 — Redaktor AI — OpenAI pisze newsletter
Węzeł OpenAI (nazwany "Redaktor") dostaje spakowane artykuły i zwraca gotowy newsletter w formacie JSON.
Źródło: zrzut ekranu z panelu n8n — opracowanie własne
Ustawienia:
- Resource:
Text
- Operation:
Message a Model
- Model:
GPT-5.4-NANO
Pełny prompt w polu Prompt:
Dzisiaj jest: {{ $now.format('DD MMMM YYYY') }}
Jesteś redaktorem porannego newslettera AI po polsku.
Piszesz dla zapracowanych ludzi którzy chcą wiedzieć co ważnego wydarzyło się w AI — szybko, konkretnie, bez lania wody.
Ton: przyjazny, bezpośredni, jakbyś pisał do znajomego który interesuje się technologią.
━━━━━━━━━━━━━━━━━━━━
ZASADA NADRZĘDNA
━━━━━━━━━━━━━━━━━━━━
Piszesz WYŁĄCZNIE na podstawie dostarczonych danych.
NIE wymyślaj faktów, cyfr ani wydarzeń których nie ma w źródłach.
━━━━━━━━━━━━━━━━━━━━
ZADANIE
━━━━━━━━━━━━━━━━━━━━
Napisz poranny newsletter AI — krótki przegląd najważniejszych newsów z ostatnich 24h.
### FORMAT
* Powitanie: 1 zdanie — luźne, przyjazne, nawiązuje do dnia tygodnia lub pory roku
* 5–7 newsów w formacie:
- Nagłówek H2: konkretny, bez clickbaitu
- 2–3 zdania — co się wydarzyło i dlaczego to ważne
- Link do źródła
* Zakończenie: 1–2 zdania — co warto dziś obserwować
### DANE WEJŚCIOWE
{{ JSON.stringify($json.articles) }}
━━━━━━━━━━━━━━━━━━━━
OUTPUT
━━━━━━━━━━━━━━━━━━━━
Zwróć TYLKO poprawny obiekt JSON. Zero dodatkowego tekstu.
{
"title": "Tytuł newslettera",
"slug": "slug-url",
"meta_description": "Meta description 150-160 znaków",
"keywords": ["słowo1", "słowo2", "słowo3"],
"markdown": "# Tytuł\n\nPowitanie...\n\n## News 1\n\nOpis...\n\n*Źródło: [Nazwa](URL)*"
}
Ten prompt możesz w całości wkleić do Claude'a lub ChatGPT i poprosić żeby go przerobił pod Twoje potrzeby — zmienił branżę, język, ton albo format. AI w pracy nad automatyzacją to nie tylko efekt końcowy, ale też narzędzie do konfiguracji samego workflow.
Krok 6 — Parsowanie odpowiedzi i konwersja na plik
Dwa węzły zamieniają odpowiedź OpenAI na gotowy plik markdown.
Budowanie artykułu (Code)
Źródło: zrzut ekranu z panelu n8n — opracowanie własne
OpenAI czasem opakowuje JSON w bloki ```json ```. Ten kod bezpiecznie go wyciąga niezależnie od formatu odpowiedzi:
const item = $input.first().json;
const text = item?.output?.[0]?.content?.[0]?.text
|| item?.output?.[0]?.text
|| item?.message?.content
|| item?.text;
const fenced = text.match(/```json?[\s\n]*([\s\S]*?)```/i);
const clean = fenced ? fenced[1].trim() : text.trim();
const data = JSON.parse(clean.slice(clean.indexOf('{'), clean.lastIndexOf('}') + 1));
return [{
json: {
title: data.title,
slug: data.slug,
meta_description: data.meta_description,
keywords: data.keywords,
markdown: data.markdown,
filename: (data.slug || data.title.replace(/[^a-z0-9ąćęłńóśźż\s]/gi, '_').trim()) + '.md',
}
}];
Convert to File
Źródło: zrzut ekranu z panelu n8n — opracowanie własne
- Operation:
Convert to Text File
- Text Input Field:
markdown
- Put Output File in Field:
data
Węzeł zamienia string markdown na plik binarny — Google Drive wymaga binarnego inputu przy uploadzie.
Krok 7 — Zapis na Google Drive (n8n Google Drive)
Ostatni krok wysyła plik na Drive automatycznie każdej nocy.
Źródło: zrzut ekranu z panelu n8n — opracowanie własne
Konfiguracja węzła Zapis na Google Drive:
- Credential: Google Drive account (OAuth2)
- Resource:
File
- Operation:
Upload
- Input Data Field Name:
data
- File Name:
{{"newsletter-ai-" + $now.toFormat('yyyy-MM-dd') + ".md"}}
- Parent Drive:
My Drive
- Parent Folder:
/ (Root folder) — możesz zmienić na wybrany podfolder
Wynikowy plik nazywa się np. newsletter-ai-2026-05-12.md i ląduje na Drive gotowy do przejrzenia. n8n Google Workspace integruje się przez OAuth — łączysz konto raz w Credentials i używasz w każdym workflow.
Jak dostosować workflow do swoich potrzeb
Ten workflow to gotowy szablon — każdy element jest wymienialny bez dotykania reszty.
Zmień źródła newsów
Podmień URL w węzłach RSS na swoje branżowe źródła — blogi, portale, newslettery konkurencji, Google News RSS dla wybranej frazy.
Zmień prompt pod swoją branżę
Skopiuj cały prompt z Kroku 5 i wklej do Claude'a lub ChatGPT z poleceniem: "Przeróbcie ten prompt na newsletter dla branży [X], w tonie [Y], z sekcjami [Z]." Model zwróci gotowy prompt który wklejasz z powrotem do n8n.
Przeróbka na mail HTML
Zamiast zapisywać na Drive, możesz wysyłać newsletter mailem. Wymaga to przerobienia końcowych węzłów — zamiana markdownu na HTML (węzeł Code z prostymi wyrażeniami regularnymi) i wysyłka przez węzeł Gmail. n8n Gmail łączy się tym samym kontem Google co Drive. To więcej niż jedno kliknięcie, ale prompt do konwersji możesz wygenerować AI — opisujesz strukturę pliku i prosisz o kod.
Wyślij na Telegrama
Zamień węzeł Google Drive na węzeł Telegram — bot wysyła newsletter jako wiadomość każdej nocy. Jak to podłączyć: chatbot AI Telegram z n8n.
Dostosuj kod za pomocą AI
Oba węzły Code (JS) możesz wkleić do dowolnego modelu AI z prośbą o modyfikację — np. "dodaj pole author do mapowania" albo "obsłuż przypadek gdy articles jest pusty". Nie musisz znać JavaScript żeby zmieniać zachowanie workflow.
Najczęstsze pytania
Jak zautomatyzować newsletter w n8n?
Potrzebujesz czterech węzłów:
- Schedule Trigger — uruchamia workflow o wybranej godzinie
- RSS Feed Read — pobiera artykuły z wielu źródeł
- OpenAI — pisze treść newslettera
- Google Drive — zapisuje gotowy plik
Konfigurujesz raz, potem workflow generuje newsletter samodzielnie każdej nocy.
Ile kosztuje automatyczny newsletter AI w n8n?
N8n self-hosted jest bezpłatny. Koszt to API OpenAI — przy modelu GPT-5.4-NANO jeden newsletter to ułamek centa. Przy codziennym generowaniu koszty API są minimalne. Dokładne stawki sprawdź w aktualnym cenniku OpenAI.
Jak n8n pobiera artykuły z RSS?
Węzeł RSS Feed Read wbudowany w n8n pobiera wpisy z dowolnego standardowego feedu RSS lub Atom. Wpisujesz URL i węzeł zwraca listę artykułów z tytułem, treścią, linkiem i datą. Możesz podpiąć wiele węzłów RSS równolegle i scalić je węzłem Merge.
Jak połączyć n8n z Google Drive?
W sekcji Credentials dodaj Google Drive OAuth2 i zaloguj się na konto Google. Credentials używasz we wszystkich węzłach Google:
- Google Drive — zapis plików
- Gmail — wysyłka maili
- Google Sheets — zapis do arkuszy
- Google Calendar — operacje na kalendarzu
Jedno połączenie, cały Google Workspace. To jest właśnie n8n Google Workspace integration.
Jak zaplanować automatyczne zadanie w n8n (n8n schedule)?
Węzeł Schedule Trigger ustawia harmonogram wewnątrz n8n — bez zewnętrznego crona. Wybierasz interwał (minuty, godziny, dni, tygodnie), godzinę i dni tygodnia. Workflow startuje automatycznie po opublikowaniu.
Czym jest n8n webhook i jak go używać w newsletterze?
N8n webhook trigger odpala workflow na żądanie HTTP z zewnątrz — zamiast harmonogramu. Możesz nim zastąpić Schedule Trigger żeby generować newsletter na żądanie. Przykłady:
- przycisk na stronie — wysyła POST do endpointu webhooka
- komenda w Telegramie — bot odbiera wiadomość i triggeruje workflow
- zapytanie z innej aplikacji — integracja przez n8n REST API
To podstawa n8n webhook tutorial dla bardziej zaawansowanych przypadków.
Czy mogę użyć innego modelu niż OpenAI?
Tak. Węzeł OpenAI możesz zastąpić węzłem Anthropic (Claude), Google Gemini, Mistral albo dowolnym modelem przez HTTP Request do REST API. Prompt zostaje ten sam — zmieniasz tylko węzeł i credentials.
Jak używać AI w pracy do tworzenia treści?
Automatyczny newsletter to jeden z najprostszych przykładów AI w pracy — eliminuje ręczne czytanie dziesiątek artykułów i pisanie streszczeń. Zamiast godziny dziennie, dostajesz gotowy digest w kilka sekund. Ten sam schemat działa dla raportów, podsumowań spotkań czy monitoringu konkurencji.
Automatyczny newsletter AI w n8n to kilkadziesiąt minut konfiguracji i gotowy system który pracuje za Ciebie każdej nocy. Wszystkie elementy — RSS, prompt, model, format pliku, miejsce zapisu — możesz dowolnie wymieniać bez dotykania reszty workflow. Wklej kod do AI, opisz co chcesz zmienić, wróć z gotowym rozwiązaniem.