by NODA shuichi
Description: Transform your health data into actionable meal plans with an Advanced AI Chain. 🥗🤖 This workflow goes beyond a simple prompt. It orchestrates a chain of Google Gemini agents to manage your blood pressure. It acts as a personal health assistant that analyzes your data, strategizes a diet plan, and finds real-world recipes. Key Features: Dual AI Logic: Uses Gemini (1.5-flash) in two stages—first to decide the search strategy based on BP status (High/Normal), and second to synthesize a 5-day meal plan. Real Recipe Search: Automatically searches Google for recipes that match the AI's dietary strategy (e.g., "Low sodium dinner"). Visual Tracking: Generates a blood pressure trend chart using QuickChart.io and attaches it to the email report. Organized Layout: Nodes are clearly grouped into sections (Data Collection, AI Strategy, Execution, Synthesis) for easy customization. How it works: Analyze: Fetches last 7 days of BP data from Google Sheets. Decide: AI determines the best search keywords (e.g., "Dash diet recipes") based on your average BP. Execute: Searches for recipes and generates a chart simultaneously. Synthesize: AI combines the recipes and health stats into a weekly plan. Deliver: Emails the plan and chart to you. Setup Requirements: Google Sheets: Create headers: date, systolic, diastolic. Google Gemini API Key Google Custom Search API Key & Engine ID Gmail
by Hatem Gifaeeri
Generate a security audit report from an n8n instance to a web form This workflow provides a deep-dive security assessment of an n8n instance using the native Audit API and AI analysis. Who’s it for This template is for n8n administrators and DevSecOps engineers who need to maintain a high security standard across their automation infrastructure. It is particularly useful for teams managing self-hosted instances with multiple users. How it works The workflow triggers via an n8n Form where you provide your instance URL and API key. It calls the official n8n Audit API to scan for five categories of risk: instance settings, credentials, database (SQL injection), nodes, and filesystem access. A Code node parses this data, which is then analyzed by Google Gemini to create a prioritized remediation plan. Requirements n8n version v1.0 or higher. A Google Gemini API Key. An n8n API Key with 'Audit' scope permissions. How to set up Create a Google Gemini API credential in n8n. Ensure your n8n API key has the correct scopes. Execute the workflow and enter your credentials into the trigger form. How to customize the workflow You can easily swap the Google Gemini node for OpenAI or Anthropic. You can also add a 'Send Email' or 'Slack' node at the end to automatically route the report to your security channel instead of just viewing it in the browser.
by Olivier
This template qualifies and segments B2B prospects in ProspectPro using live web data and AI. It retrieves website content and search snippets, processes them with an LLM, and updates the prospect record in ProspectPro with qualification labels and tags. The workflow ensures each prospect is processed once and can be reused as a sub-flow or direct trigger. ✨ Features Automatically qualify B2B companies based on website and search content Flexible business logic: qualify and segment prospects by your own criteria Updates ProspectPro records with labels and tags Live data retrieval via Bedrijfsdata.nl RAG API nodes Easy customization through flexible AI setup Extendable and modular: use as a trigger workflow or callable sub-flow ⚙ Requirements n8n instance or cloud workspace Install the Bedrijfsdata.nl Verified Community Node Bedrijfsdata.nl developer account (14-day free trial, 500 credits) Install the ProspectPro Verified Community Node ProspectPro account & API credentials (14-day free trial) OpenAI API credentials (or another LLM) 🔧 Setup Instructions Import the template and set your credentials (Bedrijfsdata.nl, ProspectPro, OpenAI). Connect to a trigger (e.g., ProspectPro "New website visitor") or call as a sub-workflow. Adjust qualification logic in the Qualify & Tag Prospect node to match your ICP. Optional: extend tags, integrate with Slack/CRM, or add error logging. 🔐 Security Notes Prevents re-processing of the same prospect using tags Error branches included for invalid input or API failures LLM output validated via a structured parser 🧪 Testing Run with a ProspectPro ID of a company with a known domain Check execution history and ProspectPro for enrichment results Verify updated tags and qualification label in ProspectPro 📌 About Bedrijfsdata.nl Bedrijfsdata.nl operates the most comprehensive company database in the Netherlands. With real-time data on 3.7M+ businesses and AI-ready APIs, they help Dutch SMEs enrich CRM, workflows, and marketing automation. Website: https://www.bedrijfsdata.nl Developer Platform: https://developers.bedrijfsdata.nl API docs: docs.bedrijfsdata.nl Support: https://www.bedrijfsdata.nl/klantenservice Support hours: Monday–Friday, 09:00–17:00 CET 📌 About ProspectPro ProspectPro is a B2B Prospecting Platform for Dutch B2B SMEs. It helps sales teams identify prospects, identify website visitors and more. Website: https://www.prospectpro.nl Platform: https://mijn.prospectpro.nl API docs: https://www.docs.bedrijfsdata.nl Support: https://www.prospectpro.nl/klantenservice Support hours: Monday–Friday, 09:00–17:00 CET
by Jinash Rouniyar
PROBLEM Thousands of MCP Servers exist and many are updated daily, making server selection difficult for LLMs. Current approaches require manually downloading and configuring servers, limiting flexibility. When multiple servers are pre-configured, LLMs get overwhelmed and confused about which server to use for specific tasks. This template enables dynamic server selection from a live PulseMCP directory of 5000+ servers. How it works A user query goes to an LLM that decides whether to use MCP servers to fulfill a given query and provides reasoning for its decision. Next, we fetch MCP Servers from Pulse MCP API and format them as documents for reranking Now, we use Contextual AI's Reranker to score and rank all MCP Servers based on our query and instructions How to set up Sign up for a free trial of Contextual AI here to find CONTEXTUALAI_API_KEY. Click on variables option in left panel and add a new environment variable CONTEXTUALAI_API_KEY. For the baseline model, we have used GPT 4.1 mini, you can find your OpenAI API key here How to customize the workflow We use chat trigger to initate the workflow. Feel free to replace it with a webhook or other trigger as required. We use OpenAI's GPT 4.1 mini as the baseline model and reranker prompt generator. You can swap out this section to use the LLM of your choice. We fetch 5000 MCP Servers from the PulseMCP directory as a baseline number, feel free to adjust this parameter as required. We are using Contextual AI's ctxl-rerank-v2-instruct-multilingual reranker model, which can be swapped with any one of the following rerankers: 1) ctxl-rerank-v2-instruct-multilingual 2) ctxl-rerank-v2-instruct-multilingual-mini 3) ctxl-rerank-v1-instruct You can checkout this blog for more information about rerankers to learn more about them. Good to know: Contextual AI Reranker (with full MCP docs): ~$0.035/query Includes 0.035 for reranking + ~$0.0001 for OpenAI instruction generation. OpenAI Baseline: ~$0.017/query
by Jeremiah Wright
Who’s it for Freelancers and agencies who track new Upwork leads via Vollna RSS and want clean logging to Google Sheets with instant Slack alerts. What it does Polls a Vollna RSS feed every few minutes, parses each job (title, budget, link, skills, categories), dedupes against your sheet, appends only new jobs, and notifies Slack with a compact alert. How it works Schedule Trigger fires on an interval. RSS Read pulls new items from Vollna. Filter (optional) skips non-ASCII titles. Code node normalizes fields (title/budget split, clean Upwork link, “Posted x mins ago”, etc.). Sheets Lookup + Compare prevents duplicates by job URL. Sheets Append writes new rows; Slack posts a job alert. Set up In ⚙️ Config, set: VOLLNA_RSS_URL, GOOGLE_SHEETS_DOC_ID, GOOGLE_SHEET_NAME, SLACK_CHANNEL_ID, EMAIL_TO (optional). Add OAuth credentials for Google Sheets, Slack, and Gmail (optional). Create sheet columns: TITLE, BUDGET, UPWORK JOB LINK, CATEGORIES, SKILLS, DATE, JOB DESCRIPTION, POSTED. (Optional) Adjust polling interval on the Schedule Trigger. Requirements • Vollna RSS feed URL (your tokenized link) • n8n (cloud or self-hosted) with Google Sheets + Slack creds Customize • Remove the ASCII filter for broader coverage. • Swap Gmail/Slack with your preferred notifier. • Add keyword filters before appending to Sheets.
by higashiyama
Personalized Learning Content Aggregator with AI Filtering Who’s it for This workflow is for learners, educators, and professionals who want to automatically collect and filter the most relevant educational articles, tutorials, and resources based on specific keywords. How it works Fetches content from RSS feeds and Reddit based on user-defined keywords. AI analyzes and filters the articles to keep only relevant, educational, and non-promotional posts. Saves curated results into a Google Sheet for easy review. How to set up Connect your Google Sheets and AI (OpenAI or LangChain) credentials. Add your RSS feed URLs and keywords to Google Sheets. Adjust schedule timing in the trigger node (default: 8 AM & 6 PM daily). Run the workflow and check the results in your Google Sheet. Requirements Google Sheets account for storage. RSS feed URLs and keyword list. AI node (OpenAI / Gemini / Claude) for filtering logic. How to customize Change or add new content sources (e.g., YouTube, Medium, Dev.to). Adjust AI prompt criteria to match your learning goals. Save results to other platforms (e.g., Notion, Slack, or Airtable). Note: This workflow uses no personal identifiers or API keys directly in nodes. All credentials are safely stored in n8n’s credential manager.
by Sasikala Jayamani
How it works Expected Image Download The expected image’s Dropbox URL is passed directly into an HTTP Request node, which downloads the image as binary data. Actual Image Extraction The HTML node extracts the src of the image from the email (e.g., hero image or other targeted image sections). This src is passed into another HTTP node to download the actual email image in binary format. OCR Processing Both binary images are sent separately to OCR.Space API via POST requests. OCR returns extracted text for each image. Comparison A JS node compares the Expected Image Text vs Actual Image Text. If the texts match, the result is marked Match; otherwise Mismatch. Write Back to Google Sheets The workflow writes ExpectedText, ActualText, and Result back into the Google Sheet, creating a clear audit trail for validation. Setup steps 1. Google Sheets Create a sheet with the following columns: SectionId ExpectedImageURL ExpectedText ActualText (output) Result (output) Add the expected text that should appear inside each image. 2. Email HTML Source Use one of the following: Gmail node — fetches the email HTML via unread or filtered messages HTTP Request / binary file input — if HTML is being pulled from storage or a URL Ensure the HTML extraction node can find the image src correctly 3. Expected Image (Dropbox URL) Paste the public Dropbox URL directly into the Google Sheet This URL is fed into an HTTP Download node The resulting binary is used for OCR extraction 4. OCR Setup Add your OCR.Space API key in the HTTP POST node Set the request body to include: apikey the binary property of the image desired OCR settings (language, text extraction mode) 5. Merge & Compare Use a Merge node to align: ExpectedImageURL + ExpectedText ActualImageSrc OCR outputs 6. In the Code node: Normalize both texts Compare and assign Match or Mismatch 7. Write Output Use a Google Sheets Append/Update node to write: ActualText Result back into the corresponding row, using SectionId or ExpectedImageURL as the matching key.
by Alex Gurinovich
Tired of shelling out big bucks for newsletters? This n8n workflow automates the delivery of personalized newsletters by leveraging BrowserAI for task management and scheduling. It simplifies the process of staying updated with daily news summaries, ensuring efficiency and consistency. BrowserAI is a serverless tool for web automation, solving CAPTCHAs, enabling seamless data extraction. Overview This workflow provides a structured approach to automate newsletter delivery, perfect for anyone desiring regular updates without high costs. It's ideal for tech enthusiasts, marketers, or any individual or organization seeking timely, curated content. Setup Instructions Pre-conditions BrowserAI Account: Ensure you have a BrowserAI account. If not, register! API Key: Obtain your API key from your BrowserAI dashboard. Step-by-Step Setup 🗓️ Start the Workflow and Get Yesterday’s Date Initiates every morning at 8 AM. Dynamically calculates and formats yesterday’s date to use as a reference for news content. 🌐 Create a BrowserAI Task Utilizes BrowserAI to gather relevant news articles and updates from various sources. Ensures the latest information is compiled efficiently through BrowserAI’s web extraction capabilities. ⏳ Wait for Task Completion Includes a control mechanism to pause until the BrowserAI task successfully completes. Regular status checks verify task completion to ensure smooth progression. 🔍 Retrieve and Verify Task Completion Retrieves task metadata with essential news article information upon completion. Evaluates completion status: If finalized, moves to the next step. If in fallback status, waits for fulfillment to ensure reliability. 📩 Send It to Your Email/WhatsApp/Telegram Prepares summarized news content for preferred communication channels. Reformats into an engaging newsletter format. Sends via email, WhatsApp, or Telegram for timely delivery. Customization Guidance Personalize Content:** Tailor the newsletter content by specifying keywords or themes in BrowserAI. Adjust Schedule:** Change the delivery time in n8n according to your preference. This workflow efficiently automates the newsletter creation and distribution process, solving the problem of costly and manually-intensive updates.
by Rishabh Dugar
Name Auto-post Google News to Instagram with OpenAI, PDF API Hub & Google Sheets Description Automatically fetch trending news from Google News RSS, rewrite headlines into viral captions with OpenAI, generate branded breaking-news images using PDF API Hub's HTML-to-Image API, and publish directly to Instagram — all tracked in a Google Sheet. How it works Every hour, the workflow pulls the latest articles from Google News RSS for your chosen topic New articles are deduplicated against a Google Sheet to avoid reposting OpenAI (GPT-4o-mini) rewrites the headline into a short, high-impact viral caption PDF API Hub converts a branded HTML template into a mobile-format breaking-news image The image is published to Instagram, and the Google Sheet row is updated with the image URL and marked as posted Set up steps Create a Google Sheet with a tab named rss and add the required column headers (~2 min). See the sticky note inside the workflow for the exact structure. Connect your four credentials: Google Sheets OAuth2, OpenAI API, PDF API Hub API, and Instagram API (~5 min) Set your news topic in the Set Topic node (e.g. ai, crypto, sports) Optionally customize the HTML/CSS in the Generate News Image node to match your brand Activate the workflow
by Yasser Sami
AI Sales Battle Card Generator (Research + Personalized Pitch Assets) This n8n template automatically generates high-quality sales battle cards for any prospect company using real-time research and AI. It analyzes company news, website content, and your product’s value proposition to create personalized outreach hooks, talk tracks, and objection handling — all delivered as a ready-to-use document. Who’s it for Sales reps and SDRs preparing for outreach Founders doing high-quality cold outreach Sales teams building personalized pitches at scale Agencies doing outbound lead generation Anyone who wants deeper, research-driven sales conversations How it works / What it does Form Input Enter: Company name Company website URL Your product’s value proposition Company Research (Olostep) Searches for the latest company news, hiring trends, and challenges. Identifies signals like growth, funding, or operational pressure. Website Scraping Scrapes the company’s website to understand positioning, messaging, and offerings. AI Research Analysis AI identifies: Key business triggers (why now?) Opportunities where your product fits Maps your value proposition to real company needs. Pitch Asset Generation Generates personalized sales assets: Cold outreach hook (email/LinkedIn opener) High-impact discovery questions Likely objection + smart rebuttal Battle Card Generation Combines everything into a structured Sales Battle Card including: Executive summary Outreach assets Objection handling Research sources Document Creation (Google Docs) Converts the output into a clean document. Automatically creates a Google Doc with the final battle card. Share & Notify Shares the document via Google Drive. Sends an email with the link to the generated battle card. This workflow turns raw company data into a ready-to-use sales playbook in minutes. How to set up Import the template into your n8n workspace. Add your Olostep API key. Connect your Google Drive account. Add your AI model provider (Gemini or OpenAI). Run the form and generate your first battle card. Requirements n8n account (cloud or self-hosted) Olostep API key Google Drive / Google Docs access AI model provider (Gemini or OpenAI) How to customize the workflow Adjust prompts to match your sales style or industry. Add CRM integration (HubSpot, Salesforce). Generate multiple variations of outreach hooks. Add scoring for lead qualification. Store battle cards in Notion or a database. This template helps you go from generic outreach to highly personalized, research-driven sales conversations instantly.
by Robert Breen
This workflow pulls marketing data from Google Sheets, aggregates spend by channel, generates an AI-written summary, and outputs a formatted PDF report using a custom HTML template on PDF.co. ⚙️ Setup Instructions 1️⃣ Prepare Your Google Sheet Copy this template into your Google Drive: Sample Marketing Data Add or update your marketing spend data in rows 2–100. Connect Google Sheets in n8n Go to n8n → Credentials → New → Google Sheets (OAuth2) Log in with your Google account and grant access Select the Spreadsheet ID and Worksheet in the workflow 2️⃣ Set Up PDF.co for PDF Reports Create a free account at PDF.co In PDF.co Dashboard → HTML to PDF Templates, create a new Mustache template Paste the HTML provided at the bottom of this description Save, and note your Template ID In n8n → Credentials → New → PDF.co API, paste your API Key and save In the workflow, select your PDF.co credential in the Create PDF node Replace the templateId with your Template ID 🧠 How It Works Google Sheets Node**: Pulls marketing spend data Summarize Nodes**: Aggregate total spend and spend per channel OpenAI Node**: Writes a daily summary of marketing performance Code Node**: Converts aggregated data into the correct shape for the PDF template PDF.co Node: Generates a final, formatted **PDF report 📬 Contact Need help customizing this (e.g., filtering by campaign, sending reports by email, or formatting your PDF)? 📧 robert@ynteractive.com 🔗 Robert Breen 🌐 ynteractive.com 📄 HTML Template (for PDF.co) > Paste this into a new HTML Template on PDF.co and reference its Template ID in your workflow. <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Invoice {{invoiceNumber}}</title> <style> body { font-family: Arial, Helvetica, sans-serif; margin: 36px; color: #222; } .header { display: flex; justify-content: space-between; align-items: center; } .brand { max-height: 56px; } h1 { margin: 12px 0 4px; font-size: 22px; } .meta { font-size: 12px; color: #555; } .two-col { display: flex; gap: 24px; margin-top: 16px; } .box { flex: 1; border: 1px solid #ddd; padding: 12px; border-radius: 6px; } .label { font-size: 11px; color: #666; text-transform: uppercase; letter-spacing: .02em; } table { width: 100%; border-collapse: collapse; margin-top: 16px; } th, td { border-bottom: 1px solid #eee; padding: 10px 8px; font-size: 13px; } th { background: #fafafa; text-align: left; } tfoot td { border-top: 2px solid #ddd; font-size: 13px; } .right { text-align: right; } .totals td { padding: 6px 8px; } .grand { font-weight: 700; font-size: 14px; } .notes { margin-top: 18px; font-size: 12px; color: #444; } </style> </head> <body> Invoice {{invoiceNumber}} Date: {{invoiceDate}} | Due: {{dueDate}} {{#company.logoUrl}} {{/company.logoUrl}} From {{company.name}} {{company.address}} {{company.phone}} {{company.email}} Bill To {{billTo.name}} {{billTo.address}} {{billTo.email}} Description Qty Unit Price Line Total {{#items}} {{line}} {{description}} {{qty}} {{unitPriceFmt}} {{lineTotalFmt}} {{/items}} Subtotal {{subTotalFmt}} Tax ({{taxRatePct}}) {{taxAmountFmt}} Discount -{{discountFmt}} Total {{totalFmt}} Notes: {{notes}} Terms: {{terms}} </body> </html>
by Shohani
Overview This n8n workflow automatically fetches the latest post from a Telegram channel, translates it using OpenAI, and republishes it to another channel. It supports text, images, and videos. Features Works Without Admin Privileges** - Does not require any bot to be an admin in the source channel. Scheduled execution** - Runs daily at a configurable time AI-powered translation** - Uses OpenAI GPT-4o-mini for natural translations Multi-media support** - Handles text, images, and videos Easy configuration** - All settings in one centralized node Automatic content cleaning** - Removes original channel signatures Prerequisites Required Credentials Telegram Bot API Create a bot via @BotFather Get your bot token Add the bot as an admin to your target channel OpenAI API Sign up at OpenAI Platform Generate an API key Ensure you have sufficient credits Channel Requirements Source Telegram channel must be public Bot must have admin rights in the target channel Setup Instructions 1. Import the Workflow Copy the workflow JSON and import it into your n8n instance The workflow will be imported in inactive state 2. Configure Credentials Telegram Bot Credentials Go to Credentials → Add Credential Select Telegram Enter your bot token from BotFather Test the connection Save as "TelegramBot" OpenAI Credentials Go to Credentials → Add Credential Select OpenAI Enter your OpenAI API key Save as "OpenAI API" 3. Configure Channel Settings Open the "Set Source Channel" node and modify: sourceChannel: "channel_here", // Source channel username (without @) targetChannel: "@your_channel_here", // Target channel (@channel or chat_id) targetLanguage: "Persian", // Target language for translation channelSignature: "signature text" // The channel signature to replaced 4. Adjust Schedule (Optional) Open the "Daily Schedule" node Default: Runs daily at 9:00 AM Modify triggerAtHour and triggerAtMinute as needed 5. Test the Workflow Click "Execute Workflow" to test manually Check if content appears in your target channel Verify translation quality and formatting 6. Activate the Workflow Toggle the workflow to Active status Monitor execution logs for any errors Content Filtering Modify the "Clean Post Content" node to remove specific text patterns: let cleanPost = $input.first().json.post .replaceAll('unwanted_text', '') .replaceAll(/regex_pattern/g, '') .trim(); Multiple Source Channels To monitor multiple channels: Duplicate the workflow Change the sourceChannel in each copy Use different schedules to avoid conflicts Custom Scheduling The Schedule Trigger supports various patterns: Hourly**: { "triggerAtMinute": 0 } Weekly**: { "triggerAtWeekday": 1, "triggerAtHour": 9 } Multiple times**: Use multiple schedule nodes Troubleshooting Common Issues No content fetched Verify source channel is public Check if channel name is correct (without @) Ensure channel has recent posts Translation fails Verify OpenAI API key is valid Check API usage limits and credits Ensure content is not empty Can't send to target channel Verify bot is admin in target channel Check channel username/ID format Test bot permissions manually Compliance Respect copyright and fair use policies Add proper attribution when required Follow Telegram's Terms of Service