Files
DBAdmin/brain/raw/articles/Jak zbudowałem agenta newslettera AI z pomocą n8n (to oszczędza mi godziny co tydzień) autor Amit Kumar Średni.md
T
2026-05-18 06:40:19 +00:00

658 lines
39 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Historia tylko dla członków
## Jak zbudowałem agenta newslettera AI z n8n (który oszczędza mi godziny co tydzień)
## Od świeżych badań po wersje Gmaila — oto jak pozwolić AI wykonać ciężką pracę, jednocześnie zachowując ludzki kontakt.
[
![Amit Kumar](https://miro.medium.com/v2/resize:fill:64:64/1*3YJa8eltFxrlUVAl_EMKjw.jpeg)
](https://medium.com/@amitXD?source=post_page---byline--c9e4eb252122---------------------------------------)
20 min czytania
23 sierpnia 2025
Jeśli kiedykolwiek próbowałeś pisać newsletter, wiesz, jak to jest trudne. Godziny marną na poszukiwaniu najnowszych wiadomości, burzy mózgów, pisaniu sekcji i formatowaniu wszystkiego, by nie wyglądało to jak niechlujny wpis na blogu w skrzynce odbiorczej subskrybentów. Gdy klikasz "Wyślij", już obawiasz się kolejnej edycji.
Naciśnij enter lub kliknij, aby zobaczyć obraz w pełnym rozmiarze
!["Przyjazny asystent AI w pracy — automatyzujący tworzenie newsletterów od badań po szkic Gmaila."](https://miro.medium.com/v2/resize:fit:700/1*tLcS_cCIdG_ypcYkylVMww.png)
Obraz wygenerowany przez autora
Teraz pomyśl, czy większość tego ciężkiego dźwigania mogłaby odbywać się automatycznie. Badania przysłysły do ciebie, wygenerowane tematy, napisane sekcje, a ostateczna wersja trafiła do twojego Gmaila — już w HTML i czekająca na twoją akceptację. To nie jest futurystyczne marzenie. Dzięki **automatyzacji opartej na AI i przepływom pracy n8n** jest to dziś możliwe.
W tym przewodniku przedstawimy prosty, ale potężny system, który automatyzuje tworzenie newsletterów od początku do końca. Oto ogólny obraz:
- **Raz** w tygodniu uruchamia się wyzwalacz pracy.
- **Agent AI** znajduje aktualne tematy i pisze sekcje.
- **Agent redaktor** formatuje wszystko schludnie w HTML.
- Ostateczny szkic pojawia się w **Twoim Gmailu**, gotowy do wysłania.
A najlepsze w tym? Cała konfiguracja działa na stosie lean tech:
Oto stos technologii, którego użyjemy:
- **N8N** — Workflow Builder.
- **Tavily** — API badawcze.
- **OpenRouter** — modele AI (GPT-5, Claude, GPT-4o-mini).
- **Gmail** — do wysłania szkicu.
Pod koniec tego artykułu dokładnie zobaczysz, jak workflow się układa — i jak możesz zaoszczędzić godziny tygodniowo, jednocześnie dostarczając profesjonalne, angażujące newslettery.
## Dlaczego automatyzować tworzenie newsletterów?
Naciśnij enter lub kliknij, aby zobaczyć obraz w pełnym rozmiarze
![](https://miro.medium.com/v2/resize:fit:700/1*ApKThJsFA7XCRl6dFzrxVA.png)
Pisanie newslettera wydaje się proste, dopóki nie usiądziesz do tego w praktyce. Nagle żonglujesz tym:
- **Badania**: przeszukiwanie artykułów, wpisów na blogach i raportów.
- **Burza mózgów**: znalezienie unikalnego punktu widzenia lub tematu, który będzie interesujący czytelników.
- **Szkicowanie**: zamienianie notatek w dopracowane fragmenty.
- **Formatowanie**: dbanie o to, by wyglądało to profesjonalnie w czyjejś skrzynce odbiorczej.
Kiedy kończysz, godziny już minęły. A jeśli prowadzisz biznes lub projekt poboczny, to czas, którego nie zawsze masz. Co gorsza, proces jest niespójny — niektóre tygodnie masz dużo energii, inne tygodnie możesz całkowicie pominąć wysyłanie. To spójność utrzymuje zaangażowanie czytelników, a ręczne procesy często przerywają ten rytm.
To właśnie tutaj **automatyzacja zmienia zasady** gry. Przy odpowiednim systemie:
- Badania odbywają się w tle, przyciągając tylko świeże i istotne treści.
- Agenci AI generują tytuły, tematy i sekcje, więc nigdy nie zaczynasz od pustej strony.
- Edytor AI formatuje wszystko w czysty, profesjonalny newsletter HTML.
- Ostateczna wersja pojawia się w twoim Gmailu, gotowa do ostatnich poprawek.
Zamiast godzin, patrzysz na minuty — tylko przeglądasz, poprawiasz i naciskasz wyślij. Efektem **są szybsze badania, regularne publikacje i profesjonalny newsletter, który sprawia wrażenie bezwysiłkowego.**
## Przegląd przepływu pracy (krok po kroku)
Naciśnij enter lub kliknij, aby zobaczyć obraz w pełnym rozmiarze
![](https://miro.medium.com/v2/resize:fit:700/1*7tSytJOwhB9nIil-0Jw73Q.png)
10-stopniowy workflow, który przekształca badania w dopracowany szkic Gmaila.
Jak więc powstaje biuletyn napędzany sztuczną inteligencją? Podzielmy workflow na jasne kroki.
1. **Wyzwalacz — Harmonogram pracy (tygodniowo)**
Wszystko zaczyna się od prostego wyzwalacza. Ustawiasz workflow na raz w tygodniu (na przykład w każdą niedzielę o północy). Dzięki temu proces newslettera jest spójny bez konieczności pamiętania czy ręcznego uruchamiania.
2. **Research Past Week — Tavily pobiera najnowsze wiadomości**
System wykorzystuje **Tavily**, narzędzie badawcze, aby przeskanować najnowsze wiadomości i artykuły z minionego tygodnia. Zamiast spędzać godziny na googlowaniu, od razu otrzymujesz wyselekcjonowany zestaw źródeł do pracy.
3. **Utwórz tytuł i tematy — agent**
planowania AI Następnie agent AI "planisty" przegląda badania i generuje:
> Kreatywny, angażujący tytuł newslettera.
>
> Trzy tematy skupione, które staną się głównymi sekcjami.
Ten krok eliminuje nielubiany problem pustych stron.
**4\. Badania 3 Tematy — Głębsze wglądy**
Workflow następnie jest głębszy. Dla każdego z trzech tematów Tavily pozyskuje bardziej szczegółowe treści i surowe artykuły. Dzięki temu Twój newsletter ma głębię, a nie tylko nagłówki.
**5\. Write Newsletter Sections — agent**
AI writer Agent Każdy temat trafia do dedykowanego agenta AI writer, który tworzy **osobną sekcję** newslettera. Są to następujące sekcje:
- Informacyjne
- Profesjonalnie napisane
- Cytowane z prawdziwych źródeł
**6\. Łączenie sekcji (3 → 1) — agregacja**
Trzy oddzielne sekcje są połączone w jeden szkic. Teraz masz uporządkowany newsletter z wieloma segmentami, gotowy do dopracowania.
1. **Stylizuj i edytuj — Edytor AI**
Tutaj dzieje się magia. Agent AI "redaktor" przyjmuje połączony szkic i:
- Dodaje wprowadzenie i zakończenie.
- Wszystko formatuje w czystym HTML (nagłówki, pogrubiony tekst, klikalne linki).
- Na dole dodaje sekcję źródeł.
Efektem jest profesjonalny, atrakcyjny wizualnie szkic biuletynu.
**8\. Send Draft — integracja**
z Gmailem Na koniec szkic jest przesyłany do **Gmaila** jako gotowy do wysłania e-mail. Temat wiadomości jest już ustawiony (z tytułu planera AI), a treść jest sformatowana w HTML. Wystarczy, że przejrzysz, poprawisz i klikniesz "Wyślij".
**9\. Koniec procesu — Człowiek w pętli**
System nie usuwa twojego głosu — po prostu odbiera powtarzalną pracę. Wciąż przeglądasz ostateczny szkic, dostosowujesz ton w razie potrzeby i zatwierdzasz przed wysłaniem.
## Tech stack, którego będziesz potrzebować
Piękno tego systemu polega na tym, że nie wymaga on ogromnej, skomplikowanej konfiguracji. Stos technologiczny jest szczupły, niezawodny i przyjazny początkującym. Oto, czego będziesz potrzebować:
Naciśnij enter lub kliknij, aby zobaczyć obraz w pełnym rozmiarze
![](https://miro.medium.com/v2/resize:fit:700/1*WKkmHwsNeQygMjGpdfPjbQ.jpeg)
Zdjęcie autora
1. **n8n — Workflow Builder**
n8n jest kręgosłupem automatyzacji. To platforma no-code/low-code, gdzie łączysz wszystkie elementy — badania, agentów AI, formatowanie i dostarczanie e-maili. Pomyśl o tym jak o centrum sterowania, gdzie każdy etap przepływu pracy żyje.
2. **Tavily — Research Engine**
Tavily napędza te etapy badawcze. Pobiera najnowsze artykuły, wiadomości i treści internetowe, które agenci AI wykorzystują do generowania pomysłów i pisania sekcji. Zamiast ręcznego wyszukiwania w Google, Tavily co tydzień dostarcza systemowi świeże, istotne dane.
3. **OpenRouter — Modele**
AI OpenRouter daje dostęp do różnych modeli AI (GPT-5, Claude, DeepSeek i inne). W tym procesie pracy różni agenci AI wykonują specjalistyczne zadania:
- **Planner AI:** tworzy tytuły i tematy newsletterów.
- **Writer AI:** tworzy szkice sekcji.
- **Editor AI:** dopracowuje i formatuje wszystko w HTML.
Elastyczność tutaj pozwala eksperymentować z różnymi modelami, aż znajdziesz styl pisania najlepiej pasujący do Twojej marki.
4\. **poczta — Dostawa**
Gdy newsletter jest gotowy, Gmail jest używany do stworzenia szkicu e-maila z tematem i sformatowanym treścią HTML. Możesz wysłać go do swojego zespołu do weryfikacji lub bezpośrednio do subskrybentów po szybkim sprawdzeniu.
- **Hosting (opcjonalne, ale zalecane)**
Jeśli chcesz, aby ten system działał automatycznie co tydzień (np. w niedzielę o północy), twoja instancja N8n musi być online 24/7. I tu właśnie wkracza prowadzenie.
Można:
> Uruchom go na własnym serwerze, albo
>
> Korzystaj z dostawcy hostingu, takiego jak **Hostinger**, który oferuje konfigurację n8n za pomocą jednego kliknięcia, codzienne kopie zapasowe i nieograniczone uruchomienia workflow.
Jeśli tylko eksperymentujesz, możesz uruchomić N8N lokalnie na komputerze. Ale dla stałej, bezwzględnej automatyzacji zaleca się hosting.
## Jak to wszystko się łączy
Teraz, gdy znasz kroki i narzędzia, połączmy fakty.
Oto ogólny obraz:
1. **Cotygodniowy wyzwalacz** uruchamia wszystko automatycznie.
2. **Tavily** dostarcza najświeższe artykuły i spostrzeżenia z ostatniego tygodnia.
3. **Agent AI w planowaniu** czyta te badania i tworzy tytuł oraz trzy kluczowe tematy.
4. Tavily zagłębia się w każdy temat, dostarczając szczegółową treść kontekstową.
5. **Agent AI pisarza** zamienia tę treść w trzy oddzielne sekcje newslettera.
6. **Węzeł agregowany** łączy te sekcje w jeden szkic.
7. **Agent AI edytora** dodaje dopracowanie: wstęp, zakończenie, formatowanie HTML i linki źródłowe.
8. Na koniec szkic trafia na **twoje konto Gmail**, wraz z tematem i sformatowanym tekstem.
Otrzymujesz **gotowy do wysłania szkic newslettera** — badany, napisany i stylizowany — dostarczany prosto na Twoją skrzynkę odbiorczą.
Najlepsze w tym? Twoja rola zmienia się z **bycia twórcą wszystkiego** na **redaktora naczelnego**. Spędzasz minuty na przeglądaniu i poprawianiu, zamiast godzin na analizie i formatowaniu.
Innymi słowy, proces pracy cię nie zastępuje — on **cię wzmacnia**. Nadal ustalasz kierunek, upewniasz się, że ton pasuje do Twojej marki i decydujesz, kiedy jest gotowy do wysłania. System po prostu radzi sobie z powtarzalnymi, ciężkimi zadaniami.
To połączenie automatyzacji i ludzkiego podejścia sprawia, że proces jest trwały. Uzyskujesz spójność automatyzacji wraz z kreatywnością i osobowością własnego głosu.
## Przewodnik krok po kroku po budowie
Naciśnij enter lub kliknij, aby zobaczyć obraz w pełnym rozmiarze
![](https://miro.medium.com/v2/resize:fit:700/1*LGZStTI0heKJl4FCZz2I5A.png)
zrzut ekranu autorstwa autora
### Krok 1: Ustaw szkielet workflow
Zanim zaczniemy dodawać zaawansowanych agentów AI, potrzebujemy kręgosłupa automatyzacji — szkieletu workflow. To właśnie tutaj podłącza się wszystko inne.
### 1\. Stwórz nowy workflow w n8n
- Otwórz **swój dashboard n8n**.
- Kliknij **"Nowy przepływ pracy."**
- Nadaj temu jasną nazwę, na przykład _"AI Newsletter Automation"._
> Pomyśl o tym jak o cyfrowej tablicy, na której wszystkie elementy się łączą.
### 2\. Dodaj wyzwalacz harmonogramu
To właśnie sprawia, że Twój newsletter działa na autopilocie, tydzień po tygodniu.
- Kliknij przycisk **"+",** aby dodać węzeł.
- Wyszukaj **"Schedule Trigger".**
- W ustawieniach:
- Wybierz **powtarzanie co → tygodnia.**
- Wybierz dzień i godzinę, o której chcesz, aby workflow działał (np. _niedziela o północy_).
> 💡 **Wskazówka:** Jeśli tylko testujesz, możesz tymczasowo ustawić "Co 5 minut", żeby nie czekać cały tydzień na wyniki. Później zmień ją z powrotem na tygodniową.
### 3\. Zapisz i (w końcu) aktywuj
Na tym etapie Twój workflow to tylko szkielet:
- Jeden węzeł wyzwalający.
- Nic innego jeszcze nie połączyło.
Gdy skończysz budować całą automatyzację, **aktywujesz ją**, aby działała zgodnie z harmonogramem. Ale na razie trzymaj **go w trybie szkicu**, podczas gdy dodamy resztę kroków.
👉 To wszystko — twoja fundacja jest gotowa.
### Krok 2: Przeprowadz wstępne badania z Tavily
Teraz, gdy szkielet Twojego workflow jest gotowy, czas dać mu coś przydatnego do pracy — świeże treści. Zamiast spędzać godziny na googlowaniu najnowszych wiadomości, pozwolimy **Tavilly'emu** zająć się badaniami za nas.
Tavily to API badawcze, które pobiera odpowiednie artykuły, streszczenia i metadane z internetu. Wykorzystamy go do przeglądania wiadomości z minionego tygodnia w wybranej przez Ciebie niszy, dzięki czemu newsletter zawsze będzie aktualny.
### 1\. Dodaj węzeł Tavily
- W swoim workflow kliknij **przycisk "+".**
- Wyszukaj **Tavily** (jeśli zainstalowałeś go jako węzeł społecznościowy).
- Jeśli go nie widzisz, użyj **węzła HTTP Request** — Tavily działa perfekcyjnie przez wywołania API.
### 2\. Konfiguruj wyszukiwanie
W ustawieniach węzłów:
- **Zapytanie:** wpisz szeroki temat swojego newslettera. Przykład:
```
<span id="fddb" data-selectable-paragraph="">AI adoption <span>for</span> <span>small</span> businesses</span>
```
- **Opic/Tryb:** wybierz tak, aby priorytetowo traktował najnowsze aktualizacje.`news`
- **Zakres czasu:** ustaw tak, żeby pobierać tylko świeżą zawartość.`past_week`
- **Maksymalny wynik:** zacznij od 3 (wystarczająco, by planować tematy bez przytłoczenia AI).
- **Dodaj surowe treści:** na **razie wyłącz to** — streszczenia wystarczą do planowania. Pełny tekst wyciągniemy później, w kroku 5.
## 3\. Uwierzytelnienie w Tavily
Jeśli to Twój pierwszy raz:
- Wejdź na **tavily.com** i załóż darmowe konto.
- Wygeneruj klucz API.
- Wklej go do n8n, gdy pojawi się poproszona.
## Przetestuj węzeł
Kliknij **Wykonaj węzeł** i poczekaj na wyniki. Powinieneś zobaczyć:
- Tytuły artykułów
- Krótkie streszczenia
- Adresy URL
- Daty publikacji
Powinno to wyglądać mniej więcej tak (uproszczony przykład):
```
<span id="184b" data-selectable-paragraph=""><span>[</span><br> <span>{</span><br> <span>"title"</span><span>:</span> <span>"Small Businesses Bridge the AI Gap"</span><span>,</span><br> <span>"summary"</span><span>:</span> <span>"SMBs are exploring automation but remain cautious about AI..."</span><span>,</span><br> <span>"url"</span><span>:</span> <span>"https://example.com/article1"</span><span>,</span><br> <span>"published_date"</span><span>:</span> <span>"2025-08-15"</span><br> <span>}</span><span>,</span><br> ...<br><span>]</span></span>
```
## 5\. Przypnij dane
Oto mała, ale mocna wskazówka:
- W n8n kliknij na węzeł i kliknij **"Przypni dane".**
- To zapisuje wyniki badań lokalnie, więc nie marnujesz wywołań API za każdym razem, gdy poprawiasz kolejne kroki.
✅ Na tym etapie Twój workflow może już generować **świeże, cotygodniowe badania**. To twoje surowe paliwo do newslettera. Następnie wykorzystamy AI, aby **przekształcić te badania w chwytliwy tytuł i trzy tematy skupione.**
## Krok 3: Wygeneruj tytuł i tematy newslettera za pomocą AI
Na tym etapie mamy surowe badania od Tavily — ale surowe dane to nie biuletyn. Teraz potrzebujemy **wyraźnego tematu, chwytliwego tytułu i trzech skoncentrowanych tematów,** wokół których zbudujemy numer. I tu właśnie wkracza AI.
Użyjemy **OpenRoutera** (brama API dla wielu modeli AI) do uruchomienia "agenta planowania". Pomyśl o tym jak o asystencie redakcyjnym swojego newslettera: czyta badania, a potem informuje cię, _o czym powinien być ten numer._
### 1\. Dodaj węzeł OpenRouter
- Kliknij **"+" → OpenRouter (Chat Model)"** w swoim workflow.
- Jeśli nie masz węzła, użyj **HTTP Request** i wywołaj bezpośrednio API OpenRouter.
### 2\. Konfiguruj model AI
- **Model:** Wybierz coś mocnego do podsumowywania i strukturyzowania informacji, jak , **gpt-4o-mini, claude-3.5-sonnet** lub **gpt-5**, jeśli jest dostępne.
- **Temperatura:** Ustaw na **0,7** (zrównoważona kreatywność).
### 3\. Stwórz prompt
Oto prosty, ale skuteczny komunikat systemowy, który możesz wkleić do n8n:
```
<span id="65f2" data-selectable-paragraph="">You are a newsletter planning assistant. <br><span>You will be given research <span>results</span> (<span>article titles, summaries, <span>and</span> URLs</span>). <br>From <span>this</span>, create: <br>1. A single engaging newsletter title. <br>2. Exactly 3 topics that could become newsletter sections. <br><br>Return the output <span>in</span> **valid JSON** <span>with</span> <span>this</span> structure:</span> <br><br>{<br> <span>"title"</span>: <span>"string"</span>,<br> <span>"topics"</span>: [<br> {<span>"topic"</span>: <span>"string"</span>},<br> {<span>"topic"</span>: <span>"string"</span>},<br> {<span>"topic"</span>: <span>"string"</span>}<br> ]<br>}</span>
```
### 4\. Odwzorowanie wejścia
- W **Input**, przekaż wyniki Tavily z kroku 2 do węzła AI.
- Upewnij się, że dostarczasz **podsumowania + tytuły** (jeszcze nie pełna, surowa zawartość — to przyjdzie później).
### 5\. Przetestuj węzeł
Kliknij **Wykonaj węzeł.** Jeśli wszystko pójdzie dobrze, powinieneś mieć czysty JSON w ten sposób:
```
<span id="ad1e" data-selectable-paragraph=""><span>{</span><br> <span>"title"</span><span>:</span> <span>"How AI is Powering the Next Wave of Small Business Tools"</span><span>,</span><br> <span>"topics"</span><span>:</span> <span>[</span><br> <span>{</span><span>"topic"</span><span>:</span> <span>"Affordable AI platforms for startups"</span><span>}</span><span>,</span><br> <span>{</span><span>"topic"</span><span>:</span> <span>"Case studies: SMBs adopting automation"</span><span>}</span><span>,</span><br> <span>{</span><span>"topic"</span><span>:</span> <span>"Challenges small businesses face with AI adoption"</span><span>}</span><br> <span>]</span><br><span>}</span></span>
```
### 6\. Przypnij i zweryfikowaj
- **Przypiń wyjście** (żeby nie uruchamiać Tavilly za każdym razem).
- Zweryfikowaj JSON (n8n czasem wymaga uruchomienia węzła "Set", aby go czysto przeanalizować).
✅ Gratulacje — teraz masz **już plan redakcyjny** swojego newslettera:
- Temat gotowy do użycia.
- Trzy tematy skupione, które w kolejnych krokach zgłębisz w swoich kolejnych etapach.
Następnie podzielimy **te tematy na osobny** mini proces badawczy + pisarski.
### Krok 4: Podziel tematy na osobne elementy
Obecnie Twój planer AI podał **ci 3 tematy** w jednym obiekcie JSON. To przydatne, ale jest haczyk:
kolejne kroki (głębokie badania + pisanie) wymagają przetworzenia każdego tematu _osobno_.
Oznacza to, że musimy "rozłożyć" tematy tak, aby każdy przechodził przez własny mini-pipeline. W n8n właśnie do tego służy węzeł **SplitInBatches** (lub Split Out Items).
### 1\. Dodaj węzeł SplitInBatches
- Po węźle **OpenRouter AI (agent planowania)** kliknij **"+"** i dodaj **SplitInBatches**.
- Podłącz do niego wyjście węzła AI.
### 2\. Konfiguruj ustawienia podziału
- **Rozmiar partii:** ustaw to na .`1`
- Dzięki temu każdy temat przechodzi przez proces pracy pojedynczo.
- **Wprowadzanie przedmiotów:** wskaż na to z wyjścia JSON twojego planera AI.`topics`
💡 Przykładowe wejście z kroku 3 wyglądało tak:
```
<span id="f91f" data-selectable-paragraph=""><span>{</span><br> <span>"title"</span><span>:</span> <span>"How AI is Powering the Next Wave of Small Business Tools"</span><span>,</span><br> <span>"topics"</span><span>:</span> <span>[</span><br> <span>{</span><span>"topic"</span><span>:</span> <span>"Affordable AI platforms for startups"</span><span>}</span><span>,</span><br> <span>{</span><span>"topic"</span><span>:</span> <span>"Case studies: SMBs adopting automation"</span><span>}</span><span>,</span><br> <span>{</span><span>"topic"</span><span>:</span> <span>"Challenges small businesses face with AI adoption"</span><span>}</span><br> <span>]</span><br><span>}</span></span>
```
> Po podziale workflow będzie traktował **każdy {"temat": "..."}** jako osobny element.
### 3\. Przetestuj węzeł
- Uruchom workflow do tego etapu.
- Powinieneś zobaczyć, że **pierwszy temat tylko** przechodzi.
- Kliknij "Następna partia", aby przejść przez pozostałe dwa tematy.
Dzięki temu n8n zapewnia, że każdy temat samodzielnie przejdzie przez **dogłębne badania** i **etapy pisania sekcji**.
### 4\. Zachowaj tytuł bezpieczeństwa
Oto subtelny, ale ważny szczegół:
- Tytuł nie jest uwzględniony w podziale.
- Aby użyć go później (w temacie wiadomości), albo:
- Zapisz go w **węźle Set** przed podziałem, lub
- Użyj funkcji **"Keep Only Set"** w n8n, aby przenieść go w metadanych.
Dzięki temu nie "tracisz" tytułu newslettera, gdy wszystko się rozwinie.
✅ Dzięki temu etapowi Twój workflow traktuje każdy temat jak **osobny mini-projekt**. Następnie każdy z tych tematów ponownie przekażemy Tavily do **głębszych i skoncentrowanych badań.**
## Krok 5: Zrób dogłębne badania dotyczące każdego tematu
Jak dotąd masz trzy obiecujące tematy — ale to tylko nagłówki. Aby faktycznie pisać wartościowe sekcje newslettera, potrzebujemy **szczegółowych treści wspierających**. Tu Tavily wraca, ale tym razem powiemy: _"Nie dawajcie mi tylko streszczeń — dajcie mi surowy materiał."_
### 1\. Dodaj kolejny węzeł Tavily
- Po węźle **SplitInBatches** kliknij **"+"** i dodaj **wyszukiwanie Tavily** (lub HTTP Request z API Tavilly).
- Połącz go tak, aby każdy podzielony temat płynął z tym węzłem badawczym.
### 2\. Konfiguruj wyszukiwanie
Tym razem zagłębimy się głębiej. W ustawieniach:
- **Zapytanie:** mapuj tekst tematu z węzła Split. Przykład:
```
<span id="cc1c" data-selectable-paragraph=""><span>{</span><span>{</span>$json<span>[</span><span>"topic"</span><span>]</span><span>}</span><span>}</span></span>
```
- **Zakres czasowy:** ustaw na lub (w zależności od tego, jak szerokie chcesz badanie).`past_week``past_month`
- **Maksymalna liczba wyników:** 57 artykułów to dobry balans.
**Dodaj surową treść:****ustaw to na true**.
- Dzięki temu otrzymujesz nie tylko tytuły i streszczenia, ale także **fragmenty treści artykułu**.
- Te fragmenty to właśnie twoja AI pisarza wykorzysta do tworzenia pełnych sekcji.
### 3\. Przykładowe wyjście
Po wykonaniu zobaczysz takie (uproszczone wyniki):
```
<span id="5833" data-selectable-paragraph=""><span>[</span><br> <span>{</span><br> <span>"title"</span><span>:</span> <span>"AI Platforms Lower Costs for Small Startups"</span><span>,</span><br> <span>"url"</span><span>:</span> <span>"https://example.com/article1"</span><span>,</span><br> <span>"content"</span><span>:</span> <span>"Startups are finding affordable AI solutions for customer support, marketing, and workflow automation..."</span><br> <span>}</span><span>,</span><br> <span>{</span><br> <span>"title"</span><span>:</span> <span>"The Rise of DIY AI Tools"</span><span>,</span><br> <span>"url"</span><span>:</span> <span>"https://example.com/article2"</span><span>,</span><br> <span>"content"</span><span>:</span> <span>"Low-cost AI apps are enabling small teams to automate tasks without hiring full-time developers..."</span><br> <span>}</span><br><span>]</span></span>
```
Teraz zamiast płytkich notatek, masz **szczegółowe badania** — surową glinę, którą autor AI ukształtuje w sekcji newslettera.
### 4\. Przypin i test
- Jak zawsze, **przypiń te dane** w n8n, żeby nie przepalić wywołań API podczas debugowania w kolejnych etapach.
- Sprawdź dokładnie, czy Twoje wyniki zawierają pola — to właśnie wpłyniemy na AI pisarza.`content`
✅ Na tym etapie Twój workflow jest potężny: każdy temat jest teraz dołączony do **szczegółowych fragmentów badań**. Następnie przekażemy to agentowi AI, który przekształca badania w dopracowaną sekcję newslettera.
## Krok 6: Napisz sekcje newslettera za pomocą AI
Teraz, gdy masz surową zawartość do każdego tematu, czas pozwolić AI wykonać ciężką robotę. Właśnie tutaj pojawia się **Agent Pisarza Sekcji**. Jego zadaniem: przekształcić fragmenty badań w dopracowaną sekcję biuletynu z nagłówkiem, treścią i listą źródeł.
### 1\. Dodaj węzeł OpenRouter
- Po węźle **Tavily (deep research)** kliknij **"+"** → **OpenRouter Chat Model** (lub HTTP Request → OpenRouter API).
- Podłącz go bezpośrednio do węzła Tavilly.
### 2\. Konfiguruj model AI
- **Model:** Wybierz taką skoncentrowaną na pisaniu, jak , , lub jeśli jest dostępna.`gpt-4o-mini``claude-3.5-sonnet``gpt-5`
- **Temperatura:** → sprawia, że pisanie jest profesjonalne, ale lekko angażujące.`0.6`
### Stwórz prompt
Wklej coś takiego do swojego systemowego promptu:
```
<span id="7f16" data-selectable-paragraph="">You are <span>a</span> newsletter <span>section</span> writer. <br>You will be given <span>a</span> topic and research <span>content</span>. <br><br>Write <span>a</span> <span>section</span> in plain, professional language with these rules: <br>- Start with a short, catchy heading (<span>1</span> line). <br>- Write a clear, engaging body (<span>150</span><span>200</span> words). <br>- Include bullet points if useful. <br>- End with <span>2</span><span>3</span> source URLs in a <span>"Sources"</span> list. <br><br>Return ONLY valid JSON in this structure: <br><br>{<br> "heading": <span>"string"</span>,<br> <span>"body"</span>: <span>"string"</span>,<br> <span>"sources"</span>: [<span>"url1"</span>, <span>"url2"</span>, <span>"url3"</span>]<br>}</span>
```
### 4\. Odwzorowanie danych wejściowych
- **Temat:** `{{$json["topic"]}}`
- **Treść badań:** (od Tavily).`{{$json["content"]}}`
### 5\. Przetestuj węzeł
Efekt powinien wyglądać tak:
```
<span id="e495" data-selectable-paragraph=""><span>{</span><br> <span>"heading"</span><span>:</span> <span>"Affordable AI Platforms Reshape Startups"</span><span>,</span><br> <span>"body"</span><span>:</span> <span>"Small businesses are increasingly adopting low-cost AI tools to handle customer service, marketing, and internal workflows. These platforms, often costing less than traditional enterprise software, allow startups to scale without major hiring costs..."</span><span>,</span><br> <span>"sources"</span><span>:</span> <span>[</span><br> <span>"https://example.com/article1"</span><span>,</span><br> <span>"https://example.com/article2"</span><br> <span>]</span><br><span>}</span></span>
```
✅ Powtarzaj ten proces dla każdego tematu — SplitInBatches zapewnia, że każdy przechodzi osobno. Na koniec będziesz miał **3 dopracowane sekcje w formacie JSON.**
## Krok 7: Połącz wszystkie sekcje w jeden szkic
Obecnie Twój workflow ma trzy oddzielne sekcje, które krążą po kolei. Zanim wyślemy je do Edytora AI, musimy **połączyć je w jeden ładunek danych.**
### 1\. Dodaj węzeł agregowany / scalający
- Po **węźle Section Writer AI** wrzuć **węzeł Aggregate**.
- Skonfiguruj go tak, aby **łączył wszystkie elementy w jedną tablicę.**
2\. Konfiguruj pola
Upewnij się, że połączony obiekt wygląda tak:
```
<span id="4fb4" data-selectable-paragraph=""><span>{</span><br> <span>"sections"</span><span>:</span> <span>[</span><br> <span>{</span><br> <span>"heading"</span><span>:</span> <span>"..."</span><span>,</span><br> <span>"body"</span><span>:</span> <span>"..."</span><span>,</span><br> <span>"sources"</span><span>:</span> <span>[</span><span>"..."</span><span>]</span><br> <span>}</span><span>,</span><br> <span>{</span><br> <span>"heading"</span><span>:</span> <span>"..."</span><span>,</span><br> <span>"body"</span><span>:</span> <span>"..."</span><span>,</span><br> <span>"sources"</span><span>:</span> <span>[</span><span>"..."</span><span>]</span><br> <span>}</span><span>,</span><br> <span>{</span><br> <span>"heading"</span><span>:</span> <span>"..."</span><span>,</span><br> <span>"body"</span><span>:</span> <span>"..."</span><span>,</span><br> <span>"sources"</span><span>:</span> <span>[</span><span>"..."</span><span>]</span><br> <span>}</span><br> <span>]</span><br><span>}</span></span>
```
Dzięki temu AI redaktora (pojawiające się w Kroku 8) otrzymuje **pełny szkic newslettera natychmiast.**
### 3\. Dbaj o bezpieczeństwo metadanych
Pamiętasz **tytuł newslettera** z Step 3?
- Użyj **węzła Merge**, aby przywrócić zapisany tytuł tutaj.
- Końcowy ładunek powinien obejmować zarówno , jak i .`title``sections`
Przykładowy końcowy wynik:
```
<span id="6768" data-selectable-paragraph="">{<br> <span>"title"</span>: <span>"How AI is Powering the Next Wave of Small Business Tools"</span>,<br> <span>"sections"</span>: [<br> { <span>"heading"</span>: <span>"..."</span>, <span>"body"</span>: <span>"..."</span>, <span>"sources"</span>: [...] },<br> { <span>"heading"</span>: <span>"..."</span>, <span>"body"</span>: <span>"..."</span>, <span>"sources"</span>: [...] },<br> { <span>"heading"</span>: <span>"..."</span>, <span>"body"</span>: <span>"..."</span>, <span>"sources"</span>: [...] }<br> ]<br>}</span>
```
✅ Teraz masz **kompletny szkic**: trzy sekcje plus tytuł newslettera, wszystko starannie zebrane w jednym obiekcie JSON. Następnie przekażemy to **agentowi AI Editora**, aby dopracował, wystylizował i sformatował w odpowiedni e-mail HTML.
### Krok 8: Szlifowanie i formatowanie z agentem montażowym
Obecnie masz uporządkowany JSON: **tytuł** i **trzy sekcje.** Jest dobra, ale nadal wygląda jak surowe dane. Teraz potrzebujemy **dopracowanego, profesjonalnego e-maila HTML**.
I tu właśnie wkracza **Editor AI Agent**. Pomyśl o tym jak o swoim wewnętrznym korektorze — dodaje ostatnie szlify i zamienia Twoje treści w coś, co subskrybenci naprawdę polubią czytać.
### 1\. Dodaj węzeł OpenRouter
- Po **węźle Aggregate** (Krok 7) wstaw nowy węzeł **OpenRouter (model Chat).**
- Połącz go bezpośrednio z połączonym szkiczem.
### 2\. Konfiguruj model
- **Model:** Wybierz taką mocną w formatowaniu i strukturze długiego tekstu: , , lub .`gpt-4o-mini``claude-3.5-sonnet``gpt-5`
- **Temperatura:** (utrzymuje ją na stałym poziomie, mniej "kreatywnego wędrowania").`0.5`
### 3\. Stwórz prompt
Oto wiarygodny szablon promptu:
```
<span id="9d34" data-selectable-paragraph="">You are a newsletter editor. <br>You will receive a newsletter title <span>and</span> three sections. <br><br>Your job <span>is</span> to: <br>- Create a final newsletter draft <span>with</span>: <br> <span>1.</span> <span>Subject <span>line</span> (<span>based <span>on</span> the title</span>). <br> 2. HTML email body <span>with</span> intro, section formatting, <span>and</span> conclusion. <br> 3. Sources list at the end <span>with</span> clickable links. <br><br>Return ONLY valid JSON <span>in</span> <span>this</span> structure:</span> <br><br>{<br> <span>"subject"</span>: <span>"string"</span>,<br> <span>"html_content"</span>: <span>"string"</span>,<br> <span>"sources"</span>: [<span>"url1"</span>, <span>"url2"</span>, <span>"url3"</span>]<br>}</span>
```
### 4\. Odwzorowanie danych wejściowych
- **Tytuł:** z kroku 3 (planer newslettera).
- **Sekcje:** z kroku 7 (zagregowany JSON).
### 5\. Przykładowe wyjście
Oto, co powinieneś zobaczyć:
```
<span id="1eff" data-selectable-paragraph="">{<br> "subject": "How AI is Reshaping Small Business",<br> "html_content": "<span>&lt;<span>h1</span>&gt;</span>How AI is Reshaping Small Business<span>&lt;/<span>h1</span>&gt;</span><span>&lt;<span>p</span>&gt;</span>Welcome to this weeks edition...<span>&lt;/<span>p</span>&gt;</span><span>&lt;<span>h2</span>&gt;</span>Affordable AI Platforms Reshape Startups<span>&lt;/<span>h2</span>&gt;</span><span>&lt;<span>p</span>&gt;</span>Small businesses are adopting...<span>&lt;/<span>p</span>&gt;</span><span>&lt;<span>h2</span>&gt;</span>Case Studies: SMBs Adopting Automation<span>&lt;/<span>h2</span>&gt;</span><span>&lt;<span>p</span>&gt;</span>Examples show how...<span>&lt;/<span>p</span>&gt;</span><span>&lt;<span>h2</span>&gt;</span>Challenges of AI Adoption<span>&lt;/<span>h2</span>&gt;</span><span>&lt;<span>p</span>&gt;</span>Despite progress...<span>&lt;/<span>p</span>&gt;</span><span>&lt;<span>p</span>&gt;</span><span>&lt;<span>strong</span>&gt;</span>Sources:<span>&lt;/<span>strong</span>&gt;</span><span>&lt;<span>br</span>&gt;</span><span>&lt;<span>a</span> <span>href</span>=<span>'https://example.com/article1'</span>&gt;</span>Source 1<span>&lt;/<span>a</span>&gt;</span><span>&lt;<span>br</span>&gt;</span><span>&lt;<span>a</span> <span>href</span>=<span>'https://example.com/article2'</span>&gt;</span>Source 2<span>&lt;/<span>a</span>&gt;</span><span>&lt;/<span>p</span>&gt;</span>",<br> "sources": [<br> "https://example.com/article1",<br> "https://example.com/article2"<br> ]<br>}</span>
```
## Krok 9: Wyślij wersję roboczą do Gmaila
Mając w ręku ostateczny szkic HTML, ostatnim krokiem jest dostarczenie. Wyślemy wszystko do Gmaila jako **szkic e-maila**, abyś mógł szybko przejrzeć przed kliknięciem "Wyślij".
### 1\. Dodaj węzeł Gmail
- Kliknij **"+" → Gmail → utworzenie szkicu.**
- Połącz go za węzłem AI Editor.
### 2\. Konfiguruj szkic
- **Temat:** mapa z wyjścia AI → `{{$json["subject"]}}`
- **Treść:** mapa z wychodu AI → `{{$json["html_content"]}}`
- **Typ treści:** ustawiony na `HTML`
### 3\. Uwierzytelnij Gmaila
- Jeśli to Twój pierwszy raz z Gmailem w n8n, skonfiguruj OAuth2.
- Po połączeniu zobaczysz swoje konto Google w węźle.
### 4\. Przetestować węzeł
Uruchom workflow, a potem sprawdź Gmaila. Powinieneś zobaczyć szkic z napisem:
- Twój **temat wygenerowany** przez AI
- **Pełny tremień newslettera HTML**
- **Sekcja źródeł** starannie sformatowana
✅ I to wszystko! Zbudowałeś kompletny kanał automatyzacji newsletterów:
- Od surowych badań → tematów → sekcji → dopracowanego HTML → szkicu Gmaila.
- Teraz wystarczy poprawić i kliknąć "Wyślij".
## Krok 10: Test, debugowanie i pin danych
Budowanie złożonych workflowów w n8n jest ekscytujące... aż coś się zepsuje. I uwierz mi, coś _się zepsuje_ przy pierwszych kilku próbach. Może odpowiedź API wygląda inaczej, może formatowanie JSON jest nieprawidłowe, może Gmail krzyczy o uprawnieniach.
Dlatego Step 10 polega na **inteligentnym debugowaniu**, żeby nie tracić czasu (ani tokenów).
### 1\. Testuj węzły indywidualnie
- W n8n nie musisz za każdym razem uruchamiać całego workflow.
- Kliknij **"Wykonaj węzeł"** na dowolnym pojedynczym węźle, aby przetestować _tylko ten fragment_.
- Przykład: jeśli Tavily zawodzi, testuj tylko węzeł Tavilly, zamiast uruchamiać pełny, 10-stopniowy łańcuch.
To oszczędza ogromną ilość czasu podczas rozwiązywania problemów.
### 2\. Pin danych do zapisu tokenów
Każde połączenie AI + research API kosztuje pieniądze. Jeśli testujesz formatowanie lub węzły downstream, nie chcesz ciągle korzystać z Tavily czy OpenRoutera.
- Po pomyślnym uruchomieniu węzła kliknij **"Pin Data".**
- To blokuje wyjście, dzięki czemu węzły kolejne mogą dalej używać tych samych wyników.
- Przykład: Przypnij swoje badania Tavilly, aby móc testować Writer AI wielokrotnie bez ponownego pobierania danych internetowych.
💡 Profesjonalna wskazówka: Odpinaj, gdy będziesz gotowy na "prawdziwy bieg".
### 3\. Typowe wskazówki dotyczące debugowania
Oto kilka pułapek, na które prawdopodobnie natrafisz — i jak je rozwiązać:
- **Błędy parsowania JSON:**
Jeśli wyjście AI łamie format JSON (dodatkowe przecinki, brakujące nawiasy), dodaj **węzeł Code** lub **węzeł parsowania JSON**, aby go zweryfikować i wyczyścić.
Wyrażenie AI komunikatu "Zwróć tylko ważny JSON" również zmniejsza liczbę błędów.
- **Problemy z harmonogramem:**
Jeśli wyzwalacz harmonogramu się nie uruchamia, sprawdź, czy instancja N8n jest **aktywna i** odpowiednio hostowana. Pamiętaj, że lokalny N8N kończy się, gdy komputer się zatrzymuje. Rozważ użycie Hostingera, Kolei lub n8n.cloud dla dostępności 24/7.
- **Błędy Gmaila:**
Typowe to brakujące tokeny OAuth lub niewyrenderowanie treści HTML.
- Sprawdź dokładnie, czy Gmail jest połączony przez OAuth2.
- Zawsze ustaw **typ treści = HTML** w węźle Gmail.
✅ Gdy przetestujesz każdy element, przypinasz dane i naprawisz drobne błędy, będziesz mieć solidny workflow, który działa na autopilocie co tydzień.
🎉 **Gratulacje — właśnie stworzyłeś Agenta Newslettera opartego na AI!**
To, co kiedyś zajmowało godziny googlowania, szkicowania i formatowania, stało się teraz jedną automatyzacją: badanie → tematów → pisanie → edytowanie → szkicu Gmaila.
Możesz tu przerwać lub rozwinąć temat:
- Wysyłaj automatycznie zamiast szkicu.
- Dodaj linki do śledzenia analityki.
- Zapisuj każdy newsletter do Google Sheets lub Notion.
## Poza buildem: wskazówki, triki i kolejny krok
Właśnie przeszedłeś przez budowanie pełnego **agenta newslettera opartego na AI** od podstaw — od badań po szkic Gmaila. Ale zanim zakończymy, dodajmy kilka ostatnich szlifów i dodatkowych pomysłów, by pójść dalej.
### 🔹 Dodatkowe wskazówki
- **Strojenie promptów:**
Jeśli styl pisania AI wydaje się zbyt suchy lub zbyt kreatywny, zmodyfikuj prompty. Na przykład dodaj: _"Pisz w profesjonalnym, ale konwersacyjnym tonie, jak w biuletynie biznesowym."_ Małe zmiany = duże różnice w produkcji.
- **Rejestrowanie newsletterów:**
Nie pozwól, by twoje najlepsze treści zniknęły. Użyj węzła Notion lub Google Sheets, aby zarejestrować każdy utworzony tytuł + sekcję. Z czasem staje się to przeszukiwalną bazą wiedzy dotyczącą treści newslettera.
- **Obsługa błędów:**
Dodaj **workflow błędów** w n8n, który wykrywa nieudane uruchomienia. Możesz wysłać sobie alert ze Slacka lub Gmaila, jeśli coś się zepsuje w trakcie działania (limit API, zły JSON, błąd Gmaila).
**Alternatywne narzędzia badawcze:**
Tavily jest świetne, ale możesz eksperymentować z:
- **Perplexity API** do badań konwersacyjnych.
- **SerpAPI** dla surowych wyników Google.
- **NewsAPI** dla szerszego zasięgu medialnego.
To sprawia, że Twój newsletter jest jeszcze bardziej rozbudowany.
## Podsumowanie
Ręczne biuletyny są powolne, niespójne i szczerze mówiąc wyczerpujące. Automatyzując z **użyciem agentów n8n + AI**, odblokowałeś system, który:
- **Oszczędza to godziny** tygodniowo.
- Tworzy **spójne, uporządkowane szkice.**
- To wciąż zostawia miejsce **dla Ci jako redaktora**, by dodać ludzki akcent przed wysłaniem.
Zamiast patrzeć w pustą stronę w niedzielny wieczór, teraz otworzysz Gmaila i znajdziesz gotowy do przeglądu szkic.
## Kolejne kroki
Teraz, gdy zbudowałeś fundament, możesz:
- Spróbuj różnych modeli AI (, , ) i porównaj wyniki.`Claude 3.5``GPT-5``Mistral Large`
- Eksperymentuj z promptami stylizacyjnymi (minimalistycznymi, dziennikarskimi, a nawet zabawnymi tonami newslettera).
- Dodaj personalizację: pobieraj dane użytkowników i podziel newslettery na segmenty.
Kluczowa lekcja: **automatyzacja nie zastępuje twojego głosu — daje ci więcej czasu na jego użycie.**
🎉 I tym samym skończyłeś nie tylko artykuł — ale działający automatyzujący workflow newslettera, który może działać co tydzień.
**Możesz przeczytać to więcej.**