Internal Newsletter Using NewsAPI and Gemini 2.5 flash

I created an internal automation workflow using n8n that scrapes news articles on U.S. tax policy, summarizes them into executive-ready briefs using LLM's, and sends them out to leadership via Gmail. Fully automated and personalized.

Challenge

Keeping up with U.S. tax legislation across Royse’s specialized service lines was time-consuming and manual. Leadership had to sift through dozens of sources to create internal updates, costing hours each week. They needed a way to automate that process.

Results

Skimming tax updates, summarizing, formatting, and sending a newsletter has now become a fully automated workflow. Every week, team members across Royse receive a clean, executive-style brief in their inbox without anyone having to lift a finger.

The automation pulls relevant news from across the web, filters it to match Royse’s service lines, then uses an AI agent to synthesize the legal developments into 10 clear, actionable bullets. The brief is formatted and emailed automatically to internal stakeholders.

Beyond time saved, the real value lies in improved awareness: legislation that used to go unnoticed is now regularly flagged. Partners and staff have started referencing the brief in conversations with clients, and it’s helping Royse stay proactive in a regulatory environment that changes fast.

How it Works

  1. Trigger
    Every week, the automation kicks off on a set schedule using n8n’s Schedule Trigger node.

  2. Data Collection
    It sends an API request to NewsAPI, pulling in the latest articles related to Royse’s tax service lines published in the last 14 days.

  3. AI Summarization
    The articles are passed to a custom AI agent (via LangChain + Gemini), instructed to synthesize the batch into 10 bullets. Each item is tagged by service line and optimized for clarity and brevity.

  4. Formatting
    The summary is embedded in a pre-styled HTML email template with dynamic date and recipient personalization.

  5. Email Distribution
    It automatically fetches the latest recipient list from a connected Google Sheet and sends out the update via Gmail OAuth.