# templates

name: Build Gmail contact database with GPT-5 Nano, Brave Search & Google Sheets
author_name: Václav Čikl
author_username: venca
categories: []
created_at: 2025-11-12T22:02:05.334Z
updated_at: 2025-11-12T22:02:05.334Z
url: https://n8n.io/workflows/10778
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:21
description:
  Overview

  Transform your Gmail sent folder into a comprehensive, enriched contact database automatically. This workflow processes hundreds or thousands of sent emails, extracting and enriching contact information using AI and web search – saving days of manual work.

  What This Workflow Does

  Loads sent Gmail messages and extracts basic contact information
  Deduplicates contacts against your existing Google Sheets database
  Searches for email conversation history with each contact
  AI-powered extraction from email threads (phone, socials, websites)
  Fallback web search via Brave API when no email history exists
  Saves enriched data to Google Sheets with all discovered contact details

  Perfect For

  Musicians & bands** organizing booker/venue contacts  
  Freelancers & agencies** building client databases
  Sales teams** enriching prospect lists from outbound campaigns
  Consultants** creating structured contact databases from years of emails

  Key Features

  Intelligent Two-Path Enrichment
  Path A (Email History)**: Analyzes existing email threads to extract contact details from signatures and message content
  Path B (Web Search)**: Falls back to Brave API search + HTML scraping when no email history exists

  AI-Powered Data Extraction
  Uses GPT-5 Nano to intelligently parse:
  Phone numbers  
  Website URLs
  LinkedIn profiles
  Instagram, Twitter, Facebook, Youtube, TikTok, LinkTree, BandCamp...
  Alternative email addresses

  Built-in Deduplication
  Prevents duplicate entries by checking existing Google Sheets records before processing.

  Free-Tier Friendly
  Runs entirely on free tiers:
  Gmail API (free)
  OpenAI GPT-5 Nano (cost-effective)
  Brave Search API (2,000 free searches/month)
  Google Sheets (free)

  Setup Requirements

  Required Accounts & Credentials
  Gmail Account - OAuth2 credentials for Gmail API access
  OpenAI API Key - For GPT-5 Nano model
  Brave Search API Key - Free tier (2,000 searches/month)
  Google Sheets - OAuth2 credentials

  Google Sheets Structure
  Create a Google Sheet with these columns (see template link):


  Template Sheet: Make a copy here

  How to Use

  Clone this workflow to your n8n instance
  Configure credentials for Gmail, OpenAI, Brave Search, and Google Sheets
  Create/connect your Google Sheet using the template structure
  Run manually to process all sent emails and build your initial database
  Review results in Google Sheets - enriched with discovered contact info

  First Run Tips
  Start with a smaller Gmail query (e.g., last 6 months) to test
  Check Brave API quota before processing large volumes
  Manual trigger means you control when processing happens
  Processing time varies based on email volume (typically 2-5 seconds per contact)

  Customization Ideas

  Extend the Enrichment
  Include company information parsing
  Extract job titles from email signatures

  Automate Regular Updates
  Convert manual trigger to scheduled trigger
  Process only recent sent emails for incremental updates
  Add email notification when new contacts are added

  Integration Options
  Push enriched contacts to CRM (HubSpot, Salesforce)
  Send Slack notifications for high-value contacts
  Export to Airtable for relational database features

  Improve Accuracy
  Add human-in-the-loop review for uncertain extractions
  Implement confidence scoring for AI-extracted data
  Add validation checks for phone numbers and URLs

  Use Case Example

  Music Promoter Building Venue Database:
  Processed 1,835 sent emails to bookers and venues
  AI extracted contact details from 60% via email signatures
  Brave search found websites for remaining 40%
  Final database: 1,835 enriched contacts ready for outreach
  Time saved: ~40 hours of manual data entry

  Technical Notes

  Rate Limiting**: Brave API free tier = 2,000 searches/month
  Duplicates**: Handled at workflow start, not during processing
  Empty Results**: Stores email + name even when enrichment fails
  Model**: Uses GPT-5 Nano for cost-effective parsing
  Gmail Scope**: Reads sent emails only (not inbox)

  Cost Estimate

  For processing 1,000 contacts:
  Gmail API**: Free
  GPT-5 Nano**: ~$0.50-2 (depending on email length)
  Brave Search**: Free (within 2K/month limit)
  Google Sheets**: Free
  Total**: Under $2 for 1,000 enriched contacts

  Template Author:
  Questions or need help with setup?
  📧 Email:xciklv@gmail.com
  💼 LinkedIn:https://www.linkedin.com/in/vaclavcikl/

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.splitInBatches","n8n-nodes-base.removeDuplicates","n8n-nodes-base.noOp","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.code","@brave/n8n-nodes-brave-search.braveSearch","n8n-nodes-base.splitInBatches","n8n-nodes-base.noOp","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.gmail","n8n-nodes-base.set","n8n-nodes-base.gmail","n8n-nodes-base.googleSheets","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.informationExtractor","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["Data Processing","Communication","AI/ML"],"complexity":"medium","use_cases":["automate contact database extraction","enrich contact information from emails","consolidate email contact history"],"estimated_setup_minutes":30,"required_services":["Gmail","Google Sheets","GPT-5 Nano","Brave Search"],"key_features":["automatic contact extraction","AI-powered information enrichment","contact deduplication","conversation history search"],"target_audience":["sales representatives","customer support staff","data analysts"]}


name: 👲 Monitor & debug n8n workflows with Claude AI assistant and MCP server
author_name: Samir Saci
author_username: samirsaci
categories: []
created_at: 2025-11-12T23:10:18.154Z
updated_at: 2025-11-12T23:10:18.154Z
url: https://n8n.io/workflows/10779
scraped_at: 2026-05-02 08:04:48
metadata_generated_at: 2026-05-02 08:36:20
description:
  Tags*: AI Agent, MCP Server, n8n API, Monitoring, Debugging, Workflow Analytics, Automation

  Context

  Hi! I’m Samir — a Supply Chain Engineer and Data Scientist based in Paris, and founder of LogiGreen Consulting.

  This workflow is part of my latest project: an AI assistant that automatically analyses n8n workflow executions, detects failures, and identifies root causes through natural conversation with Claude Desktop.



  &gt; Turn your automation logs into intelligent conversations with an AI that understands your workflows.

  The idea is to use Claude Desktop to help monitor and debug your workflows deployed in production.

  The workflow shared here is part of the setup.

  📬 For business inquiries, you can find me on LinkedIn

  Who is this template for?

  This template is designed for automation engineers, data professionals, and AI enthusiasts who manage multiple workflows in n8n and want a smarter way to track errors or performance without manually browsing execution logs.

  If you’ve ever discovered a failed workflow hours after it happened — this is for you.

  What does this workflow do?

  This workflow acts as the bridge between your n8n instance and the Claude MCP Server.



  It exposes three main routes that can be triggered via a webhook:

  get_active_workflows → Fetches all currently active workflows  
  get_workflow_executions → Retrieves the latest executions and calculates health KPIs  
  get_execution_details → Extracts detailed information about failed executions for debugging  

  Each request is automatically routed and processed, providing Claude with structured execution data for real-time analysis.

  How does it fit in the overall setup?

  Here’s the complete architecture:
  Claude Desktop ←→ 
     MCP Server ←→ 
        n8n Monitor Webhook ←→
           n8n API

  The MCP Server (Python-based) communicates with your n8n instance through this workflow.  
  The Claude Desktop app can then query workflow health, execution logs, and error patterns using natural language.  
  The n8n workflow aggregates, cleans, and returns the relevant metrics (failures, success rates, timing, alerts).

  📘 The full concept and architecture are explained in my article published on my blog:  
  👉 Deploy your AI Assistant to Monitor and Debug n8n Workflows using Claude and MCP

  🎥 Tutorial

  The full setup tutorial (with source code and demo) is available on YouTube:

  How does it work?

  🌐 Webhook Trigger receives the MCP server requests  
  🔀 Switch node routes actions based on "action" parameter  
  ⚙️ HTTP Request nodes fetch execution and workflow data via the n8n API  
  🧮 A Code node calculates KPIs (success/failure rates, timing, alerts)  
  📤 The processed results are returned as JSON for Claude to interpret

  Example use cases

  Once connected, you can ask Claude questions like:
  “Show me all workflows that failed in the last 25 executions.”  
  “Why is my Bangkok Meetup Scraper workflow failing?”  
  “Give me a health report of my n8n instance.”  



  Claude will reply with structured insights, including failure patterns, node diagnostics, and health status indicators (🟢🟡🔴).

  What do I need to get started?

  You’ll need:
  A self-hosted n8n instance
  Claude Desktop** app installed
  The MCP server source code (shared in the tutorial description)
  The webhook URL from this workflow is configured in your .env file  

  Follow the tutorial for more details, don't hesitate to leave your questions in the comment section.

  Next Steps

  🗒️ Use the sticky notes inside the workflow to:
  Replace &lt;YOUR_N8N_INSTANCE&gt; with your own URL  
  Test the webhook routes individually using the “Execute Workflow” button  
  Connect the MCP server and Claude Desktop to start monitoring  

  This template was built using n8n v.116.2  
  Submitted: November 2025

nodes_used:
  ["n8n-nodes-base.switch","n8n-nodes-base.splitOut","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.webhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.splitOut","n8n-nodes-base.splitOut","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5916 characters]

metadata_json:
  {"categories":["DevOps"],"complexity":"medium","use_cases":["monitor workflow execution","detect automation failures","perform log analysis","debug n8n workflows","generate support tickets"],"estimated_setup_minutes":120,"required_services":["ArangoDB","Claude API","n8n Instance"],"key_features":["AI-powered workflow analysis","natural language log interpretation","automated root cause detection","sentiment analysis on errors","structured error reporting"],"target_audience":["DevOps engineers","automation admins","QA testers"]}


name: AI-powered Amazon product recommendations via Decodo, Telegram and Gemini 2.5
author_name: Khairul Muhtadin
author_username: khmuhtadin
categories: []
created_at: 2025-11-14T01:48:06.560Z
updated_at: 2025-11-14T01:48:06.560Z
url: https://n8n.io/workflows/10805
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:21
description:
  Decodo Amazon Product Recommender delivers instant, AI-powered shopping recommendations directly through Telegram. Send any product name and receive Amazon product analysis featuring price comparisons, ratings, sales data, and categorized recommendations (budget, premium, best value) in under 40 seconds—eliminating hours of manual research.

  Why Use This Workflow?

  Time Savings: Reduce product research from 45+ minutes to under 30 seconds  

  Decision Quality: Compare 20+ products automatically with AI-curated recommendations 

  Zero Manual Work: Complete automation from message input to formatted recommendations

  Ideal For

  E-commerce Entrepreneurs:** Quickly research competitor products, pricing strategies, and market trends for inventory decisions
  Smart Shoppers & Deal Hunters:** Get instant product comparisons with sales volume data and discount tracking before purchasing
  Product Managers & Researchers:** Analyze Amazon marketplace positioning, customer sentiment, and pricing ranges for competitive intelligence

  How It Works

  Trigger: User sends product name via Telegram (e.g., "iPhone 15 Pro Max case")
  AI Validation: Gemini 2.5 Flash extracts core product keywords and validates input authenticity
  Data Collection: Decodo API scrapes Amazon search results, extracting prices, ratings, reviews, sales volume, and product URLs
  Processing: JavaScript node cleans data, removes duplicates, calculates value scores, and categorizes products (top picks, budget, premium, best value, most popular)
  Intelligence Layer: AI generates personalized recommendations with Telegram-optimized markdown formatting, shortened product names, and clean Amazon URLs
  Output & Delivery: Formatted recommendations sent to user with categorized options and direct purchase links
  Error Handling: Admin notifications via separate Telegram channel for workflow monitoring

  Setup Guide

  Prerequisites

  | Requirement | Type | Purpose |
  |-------------|------|---------|
  | n8n instance | Essential | Workflow execution platform |
  | Decodo Account | Essential | Amazon product data scraping |
  | Telegram Bot Token | Essential | Chat interface for user interactions |
  | Google Gemini API | Essential | AI-powered product validation and recommendations |
  | Telegram Account | Optional | Admin error notifications |

  Installation Steps

  Import the JSON file to your n8n instance
  Configure credentials:
     Decodo API: Sign up at decodo.com → Dashboard → Scraping APIs → Web Advanced → Copy BASIC AUTH TOKEN
     Telegram Bot: Message @BotFather on Telegram → /newbot → Copy HTTP API token (format: 123456789:ABCdefGHI...)
     Google Gemini: Obtain API key from Google AI Studio for Gemini 2.5 Flash model
  Update environment-specific values:
     Replace YOUR-CHAT-ID in "Notify Admin" node with your Telegram chat ID for error notifications
     Verify Telegram webhook IDs are properly configured
  Customize settings:
     Adjust AI prompt in "Generate Recommendations" node for different output formats
     Set character limits (default: 2500) for Telegram message length
  Test execution:
     Send test message to your Telegram bot: "iPhone 15 Pro"
     Verify processing status messages appear
     Confirm recommendations arrive with properly formatted links

  Customization Options

  Basic Adjustments:
  Character Limit**: Modify 2500 in AI prompt to adjust response length (Telegram max: 4096)

  Advanced Enhancements:
  Multi-language Support**: Add language detection and translation nodes for international users
  Price Tracking**: Integrate Google Sheets to log historical prices and trigger alerts on drops
  Image Support**: Enable Telegram photo messages with product images from scraping results

  Troubleshooting

  Common Issues:

  | Problem | Cause | Solution |
  |---------|-------|----------|
  | "No product detected" for valid inputs | AI validation too strict or ambiguous query | Add specific product details (model number, brand) in user input |
  | Empty recommendations returned | Decodo API rate limit or Amazon blocking | Wait 60 seconds between requests; verify Decodo account status |
  | Telegram message formatting broken | Special characters in product names | Ensure Telegram markdown mode is set to "Markdown" (legacy) not "MarkdownV2" |

  Use Case Examples

  Scenario 1: E-commerce Store Owner
  Challenge: Needs to quickly assess competitor pricing and product positioning for new inventory decisions without spending hours browsing Amazon  
  Solution: Sends "wireless earbuds" to bot, receives categorized analysis of 20+ products with price ranges ($15-$250), top sellers, and discount opportunities  
  Result: Identifies $35-$50 price gap in market, sources comparable product, achieves 40% profit margin

  Scenario 2: Smart Shopping Enthusiast
  Challenge: Wants to buy a laptop backpack but overwhelmed by 200+ Amazon options with varying prices and unclear value propositions  
  Solution: Messages "laptop backpack" to bot, gets AI recommendations sorted by budget ($30), premium ($50+), best value (highest discount + good ratings), and most popular (by sales volume)  
  Result: Purchases "Best Value" recommendation with 35% discount, saves $18 and 45 minutes of research time

  Created by: Khaisa Studio  
  Category: AI | Productivity | E-commerce | Tags: amazon, telegram, ai, product-research, shopping, automation, gemini

  Need custom workflows? Contact us

  Connect with the creator:  
  Portfolio • Workflows • LinkedIn • Medium • Threads

nodes_used:
  ["n8n-nodes-base.telegramTrigger","n8n-nodes-base.errorTrigger","n8n-nodes-base.set","@decodo/n8n-nodes-decodo.decodo","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.wait","n8n-nodes-base.code","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 10960 characters]

metadata_json:
  {"categories":["E-commerce","AI/ML","Communication"],"complexity":"medium","use_cases":["product recommendations","price comparison","instant analysis"],"estimated_setup_minutes":30,"required_services":["Decodo","Telegram","Google Gemini"],"key_features":["AI-powered analysis","product categorization","budget recommendations","real-time data retrieval"],"target_audience":["developers","shoppers","marketers"]}


name: Automate YouTube Content Strategy with AI, Apify & Google Sheets
author_name: PrideVel
author_username: n8nwizard
categories: []
created_at: 2025-11-14T04:38:46.796Z
updated_at: 2025-11-14T04:38:46.796Z
url: https://n8n.io/workflows/10808
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:21
description:
  📌 Overview

  This advanced multi-phase n8n workflow automates the complete research, analysis, and ideation pipeline for a YouTube strategist. It scrapes competitor channels, analyzes top-performing titles and thumbnails, identifies niche trends, gathers audience sentiment from comments, and produces data-driven content ideas—automatically writing them into a structured Google Sheets dashboard.

  This system is ideal for:

  YouTube creators
  Agencies
  Content strategists
  Automation engineers
  Anyone who wants to generate YouTube content ideas backed by real data

  🧠 High‑Level Architecture

  The workflow is split into 5 phases, each building on the previous:

  Phase 1 — Niche Outliers (Input: User Form)

  Scrapes 3 high‑quality channels from your niche, extracts their outlier videos, and analyzes why they work.

  Phase 2 — Broad Niche Insights (Weekly)

  Scrapes the top trending content in your broad niche (e.g., "AI", "fitness", "personal finance") and logs weekly insights.

  Phase 3 — Niche Insights (Daily)

  Scrapes the top videos in your specific micro‑niche daily to keep track of content momentum.

  Phase 4 — Comment Analysis

  Analyzes real comments from your channel to understand what your audience likes, dislikes, and wants more of.

  Phase 5 — Content Ideation

  Generates 3 highly‑optimized title + thumbnail concepts using all prior insights.

  Everything is automatically logged into a Google Sheets dashboard.

  🧩 Phase-by-Phase Breakdown

  ⭐ Phase 1 — Niche Outliers (Form Trigger)

  User enters 3 YouTube channel URLs in a form.
  Workflow scrapes each channel using Apify YouTube Scraper.
  Filters for top-performing videos.
  Extracts: title, views, likes, thumbnail, URL.
  AI analyzes:

     Power words in titles (OpenRouter/GPT 4.1-mini)
     Thumbnail attention hooks (OpenAI Vision)
  All insights are appended into the “Niche Outliers” sheet.

  Purpose: Understand what the best creators in your niche are doing.

  🌐 Phase 2 — Broad Niche Insights (Weekly — Sundays @ 5 AM)

  Workflow scrapes the top videos for a broad niche (e.g., “artificial intelligence”).
  Analyzes:

     Title structure
     Power words
     Thumbnail cues
  Writes weekly insights to “Broad Niche Weekly” sheet.

  Purpose: Stay informed about macro‑level trends.

  🎯 Phase 3 — Niche Insights (Daily @ 6 AM)

  Scrapes the top videos in your specific micro‑niche (e.g., “n8n automations”).
  Runs title + thumbnail analysis.
  Appends daily results to “Niche Daily”.
  Results feed directly into Phase 5.

  Purpose: Track daily momentum and trending formats.

  💬 Phase 4 — Comment Analysis (Channel Feedback)

  Scrapes your channel’s latest 5 videos.
  Extracts up to 30 comments from each.
  Aggregates comments.
  AI identifies:

     What viewers love
     What viewers dislike
     What viewers are asking for
  Stores patterns in “Comment Analysis” sheet.

  Purpose: Understand real audience demand.

  💡 Phase 5 — Content Ideation Using AI

  Using insights from all previous phases:

  Top titles
  Power words
  Thumbnail patterns
  Daily niche trends
  Audience comment analysis
  Channel positioning

  The Creative Agent produces:

  3 optimized video titles
  3 matching thumbnail concepts

  These are appended to the “Ideation” sheet.

  A Slack notification is sent when ideation is ready.

  Purpose: Fully automated content idea generation.

  🗂️ Outputs in Google Sheets

  The workflow populates these tabs:

  📌 Niche Outliers (top competitor videos)

  📌 Broad Niche Weekly (weekly trend analysis)

  📌 Niche Daily (daily trend analysis)

  📌 Comment Analysis (audience sentiment)

  📌 Ideation (final titles + thumbnails)

  🔧 What This Workflow Automates

  ✔ Competitor analysis
  ✔ Thumbnail + title breakdowns
  ✔ Daily niche tracking
  ✔ Weekly niche tracking
  ✔ Viewer sentiment analysis
  ✔ Fully AI‑generated content ideas
  ✔ Automatic data logging to Google Sheets
  ✔ Slack notifications

  This is essentially a 24/7 AI YouTube strategist.

  ⚙️ Setup Requirements

  Apify API Key** (used in 5 scraper nodes)
  OpenRouter API Key** (for GPT 4.1-mini intelligence)
  OpenAI API Key** (for thumbnail image analysis)
  Google Sheets OAuth2 Credential**
  Make a copy of the provided sheet template
  Fill Set nodes:

    Phase II: Broad niche (e.g., "AI")
    Phase III: Micro niche (e.g., "n8n automations")
    Phase IV: Your Channel URL
    Phase V: Your Channel Description

  🧪 Testing Guide

  Test the Form Trigger with 3 competitor channel URLs.
  Test both Schedule Triggers (weekly + daily) manually.
  Verify Sheets are receiving rows.
  Run the full pipeline end‑to‑end.
  Confirm Slack notification.

  Everything should chain together smoothly.

  🎉 Final Result

  By the end of this workflow, you have a:

  🧠 Data‑driven YouTube strategy system

  that:

  studies your niche
  finds outliers
  understands your audience
  detects trends
  generates smart content ideas every day

nodes_used:
  ["n8n-nodes-base.formTrigger","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.merge","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.googleSheets","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.googleSheets","n8n-nodes-base.aggregate","n8n-nodes-base.slack","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.sort","n8n-nodes-base.filter","n8n-nodes-base.limit","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["AI/ML","Marketing"],"complexity":"medium","use_cases":["scrape competitor data","analyze video metrics","extract trending topics","write content ideas","update spreadsheets"],"estimated_setup_minutes":30,"required_services":["Apify","Google Sheets","OpenRouter"],"key_features":["competitor channel scraping","top-performing analysis","audiment sentiment extraction","AI-generated content ideation","automated spreadsheet updates"],"target_audience":["video creators","content strategists"]}


name: Create & Share AI Videos with Telegram, Gemini & Post to TikTok, Instagram, FB
author_name: Feras Dabour
author_username: ferasdabour
categories: []
created_at: 2025-11-14T18:52:07.437Z
updated_at: 2025-11-14T18:52:07.437Z
url: https://n8n.io/workflows/10850
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:20
description:
  Video Generation with Telegram Bot and Gemini API – Auto-Post to TikTok, Instagram & Facebook

  This n8n workflow turns your Telegram messenger into a full video content pipeline:
  you send a text or voice idea to a Telegram bot, collaborate with an AI on the script and caption, let Gemini generate the video, and then automatically publish it to TikTok, Instagram and Facebook – all with status tracking and Telegram confirmations.

  What You Need to Get Started

  This workflow connects several external services. You’ll need:

  Telegram Bot API Key**

    Create a bot via Telegram’s BotFather and copy the bot token.
    This is used by the Listen for incoming events and other Telegram nodes.

  OpenAI API Key**

    Required for:

      Speech to Text (OpenAI Whisper) – to transcribe voice notes.
      The OpenAI Chat Model used inside the AI Agent.

  Google Gemini / Vertex (via n8n Gemini Node)**

    Used by the Generate a video node (model: veo-3.0-fast-generate-001) to create the video.

  Google Drive**

    The generated video is temporarily stored in a Google Drive folder via Upload video and later downloaded again for uploading to  Blotato.

  Blotato API Key*

    Social media publishing layer:

      Uploads the video as media.
      Creates posts for TikTok, Instagram and Facebook.
      Exposes a status endpoint the workflow uses for polling.

  Google Sheets Access** (optional but included)

    Used by Save Prompt & Post-Text to log your prompts and captions.

  Once these credentials are configured in n8n, the workflow runs end-to-end from Telegram idea to multi-platform publishing.

  How the Workflow Operates – Step by Step

  1. Input & Initial Processing (Telegram + Voice Handling)

  This phase listens to your messages and normalizes them into a single text input for the AI.

  | Node Name                      | Role in Workflow                                                                                        |
  | ------------------------------ | ------------------------------------------------------------------------------------------------------- |
  | Listen for incoming events | Telegram Trigger node that starts the workflow whenever your bot receives a message (text or voice).    |
  | Voice or Text              | Set node that structures the incoming payload and prepares a unified text field for downstream nodes. |
  | A Voice?                   | IF node that checks whether the incoming message is a voice note or plain text.                         |
  | Get Voice File             | If voice is detected, this Telegram node downloads the audio file from Telegram.                        |
  | Speech to Text             | Uses OpenAI Whisper to convert the voice note into a text transcript.                                   |

  If you send text**:
    The workflow skips the voice download/transcription and goes directly to the AI agent with your original text.

  If you send a voice note**:
    The workflow downloads the file, runs it through Whisper in Speech to Text, and passes the resulting transcript onward.

  The output of this stage is always a clean text string representing your idea.

  2. AI Core & Approval Loop (Script + Caption via AI)

  Here the AI designs the video prompt (for Gemini) and the social media caption (for all platforms), then iterates with you until you approve.

  | Node Name                              | Role in Workflow                                                                                                                                                     |
  | -------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | AI Agent                           | Central logic agent. Takes your idea text and applies the system prompt to create a video prompt and social media caption. Handles revisions based on your feedback. |
  | OpenAI Chat Model                  | The LLM backing the agent (OpenAI Chat model).                                                                                                                       |
  | Window Buffer Memory               | Memory buffer that stores recent turns, so the agent can keep context across your “make it shorter / more fun / more technical” requests.                            |
  | Send questions or proposal to user | Telegram node that sends the AI’s suggested prompt + caption back to you for review.                                                                                 |
  | Approved from user?                | IF node that checks whether the agent’s output is the “approved” JSON (meaning you said “ok” / “approved”) or just a normal suggestion.                              |

  Video Prompt Assistant System Prompt (Internal Instructions)

  The AI Agent is configured with a system message like:

  &gt; You are a video prompt assistant for Telegram.
  &gt;
  &gt; 1. Analyze the user’s message and create a video prompt.
  &gt; 2. Create relevant social media text with hashtags.
  &gt; 3. Present both to the user and ask for feedback.
  &gt; 4. If the user requests changes, refine and present again.
  &gt; 5. Only when the user says “approved” or “ok”, output a final JSON:
  &gt;    { "videoPrompt": "...", "socialMediaText": "..." }

  Key behavior:

  Before approval**:
    The agent always responds with human-readable suggestions (prompt + caption) and a follow-up question asking what to change.
  After approval**:
    The agent returns only JSON (no Markdown, no explanation) with:

    videoPrompt – to be sent to Gemini.
    socialMediaText – to be used as a caption on all platforms.

  JSON Parsing

  | Node Name           | Role in Workflow                                                                                                                                                                                           |
  | ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | Parse AI Output | Code node that extracts videoPrompt and socialMediaText from the agent’s output. It is tolerant of different formats (e.g. JSON wrapped in markdown) and throws errors if required fields are missing. |

  If the AI output is approved JSON, this node returns two clean fields:

  videoPrompt
  socialMediaText

  These are used in all subsequent steps.

  3. User Feedback & Logging

  Right after parsing the final JSON, the workflow informs you and logs the content.

  | Node Name                        | Role in Workflow                                                                                                                                              |
  | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | Inform user about processing | Telegram node that tells you: “Okay. Your video is being prepared now. I’ll let you know as soon as it’s online.”                                           |
  | Save Prompt & Post-Text      | Google Sheets node that appends a new row containing the videoPrompt and socialMediaText to a sheet (e.g., for tracking which prompts/captions you used). |

  This gives you both visibility (confirmation message) and historical tracking of your content ideas.

  4. Video Generation with Gemini

  Now the actual video is created using Google Gemini’s video model.

  | Node Name            | Role in Workflow                                                                                                                 |
  | -------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
  | Generate a video | Gemini node (model models/veo-3.0-fast-generate-001) that uses videoPrompt to generate a vertical video (aspect ratio 9:16). |

  The videoPrompt from the AI agent is passed directly into this node.
  The resulting binary output is a generated short-form video suitable for TikTok, Reels and Stories.

  5. Staging the Video in Google Drive

  To make the video accessible for Blotato, the workflow uses Google Drive as a simple file staging area.

  | Node Name                      | Role in Workflow                                                                                                                                                    |
  | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | Upload video               | Uploads the generated video binary to a specific folder in Google Drive (n8n_videos). The file name is taken from the binary metadata or defaults to video.mp4. |
  | Download Video from Drive1 | Immediately downloads the uploaded video by file ID, this time as binary data suitable for passing into  [Blotato].                                                    |

  Using Drive ensures that the file is properly hosted and addressable when uploading to  [Blotato]’s media API.

  6. Uploading to  [Blotato]and Creating Posts

  First, the video is sent to  [Blotato] as a media asset. Then three separate posts are created for TikTok, Instagram, and Facebook.

  Media Upload

  | Node Name         | Role in Workflow                                                                                                          |
  | ----------------- | ------------------------------------------------------------------------------------------------------------------------- |
  | Upload media1 |  [Blotato] media node. Uploads the binary video as a media asset and returns a public url used by all post creation nodes. |

  Platform-Specific Post Creation

  From the uploaded media, the workflow fans out into three branches:

  | Node Name                | Platform      | Role in Workflow                                                                                                                              |
  | ------------------------ | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
  | Create TikTok post   | TikTok        | Creates a TikTok post using the media URL and socialMediaText as the caption. Also sets the flag that the video is AI-generated.            |
  | Create post1         | Instagram     | Creates an Instagram (or related) post linked to the  [Blotato] account (e.g., aimaginate_xx), using the same socialMediaText and media URL. |
  | Create Facebook post | Facebook Page | Creates a Facebook post on your specified page, again using the shared caption and media URL.                                                 |

  At this point, all three platforms have an initial “post submission” created via  [Blotato].
  Next, the workflow tracks their publishing status.

  7. Status Monitoring & Retry Loops

  Each platform has its own mini-loop that polls  [Blotato]) until the post is either published or failed.

  TikTok Status Loop

  | Node Name                        | Role in Workflow                                                                                                                     |
  | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
  | Wait                         | Initial 5-second (or configured) pause after creating the TikTok post.                                                               |
  | Check Post Status            |  Blotato “get” operation that fetches the current status (published, in-progress, etc.) of the TikTok post by postSubmissionId. |
  | Published to TikTok?         | IF node that checks if status === "published".                                                                                     |
  | Confirm publishing to Tiktok | Telegram node that notifies you when the TikTok post is live (often including a link or at least a confirmation text).               |
  | In Progress?                 | IF node that checks if status === "in-progress".                                                                                   |
  | Give Blotat other 5s :)      | Wait node that sleeps a bit before checking again. Feeds back into Published to TikTok? to create a polling loop.                |
  | Send TikTok Error Message    | Telegram node that informs you if the status is neither published nor in progress (i.e., a failure).                                 |

  Instagram Status Loop

  | Node Name                           | Role in Workflow                                                                     |
  | ----------------------------------- | ------------------------------------------------------------------------------------ |
  | Wait1                           | Wait node after Create post1, giving Blotato time to process the Instagram post. |
  | Get post1                       | Blotato “get” operation to read status of the Instagram post.                        |
  | Published to Instagram?         | IF node checking if status === "published".                                        |
  | Confirm publishing to Instagram | Telegram message with confirmation that your Instagram post is live.                 |
  | In Progress?1                   | IF node checking if status === "in-progress".                                      |
  | Give Blotat more time           | Wait node that loops back to Published to Instagram? for another status check.   |
  | Send Instagram Error Message    | Telegram notification if the Instagram post fails.                                   |

  Facebook Status Loop

  | Node Name                          | Role in Workflow                                                                 |
  | ---------------------------------- | -------------------------------------------------------------------------------- |
  | Wait2                          | Wait node after Create Facebook post (longer pause, e.g. 30 seconds).        |
  | Get Facebook post              | Blotato “get” operation to fetch Facebook post status.                           |
  | Published to Facebook?         | IF node testing for status === "published".                                    |
  | Confirm publishing to Facebook | Telegram notification that the Facebook post is online.                          |
  | In Progress?2                  | IF node checking if the Facebook post is still in progress.                      |
  | Give Blotat other 5s :)2       | Wait node that loops back into Published to Facebook? for repeated checks.   |
  | Send Facebook Error Message    | Telegram notification if the Facebook post fails or ends in an unexpected state. |

  This structure ensures that each platform is monitored independently, with clear success or error messages delivered right into your Telegram chat.

  🛠️ Personalizing Your Video Content Bot

  The real power of this workflow is how easy it is to adapt it to your own style, platforms, and preferences.

  1. Tweak the AI Prompt & Behavior

  Where:* Inside the *AI Agent* node, in the *System Message (systemMessage) of the options.
  What you can change:**

    The tone (funny, educational, corporate, storytelling, etc.).
    The level of detail in the video prompt (camera moves, style, characters, environment).
    The caption structure (hook, value, CTA, hashtag strategy).
    Whether the agent should produce multiple variants or just one.

  You can also extend it, e.g.:

  Ask for multi-slide carousel prompts instead of a single video.
  Force language (e.g., always English, always German).
  Add platform-specific hints (e.g., stronger hooks for TikTok).

  2. Change Video Model or Aspect Ratio

  Where:* *Generate a video** node.
  Options:**

    Swap the model (within the Gemini node) if you want higher quality or different behavior.
    Adjust the aspectRatio from 9:16 to 16:9 or 1:1 depending on your target platform.

  3. Modify Which Platforms You Post To

  Where:** Blotato nodes:

    Create TikTok post
    Create post1 (Instagram)
    Create Facebook post

  You can:

  Disable or delete branches for platforms you don’t use.
  Add new accounts or platforms supported by Blotato.
  Use different captions per platform (e.g. shorter for TikTok, more detailed for Facebook) by adding extra AI formatting steps.

  4. Adjust Wait Times and Retry Logic

  Where:** Wait and IF nodes:

    Wait, Wait1, Wait2, Give Blotat other 5s :), Give Blotat more time, Give Blotat other 5s :)2
  What:**

    Increase or decrease retry intervals.
    Limit the number of loops (e.g. by adding a counter) if needed.
    Customize error messages in the Telegram nodes.

  5. Extend Logging & Analytics

  Where:* *Save Prompt & Post-Text** (Google Sheets).
  Ideas:**

    Add more columns (timestamp, platform flags, target audience, campaign name).
    Write back publish status and final URLs after success.
    Use this sheet as a content inventory or analytics base.

  In short, this workflow gives you a full AI-powered video pipeline:

  Idea (text/voice) via Telegram
  Drafting & approval of video prompt + caption via OpenAI agent
  Video generation with Gemini (veo)
  Staging in Google Drive
  Auto-posting and status monitoring across TikTok, Instagram & Facebook via Blotato
  All communication and confirmations returned directly to Telegram

  And everything is fully editable so you can adapt it precisely to your personal brand and content strategy.

nodes_used:
  ["@n8n/n8n-nodes-langchain.googleGemini","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.telegramTrigger","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.set","n8n-nodes-base.telegram","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.googleDrive","@blotato/n8n-nodes-blotato.blotato","@blotato/n8n-nodes-blotato.blotato","@blotato/n8n-nodes-blotato.blotato","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.if","n8n-nodes-base.wait","n8n-nodes-base.if","n8n-nodes-base.wait","n8n-nodes-base.if","n8n-nodes-base.wait","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.googleSheets","n8n-nodes-base.googleDrive","@blotato/n8n-nodes-blotato.blotato","@blotato/n8n-nodes-blotato.blotato","n8n-nodes-base.wait","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.if","@blotato/n8n-nodes-blotato.blotato","@blotato/n8n-nodes-blotato.blotato","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 9400 characters]

metadata_json:
  {"categories":["Marketing","Communication","AI/ML","Social Media"],"complexity":"medium","use_cases":["create viral short-form videos","automate social media posting","generate AI voiceovers","convert text ideas to video","collaborate via chatbot"],"estimated_setup_minutes":60,"required_services":["Telegram","Google Gemini","TikTok","Instagram","Facebook"],"key_features":["end-to-end video generation","AI script and caption creation","multi-platform auto-publishing","chatbot interaction","collaborative script review"],"target_audience":["social media managers","content creators","marketing teams"]}


name: Reduce LLM Costs with Semantic Caching using Redis Vector Store and HuggingFace
author_name: Tihomir Mateev
author_username: tishun
categories: []
created_at: 2025-11-16T15:28:26.249Z
updated_at: 2025-11-16T15:28:26.249Z
url: https://n8n.io/workflows/10887
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:20
description:
  Stop Paying for the Same Answer Twice 

  Your LLM is answering the same questions over and over. "What's the weather?" "How's the weather today?" "Tell me about the weather." Same answer, three API calls, triple the cost. This workflow fixes that.

  What Does It Do?

  Semantic caching with superpowers. When someone asks a question, it checks if you've answered something similar before. Not exact matches—semantic similarity. If it finds a match, boom, instant cached response. No LLM call, no cost, no waiting.

  First time: "What's your refund policy?" → Calls LLM, caches answer  
  Next time: "How do refunds work?" → Instant cached response (it knows these are the same!)  
  Result: Faster responses + way lower API bills

  The Flow

  Question comes in through the chat interface
  Vector search checks Redis for semantically similar past questions
  Smart decision: Cache hit? Return instantly. Cache miss? Ask the LLM.
  New answers get cached automatically for next time
  Conversation memory keeps context across the whole chat

  It's like having a really smart memo pad that understands meaning, not just exact words.

  Quick Start

  You'll need:
  OpenAI API key (for the chat model)
  huggingface API key (for embeddings)
  Redis 8.x (for vector magic)

  Get it running:
  Drop in your credentials
  Hit the chat interface
  Watch your API costs drop as the cache fills up

  That's it. No complex setup, no configuration hell.

  Tune It Your Way

  The distanceThreshold in the "Analyze results from store" node is your control knob:

  Lower (0.2)**: Strict matching, fewer false positives, more LLM calls
  Higher (0.5)**: Loose matching, more cache hits, occasional weird matches
  Default (0.3)**: Sweet spot for most use cases

  Play with it. Find what works for your questions.

  Hack It Up

  Some ideas to get you started:

  Add TTL**: Make cached answers expire after a day/week/month
  Category filters**: Different caches for different topics
  Confidence scores**: Show users when they got a cached vs fresh answer
  Analytics dashboard**: Track cache hit rates and cost savings
  Multi-language**: Cache works across languages (embeddings are multilingual!)
  Custom embeddings**: Swap OpenAI for local models or other providers

  Real Talk 💡

  When it shines:
  Customer support (same questions, different words)
  Documentation chatbots (limited knowledge base)
  FAQ systems (obvious use case)
  Internal tools (repetitive queries)

  When to skip it:
  Real-time data queries (stock prices, weather, etc.)
  Highly personalized responses
  Questions that need fresh context every time

  Pro tip: Start with a higher threshold (0.4-0.5) and tighten it as you see what gets cached. Better to cache too much at first than miss obvious matches.

  Built with n8n, Redis, Huggingface and OpenAI. Open source, self-hosted, completely under your control.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryRedisChat","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.vectorStoreRedis","@n8n/n8n-nodes-langchain.chat","@n8n/n8n-nodes-langchain.chat","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.vectorStoreRedis","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","n8n-nodes-base.stickyNote","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.embeddingsHuggingFaceInference","@n8n/n8n-nodes-langchain.embeddingsHuggingFaceInference","n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.vectorStoreRedis","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.embeddingsHuggingFaceInference","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter"]

workflow_json_compressed:
  [encoded data, 5624 characters]

metadata_json:
  {"categories":["AI/ML","Cost Optimization","Data Processing"],"complexity":"medium","use_cases":["Reduce LLM API costs","Cache semantic queries","Handle duplicate questions","Optimize token usage"],"estimated_setup_minutes":15,"required_services":["Redis","HuggingFace","AI"],"key_features":["Semantic caching","Vector store integration","Similarity matching","Automatic lru eviction"],"target_audience":["developers","ml engineers","ops engineers"]}


name: Auto Generate Descriptive Node Names with AI for Workflow Readability
author_name: Anan
author_username: mohamed3nan
categories: []
created_at: 2025-11-16T15:58:08.323Z
updated_at: 2025-11-16T15:58:08.323Z
url: https://n8n.io/workflows/10889
scraped_at: 2026-05-02 08:04:48
metadata_generated_at: 2026-05-02 08:36:21
description:
  ⚡Auto Rename n8n Workflow Nodes with AI✨
  This workflow uses AI to automatically generate clear and descriptive names for every node in your n8n workflows.
  It analyzes each node's type, parameters, and connections to create meaningful names, making your workflows instantly readable.

  Who is it for?
  This workflow is for n8n users who manage complex workflows with dozens of nodes. If you've ever:
  Built workflows full of generic names like HTTP Request 2 or Edit Fields 1
  Struggled to understand your own work after a few weeks
  Copied workflows from others with unclear node names
  Spent hours manually renaming nodes one by one

  ...then this workflow will save you significant time and effort.

  Requirements
  n8n API Credentials**: Must be configured to allow listing and updating workflows
  AI Provider Credentials**: An API key for your preferred AI provider (OpenRouter is used currently)

  How it works
  Trigger: Launch via form (select from dropdown) or manual trigger (quick testing with pre-selected workflow)
  Fetch: Retrieve the target workflow's JSON and extract nodes and connections
  Generate: Send the workflow JSON to the AI, which creates a unique, descriptive name for every node
  Validate: Verify the AI mapping covers all original node names
  Apply: If valid, update all node names, parameter references, and connections throughout the workflow
  Save: Save/Update the workflow with renamed nodes and provide links to both new and previous versions


  If validation fails (e.g., AI missed nodes), the workflow stops with an error. You can modify the error handling to retry or loop back to the AI node.

  Setup
  Connect n8n API credentials
     Open any n8n node in the workflow and make sure your n8n API credentials is connected

  Configure AI provider credentials
     Open the "OpenRouter" node (or replace with your preferred AI)
     Add your API credentials
     Adjust the model if needed (current: openai/gpt-5.1-codex-mini)

  Test the workflow
     Use Manual Trigger for quick testing with a pre-selected workflow
     Use Form Trigger for a user-friendly interface with workflow selection

  Important notice
  If you're renaming a currently opened workflow, you must reload the page after execution to see the latest version, n8n doesn't automatically refresh the canvas when workflow versions are updated via API.

  Need help?
  If you're facing any issues using this workflow, join the community discussion on the n8n forum.

nodes_used:
  ["n8n-nodes-base.n8n","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.form","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.n8n","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stopAndError","n8n-nodes-base.n8n","n8n-nodes-base.aggregate","n8n-nodes-base.form","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.n8n","n8n-nodes-base.formTrigger","n8n-nodes-base.manualTrigger","n8n-nodes-base.set"]

workflow_json_compressed:
  [encoded data, 9544 characters]

metadata_json:
  {"categories":["AI/ML"],"complexity":"medium","use_cases":["auto rename workflow nodes","improve workflow readability","generate descriptive node names","organize complex workflows"],"estimated_setup_minutes":15,"required_services":["OpenRouter (AI/ML)","n8n (internal)"],"key_features":["AI-driven node naming","context-aware naming","connection-aware analysis","auto parameter extraction"],"target_audience":["n8n developers","workflow administrators","cognitive developers"]}


name: Generate LinkedIn Carousel Images from Text with Mistral AI & S3 Storage
author_name: DIGITAL BIZ TECH
author_username: dbt
categories: []
created_at: 2025-11-17T05:06:54.929Z
updated_at: 2025-11-17T05:06:54.929Z
url: https://n8n.io/workflows/10900
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:22
description:
  AI Carousel Caption & Template Editor Workflow

  Overview
  This workflow is a caption-only carousel text generator built in n8n. It turns any raw LinkedIn post or text input into 3 short, slide-ready title + subtext captions and renders those captions onto image templates. Output is a single aggregated response with markdown image embeds and download links.

  Workflow Structure
  Input:** Chat UI trigger accepts text and optional template selection.  
  Core AI:** Agent cleans input and returns structured JSON with 3 caption pairs.  
  Template Rendering:** Edit Image nodes render title and subtext on chosen templates.  
  Storage:** Rendered images uploaded to S3.  
  Aggregate Output:** Aggregate node builds final markdown response with embeds and download links.

  Chat Trigger (Frontend)
  Trigger:** When chat message received  
    UI accepts plain text post.  
    allowFileUploads optional for template images.  
    SessionId preserved for context.

  AI Agent (Core)
  Node name:** AI Agent  
  Model:** Mistral Cloud Chat Model (mistral-small-latest)  
  Behavior:**  
    Clean input (remove stray formatting like \n and ** but keep emojis).  
    Produce exactly one JSON object with fields: postclean, title1, subtext1, title2, subtext2, title3, subtext3.  
    Titles must be short (max 5 words). Subtext 1 or 2 short sentences, max 7 words per line if possible.  
    Agent must return valid JSON to be parsed by the Structured Output Parser.

  Structured Output Parser
  Node name:** Structured Output Parser  
  Validates agent JSON and prevents downstream errors. If parsing fails, stop and surface error.

  Normalize Title Nodes
  Nodes:** normalize title,name 1, normalize title,name 2, normalize title,name 3 (and optional 4)  
  Map parsed output into node fields: title, subtext, safeName (safe filename for exports).

  Template Images
  Source:** Google Drive template PNGs (download via Google Drive nodes) or provided upload.  
  Keep templates high resolution and consistent aspect ratio.

  Edit Image Nodes (Render Captions)
  Nodes:** Edit Image 1, Edit Image2, Edit Image3, Edit Image3 (or Edit Image3/Edit Image4 as available)  
  MultiStep operations render:
    Title text (font, size, position)  
    Subtext (font, size, position)  
  This is where caption text is added to the template.

  Upload to S3
  Nodes:** S3  
  Upload rendered images to bucketname using safeName filenames. Confirm public access or use signed URLs.

  Get S3 URLs and Aggregate
  Nodes:** get s3 url image 1, get s3 url image 2, get s3 url image 3, get s3 url image 4  
  Merge + Aggregate:** Merge1 and Aggregate collect image items.  
  Output Format:** output format builds a single markdown message:
    Inline image embeds ``  
    Download links per image.

  Integrations Used
  | Service | Purpose | Credential |
  |---------|---------|-----------|
  | Mistral Cloud | AI agent model | Mistral account |
  | Google Drive | Template image storage | Google Drive account  |
  | S3 | Store rendered images and serve links | Supabase account  |
  | n8n Core | Flow control, parsing, image editing | Native |

  Agent System Prompt Summary
  &gt; You are a data formatter and banner caption creator. Clean the user input (remove stray newlines and markup but keep emojis). Return a single JSON object with postclean, title1/subtext1, title2/subtext2, title3/subtext3. Titles must be short (max 5 words). Subtext should be 1 to 2 short sentences, useful and value adding. Respond only with JSON.

  Key Features
  Caption only output: 3 short slide-ready caption pairs.  
  Structured JSON output enforced by a parser for reliability.  
  Renders captions onto image templates using Edit Image nodes.  
  Uploads images to S3 and returns markdown embeds plus download links.  
  Template editable: swap Google Drive background templates or upload your own.  
  Zero guess formatting: agent must produce parseable JSON to avoid downstream failures.

  Summary
  A compact n8n workflow that converts raw LinkedIn text into a caption-only carousel with rendered images. It enforces tight caption rules, validates AI JSON, places captions on templates, uploads images, and returns a single ready-to-post markdown payload.

  Need Help or More Workflows?
  We can wire this into your account, replace templates, or customize fonts, positions, and export options.  
   We can help you set it up for free — from connecting credentials to deploying it live.

  Contact: rajeet.nair@digitalbiz.tech    
  Website: https://www.digitalbiz.tech  
  LinkedIn: https://www.linkedin.com/company/digital-biz-tech/   
  You can also DM us on LinkedIn for any help.

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatMistralCloud","n8n-nodes-base.s3","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.s3","n8n-nodes-base.s3","n8n-nodes-base.s3","n8n-nodes-base.editImage","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.editImage","n8n-nodes-base.editImage","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 8280 characters]

metadata_json:
  {"categories":["AI/ML","Marketing"],"complexity":"medium","use_cases":["generate LinkedIn carousel captions","convert text to image slides","create social media assets","extract presentation titles"],"estimated_setup_minutes":15,"required_services":["Mistral AI","AWS S3","Google Drive"],"key_features":["multi-slide caption generation","text-to-image rendering","automatic template selection","markdown embed setup"],"target_audience":["developers","content creators","social media managers"]}


name: Monitor eBay deals with GPT-4 scoring,Decodo & Telegram notifications
author_name: Kevin Meneses
author_username: pythonia-kevin
categories: []
created_at: 2025-11-18T11:13:18.855Z
updated_at: 2025-11-18T11:13:18.855Z
url: https://n8n.io/workflows/10959
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:21
description:
  What this workflow does

  This workflow automatically monitors eBay Deals and sends Telegram alerts when relevant, high-quality deals are detected.

  It combines:
  Web scraping with Decodo**
  JavaScript pre-processing (no raw HTML sent to the LLM)**
  AI-based product classification and deal scoring**
  Rule-based filtering using price and score**

  Only valuable deals reach the final notification.

  How it works (overview)

  The workflow runs manually or on a schedule.
  The eBay Deals page is scraped using Decodo, which handles proxies and anti-bot protections.  
  Decodo – Web Scraper for n8n
  JavaScript extracts only key product data (ID, title, price, URL, image).
  An AI Agent classifies each product and assigns a deal quality score (0–10).
  Price and score rules are applied.
  Matching deals are sent to Telegram.

  How to configure it

  1. Decodo
  Add your Decodo API credentials to the Decodo node.
  Optionally change the target eBay URL.

  2. AI Agent
  Add your LLM credentials (e.g. Google Gemini).
  No HTML is sent to the model — only compact, structured data.

  3. Telegram
  Add your Telegram Bot Token.
  Set your chat_id in the Telegram node.
  Customize the alert message if needed.

  4. Filtering rules
  Adjust price limits and minimum deal score in the IF node

nodes_used:
  ["n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.code","@decodo/n8n-nodes-decodo.decodo","n8n-nodes-base.merge","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 8752 characters]

metadata_json:
  {"categories":["AI/ML","Data Processing","Communication"],"complexity":"medium","use_cases":["detect_relevant_eBay_deals","automate_price_alerts","filter_quality_deals","notify_deal_updates"],"estimated_setup_minutes":45,"required_services":["Decodo","Telegram"],"key_features":["realtime_web_scraping","gpt4_product_classification","ai_scoring_pipeline","telegram_notifications"],"target_audience":["deal_seekers","developers","marketers"]}


name: 📰 EU sustainability news curation with RSS, GPT, Gmail, ElevenLabs & Telegram
author_name: Samir Saci
author_username: samirsaci
categories: []
created_at: 2025-11-18T12:55:35.450Z
updated_at: 2025-11-18T12:55:35.450Z
url: https://n8n.io/workflows/10961
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  Tags: EU News, RSS, AI Classifier, Data Table, Email Digest, Automation, n8n

  Context

  Hi! I’m Samir , Supply Chain Engineer and Data Scientist based in Paris, and founder of the startup LogiGreen.

  This workflow helps me closely follow EU sustainability news that impacts my business.



  &gt; Use this assistant to automatically curate and summarize EU news tailored to the topics that matter most to you.

  By default, the workflow filters sustainability-related news, but you can easily adapt the topic description (e.g. AI, trade, digital, energy) using the edit node Topic Config.

  📬 For business inquiries, you can find me on LinkedIn

  Who is this template for?

  This template is designed for:

  Policy analysts and researchers** who want to track EU updates on a specific topic
  Consultants and sustainability teams** who need a daily view of relevant announcements
  Business owners or startup founders**, like myself, who need to adapt their business strategies to the recent news

  What does this workflow do?

  This workflow acts as an AI-powered EU news filter and digest generator.

  Fetches the latest press releases from the Council of the EU RSS feed every morning at 09:00
  Filters out all the news already recorded to avoid duplicates  
  Uses an AI classifier (OpenAI) to decide whether each article is relevant to your topic  
  Stores only the relevant items in an n8n Data	 Table  
  Generates a formatted HTML newsletter grouping the day’s relevant articles  
  Sends the digest by email using the Gmail node
  Generates an audio summary with ElevenLabs that is sent via Telegram

  Here’s an example of the generated email:

  🎥 Tutorial

  A complete tutorial (with explanations of every node) is available on YouTube:

  Next Steps

  🗒️ Inside the workflow:

  Replace the Data Table reference with your own  
  Set up your Gmail, OpenAI and ElevenLabs credentials
  Update the recipient email address in the Gmail node
  Customize the HTML digest (colors, logo, style) in the Code node  
  Adjust the schedule time if necessary  

  Submitted: 18 November 2025
  Template designed with n8n version 1.116.2

nodes_used:
  ["n8n-nodes-base.splitInBatches","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.rssFeedRead","n8n-nodes-base.if","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.dataTable","n8n-nodes-base.merge","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-base.dataTable","n8n-nodes-base.dataTable","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","@elevenlabs/n8n-nodes-elevenlabs.elevenLabs","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 8968 characters]

metadata_json:
  {"categories":["Communication","Data Processing"],"complexity":"medium","use_cases":["automated news monitoring","content summarization","scheduled email delivery"],"estimated_setup_minutes":15,"required_services":["Google RSS","ElevenLabs","Gmail","Telegram"],"key_features":["AI content classification","multi-channel delivery","text-to-speech generation","custom filtering logic"],"target_audience":["supply chain engineers","sustainability managers","data scientists"]}


name: Amazon Price Drop Analysis with Decodo, GPT-4.1-mini & Google Sheets Integration
author_name: Ranjan Dailata
author_username: ranjancse
categories: []
created_at: 2025-11-18T13:26:51.377Z
updated_at: 2025-11-18T13:26:51.377Z
url: https://n8n.io/workflows/10962
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  This workflow automatically scrapes Amazon price-drop data via Decodo, extracts structured product details with OpenAI, generates summaries and sentiment insights for each item, and saves everything to Google Sheets — creating a fully automated price-intelligence pipeline.

  Disclaimer

  Please note - This workflow is only available on n8n self-hosted as it’s making use of the community node for the Decodo Web Scraping

  Who this is for

  This workflow is designed for e-commerce analysts, product researchers, price-tracking teams, and affiliate marketers who want to:

  Monitor daily Amazon product price drops automatically.
  Extract key information such as product name, price, discount, and links.
  Generate AI-driven summaries and sentiment insights on the latest deals.
  Store all structured data directly in Google Sheets for trend analysis and reporting.

  What problem this workflow solves

  This workflow solves the following:

  Eliminates the need for manual data scraping or tracking.
  Turns unstructured web data into structured datasets.
  Adds AI-generated summaries and sentiment analysis for smarter decision-making.
  Enables automated, daily price intelligence tracking across multiple product categories.

  What this workflow does

  This automation combines Decodo’s web scraping, OpenAI GPT-4.1-mini, and Google Sheets to deliver an end-to-end price intelligence system.

  Trigger & Setup  
     Manually start the workflow.
     Input your price-drop URL (default: CamelCamelCamel Daily Drops).

  Web Scraping via Decodo  
     Decodo scrapes the Amazon price-drop listings and extracts product details (title, price, savings, product link).

  LLM-Powered Data Structuring  
     The extracted content is sent to OpenAI GPT-4.1-mini to format and clean the output into structured JSON fields.

  Loop & Deep Analysis  
     Each product URL is revisited by Decodo for content enrichment.
     The AI performs two analyses per product:
       Summarization: Generates a comprehensive summary of the product.
       Sentiment Analysis: Detects tone (positive/neutral/negative), sentiment score, and key topics.

  Aggregation & Storage  
     All enriched results are merged and aggregated.
     Structured data is automatically appended to a connected Google Sheet.

  End Result:  

  A ready-to-use dataset showing each price-dropped product, its summary, sentiment polarity, and key highlights updated in real time.

  Setup

  Pre-requisite

  Please make sure to install the n8n custom node for Decodo.

  If you are new to Decode, please signup on this link visit.decodo.com

  Import and Connect Credentials
  Import the workflow into your n8n self-hosted instance.

  Connect:
  OpenAI API (GPT-4.1-mini)** → for summarization and sentiment analysis  
  Decodo API** → for real-time price-drop scraping  
  Google Sheets OAuth2** → to save structured results  

  Configure Input Fields
  In the “Set input fields” node:
  Update the price_drop_url to your target URL (e.g., https://camelcamelcamel.com/top_drops?t=weekly).

  Run the Workflow
  Click “Execute Workflow” or schedule it to run daily to automatically fetch and analyze new price-drop listings.

  Check Output
  The aggregated data is saved to a Google Sheet (Pricedrop Info).
  Each record contains:
    Product name  
    Current price and savings  
    Product link  
    AI-generated summary  
    Sentiment classification and score  

  How to customize this workflow

  Change Source
  Replace the price_drop_url with another CamelCamelCamel or Amazon Deals URL.
  Add multiple URLs and loop through them for category-based price tracking.

  Modify Extraction Schema
  In the Structured Output Parser, modify the JSON schema to include fields like:
    category, brand, rating, or availability.

  Tune AI Prompts
  Edit the Summarize Content and Sentiment Analysis nodes to:
    Add tone analysis (e.g., promotional vs. factual).
    Include competitive product comparison.

  Integrate More Destinations
  Replace Google Sheets with:
    Airtable → for no-code dashboards.  
    PostgreSQL/MySQL → for large-scale storage.  
    Notion or Slack → for instant price-drop alerts.

  Automate Scheduling
  Add a Cron Trigger node to run this workflow daily or hourly.

  Summary

  This workflow creates a fully automated price intelligence system that:

  Scrapes Amazon product price drops via Decodo.
  Extracts structured data with OpenAI GPT-4.1-mini.
  Generates AI-powered summaries and sentiment insights.
  Updates a connected Google Sheet with each run.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.merge","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@decodo/n8n-nodes-decodo.decodo","@n8n/n8n-nodes-langchain.lmChatOpenAi","@decodo/n8n-nodes-decodo.decodo","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.informationExtractor","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6616 characters]

metadata_json:
  {"categories":["Data Processing","E-commerce","Marketing"],"complexity":"medium","use_cases":["scrape product prices","analyze price trends","generate market insights","automate price monitoring","export data to spreadsheets"],"estimated_setup_minutes":15,"required_services":["Amazon","Decodo","OpenAI","Google Sheets"],"key_features":["web scraping automation","AI-powered data extraction","sentiment analysis","automated reporting","data aggregation into spreadsheets"],"target_audience":["e-commerce analysts","product managers","market researchers"]}


name: 🏫 English lesson generator from podcasts with RSS, GPT-4, ElevenLabs and Gmail
author_name: Samir Saci
author_username: samirsaci
categories: []
created_at: 2025-11-18T14:58:22.738Z
updated_at: 2025-11-18T14:58:22.738Z
url: https://n8n.io/workflows/10968
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  Tags: ESL, English Learning, Podcasts, RSS, AI Exercises, ElevenLabs

  Context

  Hi! I’m Samir, Supply Chain Engineer and Data Scientist based in Paris, and founder of the startup LogiGreen.

  I created this workflow for my mother, who is currently learning English, to turn the BBC 6 Minute English podcast into ready-to-use English lessons.



  The lesson includes vocabulary, exercises and discussion questions along with links to access the podcast content (audio and transcript).

  &gt; Use this assistant to automatically share English lessons from a renowned podcast.


  📬 For business inquiries, you can find me on LinkedIn

  Who is this template for?

  This template is designed for:

  ESL teachers** who want a fresh, structured lesson every week from real-life audio
  Independent learners** who want a guided way to study English with podcasts
  Language schools or content creators** who send regular English lessons by email

  What does this workflow do?

  This workflow acts as an AI-powered English lesson generator from podcast episodes.

  Runs every Sunday at 20:00 using a Schedule Trigger and reads the BBC 6 Minute English RSS feed  
  Checks a Data Table of archived episodes and filters out those already sent (using their guid)  
  Keeps the latest unsent episode and loads its web page content via HTTP  
  Parses the HTML in a Code node to extract the episode description, full transcript and BBC vocabulary list  
  Calls three AI nodes (OpenAI) to generate:
     a motivational email hook message
     fill-in-the-blank vocabulary exercises
     discussion questions related to the topic  
  Combines all vocabulary words and sends them to ElevenLabs to generate a slow-paced audio track for listening practice  
  Builds a prettify HTML email that includes: title, description, hook, vocabulary list, exercises, discussion questions and resource links  
  Sends the final lesson by email via the Gmail node, with the vocabulary audio attached  

  For example, this is the latest email generated by the workflow:



  P.S.: You can customise the footer to your school or company identity.

  🎥 Tutorial

  I advise you to check the tutorial on my YouTube channel for the details on how to set up the nodes and customise the content:

  Next Steps

  Follow the stickers to set up all the nodes:

  Replace the Data Table reference with your own (storing at least guid, title, link, processed_date)  
  Set up your OpenAI credentials in the three Model nodes  
  Set up your ElevenLabs credentials and choose a voice in the audio node  
  Configure your Gmail credentials and recipient email address in the Send Email node  
  Adapt the RSS feed URL if you want to track another podcast or source  
  Customise the HTML email (colours, logo, footer text) in the Prepare Email Code node  
  Adjust the schedule (time or frequency) if you prefer another cadence  

  Submitted: 18 November 2025  
  Template designed with n8n version 1.116.2

nodes_used:
  ["n8n-nodes-base.limit","n8n-nodes-base.code","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.rssFeedRead","n8n-nodes-base.aggregate","n8n-nodes-base.merge","n8n-nodes-base.filter","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.merge","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.splitOut","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","@elevenlabs/n8n-nodes-elevenlabs.elevenLabs","n8n-nodes-base.dataTable","n8n-nodes-base.merge"]

workflow_json_compressed:
  [encoded data, 12020 characters]

metadata_json:
  {"categories":["Education"],"complexity":"medium","use_cases":["generate English lesson plans","extract podcast transcripts","transform audio content into exercises"],"estimated_setup_minutes":30,"required_services":["Gmail","ElevenLabs","OpenAI (GPT-4)","RSS Reader"],"key_features":["automated curriculum creation","AI-driven vocabulary extraction","custom speech generation","multimedia resource integration"],"target_audience":["parenting","teachers","non-native english speakers"]}


name: Convert YouTube videos to audio summaries with Decodo, OpenAI & Telegram
author_name: Atta
author_username: attakhalighi
categories: []
created_at: 2025-11-18T17:31:14.739Z
updated_at: 2025-11-18T17:31:14.739Z
url: https://n8n.io/workflows/10981
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:21
description:
  Stop watching long videos, start listening to concise summaries.

  This workflow transforms any YouTube video URL sent via Telegram into a high-quality, spoken audio summary (MP3) and a structured text overview. It acts as your personal AI research assistant, turning lengthy content into bite-sized audio files that you can consume on the go.

  It leverages Decodo for robust transcript extraction, OpenAI for intelligent summarization, and for realistic text-to-speech generation.

  ✨ Features
  Telegram-First Interface:** Send links and receive audio directly in your chat app.
  Smart Validation:** Automatically checks if the link is a valid YouTube URL before processing to save API credits.
  Multi-Language Support:** Easily configure the output language (English, Spanish, German, etc.) via a simple Config node. The AI will translate and speak in this language.
  Robust Error Handling:** Gracefully handles videos with no captions/transcripts by notifying the user instead of breaking the workflow.
  Structured Data Extraction:** Uses AI to extract the Genre, Title, and Summary alongside the audio file.

  ⚙️ How it Works
  Trigger: You send a YouTube URL to your Telegram Bot.
  Validate: The workflow checks the URL pattern using Regex.
  Extract: Decodo scrapes the video page to retrieve the full transcript JSON.
  Process: A Code node flattens the complex JSON into a readable text format.
  Summarize: OpenAI (gpt-4o-mini) analyzes the text and writes a script optimized for listening.
  Speak: OpenAI converts the script into a high-definition MP3 file.
  Deliver: The bot replies with the Audio File and a formatted text summary including the genre tags and original link.

  📥 Decodo Node Installation

  The Decodo node is used in this workflow for fetching the YouTube Transcript.

  Find the Node: Click the + button in your n8n canvas.
  Search: Search for the Decodo node and select it.
  Credentials: When configuring the first Decodo node, use your API key (obtained with the 80% discount coupon).
  Setup: Open the Decodo (Fetch YouTube Transcript) node to ensure it is correctly targeting the YouTube service.

  🎁 Get a free Web Scraping API subscription here 👉🏻 https://visit.decodo.com/X4YBmy

  ➕ How to Adapt the Template

  This workflow is highly flexible and can be modified for various content tasks:

  Change AI Model:* Easily swap the *OpenAI Chat Model* node with an *OpenAI* or *Anthropic (Claude)** node without altering the core logic.
  Create Long-Form Drafts:** Modify the AI System Prompt to generate a full 1,000-word blog post draft or a set of social media updates instead of a short audio script.
  Change Destination:* Replace the *Telegram* nodes with *Slack, **Microsoft Teams, Email (Gmail/SMTP), or Discord to deliver the audio and summary to your preferred channel.
  Create an Archive:* Connect the successful output to a *Google Sheets* or *Airtable** node to keep a searchable archive of every video summary created.

nodes_used:
  ["n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegramTrigger","n8n-nodes-base.if","@decodo/n8n-nodes-decodo.decodo","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.telegram","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi"]

workflow_json_compressed:
  [encoded data, 7016 characters]

metadata_json:
  {"categories":["AI/ML","Communication","Media Processing"],"complexity":"medium","use_cases":["summarize YouTube videos","create audio summaries","generate structured overviews","automate content extraction"],"estimated_setup_minutes":15,"required_services":["Decodo","OpenAI","Telegram"],"key_features":["YouTube transcript extraction","AI-powered text summarization","Realistic text-to-speech synthesis","Telegram API integration"],"target_audience":["content consumers","researchers","students"]}


name: 🗜️ Automate image compression in Google Drive with Tinify API and email reports
author_name: Samir Saci
author_username: samirsaci
categories: []
created_at: 2025-11-18T18:14:59.417Z
updated_at: 2025-11-18T18:14:59.417Z
url: https://n8n.io/workflows/10982
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  Tags: Image Compression, Tinify API, TinyPNG, SEO Optimisation, E-commerce, Marketing

  Context

  Hi! I’m Samir Saci, Supply Chain Engineer, Data Scientist based in Paris, and founder of LogiGreen.

  I built this workflow for an agency specialising in e-commerce to automate the daily compression of their images stored in a Google Drive folder.



  This is particularly useful when managing large libraries of product photos, website assets or marketing visuals that need to stay lightweight for SEO, website performance or storage optimisation.

  &gt; Test this workflow with the free tier of the API!

  📬 For business inquiries, you can find me on LinkedIn

  Who is this template for?

  This template is designed for:

  E-commerce managers** who need to keep product images optimised  
  Marketing teams** handling large volumes of visuals  
  Website owners** wanting automatic image compression for SEO  
  Anyone using Google Drive** to store images that gradually become too heavy  

  What does this workflow do?

  This workflow acts as an automated image compressor and reporting system using Tinify, Google Drive, and Gmail.

  Runs every day at 08:00 using a Schedule Trigger  
  Fetches all images from the Google Drive Input folder  
  Downloads each file and sends it to the Tinify API for compression  
  Downloads the optimised image and saves it to the Compressed folder  
  Moves the original file to the Original Images archive  
  Logs: fileName, originalSize, compressedSize, imageId, outputUrl and processingId into a Data Table  
  After processing, it retrieves all logs for the current batch  
  Generates a clean HTML report summarising the compression results  
  Sends the report via Gmail, including total space saved  

  Here is an example from my personal folder:



  Here is the report generated for these images:



  P.S.: You can customise the report to match your company branding or visual identity.

  🎥 Tutorial

  A complete tutorial (with explanations of every node) is available on YouTube:

  Next Steps

  Before running the workflow, follow the sticky notes and configure the following:

  Get your Tinify API key for the free tier here: Get your key  
  Replace Google Drive folder IDs in: Input, Compressed, and Original Images  
  Replace the Data Table reference with your own (fields required: fileName, originalSize, compressedSize, imageId, outputUrl, processingId)  
  Add your Tinify API key in the HTTP Basic Auth credentials  
  Set up your Gmail credentials and recipient email  
  (Optional) Customise the HTML report in the Generate Report Code node  
  (Optional) Adjust the daily schedule to your preferred time  

  Submitted: 18 November 2025  
  Template designed with n8n version 1.116.2

nodes_used:
  ["n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.splitInBatches","n8n-nodes-base.splitInBatches","n8n-nodes-base.set","n8n-nodes-base.dataTable","n8n-nodes-base.code","n8n-nodes-base.dataTable","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5664 characters]

metadata_json:
  {"categories":["Data Processing","Marketing","DevOps"],"complexity":"medium","use_cases":["Automate image compression for e-commerce product photos","Optimize website assets for SEO performance","Generate email reports on image processing tasks","Manage large media libraries in cloud storage"],"estimated_setup_minutes":20,"required_services":["Google Drive","Tinify API","Email Provider SMTP"],"key_features":["Batch processing of image files from cloud storage","Automatic image resizing and compression","Scheduled recurring execution","Styling and organizing workflows for different agencies"],"target_audience":["e-commerce managers","marketing teams","content designers"]}


name: Automate X-ray analysis with VLM Orion and distribute to Gmail, Telegram & Drive
author_name: Mehedi Ahamed
author_username: mehedi
categories: []
created_at: 2025-11-19T04:35:34.423Z
updated_at: 2025-11-19T04:35:34.423Z
url: https://n8n.io/workflows/10997
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:21
description:
  📌 Overview

  This workflow provides an automated pipeline for processing medical X-ray images using VLM Run (model: vlmrun-orion-1:auto), and distributing the AI-generated analysis to multiple channels—email, Telegram, and Google Drive.

  ⚙️ How It Works

  1. Upload X-Ray Image

  A Form Trigger allows the user to upload an X-ray file.
  Once the image is submitted, the workflow immediately starts processing.

  2. Automated X-Ray Analysis

  The uploaded X-ray image is sent to VLM Run (vlmrun-orion-1:auto) via an OpenAI-compatible endpoint.

  The model returns:

  A text-based interpretation or description
  A disease-highlighted output image (if detected)
  A URL reference pointing to the annotated result image stored in Google Cloud

  3. Extract Artifact

  From artifact reference, download file using artifact node.

  4. Generate Report File

  The Convert to File node transforms the analysis text into a shareable .txt report.
  This file is used both for email and Drive storage.

  5. Send Notifications to Gmail & Telegram

  The workflow automatically:

  📧 Emails the doctor (or configured staff email):

  The diagnostic description
  The generated report file
  The annotated X-ray image

  📨 Sends a Telegram message containing:

  The same report
  The disease-highlighted X-ray image

  This ensures instant notification and cross-platform availability.

  6. Upload to Google Drive

  The final step uses Google Drive OAuth2 to store:

  The report file
  The annotated medical image

  These files are uploaded to a designated Drive folder for archiving and future reference.

  🧩 Key Features

  ✔️ Automated X-ray processing using VLM Run
  ✔️ Structured extraction of annotated medical images
  ✔️ Multi-channel notification (Email + Telegram)
  ✔️ Centralized archive via Google Drive
  ✔️ Zero manual intervention after upload
  ✔️ Works with OpenAI-compatible VLM endpoints

  🔧 Requirements

  VLM Run API Credentials**
    Required to call vlm-agent-1 for image analysis.

  Gmail OAuth2 Credentials**
    Needed to automatically email the diagnostic report.

  Telegram Bot Token**
    Sends analysis results to a Telegram chat or group.

  Google Drive OAuth2**
    Stores reports and annotated images in Google Drive.

  📎 Notes

  This workflow automates image handling and communication.
  All AI-generated content must be reviewed by a qualified medical professional before any clinical use.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.formTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.convertToFile","n8n-nodes-base.merge","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.gmail","n8n-nodes-base.telegram","n8n-nodes-base.googleDrive","n8n-nodes-base.set","@vlm-run/n8n-nodes-vlmrun.vlmRun"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["AI/ML","Healthcare"],"complexity":"medium","use_cases":["analyze medical images","distribute diagnostic reports"],"estimated_setup_minutes":20,"required_services":["N8N.AI","VLM RUN","GOOGLE DRIVE","TELEGRAM"],"key_features":["multi-channel delivery","image analysis automation"],"target_audience":["radiologists","healthcare workers"]}


name: Network Vulnerability Scanner with NMAP and Automated CVE Reporting
author_name: Vigh Sandor
author_username: vighsandor
categories: []
created_at: 2025-11-19T10:47:46.993Z
updated_at: 2025-11-19T10:47:46.993Z
url: https://n8n.io/workflows/11007
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:21
description:
  Network Vulnerability Scanner (used NMAP as engine) with Automated CVE Report

  Workflow Overview

  This n8n workflow provides comprehensive network vulnerability scanning with automated CVE enrichment and professional report generation. It performs Nmap scans, queries the National Vulnerability Database (NVD) for CVE information, generates detailed HTML/PDF reports, and distributes them via Telegram and email.

  Key Features

  Automated Network Scanning**: Full Nmap service and version detection scan
  CVE Enrichment**: Automatic vulnerability lookup using NVD API
  CVSS Scoring**: Vulnerability severity assessment with CVSS v3.1/v3.0 scores
  Professional Reporting**: HTML reports with detailed findings and recommendations
  PDF Generation**: Password-protected PDF reports using Prince XML
  Multi-Channel Distribution**: Telegram and email delivery
  Multiple Triggers**: Webhook API, web form, manual execution, scheduled scans
  Rate Limiting**: Respects NVD API rate limits
  Comprehensive Data**: Service detection, CPE matching, CVE details with references

  Use Cases

  Regular security audits of network infrastructure
  Compliance scanning for vulnerability management
  Penetration testing reconnaissance phase
  Asset inventory with vulnerability context
  Continuous security monitoring
  Vulnerability assessment reporting for management
  DevSecOps integration for infrastructure testing

  Setup Instructions

  Prerequisites

  Before setting up this workflow, ensure you have:

  System Requirements
  n8n instance (self-hosted) with command execution capability
  Alpine Linux base image (or compatible Linux distribution)
  Minimum 2 GB RAM (4 GB recommended for large scans)
  2 GB free disk space for dependencies
  Network access to scan targets
  Internet connectivity for NVD API

  Required Knowledge
  Basic networking concepts (IP addresses, ports, protocols)
  Understanding of CVE/CVSS vulnerability scoring
  Nmap scanning basics

  External Services
  Telegram Bot (optional, for Telegram notifications)
  Email server / SMTP credentials (optional, for email reports)
  NVD API access (public, no API key required but rate-limited)

  Step 1: Understanding the Workflow Components

  Core Dependencies

  Nmap: Network scanner
  Purpose: Port scanning, service detection, version identification
  Usage: Performs TCP SYN scan with service/version detection

  nmap-helper: JSON conversion tool
  Repository: https://github.com/net-shaper/nmap-helper
  Purpose: Converts Nmap XML output to JSON format

  Prince XML: HTML to PDF converter
  Website: https://www.princexml.com
  Version: 16.1 (Alpine 3.20)
  Purpose: Generates professional PDF reports from HTML
  Features: Password protection, print-optimized formatting

  NVD API: Vulnerability database
  Endpoint: https://services.nvd.nist.gov/rest/json/cves/2.0
  Purpose: CVE information, CVSS scores, vulnerability descriptions
  Rate Limit: Public API allows limited requests per minute
  Documentation: https://nvd.nist.gov/developers

  Step 2: Telegram Bot Configuration (Optional)

  If you want to receive reports via Telegram:

  Create Telegram Bot

  Open Telegram and search for @BotFather
  Start a chat and send /newbot
  Follow prompts:
     Bot name: Network Scanner Bot (or your choice)
     Username: network_scanner_bot (must end with 'bot')
  BotFather will provide:
     Bot token: 123456789:ABCdefGHIjklMNOpqrsTUVwxyz (save this)
     Bot URL: https://t.me/your_bot_username

  Get Your Chat ID

  Start a chat with your new bot
  Send any message to the bot
  Visit: https://api.telegram.org/bot&lt;YOUR_BOT_TOKEN&gt;/getUpdates
  Find your chat ID in the response
  Save this chat ID (e.g., 123456789)

  Alternative: Group Chat ID

  For sending to a group:
  Add bot to your group
  Send a message in the group
  Check getUpdates URL
  Group chat IDs are negative: -1001234567890

  Add Credentials to n8n

  Navigate to Credentials in n8n
  Click Add Credential
  Select Telegram API
  Fill in:
     Access Token: Your bot token from BotFather
  Click Save
  Test connection if available

  Step 3: Email Configuration (Optional)

  If you want to receive reports via email:

  Add SMTP Credentials to n8n

  Navigate to Credentials in n8n
  Click Add Credential
  Select SMTP
  Fill in:
     Host: SMTP server address (e.g., smtp.gmail.com)
     Port: SMTP port (587 for TLS, 465 for SSL, 25 for unencrypted)
     User: Your email username
     Password: Your email password or app password
     Secure: Enable for TLS/SSL
  Click Save

  Gmail Users:
  Enable 2-factor authentication
  Generate app-specific password: https://myaccount.google.com/apppasswords
  Use app password in n8n credential

  Step 4: Import and Configure Workflow

  Configure Basic Parameters

  Locate "1. Set Parameters" Node:
  Click the node to open settings
  Default configuration:
     network: Input from webhook/form/manual trigger
     timestamp: Auto-generated (format: yyyyMMdd_HHmmss)
     report_password: Almafa123456 (change this!)

  Change Report Password:
  Edit report_password assignment
  Set strong password: 12+ characters, mixed case, numbers, symbols
  This password will protect the PDF report
  Save changes

  Step 5: Configure Notification Endpoints

  Telegram Configuration

  Locate "14/a. Send Report in Telegram" Node:

  Open node settings
  Update fields:
     Chat ID: Replace -123456789012 with your actual chat ID
     Credentials: Select your Telegram credential
  Save changes

  Message customization:
  Current: Sends PDF as document attachment
  Automatic filename: vulnerability_report_&lt;timestamp&gt;.pdf
  No caption by default (add if needed)

  Email Configuration

  Locate "14/b. Send Report in Email with SMTP" Node:

  Open node settings
  Update fields:
     From Email: report.creator@example.com → Your sender email
     To Email: report.receiver@example.com → Your recipient email
     Subject: Customize if needed (default includes network target)
     Text: Email body message
     Credentials: Select your SMTP credential
  Save changes

  Multiple Recipients:
  Change toEmail field to comma-separated list:
  admin@example.com, security@example.com, manager@example.com

  Add CC/BCC:
  In node options, add:
  cc: Carbon copy recipients
  bcc: Blind carbon copy recipients

  Step 6: Configure Triggers

  The workflow supports 4 trigger methods:

  Trigger 1: Webhook API (Production)

  Locate "Webhook" Node:
  Path: /vuln-scan
  Method: POST
  Response: Immediate acknowledgment "Process started!"
  Async: Scan runs in background

  Trigger 2: Web Form (User-Friendly)

  Locate "On form submission" Node:
  Path: /webhook-test/form/target
  Method: GET (form display), POST (form submit)
  Form Title: "Add scan parameters"
  Field: network (required)

  Form URL:
  https://your-n8n-domain.com/webhook-test/form/target

  Users can:
  Open form URL in browser
  Enter target network/IP
  Click submit
  Receive confirmation

  Trigger 3: Manual Execution (Testing)

  Locate "Manual Trigger" Node:
  Click to activate
  Opens workflow with "Pre-Set-Target" node
  Default target: scanme.nmap.org (Nmap's official test server)

  To change default target:
  Open "Pre-Set-Target" node
  Edit network value
  Enter your test target
  Save changes

  Trigger 4: Scheduled Scans (Automated)

  Locate "Schedule Trigger" Node:
  Default: Daily at 1:00 AM
  Uses "Pre-Set-Target" for network

  To change schedule:
  Open node settings
  Modify trigger time:
     Hour: 1 (1 AM)
     Minute: 0
     Day of week: All days (or select specific days)
  Save changes

  Schedule Examples:
  Every day at 3 AM: Hour: 3, Minute: 0
  Weekly on Monday at 2 AM: Hour: 2, Day: Monday
  Twice daily (8 AM, 8 PM): Create two Schedule Trigger nodes

  Step 7: Test the Workflow

  Recommended Test Target

  Use Nmap's official test server for initial testing:
  Target**: scanme.nmap.org
  Purpose**: Official Nmap testing server
  Safe**: Designed for scanning practice
  Permissions**: Public permission to scan

  Important: Never scan targets without permission. Unauthorized scanning is illegal.

  Manual Test Execution

  Open workflow in n8n editor
  Click Manual Trigger node to select it
  Click Execute Workflow button
  Workflow will start with scanme.nmap.org as target

  Monitor Execution

  Watch nodes turn green as they complete:
  Need to Add Helper?: Checks if nmap-helper installed
  Add NMAP-HELPER: Installs helper (if needed, ~2-3 minutes)
  Optional Params Setter: Sets scan parameters
  2. Execute Nmap Scan: Runs scan (5-30 minutes depending on target)
  3. Parse NMAP JSON to Services: Extracts services (~1 second)
  5. CVE Enrichment Loop: Queries NVD API (1 second per service)
  8-10. Report Generation: Creates HTML/PDF reports (~5-10 seconds)
  12. Convert to PDF: Generates password-protected PDF (~10 seconds)
  14a/14b. Distribution: Sends reports

  Check Outputs

  Click nodes to view outputs:
  Parse NMAP JSON**: View discovered services
  CVE Enrichment**: See vulnerabilities found
  Prepare Report Structure**: Check statistics
  Read Report PDF**: Download report to verify

  Verify Distribution

  Telegram:
  Open Telegram chat with your bot
  Check for PDF document
  Download and open with password

  Email:
  Check inbox for report email
  Verify subject line includes target network
  Download PDF attachment
  Open with password

  How to Use

  Understanding the Scan Process

  Initiating Scans

  Method 1: Webhook API

  Use curl or any HTTP client and add "network" parameter in a POST request.

  Response:
  Process started!

  Scan runs asynchronously. You'll receive results via configured channels (Telegram/Email).

  Method 2: Web Form

  Open form URL in browser:
        https://your-n8n.com/webhook-test/form/target
     
  Fill in form:
     network: Enter target (IP, range, domain)

  Click Submit

  Receive confirmation

  Wait for report delivery

  Advantages:
  No command line needed
  User-friendly interface
  Input validation
  Good for non-technical users

  Method 3: Manual Execution

  For testing or one-off scans:

  Open workflow in n8n
  Edit "Pre-Set-Target" node:
     Change network value to your target
  Click Manual Trigger node
  Click Execute Workflow
  Monitor progress in real-time

  Advantages:
  See execution in real-time
  Debug issues immediately
  Test configuration changes
  View intermediate outputs

  Method 4: Scheduled Scans

  For regular, automated security audits:

  Configure "Schedule Trigger" node with desired time
  Configure "Pre-Set-Target" node with default target
  Activate workflow
  Scans run automatically on schedule

  Advantages:
  Automated security monitoring
  Regular compliance scans
  No manual intervention needed
  Consistent scheduling

  Scan Targets Explained

  Supported Target Formats

  Single IP Address:
  192.168.1.100
  10.0.0.50

  CIDR Notation (Subnet):
  192.168.1.0/24         # Scans 192.168.1.0-255 (254 hosts)
  10.0.0.0/16            # Scans 10.0.0.0-255.255 (65534 hosts)
  172.16.0.0/12          # Scans entire 172.16-31.x.x range

  IP Range:
  192.168.1.1-50         # Scans 192.168.1.1 to 192.168.1.50
  10.0.0.1-10.0.0.100    # Scans across range

  Multiple Targets:
  192.168.1.1,192.168.1.2,192.168.1.3

  Hostname/Domain:
  scanme.nmap.org
  example.com
  server.local

  Choosing Appropriate Targets

  Development/Testing:
  Use scanme.nmap.org (official test target)
  Use your own isolated lab network
  Never scan public internet without permission

  Internal Networks:
  Use CIDR notation for entire subnets
  Scan DMZ networks separately from internal
  Consider network segmentation in scan design

  Understanding Report Contents

  Report Structure

  The generated report includes:

  1. Executive Summary:
  Total hosts discovered
  Total services identified
  Total vulnerabilities found
  Severity breakdown (Critical, High, Medium, Low, Info)
  Scan date and time
  Target network

  2. Overall Statistics:
  Visual dashboard with key metrics
  Severity distribution chart
  Quick risk assessment

  3. Detailed Findings by Host:
  For each discovered host:
  IP address
  Hostname (if resolved)
  List of open ports and services
  Service details:
    Port number and protocol
    Service name (e.g., http, ssh, mysql)
    Product (e.g., Apache, OpenSSH, MySQL)
    Version (e.g., 2.4.41, 8.2p1, 5.7.33)
    CPE identifier

  4. Vulnerability Details:
  For each vulnerable service:
  CVE ID**: Unique vulnerability identifier (e.g., CVE-2021-44228)
  Severity**: CRITICAL / HIGH / MEDIUM / LOW / INFO
  CVSS Score**: Numerical score (0.0-10.0)
  Published Date**: When vulnerability was disclosed
  Description**: Detailed vulnerability explanation
  References**: Links to advisories, patches, exploits

  5. Recommendations:
  Immediate actions (patch critical/high severity)
  Long-term improvements (security processes)
  Best practices

  Vulnerability Severity Levels

  CRITICAL (CVSS 9.0-10.0):
  Color: Red
  Characteristics: Remote code execution, full system compromise
  Action: Immediate patching required
  Examples: Log4Shell, EternalBlue, Heartbleed

  HIGH (CVSS 7.0-8.9):
  Color: Orange
  Characteristics: Significant security impact, data exposure
  Action: Patch within days
  Examples: SQL injection, privilege escalation, authentication bypass

  MEDIUM (CVSS 4.0-6.9):
  Color: Yellow
  Characteristics: Moderate security impact
  Action: Patch within weeks
  Examples: Information disclosure, denial of service, XSS

  LOW (CVSS 0.1-3.9):
  Color: Green
  Characteristics: Minor security impact
  Action: Patch during regular maintenance
  Examples: Path disclosure, weak ciphers, verbose error messages

  INFO (CVSS 0.0):
  Color: Blue
  Characteristics: No vulnerability found or informational
  Action: No action required, awareness only
  Examples: Service version detected, no known CVEs

  Understanding CPE

  CPE (Common Platform Enumeration):
  Standard naming scheme for IT products
  Used for CVE lookup in NVD database

  Workflow CPE Handling:
  Nmap detects service and version
  Nmap provides CPE (if in database)
  Workflow uses CPE to query NVD API
  NVD returns CVEs associated with that CPE
  Special case: nginx vendor fixed from igor_sysoev to nginx

  Working with Reports

  Accessing HTML Report

  Location:
  /tmp/vulnerability_report_&lt;timestamp&gt;.html

  Viewing:
  Open in web browser directly from n8n
  Click "11. Read Report for Output" node
  Download HTML file
  Open locally in any browser

  Advantages:
  Interactive (clickable links)
  Searchable text
  Easy to edit/customize
  Smaller file size

  Accessing PDF Report

  Location:
  /tmp/vulnerability_report_&lt;timestamp&gt;.pdf

  Password:
  Default: Almafa123456 (configured in "1. Set Parameters")
  Change in workflow before production use
  Required to open PDF

  Opening PDF:
  Receive PDF via Telegram or Email
  Open with PDF reader (Adobe, Foxit, Browser)
  Enter password when prompted
  View, print, or share

  Advantages:
  Professional appearance
  Print-optimized formatting
  Password protection
  Portable (works anywhere)
  Preserves formatting

  Report Customization

  Change Report Title:
  Open "8. Prepare Report Structure" node
  Find metadata object
  Edit title and subtitle fields

  Customize Styling:
  Open "9. Generate HTML Report" node
  Modify CSS in &lt;style&gt; section
  Change colors, fonts, layout

  Add Company Logo:
  Edit HTML generation code
  Add `` tag in header section
  Include base64-encoded logo or URL

  Modify Recommendations:
  Open "9. Generate HTML Report" node
  Find Recommendations section
  Edit recommendation text

  Scanning Ethics and Legality

  Authorization is Mandatory:
     Never scan networks without explicit written permission
     Unauthorized scanning is illegal in most jurisdictions
     Can result in criminal charges and civil liability

  Scope Definition:
     Document approved scan scope
     Exclude out-of-scope systems
     Maintain scan authorization documents

  Notification:
     Inform network administrators before scans
     Provide scan window and source IPs
     Have emergency contact procedures

  Safe Targets for Testing:
     scanme.nmap.org: Official Nmap test server
     Your own isolated lab network
     Cloud instances you own
     Explicitly authorized environments

  Compliance Considerations

  PCI DSS:
  Quarterly internal vulnerability scans required
  Scan all system components
  Re-scan after significant changes
  Document scan results

  HIPAA:
  Regular vulnerability assessments required
  Risk analysis and management
  Document remediation efforts

  ISO 27001:
  Vulnerability management process
  Regular technical vulnerability scans
  Document procedures

  NIST Cybersecurity Framework:
  Identify vulnerabilities (DE.CM-8)
  Maintain inventory
  Implement vulnerability management

  License and Credits

  Workflow:
  Created for n8n workflow automation
  Free for personal and commercial use
  Modify and distribute as needed
  No warranty provided

  Dependencies:
  Nmap**: GPL v2 - https://nmap.org
  nmap-helper**: Open source - https://github.com/net-shaper/nmap-helper
  Prince XML**: Commercial license required for production use - https://www.princexml.com
  NVD API**: Public API by NIST - https://nvd.nist.gov

  Third-Party Services:
  Telegram Bot API: https://core.telegram.org/bots/api
  SMTP: Standard email protocol

  Support

  For Nmap issues:
  Documentation: https://nmap.org/book/
  Community: https://seclists.org/nmap-dev/

  For NVD API issues:
  Status page: https://nvd.nist.gov
  Contact: https://nvd.nist.gov/general/contact

  For Prince XML issues:
  Documentation: https://www.princexml.com/doc/
  Support: https://www.princexml.com/doc/help/

  Workflow Metadata

  External Dependencies**: Nmap, nmap-helper, Prince XML, NVD API
  License**: Open for modification and commercial use

  Security Disclaimer

  This workflow is provided for legitimate security testing and vulnerability assessment purposes only. Users are solely responsible for ensuring they have proper authorization before scanning any network or system. Unauthorized network scanning is illegal and unethical. The authors assume no liability for misuse of this workflow or any damages resulting from its use. Always obtain written permission before conducting security assessments.

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.executeCommand","n8n-nodes-base.readWriteFile","n8n-nodes-base.code","n8n-nodes-base.readWriteFile","n8n-nodes-base.aggregate","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.readWriteFile","n8n-nodes-base.readWriteFile","n8n-nodes-base.stickyNote","n8n-nodes-base.executeCommand","n8n-nodes-base.readWriteFile","n8n-nodes-base.formTrigger","n8n-nodes-base.executeCommand","n8n-nodes-base.set","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.telegram","n8n-nodes-base.emailSend","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 15612 characters]

metadata_json:
  {"categories":["DevOps","Security","Data Processing"],"complexity":"medium","use_cases":["enumerate network hosts","detect vulnerabilities","generate compliance reports","notify security teams"],"estimated_setup_minutes":15,"required_services":["nmap","National Vulnerability Database (NVD)","Telegram API","SMTP/Email Service","PDF Generation API"],"key_features":["Automated Nmap scanning","CVE enrichment","Multi-format report generation","Automated notification distribution"],"target_audience":["security engineers","DevOps teams","IT auditors"]}


name: Automated lead generation from digital footprints with Decodo & Airtable
author_name: Atta
author_username: attakhalighi
categories: []
created_at: 2025-11-19T20:00:32.992Z
updated_at: 2025-11-19T20:00:32.992Z
url: https://n8n.io/workflows/11023
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:21
description:
  Stop manually searching Google for sales leads. Start listening to the internet.

  This advanced workflow automatically identifies, qualifies, and enriches high-value leads by searching for their digital footprints (i.e., specific technology use or public directories). It uses a robust Find/Create/Conditional Update database pattern to prevent duplicates and ensure you only spend credits on enriching incomplete records.

  The workflow provides a fully persistent lead record, updating the same Airtable row as new data is found across multiple search steps.

  ✨ Key Features

    Persistent Data Integrity: Uses a dedicated Loop Over Items structure to run the Find/Create/Update logic sequentially for every lead, guaranteeing no data is lost or duplicated.
    Conditional Enrichment: A smart gate checks the Airtable record: if the high-value email field is empty, the workflow proceeds to the expensive scraping steps. If it is already complete, it skips the scrape.
    Targeted Scraping: Executes precise Google Dorks (via Decodo) to find initial leads and then targets the specific Contact Us page for deep email extraction.
    Database-as-a-State-Machine: Airtable acts as the single source of truth, logging the initial lead status and updating the same row across several enrichment phases.
    Final Output: Delivers the fully enriched lead data (Domain, Primary Email, Contact Page URL) to a final notification channel.

  ⚙️ How it Works (The Find/Create/Update Loop)

  Search & Filter: The workflow is manually triggered and uses the Config variables to execute a wide-scope Google Search via Decodo. The results are filtered into a clean array of unique domains.
  Loop & Check: The Loop Over Items node starts. Inside, the Airtable Read node checks the database for the current lead's domain.
  Create/Update:
        If the lead is NEW, the workflow creates a record (Airtable: Create Lead).
        If the lead EXISTS, the record is updated (Airtable: Update Lead).
  Data Merger: The Data Merger: ID Finalizer node consolidates the workflow, ensuring the unique Airtable Record ID is passed to the next step, regardless of whether the lead was created or updated.
  Conditional Enrichment: The If: Enrichment Needed? node checks the existing Primary Email status. If it's empty, the item proceeds to the deep scraping pipeline (Decodo: Email Search → Decodo: Scrape Contact Page).
  Final Update: The final node updates the Airtable record with the high-quality email address found from the deep scrape.

  📥 Decodo Node Installation

  The Decodo node is used three times in this workflow for precision scraping and searching.

  Find the Node: Click the + button in your n8n canvas.
  Search: Search for the Decodo node and select it.
  Credentials: When configuring the first Decodo node, use your API key.

  🎁 Get a free Web Scraping API subscription here 👉🏻 https://visit.decodo.com/X4YBmy

  🛠️ Setup Instructions

  This template requires specific node configuration and Airtable fields.

  Credentials: Obtain API keys for Decodo (using the coupon above) and Airtable.
  Airtable Setup (Schema): Create an Airtable base with a 'Leads' table. It must include these fields for mapping:
        Domain (Single Line Text - Primary Field)
        Primary Email (Email)
        Contact Page URL (URL)
        Source URL (URL)
        Lead Type (Single Select: Paid Ad Lead, Organic Lead)
        Status (Single Select: New Lead, Updated, Enrichment Complete)
  Global Configuration: Open the Config: Set Search Params node. Customize the following fields:
        tech_footprint: e.g., "We use Klaviyo"
        target_industry: e.g., site:promarketer.ca

  ➕ How to Adapt the Template

  Change Database:* Replace the *Airtable* nodes with *Postgres, **Notion, or Google Sheets for logging, adapting the field mappings.
  Final Notification:* Add a *Slack* or *Gmail** node to alert the sales team immediately upon successful enrichment.
  Multi-Step Enrichment:** Integrate a service like Hunter.io or Clearbit to find key employee names and titles before the final database update.
  Adjust Scoring:* Add an *If Node* after the deep scrape to set a *Lead Score based on whether a direct email (sales@) was found versus a general contact page link.
  Add AI Lead Scoring:* Integrate a *Gemini* or *OpenAI** node after the deep scraping step to assign an "AI Score" (1-100) based on lead quality (e.g., domain authority, quality of the extracted email), before the final update.

nodes_used:
  ["@decodo/n8n-nodes-decodo.decodo","@decodo/n8n-nodes-decodo.decodo","n8n-nodes-base.if","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.splitInBatches","@decodo/n8n-nodes-decodo.decodo","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.airtable","n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.airtable","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 9188 characters]

metadata_json:
  {"categories":["Sales","Data Processing","Marketing"],"complexity":"medium","use_cases":["identify high-value leads","search digital footprints","qualify prospects automatically","enrich lead records","prevent database duplicates"],"estimated_setup_minutes":15,"required_services":["Decodo","Airtable"],"key_features":["finds leads through digital footprint analysis","checks and updates existing records","avoids duplicate entries","quality conditional logic for enrichment","manages lead state across runs"],"target_audience":["sales teams","business developers","marketing managers"]}


name: n8n Enterprise AI Security Firewall — Guardrails for Secure Agents
author_name: Sandeep Patharkar | www.FastTrackAiMastery.com
author_username: sandy4v
categories: []
created_at: 2025-11-19T23:33:38.959Z
updated_at: 2025-11-19T23:33:38.959Z
url: https://n8n.io/workflows/11025
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  🛡️ n8n Guardrails: Risk Ranking

  This workflow provides a complete testing rig for evaluating text against seven essential AI guardrails used in production systems.  
  It helps you detect jailbreak attempts, PII exposure, NSFW content, secret key leaks, malicious URLs, topical misalignment, and keyword violations.  
  Use the included Google Sheet or CSV to batch-test multiple inputs instantly.

  ## How It Works (Internal Workflow Overview)

  1. Load Input Rows
  The workflow reads each test entry (Guardrail_Type + Input_Text) from a Google Sheet or CSV.

  2. Route to the Correct Guardrail
  A Switch node sends the text to the appropriate guardrail:
  Jailbreak  
  PII  
  Secret Keys  
  NSFW  
  URLs  
  Topical Alignment  
  Keywords  

  3. AI Guardrail Evaluation
  Each guardrail uses Google Gemini to return:
  Pass / Fail  
  Confidence score  
  Reasoning  
  Extracted PII, URLs, or entities (when relevant)

  4. Optional Sanitization Layer
  Three sanitizers demonstrate how to clean unsafe text:
  PII Sanitization  
  Secret Key Sanitization  
  URL Sanitization  

  5. Review Results
  Each guardrail node outputs clean JSON, making debugging fast and transparent.

  ## How to Set Up

  1. Load the Test Dataset
  Use either:
  The included CSV file  
  The linked Google Sheet  

  Update only:
  Document ID**  
  Sheet name**

  2. Add Google Sheets Credentials
  Create an OAuth2 credential → paste the Google JSON → connect your account.

  3. Add Google Gemini Credential
  Go to Credentials → Google Gemini (PaLM API) →  
  Paste your API key → attach it to all Guardrail nodes.

  4. Review Sticky Notes
  They visually explain:
  What each guardrail checks  
  Why the check is important  
  Risk scoring and impact  

  5. Run the Workflow
  Click Execute Workflow and inspect:
  Each guardrail node’s output  
  The full execution data  

  ## Requirements
  n8n (latest version recommended)  
  Google Gemini API key  
  Google Sheets API access  
  Test dataset: n8n Guardrails test data.csv  

  ## Test Data Included

  The included dataset allows instant testing:
  Jailbreak prompts  
  PII samples  
  API key leaks  
  NSFW text  
  Malicious URL examples  
  Off-topic content  
  Keyword triggers  

  ## Template Metadata

  Template Author: Sandeep Patharkar  
  Category: AI Safety / Agent Security  
  Difficulty: Intermediate  
  Estimated Setup Time: 10–15 minutes  
  Tags: Guardrails, AI Agents, Safety, Enterprise  

  ## Connect With Me

  Author: Sandeep Patharkar**  
  🔗 LinkedIn: https://www.linkedin.com/in/sandeeppatharkar  
  🏠 Skool AIC+: https://www.skool.com/aic-plus

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.guardrails","@n8n/n8n-nodes-langchain.guardrails","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.guardrails","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.guardrails","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.guardrails","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.guardrails","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.guardrails","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.guardrails","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.guardrails","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.guardrails","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.googleSheets","n8n-nodes-base.switch","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["AI/ML","Security"],"complexity":"medium","use_cases":["evaluate AI guardrails","test jailbreak attempts","detect PII exposure","check NSFW content","verify secret leaks"],"estimated_setup_minutes":20,"required_services":["Google Sheets"],"key_features":["risk ranking","batch testing","detection of 7 guardrails","jailbreak identification"],"target_audience":["security engineers","AI developers","compliance officers"]}


name: Automated 🤖🎵 AI Music Generation with ElevenLabs, Google Sheets & Drive
author_name: Davide Boizza
author_username: n3witalia
categories: []
created_at: 2025-11-20T14:48:28.305Z
updated_at: 2025-11-20T14:48:28.305Z
url: https://n8n.io/workflows/11047
scraped_at: 2026-05-02 08:04:48
metadata_generated_at: 2026-05-02 08:36:21
description:
  🤖🎵 This workflow automates the creation, storage, and cataloging of AI-generated music using the Eleven Music API, Google Sheets, and Google Drive.

  Key Advantages
  ✅ Fully Automated Music Generation Pipeline

  Once started, the workflow automatically:

  Reads track parameters
  Generates music via API
  Uploads the file
  Updates your spreadsheet
    No manual steps needed after initialization.

  ✅ Centralized Track Management

  A single Google Sheet acts as your project control center, letting you organize:

  Prompts
  Durations
  Generated URLs
    This avoids losing track of files and creates a ready-to-share catalog.

  ✅ Seamless Integration with Google Services

  The workflow:

  Reads instructions from Google Sheets
  Saves the MP3 to Google Drive
  Updates the same Sheet with the final link
    This ensures everything stays synchronized and easy to access.

  ✅ Scalable and Reliable Processing

  The loop-with-delay mechanism:

  Processes tracks sequentially
  Prevents API overload
  Ensures stable execution
    This is especially helpful when generating multiple long tracks.

  ✅ Easy Customization

  Because the prompts and durations come from Google Sheets:

  You can edit prompts at any time
  You can add more tracks without modifying the workflow
  You can clone the Sheet for different projects

  ✅ Ideal for Creators and Businesses

  This workflow is perfect for:

  Content creators generating background music
  Agencies designing custom soundtracks
  Businesses needing AI-generated audio assets
  Automated production pipelines

  How It Works

  The process operates as follows:

  The workflow starts manually via the "Execute workflow" trigger
  It retrieves a list of music track requests from a Google Sheets spreadsheet containing track titles, text prompts, and duration specifications
  The system processes each track request individually through a batch loop
  For each track, it sends the text prompt and duration to ElevenLabs Music API to generate studio-quality music
  The generated MP3 file (in 44100 Hz, 128 kbps format) is automatically uploaded to a designated Google Drive folder
  Once uploaded, the workflow updates the original Google Sheets with the direct URL to the generated music file
  A 1-minute wait period between each track generation prevents API rate limiting
  The process continues until all track requests in the spreadsheet have been processed

  Set Up Steps

  Prerequisites:
  ElevenLabs paid account with Music API access enabled
  Google Sheets spreadsheet with specific columns: TITLE, PROMPT, DURATION (ms), URL
  Google Drive folder for storing generated music files

  Configuration Steps:

  ElevenLabs API Setup:
     Enable Music Generation access in your  ElevenLabs account
     Generate an API key from the ElevenLabs developer dashboard
     Configure HTTP Header authentication in n8n with name "xi-api-key" and your API value

  Google Sheets Preparation:
     Create or clone the music tracking spreadsheet with required columns
     Fill in track titles, detailed text prompts, and durations in milliseconds (10,000-300,000 ms)
     Configure Google Sheets OAuth credentials in n8n
     Update the document ID in the Google Sheets nodes

  Google Drive Configuration:
     Create a dedicated folder for music uploads
     Set up Google Drive OAuth credentials in n8n
     Update the folder ID in the upload node

  Workflow Activation:
     Ensure all API credentials are properly configured
     Test with a single track entry in the spreadsheet
     Verify music generation, upload, and spreadsheet update work correctly
     Execute the workflow to process all pending track requests

  The workflow automatically names files with timestamp prefixes (song_yyyyMMdd) and handles the complete lifecycle from prompt to downloadable music file.

  👉 Subscribe to my new YouTube channel. Here I’ll share videos and Shorts with practical tutorials and FREE templates for n8n.

  Need help customizing?  
  Contact me for consulting and support or add me on Linkedin.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["AI/ML"],"complexity":"medium","use_cases":["Generate AI music tracks","Catalog music in spreadsheets","Automate music file storage","Manage music project parameters"],"estimated_setup_minutes":15,"required_services":["ElevenLabs API","Google Sheets API","Google Drive API"],"key_features":["End-to-end automated music generation pipeline","Centralized spreadsheet-based track management","Seamless integration with Google cloud storage","Parameter support for customized music generation","Batch processing capabilities via splitInBatches"],"target_audience":["Music producers","Content creators","AI developers"]}


name: 📦 AI-powered damage reporting tool for logistics with Gmail, Telegram and GPT
author_name: Samir Saci
author_username: samirsaci
categories: []
created_at: 2025-11-20T14:52:55.803Z
updated_at: 2025-11-20T14:52:55.803Z
url: https://n8n.io/workflows/11048
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  Tags: Logistics, Supply Chain, Warehouse Operations, Paperless processes, Quality Management

  Context

  Hi! I’m Samir — Supply Chain Engineer, Data Scientist based in Paris, and founder of LogiGreen.

  &gt; Let us use n8n to help small companies digitalise their logistics and supply chain!

  This workflow helps warehouse operators generate a complete damage report without needing to write anything manually.



  In warehouse operations, damaged pallets must be reported quickly and consistently. 
   
  You can automate the entire process using AI to analyse photos of the damages.

  📬 For business inquiries, you can find me on LinkedIn

  Example of damage report

  The process starts with instructions sent with the operator: 



  A photo of the damaged pallets is shared with the bot:



  A complete report is generated and sent by email:

  🎥 Tutorial

  A complete tutorial (with explanations of every node) is available on YouTube:

  Who is this template for?

  This template is ideal for companies with limited IT ressources:

  Warehouse operators** who need a fast reporting tool  
  Quality teams** who want consistent and structured reports  
  3PLs and logistics providers** looking to digitalise damage claims  
  Manufacturers and retailers** with high inbound pallet volumes  
  Anyone using Telegram** on the warehouse floor for quick interactions

  What does this workflow do?

  This workflow acts as an AI-powered damaged goods reporting assistant using Telegram, OpenAI Vision and Gmail.

  A operator sends a picture of the damaged pallet via Telegram.  
  The workflow downloads the image and sends it to GPT-4o for damage analysis.  
  The bot replies and asks for a photo of the pallet barcode.  
  The barcode picture is processed by GPT-4o Mini to extract the pallet number.  
  The workflow combines both results (damage analysis + pallet ID).  
  It generates an HTML email report with: damage summary, observed issues, severity level and recommended actions   
  The report is automatically sent via Gmail to the configured recipient.  
  The operator receives a confirmation message in Telegram.

  The processes does not require any data input form the operator, only to take pictures!

  Next Steps

  Before running the workflow, follow the sticky notes and configure:

  Connect your Telegram Bot API  
  Add your OpenAI API Key in the AI nodes  
  Connect your Gmail credentials  
  Update the recipient email in the “Send Report by Email” node  

  Submitted: 20 November 2025  
  Template designed with n8n version 1.116.2

nodes_used:
  ["n8n-nodes-base.telegramTrigger","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.gmail","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6856 characters]

metadata_json:
  {"categories":["Logistics","Operations","Data Processing"],"complexity":"medium","use_cases":["Auto-generate damage reports","Document inspection","Logistics workflow automation"],"estimated_setup_minutes":15,"required_services":["Google Workspace","Telegram","OpenAI"],"key_features":["AI-powered data extraction","Multi-channel notifications","Automated report generation","Paperless operations"],"target_audience":["Logistics managers","Warehouse operators","Supply chain engineers"]}


name: Generate Professional Documents with Claude AI Skills🤹🤖 & Upload to Google Drive
author_name: Davide Boizza
author_username: n3witalia
categories: []
created_at: 2025-11-20T14:53:06.110Z
updated_at: 2025-11-20T14:53:06.110Z
url: https://n8n.io/workflows/11049
scraped_at: 2026-05-02 08:04:48
metadata_generated_at: 2026-05-02 08:36:21
description:
  🤹🤖 This workflow (AI Document Generator with Anthropic Agent Skills and Uploading to Google Drive) automates the process of generating, downloading, and storing professionally formatted files (PDF, DOCX, PPTX, XLSX) using the Anthropic Claude API and Google Drive.

  This workflow connects user prompts with the Anthropic API to generate professional documents in multiple formats, automatically retrieves and uploads them to Google Drive — providing a complete AI-powered document automation system.

  Key Advantages

  ✅ Full Automation**
  From user input to file delivery, the entire pipeline — creation, extraction, download, and upload — runs without manual intervention.

  ✅ Multi-Format Support**
  Handles four major business document types:
  	PPTX (Presentations)
  	PDF (Reports)
  	DOCX (Documents)
  	XLSX (Spreadsheets)

  ✅ Professional Output**
  Each format includes tailored Claude system prompts with detailed formatting and design principles:
  	Layout structure
  	Typography
  	Visual hierarchy
  	Consistency and readability

  	This ensures that every file produced follows professional standards.

  ✅ Easy Customization**
  	You can modify the prompt templates or add new Skills using the “Get All Skills” node.
  	The form and switch logic make it simple to extend with additional file types or workflows.

  ✅ Seamless Cloud Integration**
  	Generated files are automatically uploaded to a Google Drive folder, enabling:
  	Centralized storage
  	Easy sharing and access
  	Automatic organization

  ✅ Reusable and Scalable**
  	This workflow can be used as a foundation for:
  	Automated report generation
  	Client deliverables
  	Internal documentation systems
  	AI-driven content creation pipelines

  How it Works

  This n8n workflow enables users to create professional documents using Anthropic's Claude AI and automatically save them to Google Drive. The process works as follows:

  Form Trigger: The workflow starts with a web form where users submit a prompt and select their desired file type (PPTX, PDF, DOCX, or XLSX).

  Document Type Routing: A switch node routes the request based on the selected file type to the appropriate document creation node.

  AI Document Generation: Each document type has a dedicated HTTP Request node that calls Anthropic's Messages API with:
     Specific system prompts tailored for each document type (PowerPoint, PDF, Word, or Excel)
     The user's input prompt
     Appropriate Anthropic skills (pptx, pdf, docx, xlsx) for specialized document creation
     Code execution capabilities for complex formatting

  File ID Extraction: Custom JavaScript code nodes extract the generated file ID from Anthropic's response using recursive search algorithms to handle nested response structures.

  File Download: HTTP Request nodes download the actual file content from Anthropic's Files API using the extracted file ID.

  Cloud Storage: Finally, the downloaded files are automatically uploaded to a specified Google Drive folder, organized and ready for use.
  Set Up Steps

  API Configuration:
     Set up HTTP Header authentication with Anthropic API
     Add x-api-key header with your Anthropic API key
     Configure required headers: anthropic-version and anthropic-beta

  Google Drive Integration:
     Connect Google Drive OAuth2 credentials
     Specify the target folder ID where documents will be uploaded
     Ensure proper permissions for file upload operations

  Custom Skills (Optional):
     Use the "Get All Skills" node to retrieve available custom skills
     Update skill_id fields in JSON bodies if using custom Anthropic skills
     Modify the form dropdown to include custom skill options if needed

  Form Configuration:
     The form is pre-configured with prompt field and file type selection
     No additional setup required for basic functionality

  Execution:
     Activate the workflow
     Access the form trigger URL
     Submit prompts and select desired output formats
     Generated files will automatically appear in the specified Google Drive folder

  The workflow handles the entire process from AI-powered document creation to cloud storage, providing a seamless automated solution for professional document generation.

  👉 Subscribe to my new YouTube channel. Here I’ll share videos and Shorts with practical tutorials and FREE templates for n8n.

  Need help customizing?  
  Contact me for consulting and support or add me on Linkedin.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.formTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.switch","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 9408 characters]

metadata_json:
  {"categories":["AI/ML","Document Management"],"complexity":"medium","use_cases":["generate PDF documents","create DOC files","upload files to Google Drive","process user prompts","automate document formatting"],"estimated_setup_minutes":5,"required_services":["Anthropic API","Google Drive API"],"key_features":["multi-format document generation","webhook integration","conditional file formatting","automatic file storage"],"target_audience":["content creators","admin professionals","workflow designers"]}


name: 🔄️ AI warehouse inventory cycle count bot using GPT, Telegram and Google Sheets
author_name: Samir Saci
author_username: samirsaci
categories: []
created_at: 2025-11-20T17:48:41.995Z
updated_at: 2025-11-20T17:48:41.995Z
url: https://n8n.io/workflows/11055
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:21
description:
  Tags: Logistics, Supply Chain, Warehouse Operations, Paperless Processes, Inventory Management

  Context

  Hi! I’m Samir, Supply Chain Engineer, Data Scientist based in Paris, and founder of LogiGreen.

  &gt; Let's use AI with n8n to help SMEs digitalise their logistics operations!

  Traditional inventory cycle counts often require clipboards, scanners, and manual reconciliation.  

  With this workflow, the operator walks through the warehouse, sends voice messages, and the bot automatically updates the inventory records.



  Using AI-based transcription and structured extraction, we optimise the entire process with a simple mobile device connected to Telegram.

  📬 For business inquiries, you can find me on LinkedIn

  Demo of the workflow

  In this example, the bot guides the operator through the cycle count for three locations.



  The workflow automatically records the results in Google Sheets.

  Who is this template for?

  This template is ideal for companies with limited IT resources:
   
  Inventory controllers** who need a hands-free, mobile-friendly counting process 
  Small 3PLs and retailers looking to digitalise stock control

  🎥 Tutorial

  A complete tutorial (with explanations of every node) is available on YouTube:

  What does this workflow do?

  This automation uses Telegram and OpenAI’s Whisper transcription: 

  The operator sends /start to the bot. 
  The bot identifies the first location that still needs to be counted.  
  The operator is guided to the location through a Telegram message.  
  The operator records a voice message with the location ID and the number of units counted.
  AI nodes transcribe the audio and extract location_id and quantity.  
  If the message cannot be transcribed, the bot asks the operator to repeat.  
  If the location is valid and still pending, the Google Sheet is updated.  
  The bot sends the next location, until the final one is completed.  
  The operator receives a confirmation that the cycle count is finished.

  Next Steps

  Before running the workflow, follow the sticky notes and configure:

  Connect your Telegram Bot API  
  Add your OpenAI API Key to the transcription and extraction nodes  
  Connect your Google Sheets credentials  
  Update the Google Sheet ID and the worksheet name in all Spreadsheet nodes  
  Adjust the AI prompts depending on your warehouse location naming conventions  

  Submitted: 20 November 2025  
  Template designed with n8n version 1.116.2

nodes_used:
  ["n8n-nodes-base.telegramTrigger","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.googleSheets","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.telegram","n8n-nodes-base.switch","n8n-nodes-base.telegram","n8n-nodes-base.wait","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.aggregate","n8n-nodes-base.merge","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.limit","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7456 characters]

metadata_json:
  {"categories":["Logistics","Supply Chain","Data Processing","Operations","AI/ML"],"complexity":"medium","use_cases":["automate inventory cycle counts","digitalize warehouse operations","process voice-based data entry","sync inventory data to spreadsheets","replace manual paper processes"],"estimated_setup_minutes":45,"required_services":["Telegram","Google Sheets","GPT"],"key_features":["Voice message processing","Automatic inventory updates","AI-powered data extraction","Paperless workflow automation","Intermediate aggregation logic"],"target_audience":["Supply chain engineers","Warehouse managers","Operations analysts"]}


name: AI-powered price watchdog: competitor monitoring & alerting (Decodo & Gemini)
author_name: Atta
author_username: attakhalighi
categories: []
created_at: 2025-11-20T22:32:05.069Z
updated_at: 2025-11-20T22:32:05.069Z
url: https://n8n.io/workflows/11063
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:20
description:
  Never miss a competitor price change again.

  This advanced workflow automates the most difficult aspect of market monitoring: intelligently extracting structured pricing data from complex, dynamic competitor websites and comparing it against your historical baseline. It sends instant, conditional alerts only when a significant price shift is detected.

  The workflow uses Decodo for dynamic scraping, Gemini for reliable data parsing, and Google Sheets for robust historical state management.

  ✨ Key Features
  AI-Powered Extraction:* Uses *Gemini 2.5 Flash** to analyze raw, noisy website HTML and output a clean JSON array of plan names, prices, and features, bypassing brittle CSS selectors.
  Historical Comparison:** Automatically retrieves the price from the previous workflow run and calculates the percentage difference (diff) for every single plan item.
  Edge Case Handling:* Includes specific code logic to prevent errors and flag crucial events like a *"Free-to-Paid"** plan transition (division by zero).
  Conditional Alerting:** Sends immediate Slack notifications only when the price change exceeds your predefined percentage threshold.
  State Management:* Uses Google Sheets to automatically *shift data** (Current Price $\rightarrow$ Old Price) to maintain the historical baseline for the next scheduled execution.

  ⚙️ How it Works (The Monitoring Loop)

  Setup & Sourcing: The workflow is executed on a schedule, defining the global alert threshold and retrieving the list of target URLs from a Google Sheet.
  Scraping (Dynamic): Decodo runs with JavaScript rendering ON to fetch the complete, dynamic HTML of the pricing page.
  AI Structuring: Gemini receives the raw HTML and uses a strict System Prompt to extract a clean JSON array of all pricing plans.
  Comparison & Calculation: A Code Node parses the current plan list and the list from the previous run (stored in Sheets). It calculates the percentage change for every matching plan.
  Alert Decision: An If Node checks the calculated change against the threshold. If the condition is met, the filtered alert proceeds to Slack.
  Data Shift & Log: The final Sheets Update node shifts the current plan data to the "Last Plans" column and moves the previous "Last Plans" to the "Old Plans" column, setting the new baseline for the next scheduled check.
  📥 Decodo Node Installation

  The Decodo node is used three times in this workflow for precision scraping and searching.

  Find the Node: Click the + button in your n8n canvas.
  Search: Search for the Decodo node and select it.
  Credentials: When configuring the first Decodo node, use your API key.

  🎁 Get a free Web Scraping API subscription here 👉🏻 https://visit.decodo.com/X4YBmy

  🛠️ Setup Instructions

  Credentials: Obtain API keys for Decodo (using the coupon below), Google Sheets, and Slack.
  Google Sheets Setup: Create a sheet with the following required columns for tracking (one row per URL):
      Name
      URL
      Old Plans (JSON String)
      Last Plans (JSON String)
      Updated At (Date)
  Global Configuration: Open the Config: Alert Parameters node to set your alert_threshold (e.g., 10).

  I understand. To complete the final template description for your Competitor Price Monitoring workflow, here is the dedicated How to Adapt the Template section, focusing on functional changes a user can make for advanced monitoring.

  ➕ How to Adapt the Template

  The workflow is currently configured for maximum efficiency and stability. To expand its functionality or change its dependencies, you can implement the following adaptations:

  Change Database for Storage:* Replace the *Google Sheets* nodes with *Airtable* or *Notion** nodes for historical storage. Since your comparison logic relies on the JSON string being saved and retrieved, you will only need to change the read/write operations (the Code logic remains the same).
  Change Alert Channel:* Easily swap the *Slack* node with a *Gmail, **Discord, or Pushover node to deliver critical price alerts to a different team or application.
  Dynamic Thresholds:* Modify the *Config: Alert Parameters* to include separate fields for price *increases (e.g., alert_increase_threshold) and price decreases (e.g., alert_decrease_threshold), allowing you to track competitor sales differently than price hikes.
  Advanced Price Filtering:* Adjust the code logic in *Code: Isolate Pricing Section** to target specific currency symbols (e.g., €, £) or to filter out prices that appear to be marked as promotional (e.g., text containing "SALE" or "Discount").
  Add Advanced Alert Reporting:* Instead of sending a simple Slack message, use the full list of price_diffs (which contains all plans) to generate a consolidated daily *CSV report* or a professional *HTML email** summarizing all movements, even those below the alert threshold.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.set","@decodo/n8n-nodes-decodo.decodo","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.noOp","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.splitOut","n8n-nodes-base.slack","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code"]

workflow_json_compressed:
  [encoded data, 9864 characters]

metadata_json:
  {"categories":["AI/ML","Marketing","Data Processing"],"complexity":"medium","use_cases":["Monitor competitor prices","Automated market intelligence","Detect price changes"],"estimated_setup_minutes":15,"required_services":["Gemini","Google Sheets"],"key_features":["Dynamic website scraping","Structured data extraction","Conditional alerting"],"target_audience":["E-commerce operators","Market analysts"]}


name: Send Server-Side Conversions to the Meta Ads API (CAPI)
author_name: JJ Tham
author_username: jj-tham
categories: []
created_at: 2025-11-21T09:17:47.546Z
updated_at: 2025-11-21T09:17:47.546Z
url: https://n8n.io/workflows/11089
scraped_at: 2026-05-02 08:04:48
metadata_generated_at: 2026-05-02 08:36:22
description:
  Struggling with inaccurate Meta Ads tracking due to iOS 14+ and ad blockers? 📉 This workflow is your solution. It provides a robust, server-side endpoint to reliably send conversion events directly to the Meta Conversions API (CAPI).

  By bypassing the browser, you can achieve more accurate ad attribution and optimize your campaigns with better data. This template handles all the required data normalization, hashing, and formatting, so you can set up server-side tracking in minutes.

  ⚙️ How it works
  This workflow provides a webhook URL that you can send your conversion data to (e.g., from a web form, CRM, or backend). Once it receives the data, it:

  Sanitizes User Data: Cleans and normalizes PII like email and phone numbers.
  Hashes PII: Securely hashes the user data using SHA-256 to meet Meta's privacy requirements.
  Formats the Payload: Assembles all the data, including click IDs (fbc, fbp) and user info, into the exact format required by the Meta CAPI.
  Sends the Event: Makes a direct, server-to-server call to Meta, reliably logging your conversion event.
  👥 Who’s it for?
  Performance Marketers: Improve ad performance and ROAS with more accurate conversion data.
  Lead Generation Businesses: Reliably track form submissions as conversions.
  E-commerce Stores: Send purchase events from your backend to ensure nothing gets missed.
  Developers: A ready-to-use template for implementing server-side tracking without writing custom code from scratch.

  🛠️ How to set up
  Setup is straightforward. You'll need your Meta Pixel ID and a CAPI Access Token.

  For a complete walkthrough, check out the tutorial video for this workflow on YouTube: https://youtu.be/_fdMPIYEvFM

  The basic steps are to copy the webhook URL, configure your form or backend to send the correct data payload, and add your Meta Pixel ID and Access Token to the final HTTP Request node.

  👉 For a detailed, step-by-step guide, please refer to the yellow sticky note inside the workflow.

nodes_used:
  ["n8n-nodes-base.set","n8n-nodes-base.crypto","n8n-nodes-base.crypto","n8n-nodes-base.set","n8n-nodes-base.crypto","n8n-nodes-base.crypto","n8n-nodes-base.httpRequest","n8n-nodes-base.webhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5060 characters]

metadata_json:
  {"categories":["Marketing","Data Processing"],"complexity":"medium","use_cases":["send conversion events","improve ad attribution","normalize conversion data"],"estimated_setup_minutes":5,"required_services":["Meta Ads API"],"key_features":["server-side tracking endpoint","data hashing","formatted CAPI payloads"],"target_audience":["marketers","ad ops specialists","developers"]}


name: Create AI-Curated News Digests with GPT-5.1, NewsAPI, Tavily & Telegram
author_name: Felix Kemeth
author_username: fkemeth
categories: []
created_at: 2025-11-21T10:23:34.134Z
updated_at: 2025-11-21T10:23:34.134Z
url: https://n8n.io/workflows/11092
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:22
description:
  Overview

  Staying up to date with fast-moving topics like AI, machine learning, research, or your specific industry can be tricky.

  To solve this for myself (for me, it is mostly AI and automation topics), I built and use this n8n workflow: it pulls fresh articles using NewsAPI based on my topics of interest, lets an AI agent pick the 5 most relevant ones, enriches them with a Tavily search engine, and sends a clean, readable newsletter straight to Telegram - in the language you specify.

  In this post, I'll:

  Explain what the workflow does and why it's useful
  Show you how to import and configure it step by step
  Highlight the main advantages and common customisations
  Outline concrete next steps and improvements

  After following this guide, you'll end up with a fully automated weekly newsletter that delivers relevant news on the topics you care about - without any manual work.

  This is ideal if you already run n8n and want a mostly no‑code way to get a curated weekly digest in Telegram.

  What this workflow does

  At a high level, this workflow:

  Runs on a schedule (weekly at 9:00 on Sundays by default)
  Automatically finds recent, relevant news via NewsAPI for your topics of interest
  Lets AI select the top 5 most relevant news
  Uses a Tavily-powered AI agent to fact-check and enrich each article
  Aggregates the final results into a compact newsletter in the language you specify
  Sends them as a Markdown-formatted Telegram message

  The result: every week you get an AI-picked, enriched mini-newsletter with the latest news based on your own interests - delivered in Telegram.

  Requirements

  To run this workflow, you need:

  NewsAPI key**  
    Create an account here and generate an API key - it is free.
  Tavily API key**  
    You can sign up here and create an API key. They also have a generous free tier.
  OpenAI API key**  
    Get one from OpenAI - we need this for the LLM agent calls.
  Telegram bot + chat ID**  
    A Telegram bot (via BotFather) and the chat/channel ID where you want the newsletter. It is also free. See for example here how to set that up.

  How it works

  The exact logic of the workflow is as follows:

  Schedule Trigger**  
    Runs the workflow on a fixed interval (in this version: weekly, at 9:00 on Sundays).
  Set topics and language**  
    A Set node that defines topics (my default is AI,n8n - use a comma-separated list) and language (here I have English, but choose what you prefer). Change these to match your interests (e.g. health,fitness, macroeconomics,markets, climate,policy, or anything you care about).
  Call NewsAPI**  
    HTTP Request node calling the NewsAPI API. It uses as arguments:
    from: last 7 days¹  
    q: the query, built from your topics (topics like AI,n8n become AI OR n8n expected by the API)²  
    sortBy: relevancy - the most relevant ones at the top of the results returned  
    Auth is handled via an httpQueryAuth credential, where your NewsAPI key is passed as a query parameter.
  AI Topic Selector**  
    An OpenAI - Message a model node using gpt-5.1 via your OpenAI API key with the following prompt:

  You are an assistant that selects the most relevant news articles for a user.

  Instructions:  
  Choose the 5 most relevant non-overlapping articles based on the user topics.  
  For each article, provide:  
     title  
     short summary (1–2 sentences)  
     source name  
     url
  Output the results in the language specified by the user.

  Output as a "articles" JSON array of objects, each with "title", "summary", "source" and "url".

  User topics of interest: {{ $('Set topics and language').item.json.topics }}
  Output language: {{ $('Set topics and language').item.json.language }}

  NewsAPI articles:

  {{ 
    $json.articles.map(
      article =&gt; 
        `Title: ${article.title}
  Description: ${article.description}
  Content: ${article.content}
  Source: ${article.source.name}
  URL: ${article.url}`
    ).join('\n---\n')
  }}

    The prompt instructs the model to read your topics and language, look at all articles from the NewsAPI call (it returns a maximum of 100), select the 5 most relevant, non-overlapping articles, and output a JSON array with title, summary, source and url.

  Split Out**  
    Splits out the AI message so each article becomes its own item. This lets the downstream AI agent work on each article individually.

    Under the hood, we parse the JSON array returned by the AI into individual items, so that each article becomes its own item in n8n. This lets the AI Agent node enrich each article separately.
  Newsletter AI Agent**  
    An AI Agent node with gpt-5.1 as model, again accessed via your OpenAI API key. The agent takes the initial title, summary, source and url, uses the Tavily search tool to find 2–3 reliable, recent sources, and writes a concise 1–3 sentence article in the language you specified. The prompt for the model is shown below.

  You are a research writer that updates short news summaries into concise, factual articles.

  Input:
  Title: {{ $json["title"] }}
  Summary: {{ $json["summary"] }}
  Source: {{ $json["source"] }}
  Original URL: {{ $json["url"] }}
  Language: {{ $('Set topics and language').item.json.language }}

  Instructions:

  Use Tavily Search to gather 2–3 reliable, recent, and relevant sources on this topic.
  Update the title if a more accurate or engaging one exists.
  Write 1–3 sentences summarizing the topic, combining the original summary and information from the new sources.
  Return the original source name and url as well.

  Output (JSON):

  {
    "title": "final article title",
    "content": "concise 1–3 sentence article content",
    "source": "the name of the original source",
    "url": "the url of the original source"
  }

  Rules:

  Ensure the topic is relevant, informative, and timely.
  Translate the article if necessary to comply with the desired language {{ $('Set topics and language').item.json.language }}.

    In particular, the prompt instructs the model to 
    
    Use Tavily Search to gather 2–3 reliable, recent, and relevant sources on this topic.
    Update the title if a more accurate or engaging one exists
    Write 1–3 sentences summarizing the topic, combining the original summary and information from the new sources
    Reply in a pre-defined JSON format including the original source name and url. The Output Parser enforces a structured JSON output with title, content, source and url as fields.

    Because the model is allowed to adjust titles, you may occasionally see slightly different titles than in the original feed; if you prefer minimal changes, you can tighten the prompt to only allow small tweaks.

  Aggregate**  
    Aggregate node collecting the output field from the agent. Combines the individual article objects back into one array to be used for messaging.
  Send a text message**  
    A Telegram - Send a text message node that uses your Telegram bot credentials and chatId. Renders each article as title, content plus Source: source.

  &gt; To adjust this workflow for your needs, open the Set topics and language node to tweak topics (comma-separated, like AI,startups,LLMs or web dev,TypeScript,n8n) and switch the language to any target language, then inspect the Schedule Trigger to adjust interval and time, e.g. weekly at 07:30. These two tweaks control the content topics of your newsletter and when you will receive it.

  Why this workflow is powerful

  End-to-end automation**  
    From news discovery to curated delivery, everything is automated.
  AI-driven topic relevance**  
    Instead of naïvely listing every headline the AI filters for relevance to your topics and avoids overlapping or duplicate stories.
  Grounded in facts**  
    By using NewsAPI and Tavily, the newsletter stays fact-based, i.e. you get short, factual summaries grounded in multiple sources.
  Flexibility**  
    A single parameter (language) lets you specify the output language, while the Schedule Trigger lets you set the frequency.
  Low friction and mobile-first**  
    Using Telegram as a consumption surface provides quick, low-friction reading, with push notifications as notifiers.

  Next steps

  Here are concrete directions to take this workflow further:

  RAG-workflow for better topic selection**  
    Use a Retrieval-Augmented Generation pattern to let the model better choose topics that align with your evolving preferences. Right now, all news articles go into the prompt, which may bias the model to pick articles that appear first.
  Prompt iteration and evaluation framework**  
    Systematically experiment with different selection criteria (e.g. "more technical", "more beginner-friendly"), tone and length of the newsletter.
  Logging using n8n data tables**  
    Persist previous newsletter to avoid repetition and for better debugging. Using the source links provided in the newsletter, track which articles were clicked to enable 1:1 personalization.
  Email with HTML template**  
    For more flexibility, send the newsletter via email.
  Trigger based on news relevance**  
    Instead of (or in addition to) a fixed schedule, compute a "relevance score" or "novelty score" across articles. Trigger only when the score crosses a threshold.
  Incorporating other news APIs or RSS feeds**  
    Add more sources such as other news APIs and RSS feeds from blogs, newsletters, or communities.
  Adjust for arxiv paper search and research news**  
    Swap NewsAPI for arxiv search or other academic sources to obtain a personal research digest newsletter.
  Add 1:1 personalization by tracking URL clicks**  
    Use n8n data tables to track which URLs have been clicked. Use this information as input to future AI runs to refine the news suggestions.
  Audio and video news**  
    Use audio or video models for better news communication.

  Wrap-up

  This workflow shows how I use n8n, NewsAPI, Tavily, OpenAI, and Telegram to create a personal weekly newsletter. It’s mostly no-code, easy to customize, and something I rely on myself to stay informed without spending time browsing news manually.

  Contact me here, visit my website, or connect with me on LinkedIn.

  Footnotes

  we do that here with the JS expression ={{ DateTime.fromISO($json.timestamp).minus({ days: 7 }) }}
  we do that here with the JS expression {{ $json.topics.replaceAll("," , " OR ") }}

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.telegram","n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.outputParserStructured","@tavily/n8n-nodes-tavily.tavilyTool","n8n-nodes-base.aggregate","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5068 characters]

metadata_json:
  {"categories":["AI/ML","Communication","Content Curation"],"complexity":"medium","use_cases":["curate news articles","summarize research topics","distribute intelligence briefings","personal knowledge updates","industry insight newsletters"],"estimated_setup_minutes":27,"required_services":["GPT-5.1","NewsAPI","Tavily","Telegram"],"key_features":["AI-based article selection","context-aware summarization","multi-source search integration","automated newsletter assembly","language-specific delivery"],"target_audience":["researchers","industry analysts","knowledge workers"]}


name: Generate complete SEO strategy reports with SerpAPI data and GPT-4 Agent team
author_name: Pixril
author_username: tani07
categories: []
created_at: 2025-11-21T13:25:11.429Z
updated_at: 2025-11-21T13:25:11.429Z
url: https://n8n.io/workflows/11109
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:19
description:
  Overview
  This workflow deploys a fully autonomous "AI SEO Agency" inside your n8n instance.

  Unlike simple chatbots, this is a hierarchical agent swarm. A "Director" agent acts as the project manager, using live market data to orchestrate a team of 6 specialized AI workers. It takes a single user prompt and turns it into a comprehensive, professional-grade SEO strategy report.

  Key Features
  Hierarchical Architecture:** A "Manager" agent delegates tasks to "Worker" agents.
  Live Market Research:* Uses *SerpApi** to fetch real-time Google Search results and competitor data.
  Conversational Memory:** Remembers business details across the chat session.
  6 Expert Specialists:** Includes dedicated agents for Keyword Research, Technical SEO, Link Building, Analytics, Local SEO, and Content Writing.

  How it works
  Analysis: The SEO Director Agent receives your request and consults its memory.
  Live Research: The Director uses the SerpApi tool to perform live Google searches on the target website and niche to gather context.
  Delegation: Based on the research, the Director dynamically assigns tasks to the relevant Specialist Agents (e.g., calling the "Technical Specialist" for site speed issues or the "Keyword Specialist" for content ideas).
  Synthesis: The Director compiles the outputs from all specialists into one cohesive, actionable strategy report.

  Set up steps
  Estimated time: 5 minutes

  OpenAI Keys: Add your OpenAI API Key to all 7 "OpenAI Chat Model" nodes (1 for the Director, 6 for the Specialists).
  SerpApi Key: Open the "SEO Director Agent" node. Under "Tools" &gt; "SerpApi," add your SerpApi Key (free tier available). This enables the live Google Search capability.
  Run: Toggle the workflow to "Active" and start chatting!

  About the Creator
  Built by Pixril. We specialize in building advanced, production-ready AI agents for n8n.
  Find more professional workflows in our shop: https://pixril.etsy.com

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agentTool","@n8n/n8n-nodes-langchain.agentTool","@n8n/n8n-nodes-langchain.agentTool","@n8n/n8n-nodes-langchain.agentTool","@n8n/n8n-nodes-langchain.agentTool","@n8n/n8n-nodes-langchain.agentTool","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.toolThink","@n8n/n8n-nodes-langchain.chat","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.toolSerpApi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 9168 characters]

metadata_json:
  {"categories":["Marketing","AI/ML"],"complexity":"medium","use_cases":["generate SEO reports","analyze market data","orchestrate AI agents"],"estimated_setup_minutes":20,"required_services":["SerpAPI","OpenAI"],"key_features":["hierarchical agent architecture","market research automation","strategic report generation"],"target_audience":["marketers","SEO specialists","content strategists"]}


name: Automatic Email Classification with Gmail and Claude AI
author_name: Ayis Saliaris Fasseas
author_username: ayissf
categories: []
created_at: 2025-11-21T15:40:26.777Z
updated_at: 2025-11-21T15:40:26.777Z
url: https://n8n.io/workflows/11114
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:21
description:
  How It Works
  1.Gmail Trigger

  Continuously monitors your Gmail inbox for new messages.
  Captures the email’s subject, body, and metadata.
  Sends the extracted content to the Email Content Classifier.

  2.Email Content Classification

  The Email Content Classifier analyzes the email content using natural language processing.

  Compares the message against predefined Gmail labels:
  Ads
  Work
  Personal
  Financial
  Other (fallback label)

  Users can add or rename categories to match their specific needs.

  Uses context, tone, and keywords to determine the most accurate label.

  3.Applying Gmail Labels

  Sends the classification result to the corresponding Gmail label node.
  Automatically applies the matching Gmail label in your inbox.
  If the classifier cannot confidently match the message, the Other label is used as a fallback.

  Setup Steps

  Connect Gmail Accounts
  Connect your Gmail account in the Gmail Trigger and in each Gmail label node.
  Configure the Email Content Classifier
  Map the incoming Gmail message body to inputText.
  Ensure the classifier node has access to a language model credential (Anthropic or other).
  Test the Workflow
  Send a few sample emails to yourself to confirm that labels are correctly applied.
  Tweak Categories if Needed
  Adjust category names in the classifier node to match your Gmail labels exactly.

  Customization

  Add or rename categories in the classifier to reflect your specific email types.
  Create corresponding Gmail label nodes for each new category.
  Expand or modify categories as your workflow evolves to improve organization and efficiency.

  Use Cases

  Automatic inbox organization and sorting.
  Separation of work, personal, financial, and promotional emails.
  Improved productivity by making important emails easier to locate.
  Custom categorization for specialized workflows.

  Troubleshooting Tips

  Emails not being labeled → check API permissions and message ID references.
  Wrong label assigned → update classifier examples or refine category descriptions.
  Classifier not returning a category → confirm fallback category “Other” is configured.
  Workflow not triggering → reconnect Gmail Trigger authentication and ensure the workflow is active.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.lmChatAnthropic","n8n-nodes-base.gmailTrigger","@n8n/n8n-nodes-langchain.textClassifier"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["Communication","Data Processing","AI/ML"],"complexity":"medium","use_cases":["Sort incoming emails by category","Automate inbox management","Classify customer support queries"],"estimated_setup_minutes":30,"required_services":["Gmail","Claude AI (Anthropic)"],"key_features":["Real-time email monitoring","Customizable email categories","AI-powered content analysis","Automatic label application"],"target_audience":[" administrators","customer support specialists","small business owners"]}


name: Auto Create & Publish X-Threads (Twitter) with GPT via Telegram & Approval Loop
author_name: Feras Dabour
author_username: ferasdabour
categories: []
created_at: 2025-11-21T19:07:44.882Z
updated_at: 2025-11-21T19:07:44.882Z
url: https://n8n.io/workflows/11121
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:21
description:
  AI X (twitter) Threads Bot with Approval Loop

  This n8n workflow transforms your Telegram messenger into a personal assistant for creating and publishing X-Threads. You can simply send an idea as a text or voice message, collaboratively edit the AI’s suggestion in a chat, and then publish the finished thread directly to X just by saying “Okay.”

  What You’ll Need to Get Started
  Before you can use this workflow, you’ll need a few prerequisites set up. This workflow connects three different services, so you will need API credentials for each:

  Telegram Bot API Key*: You can get this by talking to the  “BotFather” on Telegram. It will guide you through creating your new bot and provide you with the API token.
  New Chat with Telegram BotFather

  OpenAI API Key*: This is required for the “Speech to Text” and “AI Agent” nodes. You’ll need an account with OpenAI to generate this key.
  OpenAI API Platform

  Blotato API Key*: This service is used to publish the final post to X. You’ll need a Blotato account and to connect your X profile there to get the key.
  Blotato platform for social media publishing


  Once you have these keys, you can add them to the corresponding credentials in your n8n instance.

  How the Workflow Operates, Step-by-Step
  Here is a detailed breakdown of how the workflow processes your request and handles the publishing.

  1. Input & Initial Processing
  This phase captures your idea and converts it into usable text.

  Node Name	Role in Workflow
  Start: Telegram Message	This Telegram Trigger node initiates the entire process upon receiving any message from you in the bot.
  Prepare Input	Consolidates the message content, ensuring the AI receives only one clean text input.
  Check: ist it a Voice?	Checks the incoming message for text. If text is empty, it proceeds to voice handling.
  Get Voice File	If a voice note is detected, this node downloads the raw audio file from Telegram.
  Speech to Text	This node uses the OpenAI Whisper API to convert the downloaded audio file into a text string.
  2. AI Core & Iteration Loop
  This is the central dialogue system where the AI drafts the content and engages in the feedback loop.


  AI: Draft & Revise Post	The main logic agent. It analyzes your request, applies the “System Prompt” rules, drafts the post, and handles revisions based on your feedback.
  OpenAI Chat Model	Defines the large language model (LLM) used for generating and revising the post.
  Window Buffer Memory	A memory buffer that stores the last turns of the conversation, allowing the AI to maintain context when you request changes (e.g., “Make it shorter”).
  Check if Approved	This crucial node detects the specific JSON structure the AI outputs only when you provide an approval keyword (like “ok” or “approved”).
  Post Suggestion Or Ask For Approval	Sends the AI’s post draft back to your Telegram chat for review and feedback.
  AI Agent System Prompt (Internal Instructions - English)
  The agent operates under a strict prompt that dictates its behavior and formatting (found within the AI: Draft & Revise Post node.

  3. Publishing & Status Check
  Once approved, the workflow handles the publication and monitors the post’s status in real-time.

  Node Name	Role in Workflow
  Approval: Extract Final Thread Posts	Parses the incoming JSON, extracting only the clean text ready for publishing.
  Create post with Blotato	Uses the Blotato API to upload the finalized content to your connected X account.
  Give Blotat 5s :)	A brief pause to allow the publishing service to start processing the request.
  Check post status	Checks back with Blotato to determine if the post is published, in progress, or failed.
  Published?	Checks if the status is “published” to send the success message.
  In Progress?	Checks if the post is still being processed. If so, it loops back to the next wait period.
  Give Blotat other 5s :)	Pauses the workflow before re-checking the post status, preventing unnecessary API calls.
  Final Notification
  Node Name	Role in Workflow
  Send a confirmation message	Sends a confirmation message and the direct link to the published X post.
  Send an error message	Sends a notification if the post failed to upload or encountered an error during processing.
  🛠️ Personalizing Your Content Bot
  The true power of this n8n workflow lies in its flexibility. You can easily modify key components to match your unique brand voice and technical preferences.

  1. Tweak the Content Creator Prompt
  The personality, tone, and formatting rules for your X content are all defined in the System Prompt.

  Where to find it: Inside the AI: Draft & Revise Post node, under the System Message setting.
  What to personalize: Adjust the tone, change the formatting rules (e.g., number of hashtags, required emojis), or insert specific details about your industry or target audience.
  2. Switch the AI Model or Provider
  You can easily swap the language model used for generation.

  Where to find it: The OpenAI Chat Model node.
  What to personalize:
  Model: Swap out the default model for a more powerful or faster alternative (e.g., gpt-4 family, or models from other providers if you change the node).
  Provider: You can replace the entire Langchain block (including the AI Model and Window Buffer Memory nodes) with an equivalent block using a different provider’s Chat/LLM node (e.g., Anthropic, Cohere, or Google Gemini), provided you set up the corresponding credentials and context flow.
  3. Modify Publishing Behavior (Schedule vs. Post)
  The final step is currently set to publish immediately, but you might prefer to schedule posts.

  Where to find it: The Create post with Blotato node.
  What to personalize:
  Consult the Blotato documentation for alternative operations. Instead of choosing the “Create Post” operation (which often posts immediately), you can typically select a “Schedule Post” or “Add to Queue” operation within the Blotato node.
  If scheduling, you will need to add a step (e.g., a Set node or another agent prompt) before publishing to calculate and pass a Scheduled Time parameter to the Blotato node.

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.telegram","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.stickyNote","n8n-nodes-base.telegramTrigger","n8n-nodes-base.set","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","@blotato/n8n-nodes-blotato.blotato","n8n-nodes-base.wait","@blotato/n8n-nodes-blotato.blotato","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.wait","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 9552 characters]

metadata_json:
  {"categories":["Marketing","Communication","AI/ML"],"complexity":"medium","use_cases":["Collaborative content creation","Social media automation","AI thread generation","User approval workflows","Telegram integration"],"estimated_setup_minutes":15,"required_services":["Telegram","X (Twitter)","OpenAI GPT API"],"key_features":["Multi-turn collaborative editing","AI-assisted thread generation","Manual approval before publishing","Voice-to-text input support","Direct social media posting"],"target_audience":["Content creators","Social media managers","Marketing teams"]}


name: Cross-platform content publisher: Telegram to WordPress, Facebook, X & LinkedIn
author_name: SpaGreen Creative
author_username: spagreen
categories: []
created_at: 2025-11-22T07:03:59.101Z
updated_at: 2025-11-22T07:03:59.101Z
url: https://n8n.io/workflows/11127
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:21
description:
  ==Reason Of The Workflow==
  This n8n workflow automatically shares content from a Telegram Channel to multiple platforms like WordPress, Facebook, X/Twitter, and LinkedIn. It uses a Switch node to detect the type of content—text, image, video, audio, or document—and sends it to the right processing and publishing nodes for each platform.

  Who Is This For?
  This workflow is ideal for content creators, marketers, and organizations who use a Telegram Channel as their main content hub. It eliminates the need for manual, repetitive posting across different social media and blogging platforms by instantly detecting new posts in Telegram and distributing them according to their content type.

  What This Workflow Does
  The SocialVibe workflow is a sophisticated automation designed to handle diverse media types and publishing requirements:
  Real-Time Triggering:** It instantly activates upon the detection of a new message (channel_post event) in your configured Telegram Channel.
  Intelligent Content Detection:* It uses a *Switch* node and a *Code** node to analyze the Telegram payload and correctly identify the type of content posted (e.g., plain text, image, video, audio, or document).
  Platform-Specific Publishing:** It tailors the publishing action for each platform, ensuring images go to the WordPress media library, text becomes a Tweet, etc.
  Caption-as-Text:** The Telegram post's caption is automatically used as the post body, Tweet text, or blog post content/excerpt.

  Key Features
  Versatile Media Support:** Handles over 9 different content types (Text, Photo, Video, Audio, Document, etc.).
  Dedicated WordPress Integration:**
      Creates a new post/article.
      Uses an Edit Imageautomatically resize images to optimize for web upload.
      Uploads the image to the WordPress Media Library via HTTP Request.
      Sets the uploaded image as the post's Featured Image.
  Broad Social Media Reach:* Supports cross-posting to *X/Twitter, Facebook Page, LinkedIn Profile, and LinkedIn Page**.
  Customizable Settings:** Easily adjust WordPress categories, post status, and platform-specific settings like LinkedIn target IDs.

  Required Credentials & Accounts
  Telegram Bot Token: The bot must be an administrator in the source channel.
  WordPress API Credentials: For REST API access (username/password or application password).
  Facebook Graph API Credentials: With permissions to post to the target Page.
  LinkedIn OAuth2 Credentials: To post on a Profile and/or Company Page.
  Twitter/X OAuth2 Credentials: For publishing tweets.

  How to Use — Step-by-Step Setup
  Set Up All Credentials:
      Configure all necessary API credentials (Telegram, WordPress, Facebook, LinkedIn, Twitter) within your n8n instance.
  Configure Telegram Trigger:
      Ensure the Telegram Trigger node is set to listen for the channel_post update type.
  Customize WordPress Nodes:
      Update the Create WordPress Post node with your desired Category ID (currently set to 1) and ensure the Status is set to publish (or draft for safety testing).
      In the HTTP Request nodes (used for WordPress media upload), replace the placeholder URL (e.g., https://yourdomain.myshopify.com/) with your actual WordPress site domain.
  Update Social Media Target IDs:
      LinkedIn: Update the Person ID (e.g., PghXXXXnRg) and Organization ID (e.g., 109XXX908) in the respective LinkedIn nodes to match your profile and company page.
      Telegram Send/Repost: Update the chatId (e.g., -10025XXXX5258) in the sending Telegram nodes to match the channel or group you want to cross-post to.

  Support & Help
  WhatsApp**: Chat on WhatsApp
  Discord**: SpaGreen Community
  Facebook Group**: SpaGreen Support
  Website**: https://spagreen.net
  Developer Portfolio**: Codecanyon SpaGreen

nodes_used:
  ["n8n-nodes-base.telegramTrigger","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.merge","n8n-nodes-base.noOp","n8n-nodes-base.telegram","n8n-nodes-base.wordpress","n8n-nodes-base.editImage","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.switch","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.twitter","n8n-nodes-base.linkedIn","n8n-nodes-base.linkedIn","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.telegram","n8n-nodes-base.linkedIn","n8n-nodes-base.linkedIn","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["Marketing"],"complexity":"medium","use_cases":["distribute content to social networks","sync Telegram posts to websites","multichannel content publishing","post media types to platforms","automate cross-platform posting"],"estimated_setup_minutes":30,"required_services":["Telegram","WordPress","Facebook Graph API","X/Twitter","LinkedIn","Image Editing Service"],"key_features":["content type detection","platform-specific processing","multichannel distribution","media type handling","automatic scheduling"],"target_audience":["content creators","social media managers","marketing teams"]}


name: Automated Shopify abandoned cart recovery with WhatsApp messages & Google Sheets
author_name: SpaGreen Creative
author_username: spagreen
categories: []
created_at: 2025-11-22T07:21:14.210Z
updated_at: 2025-11-22T07:21:14.210Z
url: https://n8n.io/workflows/11129
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:21
description:
  Who Is This For?
  This workflow is perfect for e-commerce store owners using Shopify who want to automatically recover abandoned carts through personalized WhatsApp messages. It's ideal for businesses looking to increase conversion rates without manual outreach efforts.

  What This Workflow Does
  Automated Cart Recovery**: Runs on a schedule to check for abandoned checkouts
  Data Extraction**: Retrieves abandoned checkout data from Shopify using both GraphQL and REST APIs
  Customer Data Processing**:
    Fetches detailed customer information including name, email, and phone number
    Formats customer data for WhatsApp messaging
    Creates personalized messages with recovery links and discount codes
  WhatsApp number Verifies if customer phone numbers are registered on WhatsApp using Rapiwa API**
  Targeted Messaging**:
    Sends personalized WhatsApp messages to verified numbers
    Includes a 5% discount code (REOXXER5) to incentivize completion
    Also send direct recovery links
  Data Tracking**:
    Stores all outreach attempts in Google Sheets
    Tracks which numbers were verified and which messages were sent otherwise not-sent
    Save on sheet for verified and unverified contacts

  Requirements
  Shopify Admin API Access** (to retrieve checkout and customer data)
  Google Sheets OAuth2** (for tracking outreach)
  Rapiwa API** (for WhatsApp verification and messaging)

  How to Use — Step-by-Step Setup
  1. Set Up Credentials in n8n
  Add your Shopify Admin API credentials with access to customer and checkout data
  Add Google Sheets OAuth2 credentials (named "Google Sheets")
  Add Rapiwa API credentials (named "Rapiwa account 2")

  2. Prepare Your Google Sheet
  Google sheet: Example 
  3. Customize the Workflow
  Modify the Schedule
  Change the discount code from "REOXXXXR5" to your offer

  Useful Links
  Shopify Admin API**: API Documentation
  Rapiwa**: Get your WhatsApp API credentials
  Google Sheets API**: Developer Documentation

  Support & Help
  WhatsApp**: Chat on WhatsApp
  Discord**: SpaGreen Community
  Facebook Group**: SpaGreen Support
  Website**: https://spagreen.net
  Developer Portfolio**: Codecanyon SpaGreen

nodes_used:
  ["n8n-nodes-base.splitInBatches","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.splitOut","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","n8n-nodes-base.if","n8n-nodes-rapiwa.rapiwa","n8n-nodes-rapiwa.rapiwa","n8n-nodes-base.wait","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE52XS0/kRhCA/4o1hyiRplG/H9w2HCKiZDeCZPcQ7aG6uxqsBXsy9sCiFf895QExBmwYuMDMuF311bv6x6LOi8PF+Z/dSfclfeThr2Tz0c1iubjEHhaHPxZ10/XQJDwezqUYQKBRUjjrolXCWqWd9EoLqRwaq6M03kEUJjqdgIMPGLkEo7TX2ZLcHi9XF9Dj0Rpzd4r9ZnXU0i/YIyno1xu8XS4auETSdoKpvcJ19SFCk9sGc3V63q7qclMdwbrvqqsaqi/n0HcfVqvqY9vTk0EBnHWLw3+/kpg24/Dxx52R0meZnFQsccmZ9ikwAMOZi86WYFAjx8WD8j/adlV9GtQfE3I3CL5ZDQ8a37CtZBahw4NudVH3x82v0KdzHI6t2q7u67YhxUzYpRCSUFawJrE9ronnx+2drM/0bXtO3S7vEbMQGEXyBKYL00k5FrSPLHrUJUjDM+gd4ilpzJsLrP5e12dnuJ5nvD+4OzeGdNYvJfevUYoD+cAptRMFbWY5Gsu0K4aBN4mFUjQqWRQHOeIcXFR92vQvO/HuwJhMar6P/8QDVywlJBcMc0abIcSGeWMtK0mUwHXRAsWO6zfsq7Tp+vaSolw3pZ3lO+/71Qn+t8HuCSL5bSnkq77TI99xC1mSlxjyKJnOBlgQkZMip6loACjYjxk/XFyMaoBimb61m34+JWdpmbZ6H4eOcbMdykMC4zFEprWNLASumJDgueA+O/nEpccN6YMx8tE98juJleRvIS46FS8hsahLIgG+MK+lYF4FSgtIqGKZSE7xnuzcA22XnSEYaYtNLKdCrlQAzKMXjKoFEo9JCIDZBvQK3gsdaA/GXQcqPAlOHXuoG+pAIjkGJRdmeAmKeiS3aeS84zJLVZfHJM5TIJV9jUSOAkkForXynKEwjunIKaRKBSpuB8FBKcqNWE5gVV9D9TN5bBgRzeYy4vqXKb719uTB3b/HlCbIfSh3MS3gkiuUbAbStuNYRhOvMGF8yBIDci6eM3bY9NUldh2c4VsRBef79esHRuUMTz4HxrWhvAtOUExFZspHqmSJCSTfMX6Ber5Qr+8ejnGk9kuthp5yjfG8bb9tNwWbtNNoNMOoqAhLylSOxgzjTEmZMhfbtvHKxNnZIKh9u6IEw6RoeBsoLHhElh0HKy0tH3xUO6d9u8bqtKc9o2pLddJed9Tgq89DatTUkH6qTikCs1aete3ZBZ6eI/bdhLV7OF8f2N2wVKBNiJl5MaDT/sR8TjQsRcbAU3J+7P4Z9H+aqx087TrvNmDInrtw7W1AEAV4QEk9P1L+pGEhcRbIlKiiRYNJj3x/RBgD8e9wBadpXa/mMRN9fD5P9+kSu9w2oGk1AqZsCEzzTONJaEW5TZEyELOOYuzcOn27GfyH8+10e+b+yLg1WL5kzx23SG3TD7E4XCzmS1DSWi2itsyqkqlNaGTErZg0yvlsMwRwk5jyzZzMSL9kVr8P1FCPt6iHIU8rCvUzmlFAxSZU8cGGqF0Ok6D6faATw2k/0BSzSEVYRqUvaC8pyAK3tC8nLUMMwggpJ0HV20HpmqOXzL+RlE5D6usr0lTgosPlosO+r5uz7av4HdNmUPBpnWklP1xciUHG1d372x6KvqAI2TKngOZfEZr6Nq00WfNkKd0jiMEYgmgwDaK2gmkm099LqAd0uvsMBr4+erbnl3Tby/h9ccgJfvfq+1rSM4lfybztcBnhbX/c3Q+mwGcvYpMKRuvcHsLEK9Ke6h6Tjxz0wkViH7FiTu5LrXTa+qc3wikf7LujT2p4burTaE5Av5SPc+vapPbpJJ4S/9YN4EV1Txin9I034VnHzV3kJg14fmmelftCNF8U/Vr67+nEKR2Pt8i3SJ9uK+/ScXv7PxChsibgEgAA

metadata_json:
  {"categories":["E-commerce","Communication","Data Processing"],"complexity":"medium","use_cases":["Recover abandoned carts","Send WhatsApp recovery messages","Extract cart data from Shopify","Update customer progress in Sheets","Schedule automated notifications"],"estimated_setup_minutes":20,"required_services":["Shopify","WhatsApp API (RapiRapi)","Google Sheets"],"key_features":["Schedule-based cart monitoring","GraphQL & REST API integration","Customer data splitting & enrichment","AI-powered message personalization","Conditional logic for message types"],"target_audience":["e-commerce owners","customer success managers","shopify developers"]}


