ClaudeSalesRevenue growthAI score · PendingAI-assisted edit · no obvious prompt-injection riskWeb

Curate Weekly News into HTML Newsletters

Generate a clean HTML newsletter from the top five unique news stories every week.

Some experienceStepsPromptWorkflow
Who
Newsletter editors or community managers who curate industry roundups
You get
A scheduled HTML newsletter compiled from the top five Google News stories
You need
n8n · Bright Data · Anthropic Claude · Gmail

Constraints

Self-send and review the HTML digest before adding subscribers. Verify recipient opt-in consent before any broadcast. Respect site terms and robots.txt when scraping sources. Smoke-test with one article and a single recipient before enabling the Monday schedule.

What they did

The template by toolmonsters sets up an n8n workflow that triggers every Monday to scrape a Google News search results page using Bright Data. It filters out YouTube links, deduplicates stories by title, and keeps the top five unique results. The workflow then loops through those five stories to fetch each article’s full content as Markdown and cleans the text to remove navigation, ads, images, and extraneous links. Those cleaned articles are aggregated and sent to Anthropic Claude to generate a single clean HTML newsletter. Finally, the workflow delivers the generated HTML via Gmail to the configured recipient.

How it went

The source provides full template configuration but no delivery, open-rate or time-saving measurements. This review checked nodes and connections without executing them. Cleaning and truncation may omit article content and require inspection.

Worth knowing

Always send the first run to yourself and review the HTML, links, and tone before expanding to a subscriber list. Recipients must have explicitly opted in; unsolicited bulk email violates most providers’ terms and anti-spam laws. Scraping news sites may conflict with their terms of service or robots.txt, and paywalled content should not be retrieved without permission. Human review is required because Claude may misrepresent or truncate source material.

Steps

  1. Import the original template, inactive

    Use the source page’s Use for free action to import template 16675, preserving all nodes, both Code scripts and connections. It uses the @brightdata/n8n-nodes-brightdata community node. Resolve installation and compatibility if your instance cannot recognize it before proceeding. This guide has not been execution-tested; successful import is not a successful run.

  2. Configure the three credentials

    Select your Bright Data credential and available Web Unlocker zone in both Bright Data nodes (the template uses n8n_unlocker). In Compose Newsletter with Claude, select your Anthropic API credential and a Claude model actually available to your account; the preset does not establish availability. Connect Gmail OAuth2 credentials to the Gmail node.

  3. Set the query and weekly schedule

    Extract Google News uses https://www.google.com/search?q=AI+automation&tbm=nws&gl=us&hl=en&brd_json=1. Change q, gl, hl and country for your topic and region, preserving the news and JSON response parameters. When Week Starts defaults to Monday every week. Adjust the cadence and check the instance timezone; leave scheduling inactive initially.

  4. Check selection and loop connections

    Select Top 5 News Stories reads the input news array, excludes youtube.com/youtu.be, requires title and link, deduplicates exact titles and takes five results. The loop output of Loop Over News Stories connects to Fetch Article Content; the done output connects to Compile All Articles. Do not swap them.

  5. Fetch and inspect cleaned content

    Fetch Article Content uses ={{ $json.link }} with markdown output. Sanitize Article Content keeps the final H1 section, removes Markdown links and images, retains lines longer than 50 characters and truncates to 2500 characters. It outputs title/link/source/content and returns to the loop. This can discard useful text: inspect every content value and stop on empty or materially incomplete text before sending.

  6. Aggregate and retain the source prompts

    Compile All Articles uses aggregateAllItemData to produce data. Keep the two original system/messages instructions and expressions below in the Claude node. They use each article’s title/link/source/content to request HTML, two or three summary sentences per story and a Read more link.

    Execution prompt · Source text。options.system

    =You are a newsletter editor. You write concise, engaging newsletters from industry news articles.
    
    For each article you receive, write:
    - A bold headline (use the article title)
    - Two or three sentences summarizing the key points IN YOUR OWN WORDS, based on the article content provided
    - A "Read more" link using the article's link
    
    Format the whole thing as clean HTML ready to drop into an email: <h2> for the newsletter title at the top, <h3> for each headline, <p> for summaries, <a> for the links. Start with a short one-sentence intro before the first story.
    
    Output ONLY the HTML. No markdown code fences, no preamble, no explanation.

    Execution prompt · Source text。messages.values[0].content

    =Here are today's top 5 industry news articles. Write the newsletter.
    
    {{ JSON.stringify($json.data.map(a => ({ title: a.title, link: a.link, source: a.source, content: a.content }))) }}
  7. Self-send and review before enabling

    Replace Gmail sendTo with your own test address. The template subject is Your AI Industry Brief; preserve message ={{ $json.content[0].text }}. Editorial acceptance check: run manually, inspect node outputs, all five stories, HTML and links, and confirm the body renders as HTML. Only then consider opted-in recipients and Monday scheduling. The original template has no human approval node.

Prompt you can copy

Execution prompt · Source text。Compose Newsletter with Claude → options.system

This block is the prompt. Ads are never placed here.

=You are a newsletter editor. You write concise, engaging newsletters from industry news articles.

For each article you receive, write:
- A bold headline (use the article title)
- Two or three sentences summarizing the key points IN YOUR OWN WORDS, based on the article content provided
- A "Read more" link using the article's link

Format the whole thing as clean HTML ready to drop into an email: <h2> for the newsletter title at the top, <h3> for each headline, <p> for summaries, <a> for the links. Start with a short one-sentence intro before the first story.

Output ONLY the HTML. No markdown code fences, no preamble, no explanation.

Original system field; preserve the leading =. The user message is in step six.

Source

Send weekly curated news newsletters with Bright Data, Claude, and Gmail | n8n · n8n · Web · 2026-10-19

Comments & feedback

Tried this method? Share results, problems or improvements. Comments appear after moderation. Please avoid sensitive information.

Loading…

    Related