Automate your newsletters with n8n
Step by step guide to summarize all your newsletters automatically with AI - beginner friendly
If you’re like me, you’ve subscribed to way too many newsletters. Great for keeping up with industry updates, terrible for actually reading them all.
So I built an automation in n8n that summarises them for me. Here’s how you can do it too (step by step):
Requirements
n8n Cloud: $24/month, or run locally for FREE.
Auth credentials you’ll need:
- Gmail OAuth2 → n8n docs have a step-by-step guide.
- Google Sheets → also well documented.
- OpenAI (or another AI model) → get an API Key.
Pre-work in Gmail
- Create 2 labels: Newsletters and Processed.
- Create a filter to auto-label newsletters (e.g. anything from @substack).
Step-by-step workflow
Step 1: Create workflow
Click the big orange “+ New Workflow” button in n8n.
Step 2: Add a Trigger node
This decides when the workflow runs. Options:
- Manual trigger → you run it when you want.
- Schedule trigger → it runs automatically (e.g. every morning).
Start with manual for testing.
Step 3: Add an HTTP Request node
Connect it to Google’s API to fetch your latest emails with the Newsletters label.
Limit it to 5 emails for speed (you can change this).
This only gives you a list of emails, not the content yet.
Step 4: Add a Code node
This splits those 5 emails into individual items, so each can be processed one by one.
Step 5: Add another HTTP Request node
This time, request the full email body for each newsletter.
Step 6: Add another Code node
Emails are messy: HTML, formatting, random junk. This node strips it all down into plain text.
AI models work best with clean text.
Step 7: Add an AI node (OpenAI or similar)
- Create an OpenAI account (pay-as-you-go, very cheap).
- Add your API Key into n8n.
- Write your prompt. Be specific: “Summarise this newsletter into key highlights, takeaways, and one actionable insight etc etc.”
The better your instructions, the better your summaries.
Step 8: Decide where to store results
- Google Sheets → summaries in a neat table.
- Notion → create a database of newsletter highlights.
- Or even send yourself a new email with the summaries.
Step 9: Add a Gmail node to label the email as Processed
So you know it’s already handled.
Step 10: Add a Gmail node to remove the Newsletters label
This keeps your automation clean and avoids duplicate processing.
Done
You now have a digest of your newsletters without reading a single email in your inbox.
Once you understand this workflow, you’ll realise you can automate almost anything with n8n.
If you’d like the exact code snippets or my AI prompt, just get in touch.