by Davide
This workflow automates the process of sending personalized lead-nurturing emails and tracking when each recipient opens the message through a custom tracking pixel. It integrates Google Sheets, Gmail, OpenAI, and webhooks to generate, deliver, and monitor engagement with your email sequence. It sends personalized emails containing a unique, invisible tracking pixel and then monitors who opens the email by detecting when the pixel is loaded, logging the activity back to a Google Sheets CRM. Key Features ✅ 1. Fully Automated Lead Nurturing Once leads are added to the Google Sheet, the workflow handles everything: Generating email content Creating tracking pixels Sending emails Updating CRM fields No manual actions required. ✅ 2. Real-Time Email Open Tracking Thanks to the pixel + webhook integration: You instantly know when a lead opens an email Data is written back to the CRM automatically No external email marketing platforms are needed ✅ 3. Infinite Scalability with Zero Extra Cost You can send emails and track performance using: n8n (self-hosted or cloud) Gmail Google Sheets AI-generated content This replicates features of expensive tools like HubSpot or Mailchimp—without their limits or pricing tiers. ✅ 4. Clean and Organized CRM Updates The system keeps your CRM spreadsheet structured by automatically updating: Send dates Pixel IDs Open status This ensures you always have accurate, up-to-date engagement data. ✅ 5. Easy to Customize and Expand You can easily add: Multi-step email sequences Click tracking Lead scoring Zapier/Make integrations CRM synchronization The workflow is modular, so each step can be modified or extended. How it Works Load Lead Data from Google Sheets The workflow reads your CRM-like Google Sheet containing lead information (name, email, and status fields such as EMAIL 1 SEND, PIXEL EMAIL 1, etc.). This allows the system to fetch only the leads that haven’t received Email 1 yet. Generate a Unique Tracking Pixel For each lead, the workflow creates a unique identifier (“pixel ID”). This ID is later appended to a small invisible 1×1 image—your tracking pixel. Example pixel structure used in emails: When the email client loads this image, n8n detects the open event via the webhook. Use AI to Generate a Personalized HTML Email An OpenAI node creates the email body in HTML, inserting the tracking pixel directly inside the content. This ensures the email is personalized, consistent, and automatically includes the tracking mechanism. Send the Email via Gmail The Gmail node sends the generated HTML email to the lead. After sending, the workflow updates the Google Sheet to log: Email sent flag Pixel ID generated Sending date Detect Email Opens with Webhook + Pixel Image When the recipient opens the email, their client loads the hidden pixel. That triggers your webhook, which: Extracts the pixel ID and email address from the query parameters Matches it with the lead in Google Sheets Update CRM When Email Is Opened The workflow updates the CRM by marking OPEN EMAIL 1 as “yes” for the corresponding pixel ID. This transforms your sheet into a live tracking dashboard of lead engagement. Set up Steps To configure this workflow, follow these steps: Prepare the CRM: Make a copy of the provided Google Sheet template. In your copy, fill in the "DATE," "FIRST NAME," "LAST NAME," and "EMAIL" columns with your lead data. Configure the Workflow: In the "Get CRM," "Update CRM," and "Update Open email 1" nodes, update the documentId field to point to your new Google Sheet copy. In the "Generate Pixel" node, locate the webhook_url assignment. Replace the placeholder text https://YOUR_N8N_WEBHOOK_URL with the actual, production webhook URL generated by the "Webhook" node in your n8n environment. Important: After setting this, you must activate the workflow for the webhook to be live and able to receive requests. Configure Credentials: Ensure the following credentials are correctly set up in your n8n instance: Google Sheets OAuth2 API: For reading from and updating the CRM sheet. Gmail OAuth2: For sending emails. OpenAI API: For generating the email content. Test and Activate: Execute the workflow once manually to send test emails. Check the Google Sheet to confirm that the "EMAIL 1 SEND," "PIXEL EMAIL 1," and "EMAIL 1 DATE" columns are populated. Open one of the sent test emails to trigger the tracking pixel. Verify in the Google Sheet that the corresponding lead's "OPEN EMAIL 1" field is updated to "yes." Once testing is successful, activate the workflow. Summary This workflow provides a powerful, low-cost automation system that: Sends personalized AI-generated emails Tracks email opens via a unique pixel Logs all actions into Google Sheets Automatically updates lead engagement data Need help customizing? Contact me for consulting and support or add me on Linkedin.
by vibin
Who it’s for This workflow is built for Shopify store owners using Magic Checkout (Razorpay). Since Shopify’s default abandoned cart recovery doesn’t work with third-party checkouts, you’re left without an easy way to track or follow up. This workflow solves that gap by sending you automatic Telegram alerts with every abandoned cart—so you stay on top of potential sales without lifting a finger. There's sticky notes inside for each node to explain everything you need! What it does The workflow runs automatically every 6 hours. Here’s the flow: Fetch abandoned cart data from Razorpay using the API. Format the data into clean, readable text (customer info, cart details, order value). Send the message directly to your Telegram bot. Instead of logging into Shopify or Razorpay to check, you’ll get a notification straight in Telegram. What you need A Telegram account with a bot (create one via BotFather). Your Telegram bot token and client ID. Your Razorpay API key from your Razorpay dashboard. How to set it up Import this workflow into your n8n workspace. Create a new API profile with your Razorpay credentials. Add your Telegram bot details to the Telegram nodes in n8n. (Optional) Adjust the trigger time—default is every 6 hours, but you can make it run more or less frequently. Why it helps This is a free, no-code workaround for a real Shopify limitation. By automating abandoned cart alerts, you save time, cut manual checks, and follow up faster with customers. Even a single recovered cart can pay off the effort. Plus, you can customize it—add more customer info, link directly to their checkout, or even connect it with Slack or email tools.
by Sheragim
This workflow automates the creation of a draft article for a blog Use Cases Rapidly generate blog content from simple prompts. Ensure content consistency and speed up time-to-publish. Automatically source and attach relevant featured images. Save your digital marketing team significant time. (Personalized touch based on your experience) Prerequisites/Requirements An OpenAI API Key (for GPT-4O). A Pixabay API Key (for image sourcing). A WordPress site URL and API credentials (username/password or application password). Customization Options Adjust the AI prompt in the AI Content Generation node to change the content tone and style. Modify the search query in the Pixabay Query HTTP node to influence the featured image selection. Change the reviewer email address in the final Send Review Notification node.
by higashiyama
This workflow automates the process of converting audio meeting recordings into a structured to-do list. It listens for new audio files in a Google Drive folder, transcribes them, extracts action items using AI, and sends a formatted list to a designated Slack channel. Who’s it for This template is perfect for project managers, teams, and anyone who wants to save time on post-meeting administrative tasks. If you record your meetings and use Google Drive for storage and Slack for team communication, this workflow will streamline your follow-up process and ensure no action item is missed. What it does This workflow automates the entire process of turning spoken words from a meeting into actionable tasks for your team. Trigger on New Audio: The workflow starts automatically when you upload a new audio file (e.g., MP3, M4A, WAV) to a specific folder in your Google Drive. Transcribe Audio: It takes the audio file and uses Google Gemini to generate a full text transcript of the recording. Extract To-Do Items: The transcript is then passed to another Google Gemini node with a specialized prompt. This prompt instructs the AI to carefully analyze the text and extract all action items. Format Output: The AI formats the extracted tasks into a clean JSON array. Each task includes a description, the assigned person, a deadline, and its priority. Send to Slack: Finally, the workflow sends the structured to-do list as a message to your specified Slack channel, making it easy for the whole team to see and act upon. How to set up Configure Credentials: Ensure you have configured your credentials for Google Drive, Google Gemini, and Slack in n8n. Set Google Drive Folder: In the "Looking for uploading file" node, select the Google Drive folder you want the workflow to monitor. Set Slack Channel: In the "Send a message" node, choose the correct Slack account and select the channel where you want the to-do list to be posted. Activate Workflow: Save your changes and activate the workflow using the toggle at the top right. Test It: Upload a meeting recording to the designated Google Drive folder to see the magic happen! How to customize the workflow Change AI Model:** You can easily swap the Google Gemini nodes for other AI models like OpenAI or Anthropic to handle transcription and analysis based on your preference. Modify the AI Prompt:** Adjust the prompt in the "Analyze document" node to change the output format. For example, you could ask for a meeting summary in addition to the to-do list. Change Notification Service:** Replace the Slack node with another notification service like Discord, Microsoft Teams, or an email node. Archive Results:** Add a node (e.g., Google Sheets, Notion, Airtable) after the "Analyze document" node to save a history of all meeting transcripts and their corresponding action items.
by Rosh Ragel
Automatically Send Monthly Sales Reports from Square via Gmail What It Does This workflow automatically connects to the Square API and generates a monthly sales summary report for all your Square locations. The report matches the figures displayed in Square Dashboard > Reports > Sales Summary. It's designed to run monthly and pull the previous month’s sales into a CSV file, which is then sent to a manager/finance team for analysis. This workflow builds on my previous template, which allows users to automatically pull data from the Square API into n8n for processing. (See here: https://n8n.io/workflows/6358) Prerequisites To use this workflow, you'll need: A Square API credential (configured as a Header Auth credential) A Gmail credential How to Set Up Square Credentials: Go to Credentials > Create New Choose Header Auth Set the Name to Authorization Set the Value to your Square Access Token (e.g., Bearer <your-api-key>) How It Works Trigger: The workflow runs on the 1st of every month at 8:00 AM Fetch Locations: An HTTP request retrieves all Square locations linked to your account Fetch Orders: For each location, an HTTP request pulls completed orders for the previous calendar month Filter Empty Locations: Locations with no sales are ignored Aggregate Sales Data: A Code node processes the order data and produces a summary identical to Square’s built-in Sales Summary report Create CSV File: A CSV file is created containing the relevant data Send Email: An email is sent using Gmail to the chosen third party Example Use Cases Automatically send monthly Square sales data to management for forecasting and planning Automatically send data to an external third party, such as a landlord or agent, who is paid via commission Automatically send data to a bookkeeper for entry into QuickBooks How to Use Configure both HTTP Request nodes to use your Square API credential Set the workflow to Active so it runs automatically Enter the email address of the person you want to send the report to and update the message body If you want to remove the n8n attribution, you can do so in the last node Customization Options Add pagination to handle locations with more than 1,000 orders per month Adjust the date filters in the HTTP node to cover the full calendar month (e.g., use Luxon or JavaScript to calculate start_date and end_date) Why It's Useful This workflow saves time, reduces manual report pulling from Square, and enables smarter automation around sales data — whether for operations, finance, or performance monitoring.
by Ezema Kingsley Chibuzo
📧 What It Does This n8n workflow sends personalized marketing or outreach emails using predefined templates stored in Google Sheets, with SendGrid as the email delivery provider. Instead of relying on dynamic AI content, this setup selects a ready-made template and merges it with business-specific lead data — delivering consistent and fast email personalization at scale. 💡 Why This Workflow? Sometimes, you don’t need the overhead or variability of AI-generated content. Predefined templates give you: ⚡ Faster execution — no calls to AI models 🎯 Total control over tone, formatting, and structure 🛠️ Easy customization using variables like [BusinessName], [Location], etc. 💰 Zero additional cost per email 👤 Who It’s For Freelancers* or *Agencies** running outreach campaigns Startups* or *SMBs** with lead data in Google Sheets Anyone who wants to automate email sending with consistency, control, and low cost. ⚙️ How It Works Manual Trigger starts the workflow. Google Sheets (Leads tab) supplies a list of businesses with fields like name, location, email, category, etc. Loop started to execute each item. Google Sheets (Email Template tab) holds predefined subject and body templates (HTML supported). A random template is selected for each email. Placeholders like [BusinessName] or [Category] are replaced with actual lead info using the Fix Variable (Set) node. The formatted message is sent via SendGrid, using your authenticated sender email. A 1-second wait is added between emails to manage rate limits and avoid spam flags. Loop continues until all leads have been emailed. 🛠 How to Set It Up Import the .json file into your n8n instance. Connect the required credentials: SendGrid API Key (ensure sender domain and identity is verified) Google Sheets OAuth2 Create or duplicate this sample sheet, which contains two tabs and modify to your business interest: Leads Email Template Update the leads and email templates to match your campaign. Click “Execute Workflow” to begin sending emails. 🚀 Want to Scale This? Add additional workflows: 📬 SendGrid Webhook integration to track status & engagements like bounces, opens, and clicks 🔁 Reply tracker via Gmail to update lead status 🤖 AI-based Email Router to label replies as Interested, Not Interested, Others, Forward emails to appropriate department for further engagements. 📆 Follow-up Emails (when there's no email reply) for D+5, D+10 days sequences 📬 Need Help? Feel free to reach out via email: buzanalytics@gmail.com Thanks for using this workflow
by Pramod Kumar Rathoure
Automate Sponsored Deal Emails with n8n + AI 🚀 Managing inbound emails can be exhausting — especially when your inbox is flooded with sponsored deal requests that don’t always fit your brand. Manually reading, filtering, and politely declining each one eats up valuable time. That’s why I built a smart n8n workflow that automatically: Detects sponsored deal inquiries, Decides if they match my criteria, Drafts a professional, courteous reply, Or simply ignores irrelevant messages. The best part? It runs on autopilot. Let’s break down every single node in this workflow. 🔔 1. Gmail Trigger – “Your Inbox Watchdog” Polls your Gmail inbox every minute. Detects new emails instantly. Hands over each email to the next step for analysis. ✂️ 2. Edit Fields (Set Node) – “Extract the Essentials” Pulls out the most important parts of the email: From → Sender’s email address Subject → The email subject line Email Body → The main text content Keeps data structured and ready for AI to process. 🧠 3. AI Agent – “The Smart Classifier” Powered by LangChain + OpenAI. Reads the email content carefully. Outputs two things: isSponsoredEmail → true/false reason → why it decided that way Example: { "isSponsoredEmail": true, "reason": "The email mentions a paid collaboration opportunity." } Structured Output Parser – “Keep It Clean” Ensures the AI response is always structured properly. Forces the output into this format: { "isSponsoredEmail": true/false, "reason": "string" } Prevents messy AI replies from breaking the workflow. 🔀 5. Node – “Decision Maker” Branches logic into two paths: If sponsored** → moves on to draft a polite response. If not sponsored** → sends it to “No Operation” (do nothing). ✍️ 6. AI Agent (Reply Writer) – “Crafts the Perfect Response” If it’s a sponsored email, this node drafts a professional reply. Reply includes: Thanking the sender for reaching out. Explaining sponsorship criteria: Alignment with brand values Relevance for your audience Fit with internal planning cycles Politely declining if the timing isn’t right. Leaving the door open for future opportunities. Tone: professional, warm, and courteous. 📤 7. Gmail Node – “Hit Send!” Takes the AI-generated reply. Sends it directly back to the original sender. No manual typing, no waiting — just instant professionalism. 🚫 8. No Operation – “Do Nothing, Gracefully” If the email isn’t a sponsored deal, the workflow stops here. No unnecessary actions are taken. Keeps your system clean and efficient. 📝 Sticky Notes (Workflow Documentation) To make the workflow easier to understand inside n8n, sticky notes were added: Email Trigger** → Explains inbox polling. Extract** → Notes what fields are being pulled. Process and Validate** → Describes how AI decides sponsorship. Prepare Email Body** → Documents reply drafting process. Reply** → Clarifies auto-reply step. Do Nothing** → Notes what happens if it’s not sponsored. 🌟 Why This Workflow Rocks Saves Hours:** No more manual email filtering. Consistent Replies:** Always professional and brand-friendly. Scalable:** Works for 5 or 500 inbound emails. Customizable:** Easily adapt prompts and conditions to fit your brand. ⚡ Try It Yourself This workflow is built in n8n, an open-source automation tool. You can import the JSON file into your own n8n instance and customize: Your Gmail credentials Your company’s sponsorship guidelines The tone of the AI-generated replies 👉 With just a few tweaks, you’ll have a smart email assistant running on autopilot! 💡 Pro Tip Even if you don’t deal with sponsored deals, you can repurpose this workflow for: Job applications Customer support inquiries Lead qualification The same logic applies — just adjust the AI prompts and reply template.
by Parth Pansuriya
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. Send Automated Personalized Birthday Emails Using Google Sheets, OpenRouter AI, and Gmail 🧠 What This Workflow Does This workflow sends personalized birthday greetings via email every morning using data from Google Sheets and messages generated with AI. It’s great for communities, schools, small businesses, or anyone who wants to automate meaningful connections. ⚙️ Features 🗓 Daily Birthday Check — Runs every day at 9 AM 📋 Google Sheets Integration — Reads user data: Name, Email, DOB 🔍 Smart Date Matching — Extracts day & month from DOB to match today’s date 🤖 OpenRouter AI Integration — Generates a custom subject + email message 🛠 Function Node Cleanup — Separates AI response into subject & body 📬 Gmail Node — Sends personalized birthday wishes instantly 🔧 Tech Stack Google Sheets OpenRouter (or OpenAI-compatible model) Gmail 💡 Use Cases Educators sending birthday emails to students Team leads acknowledging team members’ birthdays Freelancers staying in touch with clients 1Coaches or mentors maintaining personal rapport 📝 Requirements Google Sheet with columns: Name, DOB (DD/MM/YYYY), and Email Gmail account with OAuth2 connected OpenRouter (or OpenAI) API key Basic understanding of n8n nodes
by Pramod Kumar Rathoure
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. 🚀 Automating Google Maps Lead Generation with n8n + Apify Finding quality leads can be time-consuming. What if you could scrape restaurant data from Google Maps, filter the best ones, and email a Morning Brew–style newsletter automatically? That’s exactly what this n8n workflow does. 🔎 What This Workflow Does Takes a location input (Bangkok or Bareilly in this case) Runs a Google Maps scraper via Apify Actor Extracts restaurant essentials (name, category, rating, reviews, address, phone, Google Maps link) Sorts & filters results (only high-review, highly-rated places) Saves data to Airtable for lead management Uses AI to generate a newsletter in a Morning Brew–style HTML email Emails the newsletter automatically to your chosen recipients 🛠️ Workflow Breakdown 1. Form Trigger User selects location from a dropdown (Bangkok or Bareilly) Submits form to kickstart the process 2. Google Maps Scraper Powered by Apify Collects up to 1,000 restaurants with details: Name Category Price Range Rating Reviews Address Phone Google Maps URL Skips closed places and pulls detailed contact data 3. Extract & Transform Data n8n Set node extracts only the essentials Formats them into a clean text block (Restaurant_Data) 4. Sort & Filter Sorted by**: Review Count (descending) Rating (descending) Filter*: Only restaurants with *500+ reviews 5. Airtable Lead Storage Each record is saved to Google Map Leads - Restaurants Airtable table Fields include: Title Category Price Range Rating Review Count Address Phone Location 6. AI-Powered Newsletter n8n’s LangChain + OpenAI node generates an HTML newsletter Tone**: Breezy, witty, like Morning Brew Content**: Sorted restaurant picks with ratings, reviews, and contact links Output is JSON with "Subject" and "Body" 7. Automatic Email Gmail node sends the newsletter directly to your inbox Example recipient: prath002@gmail.com 🎯 Why This Workflow Rocks End-to-End Automation**: From scraping → filtering → emailing, no manual effort Lead Enrichment**: Only keeps high-quality restaurants with strong social proof Scalable**: Works for any city you plug into the form Engaging Output**: AI crafts the results into a ready-to-send newsletter 🔮 Next Steps Add more cities to the dropdown for multi-location scraping Customize the email template for branding Integrate with CRM tools for automated outreach 👉 With just a few clicks, you can go from raw Google Maps data → polished newsletter → fresh leads in Airtable. That’s the power of n8n + Apify + AI.
by Maksym Brashenko
Advanced n8n Workflow Sync with GitHub A robust workflow to back up and synchronize your n8n workflows to a GitHub repository, with intelligent change detection and support for file renames. 🎯 Who's it for? This workflow is for n8n administrators, developers, and power users who want a reliable, automated way to: Keep a version-controlled history of their workflows. Collaborate on workflows using GitHub's infrastructure. Prevent data loss and have a disaster recovery plan for their n8n instance. ✨ Key Features (What it does) Intelligent Sync**: Backs up all your n8n workflows to a designated GitHub repository. Human-Readable Filenames**: Saves workflows with filenames based on their actual names in n8n (e.g., My Awesome Workflow.json). Reliable Matching**: Uses the unique n8n workflow ID to reliably track files, even if their names change. Rename Detection**: If you rename a workflow in n8n, it intelligently deletes the old file and creates a new one in a single logical operation. Efficient Commits**: Commits changes to GitHub only when there are actual modifications to a workflow's logic or structure. It performs a deep comparison, ignoring metadata changes. Clear Commit History**: Generates clean, informative commit messages: create: workflowName update: workflowName rename: oldName - newName ⚙️ How It Works (Simple Steps) Get n8n Workflows: The workflow starts by fetching all your current workflows from n8n. Get GitHub Files: At the same time, it lists all existing workflow files from your GitHub repository. Compare & Decide: It then compares each n8n workflow with its GitHub counterpart. It checks if anything changed, if it was renamed, or if it's new. Take Action: If a workflow is new, it's created on GitHub. If a workflow is updated, the file content is changed on GitHub. If a workflow was renamed, the old file is deleted, and a new one is created. If nothing changed, the workflow is skipped. Send Report: Finally, it can send a summary report to Telegram about what happened. 🚀 How to Set Up Credentials: GitHub: Go to Credentials > New and add your GitHub credentials. You'll need a token with repo permissions. n8n API: In the same Credentials section, create n8n API credentials. You'll need your n8n instance's Base URL and an API key (you can create one in your n8n user settings). Telegram (Optional): If you want notifications, add your Telegram Bot credentials. Configure the Workflow: Open the Configuration node (the green one at the start). Fill in the following values: repo.owner: Your GitHub username or organization name. repo.name: The name of the repository for backups. repo.path: The folder inside the repository to store workflows (e.g., workflows/). report.tg.chatID (Optional): Your Telegram chat ID for notifications. Set to 0 to disable. report.verbose: Set to true to receive a report even if there were no changes. Connect Credentials: Select your newly created credentials in the following nodes: Get all workflows: Select your n8n API credentials. All GitHub nodes (e.g., List files, Create new file): Select your GitHub credentials. Send a message (Telegram): Select your Telegram credentials. Set the Schedule: In the Schedule Trigger node, configure how often you want the backup to run (e.g., every hour, once a day). Activate the Workflow: Save the workflow and toggle it to "Active". 🔧 How to Customize Change Report Destination**: The final part of the workflow sends a report to Telegram. You can easily replace the Send a message node with a node for Slack, Discord, or email to change where notifications go. The message is pre-formatted in the Render summary node. 💡 What's Next? (Future Updates) This workflow is actively maintained! Here's a sneak peek at what's planned for future versions: Automatic Archive Handling**: The next major update will introduce logic to automatically detect when a workflow is archived in n8n and move it to a dedicated archived/ folder in your GitHub repository, keeping your main backup directory clean. Performance Optimizations**: I'm exploring ways to reduce API traffic by intelligently checking for changes before fetching full workflow data. To get the latest version with these features when it's released, be sure to follow my profile for new workflow publications!
by Sridevi Edupuganti
Description This workflow sanitizes any uploaded n8n workflow JSON by removing credentials, webhook IDs, and sensitive metadata. Using AI and structured comparison, it generates a clean, secure workflow version, creates a downloadable sanitized file, and emails a detailed change-log report to the user. Key Features • AI-powered sanitization of workflow JSON • Automatic removal of secrets, credentials, webhook IDs, and metadata • Node-level change detection and comparison • Generates sanitized workflow file (JSON) • Sends formatted HTML email report with attachment • Supports customization for additional filtering rules How It Works The user uploads a workflow JSON file, which is extracted and formatted. AI then sanitizes the workflow and returns a secure version. Both original and sanitized workflows are merged for analysis, and a structured change-log is generated. A sanitized JSON file is created and emailed to the user with the report. How to Use Upload your workflow JSON via the form. The workflow processes it automatically, generates a sanitized version, creates a change-log, and emails both the report and sanitized JSON file to you. Requirements • OpenAI credentials • Gmail or SMTP credentials • n8n workflow JSON exported from the editor Customising This Workflow Modify sanitization rules, formatting logic, or email templates inside the JS and AI nodes to suit organizational security policies or custom metadata filtering. Support: Join n8n Discord https://discord.com/invite/n8n or Community Forum https://community.n8n.io/ README file available at https://bit.ly/GeneratesanitizedJSONfile
by Calistus Christian
What this workflow does Pulls free security/tech headlines from multiple RSS feeds (e.g., CISA, BleepingComputer, Krebs, SecurityWeek, Ars Technica, TechCrunch, Hacker News). De-duplicates stories, keeps only the last 24 hours, and limits to a manageable number. Uses OpenAI to write a concise brief with sections and "Why it matters." Sends a clean HTML email via Gmail. Category: Security / News\ Time to set up: ~10--15 minutes\ Difficulty: Beginner--Intermediate\ Cost: Mostly free (OpenAI tokens + Gmail) * What you'll need n8n (recent version) OpenAI credentials Gmail (or SMTP) credentials A few free RSS feed URLs (swap in/out as you like) * Set up steps Trigger -- Add a Cron to run daily (pick your time and timezone). Fetch -- Add one RSS Read node per source and connect all to a Merge (append). De-duplicate (this run) -- Add Remove Duplicates and compare on a stable key (prefer the article URL). Freshness -- Add an IF to pass only items published in the last 24 hours. Limit -- Add Limit to cap the total items (e.g., 25). Summarize -- Add OpenAI → Message a model to produce a JSON brief with subject + HTML body. Email -- Add Gmail → Send to deliver the brief to your inbox. * Tips & troubleshooting If everything gets discarded at de-dup e while testing, switch to "within current input" or reset the node's stored values. If no items pass the IF, widen the date window temporarily (some feeds publish late). If the email arrives blank, ensure Gmail email type is set to HTML and the subject/body fields map to the model's output. * Sources you can start with (swap freely) CISA, BleepingComputer, KrebsOnSecurity, SecurityWeek, Ars Technica (Security), TechCrunch (Security), Hacker News (front page).