Archive newsletter emails into a Notion reading list
Converts newsletters landing under a Gmail label from HTML into Markdown, scores each one for reading time, files it as a page in a Notion reading list with the prose in the body, and labels the origi.
A Gmail Trigger polls hourly for messages carrying a newsletters label or a list header. The Markdown node converts the HTML body to Markdown while ignoring images, styles and scripts, which strips both table layout and tracking pixels. A Set node trims the result to 1,900 characters to stay inside Notion's rich-text limit, lifts the sender and subject, and computes reading time at 220 words per minute. A Filter then drops anything under two minutes, which removes subscription confirmations and receipts that carry a list header but are not reading material. The Notion node creates the page with sender, date, reading minutes and an Unread status, putting the prose in the page body, and a Gmail label is applied afterwards so nothing is ever marked archived before it was actually stored. Both external calls retry into an error rail that appends to a sheet.
Key benefits
- ✓Newsletters leave the inbox and become a queue you can sort by how long they take to read
- ✓Reading time is a real number property, so 'what fits in ten minutes' is a Notion filter
- ✓Subscription confirmations and receipts are filtered out instead of cluttering the list
- ✓Tracking pixels are dropped during the HTML-to-Markdown conversion
- ✓Gmail is only labelled after the Notion page exists, so the two never disagree
Use cases
- →Anyone subscribed to more newsletters than they read
- →Researchers keeping a searchable archive of industry mail
- →Teams that want a shared reading list rather than forwarding links to each other
- →People who declare inbox bankruptcy every few months and lose the good issues with the rest
Integrations
Workflow preview (8 nodes)
The template's actual node layout and connections. Node parameters and credential slots unlock with the download.
What's inside (8 nodes)
A look at the node types this workflow uses. No purchase required — full parameters and credentials are yours after you buy.
From download to running in 3 steps
- 1Import. In n8n, open Workflows → menu → “Import from File” and pick the downloaded JSON.
- 2Connect. Add your own credentials on the app nodes - n8n highlights exactly which ones need them.
- 3Activate. Run it once to test, then toggle Active. The automation is live.
What you'll learn
Core levelA compact production shape: validation and error handling without extra machinery.
- •Moving data between Gmail, Notion and Google Sheets in a single run
- •Adding retries and an explicit error path to external calls
- •Testing against pinned sample data before connecting anything real
Every node carries its own documentation on the canvas, plus notes explaining why the architecture was built this way, a credential setup guide, troubleshooting, and three practice exercises. Sample data comes pinned to the trigger, so you can hit Execute and watch data flow before connecting a single account.
Common questions
What exactly do I get?
The complete, ready-to-import n8n workflow as a JSON file, delivered instantly after payment. Import it into your own n8n (cloud or self-hosted), add your credentials, and it runs.
How do I import it into n8n?
In n8n, open Workflows, click the three-dot menu, choose “Import from File”, and select the downloaded JSON. Then connect your own app credentials on the highlighted nodes.
Do I need anything else for it to work?
You need your own n8n instance and accounts/credentials for the apps this workflow connects to (Gmail, Notion, Google Sheets). No coding is required.
What if it doesn't work for me?
If the file is faulty, won't import, or isn't as described, contact us within 7 days and we'll fix it or refund you - see our refund policy.
Can I modify or resell it?
You can freely adapt and use it in your own or your clients' projects. Reselling or redistributing the template file itself is not permitted.
Related templates
Nurture trial users: Slack & Notion
Inbox triage on n8n: runs on a schedule across Slack, Notion, PostgreSQL, Google Sheets and Gmail, starting at "Normalize Email Payload". 31 documented nodes.
Capture applications: Google Sheets & Slack, form
Inbox triage on n8n: runs when a form is submitted across Google Sheets, Slack, Notion and Gmail, starting at "Normalize Email Payload". 20 documented nodes.
Summarize long emails with Notion and Gmail
Inbox triage on n8n: runs when a webhook arrives across Notion, Gmail, MySQL and Google Sheets, starting at "Read Recent from Notion". Summarises long text with an AI chain. 31 documented nodes.
Onboard subscribers for inbox triage
Inbox triage on n8n: runs on a schedule across Google Sheets, Gmail, Notion and Slack, starting at "Score the Lead". Routes each kind of record down its own branch. 23 documented nodes.