# templates

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: 2025-12-24 13:02:42
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: shilpa.raju@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, 8356 characters]


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: 2025-12-24 13:02:44
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.

  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, 6680 characters]


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: 2025-12-24 13:02:41
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]


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: 2025-12-24 13:02:42
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, 15656 characters]


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: 2025-12-24 13:02:44
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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


name: Automated 🤖🎵 AI Music Generation with ElevenLabs, Google Sheets & Drive
author_name: Davide
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: 2025-12-24 13:02:41
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.

  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"]

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


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: 2025-12-24 13:02:42
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]


name: Generate Professional Documents with Claude AI Skills🤹🤖 & Upload to Google Drive
author_name: Davide
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: 2025-12-24 13:02:41
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.

  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"]

workflow_json_compressed:
  [encoded data, 9208 characters]


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: 2025-12-24 13:02:41
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]


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: 2025-12-24 13:02:43
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, 5168 characters]


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: 2025-12-24 13:02:41
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, 9208 characters]


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: 2025-12-24 13:02:42
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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


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: 2025-12-24 13:02:43
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, 9636 characters]


name: Generate AI Photos with Gemini & Auto-Post to FB, Instagram & X with Approval
author_name: Feras Dabour
author_username: ferasdabour
categories: []
created_at: 2025-11-22T15:51:48.706Z
updated_at: 2025-11-22T15:51:48.706Z
url: https://n8n.io/workflows/11138
scraped_at: 2025-12-24 13:02:42
description:
  Social Media Foto Creation Bot with Approval Loop
  Create & Share AI Photos with Telegram, Gemini & Post to Facebook, Instagram & X

  Description
  This n8n workflow turns your Telegram messenger into a complete AI Photo Content Pipeline. You send your photo idea as a text or voice message to a Telegram bot, collaborate with an AI to refine the prompt and social media caption, let Gemini generate the image, and then automatically publish it after your approval to Facebook, Instagram, and X (Twitter) – including status tracking and Telegram confirmations.

  What You Need to Get Started
  This workflow connects several external services. You will need the following credentials:

  Telegram Bot API Key**
      Create a bot via 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.
      Used by the AI Agent model (OpenAI Chat Model) for prompt creation.
  Google Gemini API Key**
      Used by the Generate an image node (model: models/gemini-2.5-flash-image) to create the AI image.
  Google Drive & Sheets Access**
      The generated image is temporarily stored in a Google Drive folder (Upload image1) and later retrieved by Blotato.
      Prompts and post texts are logged to Google Sheets (Save Prompt & Post-Text) for tracking.
  Blotato API Key**
      The layer for social media publishing.
      Uploads the image as a media asset (Upload media1) and creates posts for Facebook, Instagram, and X.

  How the Workflow Operates – Step by Step

  1. Input & Initial Processing (Telegram + Voice Handling)
  This phase receives your messages and prepares the input for the AI.

  | Node Name | Role in Workflow |
  | :--- | :--- |
  | Listen for incoming events | Telegram Trigger node that starts the workflow on any incoming message. |
  | Voice or Text | Set node that structures the incoming message into a unified text field. |
  | A Voice? | IF node that checks if the message is a voice note. |
  | Get Voice File | If voice is detected, this downloads the audio file from Telegram. |
  | Speech to Text | Uses OpenAI Whisper to convert the voice note into a text transcript. |

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

  2. AI Core & Refinement Loop (Prompt + Caption via AI)
  Here, the AI drafts the image prompt (for Gemini) and the social media caption (for all platforms) and enters an approval loop with you.

  | Node Name | Role in Workflow |
  | :--- | :--- |
  | AI Agent | Central logic agent. Creates a videoPrompt (used for image generation) and socialMediaText based on your idea, and asks for feedback. |
  | OpenAI Chat Model | The LLM backing the agent (e.g., GPT-4.1-mini). |
  | Window Buffer Memory | Stores recent turns, allowing the agent to maintain context during revisions. |
  | Send questions or proposal to user | Sends the AI's suggestion for review back to you. |
  | Approved from user? | IF node that checks if the output is the approved JSON (meaning you replied with "ok" or "approved"). |
  | Parse AI Output | Code node that extracts the videoPrompt and socialMediaText fields from the agent’s final JSON output. |

  3. Content Generation & Final Approval
  Once the prompt and caption are set, the image is created and sent to you for final approval before publishing.

  | Node Name | Role in Workflow |
  | :--- | :--- |
  | Inform user about processing | Telegram node to confirm: "Okay. Your image is being prepared now..." |
  | Save Prompt & Post-Text | Google Sheets node that logs the videoPrompt and socialMediaText. |
  | Generate an image | Gemini node that creates the image based on the videoPrompt. |
  | Send a photo message | Sends the generated image to Telegram for review. |
  | Send message and wait for response | Telegram node that waits for your response to the image (e.g., "Good?" / "Approve"). |
  | Upload image1 | Temporarily saves the generated image to Google Drive. |
  | Download image from Drive | Downloads the image back from Drive. |
  | If1 | IF node that checks if the image was approved in the previous step (approved == true). |

  4. Upload & Publishing (Blotato)
  After final approval, the image is uploaded to Blotato, and post submissions for the social media platforms are created.

  | Node Name | Role in Workflow |
  | :--- | :--- |
  | Upload media1 | Blotato Media node. Uploads the approved image as a media asset and returns a public url. |
  | Create instagram Post | Creates an Instagram post using the media URL and socialMediaText. |
  | Create x post | Creates an X (Twitter) post using the media URL and socialMediaText. |
  | Create FB post | Creates a Facebook post using the media URL and socialMediaText. |

  5. Status Monitoring & Retry Loops (X, Facebook, Instagram)
  An independent loop runs for each platform, polling Blotato until the post is either published or failed.

  | Node Name | Role in Workflow |
  | :--- | :--- |
  | Wait, Wait1, Wait2 | Initial pauses after post creation. |
  | Check Post Status, Get post1, Check Post Status1 | Blotato Get operations to fetch the current status of the post. |
  | Published to X?, Published to Facebook?, Published to Instagram? | IF nodes checking for the "published" status. |
  | Confirm publishing to X, Confirm publishing to Facebook, Confirm publishing to Instagram | Telegram nodes that notify you of successful publication (often including the post link). |
  | In Progress?, In Progress?1, In Progress?2 | IF nodes that check for "in-progress" status and loop back to the Wait nodes (Give Blotat other 5s). |
  | Send X Error Message, Send Facebook Error Message, Send Instagram Error Message | Telegram nodes that notify you if a failure occurs. |

  🛠️ Personalizing Your Content Bot

  The workflow is highly adaptable to your personal brand and platform preferences:

  Tweak the AI Prompt & Behavior:
      Where: In the AI Agent node, within the System Message.
      Options: Change the tone (casual, professional, humorous) and the level of detail required for the prompt generation or the social media captions.
  Change Gemini Model or Image Options:
      Where: In the Generate an image node.
      Options: Swap the model or adjust image options like Aspect Ratio or Style based on Gemini's API capabilities.
  Modify Which Platforms You Post To:
      Where: In the Blotato nodes: Create instagram Post, Create x post, Create FB post.
      Options: Disable or delete branches for unused platforms, or add new platforms supported by Blotato.

nodes_used:
  ["@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","@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.if","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.googleSheets","@blotato/n8n-nodes-blotato.blotato","n8n-nodes-base.wait","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.telegram","@blotato/n8n-nodes-blotato.blotato","@n8n/n8n-nodes-langchain.googleGemini","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.if","n8n-nodes-base.wait","n8n-nodes-base.if","n8n-nodes-base.wait","@blotato/n8n-nodes-blotato.blotato","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","@blotato/n8n-nodes-blotato.blotato","@blotato/n8n-nodes-blotato.blotato","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 10480 characters]


name: Extract Amazon Product Data to Sheets with Olostep API
author_name: Yasser Sami
author_username: yassersami
categories: []
created_at: 2025-11-23T13:49:34.116Z
updated_at: 2025-11-23T13:49:34.116Z
url: https://n8n.io/workflows/11158
scraped_at: 2025-12-24 13:02:41
description:
  Olostep Amazon Products Scraper  

  This n8n template automates Amazon product scraping using the Olostep API.  
  Simply enter a search query, and the workflow scrapes multiple Amazon search pages to extract product titles and URLs.  
  Results are cleaned, normalized, and saved into a Google Sheet or Data Table.

  Who’s it for  
  E-commerce analysts researching competitors and pricing  
  Product sourcing teams  
  Dropshippers and Amazon sellers  
  Automation builders who want quick product lists without manual scraping  
  Growth hackers collecting product data at scale  

  How it works / What it does  
  Form Trigger  
     User enters a search query (e.g., “wireless bluetooth headphones”).  
     The query is used to build the Amazon search URL.

  Pagination Setup  
     A list of page numbers (1–10) is generated automatically.  
     Each number loads the corresponding Amazon search results page.

  Scrape Amazon with Olostep  
     For each page, Olostep scrapes Amazon search results.  
     Olostep’s LLM extraction returns:  
       title — product title  
       url — product link  

  Parse & Split Results  
     The JSON output is decoded and turned into individual product items.

  URL Normalization  
     If the product URL is relative, it is automatically converted into a full Amazon URL.

  Conditional Check (IF node)  
     Ensures only valid product URLs are stored.  
     Helps avoid scraping Amazon navigation links or invalid items.

  Insert into Sheet / Data Table  
     Each valid product is saved in:  
       title  
       url  

  Automatic Looping & Rate Management  
     A wait step ensures API rate limits are respected while scraping multiple pages.

  This workflow gives you a complete, reliable Amazon scraper with no browser automation and no manual copy/paste — everything runs through the Olostep API and n8n.

  How to set up  
  Import this template into your n8n account.  
  Add your Olostep API key.  
  Connect your Google Sheets or Data Table.  
  Deploy the form and start scraping with any Amazon search phrase.

  Requirements  
  Olostep API key  
  Google Sheets or Data Table  
  n8n cloud or self-hosted instance  

  How to customize the workflow  
  Add more product fields (price, rating, number of reviews, seller name, etc.).  
  Extend pagination range (1–20 or more pages).  
  Add filtering logic (e.g., ignore sponsored results).  
  Send scraped results to Notion, Airtable, or a CRM.  
  Trigger via Telegram bot instead of a form.  

  👉 This workflow is perfect for e-commerce research, competitive analysis, or building Amazon product datasets with minimal effort.  

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","n8n-nodes-base.if","n8n-nodes-base.wait","n8n-nodes-base.dataTable","n8n-nodes-base.formTrigger","n8n-nodes-base.set","n8n-nodes-base.splitOut","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, 5004 characters]


name: Reddit Monitoring with AI Sentiment Analysis and Growth Insights Dashboard
author_name: WeWeb
author_username: weweb
categories: []
created_at: 2025-11-24T11:16:40.061Z
updated_at: 2025-11-24T11:16:40.061Z
url: https://n8n.io/workflows/11182
scraped_at: 2025-12-24 13:02:41
description:
  This template gives you a complete, automated system for monitoring Reddit and extracting growth insights.

  It tracks discussions across target subreddits, surfaces what users love, dislike, want changed, and highlights how they compare you to competitors.

  Paired with the free WeWeb UI template, it prioritizes engagement and organizes everything into a clean, easy-to-use dashboard. So every team gets the insights they need:

  Leadership** gains clarity on industry trends and emerging shifts  
  Product** can adjust roadmaps and prioritize features or integrations  
  Marketing** gets content angles, competitive messaging, and SEO topics  
  Sales** receives objection insights straight from real conversations  
  Support** spots early patterns in user challenges  

  🙌 Who this is for

  Perfect for product teams, founders, and growth marketers who want to build and scale Reddit as a channel without spending hours manually scanning threads.

  💫 What Makes This Different

  Eliminates manual scanning:** Automatically pull product and competitor mentions using F5Bot for free, without the high cost of traditional monitoring tools.  
  Captures full conversations:** Track not just posts, but the entire comment chain where real insights, objections, and frustrations actually surface.  
  AI-powered prioritization:** Every mention is classified by sentiment and topic so you know what to prioritize and why.  
  Cross-team intelligence:** Highlights product insights, competitor signals, sales objections, user frustrations, and industry trends, helping product, marketing, sales, support, and leadership make more customer-centric decisions.

  ⚙️ How the Workflow Works

  A cron job runs every hour and scans your Gmail inbox for new F5Bot alert emails.  
  When an alert is found, the workflow extracts all mention data from the email.  
  An AI node processes each mention to:  
    categorize it by topic  
    tag sentiment  
  All data is stored in Supabase.  
  The data is displayed in a WeWeb dashboard where users can browse mentions.  
  If a user wants deeper context, they click “AI Summary.”  
  This triggers a webhook in n8n, which pulls the main Reddit post and its entire comment chain.  
  The AI node summarizes the full thread and highlights:  
    the core discussion  
    competitor comparisons  
    what users like or dislike  
    industry-level signals  
  The workflow returns a clean, actionable summary back to the WeWeb UI.

  🧪 Requirements

  You don’t need any heavy infrastructure. To get started, you’ll need:

  F5Bot account (free)** - to track Reddit mentions by keywords and trigger email alerts  
  Gmail integration** - so the workflow can parse emails from F5Bot  
  OpenAI API key** - for AI-powered categorization and summarization  
  Supabase project (free)** - to store all mention data  
  WeWeb account (free)** - connects your n8n workflow to a clean, user-friendly dashboard for viewing insights 

  Here's a detailed setup guide.
  🔧 Want to Go Further?

  This setup is beginner-friendly, but you can extend it with:

  Blog topic generation  
  Full blog post generation  
  Social media posts  
  Competitor benchmarking reports  
  Weekly or monthly email digests  
  Slack alerts for high-signal mentions  

nodes_used:
  ["n8n-nodes-base.gmail","n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.splitInBatches","n8n-nodes-base.reddit","n8n-nodes-base.reddit","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.webhook","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.respondToWebhook","n8n-nodes-base.stickyNote","n8n-nodes-base.supabase","n8n-nodes-base.supabase","n8n-nodes-base.supabase","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 8684 characters]


name: Create AI Viral Videos using NanoBanana 2 PRO & VEO3.1 and Publish via Blotato
author_name: Dr. Firas
author_username: drfiras
categories: []
created_at: 2025-11-25T00:30:32.066Z
updated_at: 2025-11-25T00:30:32.066Z
url: https://n8n.io/workflows/11204
scraped_at: 2025-12-24 13:02:41
description:
  💥 Create AI Viral Videos using NanoBanana 2 PRO & VEO3.1 and Publish via Blotato

  Who is this for?

  This template is for content creators, marketers, agencies, and UGC studios who want to turn a simple Telegram message into AI-generated vertical videos, automatically published across multiple social platforms using Blotato.  

  What problem is this workflow solving? / Use case

  Creating short-form video ads usually requires:
  Designing visuals
  Writing hooks and captions
  Generating or editing video
  Manually uploading to TikTok, Instagram, YouTube, Facebook, LinkedIn, X, etc.

  This workflow solves that by automating the full pipeline from image + idea → edited image → AI video → multi-platform post.

  What this workflow does

  Create Image with NanoBanana 2 PRO  
     User sends a photo + caption idea to a Telegram bot.  
     OpenAI Vision analyzes the reference image.  
     An LLM builds a UGC-style image prompt.  
     NanoBanana 2 PRO generates an enhanced, UGC-friendly image.  

  Generate Video with VEO3.1  
     An AI Agent structures a detailed Veo prompt (scene, camera, lighting, audio).  
     Prompt is optimized and sent to VEO3.1 reference-to-video.  
     The result is a 9:16, ~8s vertical video downloaded back into n8n.

  Publish with Blotato  
     Video is uploaded to Blotato.  
     Posts are created for TikTok, Instagram, YouTube, Facebook, LinkedIn, and X using the AI-generated caption, title, and hashtags.  
     A final “Published” message is sent on Telegram.

  Setup

  Create and configure:
     Telegram bot (token in Set: Bot Token (Placeholder) node).
     OpenAI credentials.
     Fal.ai API key (for NanoBanana 2 PRO + VEO3.1).
     Blotato account + API credentials and connected social accounts.
  Import the template into n8n and update all credential references.
  Test by sending a product image + short idea to your Telegram bot.

  How to customize this workflow to your needs

  Edit the UGC image prompt system message to change visual style (more cinematic, minimal, etc.).
  Adjust the VEO prompt optimizer to tweak duration, mood, or camera movement.
  Enable/disable specific Blotato platforms depending on where you want to publish.
  Modify the caption/hashtag generation logic to match your brand tone, language, or niche.

  👋 Need help or want to customize this?
  📩 Contact: LinkedIn  
  📺 YouTube: @DRFIRASS  
  🚀 Workshops: Mes Ateliers n8n

  📄 Documentation: Notion Guide
  Need help customizing?
  Contact me for consulting and support : Linkedin / Youtube / 🚀 Mes Ateliers n8n  

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

workflow_json_compressed:
  [encoded data, 13140 characters]


name: Generate Marketing Ad Banners with LINE, Gemini, and Nano Banana Pro
author_name: Masaki Go
author_username: pippi
categories: []
created_at: 2025-11-25T03:59:11.780Z
updated_at: 2025-11-25T03:59:11.780Z
url: https://n8n.io/workflows/11205
scraped_at: 2025-12-24 13:02:41
description:
  About This Template
  This workflow creates high-quality, text-rich advertising banners from simple LINE messages. 

  It combines Google Gemini (for marketing-focused prompt engineering) and Nano Banana Pro (accessed via Kie.ai API) to generate images with superior text rendering capabilities. It also handles the asynchronous API polling required for high-quality image generation.

  How It Works
  Input: Users send a banner concept via LINE (e.g., "Coffee brand, morning vibe").
  Prompt Engineering: Gemini optimizes the request into a detailed prompt, specifying lighting, composition, and Japanese catch-copy placement.
  Async Generation: The workflow submits a job to Nano Banana Pro (Kie API) and intelligently waits/polls until the image is ready.
  Hosting: The final image is downloaded and uploaded to a public AWS S3 bucket.
  Delivery: The image is pushed back to the user on LINE.

  Who It’s For
  Marketing teams creating A/B test assets.
  Japanese market advertisers needing accurate text rendering.
  Developers looking for an example of Async API Polling patterns in n8n.

  Requirements
  n8n** (Cloud or Self-hosted).
  Kie.ai API Key** (for Nano Banana Pro model).
  Google Gemini API Key**.
  AWS S3 Bucket** (Public access enabled).
  LINE Official Account** (Messaging API).

  Setup Steps
  Credentials: Configure the "Header Auth" credential for the Kie.ai nodes (Header: Authorization, Value: Bearer YOUR_API_KEY).
  AWS: Ensure your S3 bucket allows public read access so LINE can display the image.
  Webhook: Add the production webhook URL to your LINE Developers console.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.webhook","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.googleGemini","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.awsS3","n8n-nodes-base.httpRequest","n8n-nodes-base.code"]

workflow_json_compressed:
  [encoded data, 5692 characters]


name: Generate Hollywood-Style Video Ads from Images with GPT-5 Mini and Fal.ai Sora-2
author_name: Sandeep Patharkar | www.FastTrackAiMastery.com
author_username: sandy4v
categories: []
created_at: 2025-11-27T00:09:30.986Z
updated_at: 2025-11-27T00:09:30.986Z
url: https://n8n.io/workflows/11268
scraped_at: 2025-12-24 13:02:44
description:
  🎬 Hollywood-Style Ads in Seconds (Fal.ai Sora-2 Version)

  Turn a single product image + short text description into a cinematic 8-second ad using Fal.ai’s Sora-2 Image-to-Video model. Perfect for ad agencies, marketing teams, and UGC creators who want to produce high-quality video ads instantly without editors or camera crews.

  🧩 Problem It Solves
  Producing ad videos usually requires writers, editors, equipment, and several review cycles.  
  This workflow replaces that process with a fully automated pipeline that generates studio-quality ads on demand.

  🏢 Real Use Cases
  1. Ad Agencies  
  Deliver Hollywood-style ads to clients instantly from a simple image upload.

  2. UGC Creators  
  Create multiple ad variations in minutes instead of spending hours filming.

  3. SMB Marketing  
  Generate product promo videos for websites, social media, and email campaigns.

  ⚙️ How It Works  
  Your frontend sends image + text to the workflow webhook.  
  Image is resized to 1280×720.  
  GPT-5 Mini writes a cinematic Sora-2 compatible prompt.  
  Fal.ai Sora-2 generates a realistic 8-second lifestyle ad.  
  Workflow polls status and retrieves the final video.  
  Sends the video URL back to your frontend.  
  Optional: Sends a Telegram notification.  

  🧪 Requirements  
  Fal.ai API Key  
  Cloudinary Account (optional, for image storage)  
  n8n (latest recommended version)  
  Frontend (Lovable / AI Studio / Bubble / React)

  🎨 Template Metadata  
  Template Author: Sandeep Patharkar  
  Category: Content Generation / Video Ads  
  Difficulty: Intermediate  
  Setup Time: 10–12 minutes  

  📬 Connect With Me  
  LinkedIn → www.linkedin.com/in/sandeeppatharkar  
  YouTube → https://www.youtube.com/@fasttrackaimastery  
  Website → https://fasttrackaimastery.com  
  Skool Community → https://www.skool.com/aic-plus

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.merge","n8n-nodes-base.editImage","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.webhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-cloudinary.cloudinary","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","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:
  H4sIAAAAAAAAE6VYyXIbNxD9FRbPhIJ90SmOK058yFKxEx9crhSWhsUyNVTIUSWOS/+eN5RibhiJtA+WJQ7YeOh+/foNPk2vqY/Ty0/TebfuY5fpZZleToNJJlcSVdYanRQ8OiG8iFZJRZasdFakULKPpRCvpEwQVleVrM+8xDqdTXu6vlnEnp6vqKxfUX9783yJT6gnbNCvbuluNu2WhdbTy7fYfdgVO8aifGDZUGZa+8Q8d5IJQ9r5Ir0vHJG7eE1Y/csNdc9eTp5fxX7yEwIthk0/3gyPvu189w3+sc0GbBG79/kqzruLxfWwfPPNOZbfLNfzfr7sAEFIYWfW2Hf4NK6wQ08rQPt0dx/0D/y1WSgu5N3sAS/SUQsPlqUSCvAazgIPmnkTPU9ZaO3kFu9PtHpPW4xbeCmu6eL64ekeJKtnnj+FSO0goupKECYwISNn2urCklKBUZIu8GJs1m6L6OV1fE+T32g9/3ccGJV5v1m4D84rORNPZ+szsiBIKcsT4847ph15FqQoTBRtCtWSgitbZK+Wqzj5Y15oOfl1Bdr0kx+oo1Xsl6sTqgywXb8PNwg5k04+mcvPeA3nDrA488JEpo3wLCZfWFaJvFMiCpW2eH+gftJf0eRZmbymf/pJ7Mrk/6S10/o3pavl8sM+SuX1TEgPlA+PN81oM+lonWHOGaROccNCEQpF5bIm73wKQ8M9ejB5sVOKIHJxICuZjKPxaliyUbCoMwjtNefe7JSCcJbhbPfl+C7mD6OHWtH6ZtmV18s3rdOJoOxM6icJLS70Z6ylpBq0qKyS1kwHEDrK6NBnSjgjJbJBO1j7ef7wcfLzsh9P/Hqz5mHJDjrEmrH75O+hm+Zl1w98upxOx+mtyWivMvgBaoPeSYLeII4TKvhSq5SyjVOcDdQhi8jEUe+dBtShurJ4VNtBqbTnmSVDljlNwcRokrCyCVSeDVRo778Caag6xiIrK0lVdCA5CCu0w1ufhBG2KN1OqTofqRkaTxzJw2lAuZbS1FQYKYkxEJDSWGVgrqiqcgJfaznopzjpB5m4pvX6MZHoaUHvgeeAqVr830e7MuG1IG2yBOfKMD2pMK98ZDZxFz2RMTE/JRO70y1QSTog/8lJA6aQZEmLyBT4EzCPDfe2mX/9Bb0nvyL/RRaOMawYT3AMOgKtlzUw5SJJZb1BRbZAf3z9+lfMvL9uad2PAr3q+5vtmj2mWHBa8iOZOISnL7azRMPAAEdgpmpkEjrLgnKc8VCqdDoU53eY/D0G7uTFnBZlPZ5IOsQlNXDBcTztFrbiWm0VIvHI0PdwC4krFip+aOM4ZgrkTO5U+PebxTI+MtbyYnlb5l1cfbzY/nowhYNsaux4bcGyYfZFBiHA7CPMvkT4k0Qm+FGXVRY7hqaOy+m8HnBODToK4p0OhhJFbUkz0D8NHUYsJEwkm4IKLlsLr7XvCV4gCYv7yTmObJRs0lh+EkS9M92lrKpCy5kjLWEBMzKWsmLCEayqEcbpHZBv4rwfR/Y3nh7wzA+afg9pV3wUrEkskBxu4Uy0tDCeHHYJBjmoKgmiEZ4Wn+0plJQ8cR6YjehknUNkwcNkB6u0j5JSiHE/1ff25FUf+9vxvhlPNVoH53ranOymmuSgOxieOmCg6mBg/ZMGTWP1PhqDV6XQVEhztkIyx4FPH78NnGhPuHAZ45QpI1GeQoZFEWHG4WkjXtxy9bGJ1H6RPWno42k44bDBz+TRXBI/IkfF0eespgSXIgPUyjVxuvNnjpJoLie/MKMiZW0V2iwXA6TZRrgTKxnC+qKVoJx5E6k/v/ZmI5viS6EqU4uRGsVPClAl2iiS9ywnZQVctBDKNKGGs6F6Pui7PRKs04DGVIXMJrMaLBwfyAkHg8nEeRHV8wA703Ycgp9v+YTf+H19JlOxGs87ykOczfJh6OC/a7x5Iu7bT5tbjUf1f7N0Np13hf6ZXnLE3H7rQJCPlr4DpPubhNaebXPTDHK/0Rjwtpo2A+36lVa4g3uPZow93K0gp6Rl7zqjFaTtYJqx9pa2YjVdWjPUEQ9a4R59yx4Nu1elVtg9Q9QMc3yLhjhx/udwm3KLwz98tgv1lLuZowiH+7YOPJqYsdel0cS072KaGWregR0Gnp13+iaux755dt+IIebd3X8wnuawvxUAAA==


name: Build Enterprise RAG System with Google Gemini File Search & Retell AI Voice
author_name: Sandeep Patharkar | www.FastTrackAiMastery.com
author_username: sandy4v
categories: []
created_at: 2025-11-27T01:06:29.689Z
updated_at: 2025-11-27T01:06:29.689Z
url: https://n8n.io/workflows/11269
scraped_at: 2025-12-24 13:02:43
description:
  🧠 Enterprise RAG System with Google Gemini File Search + Retell AI Voice Agent

  Build a complete enterprise-grade RAG pipeline using Google Gemini’s brand-new File Search API, combined with a powerful Retell AI voice agent (JARVIS) as the conversational front end.  
  This workflow is designed for AI automation agencies, SMBs, enterprise teams, and internal AI copilots.

  📌 Who Is This For?
  Enterprise teams building internal search copilots  
  AI automation agencies delivering RAG products to clients  
  SMBs wanting automated knowledge lookup  
  Anyone needing a production-ready, zero-Pinecone RAG workflow

  🚧 Problem This Solves
  Traditional RAG requires:
  Vector DB setup  
  Embedding jobs  
  Chunking pipelines  
  Custom search APIs  

  Gemini File Search eliminates all of this — you simply create a store and upload files.  
  Indexing, chunking, embeddings = fully automated.

  This workflow turns that into a plug-and-play enterprise template.

  🧩 What This Workflow Does (High-Level)
  1️⃣ Create a Gemini File Search Store  
  Calls fileSearchStores API  
  Creates a persistent embedding store  
  Automatically saved to Google Sheets for future retrieval

  2️⃣ Auto-Upload Documents from Google Drive  
  When a new file is added:
  Download → Start resumable upload → Upload actual bytes  
  Gemini auto-indexes the document for retrieval

  3️⃣ Chat-Based Retrieval (Chat Trigger)  
  User question → Gemini File Search → Short, precise answer returned.

  4️⃣ Voice Search (Retell AI Agent)  
  Your Gemini RAG can now be searched by voice.

  🎙️ Retell AI (JARVIS) Voice Agent – Integration Steps

  🔧 Step 1 — Paste This Prompt Into Retell AI
  You are JARVIS, an advanced AI assistant designed to help user with their daily tasks.
  Always call the user “Sir”.

  You remember the user's name and important details to improve the experience.

  Whenever the user asks for information that requires external lookup:

  Make a short, witty remark related to their request.

  Immediately call the n8n tool — do NOT repeat the question back.

  Be concise, professional, and efficient.

  n8n tool call:
  Use this tool for all knowledge-based or RAG lookups.
  It sends the user’s query to the n8n workflow.

  JSON Schema:
  {
  "type": "object",
  "properties": {
  "query": {
  "type": "string",
  "description": "The user’s full request for JARVIS to process."
  }
  },
  "required": ["query"]
  }

  🔧 Step 2 — Add This URL to Retell (YOUR WEBHOOK)
  Paste the webhook URL from your Respond to Webhook node:

  https://YOUR-N8N-URL/webhook/Gemini
   ← replace with your actual webhook ID


  This is the endpoint Retell calls every time the user speaks.

  🔧 Step 3 — End-to-End Flow
  User speaks to JARVIS  
  Retell sends query → n8n  
  n8n forwards query to Gemini using File Search  
  Gemini returns answer  
  Retell speaks the response out loud  

  You now have a voice-powered enterprise RAG agent.

  📦 Requirements
  Google Gemini File Search API access  
  Google Drive folder for document uploads  
  Retell AI agent  
  n8n instance  
  (Optional) Google Sheets for storing store IDs  

  📝 Estimated Setup Time
  ⏱️ 25–30 minutes (end-to-end)

  👨‍💻 Template Author
  Sandeep Patharkar  
  Founder – FastTrackAI  
  AI Automation Architect | Enterprise Workflow Designer  

  🔗 Website: https://fasttrackaimastery.com  
  🔗 LinkedIn: https://www.linkedin.com/in/sandeeppatharkar/  
  🔗 Skool Community: https://www.skool.com/aic-plus  
  🔗 YouTube: https://www.youtube.com/@FastTrackAIMastery  

  🏁 Summary
  This template gives you a full enterprise RAG infrastructure:
  Automatic document indexing  
  Gemini File Search retrieval  
  Chat + Voice interfaces  
  Zero-vector-database setup  
  Seamless Retell AI integration  
  Fully production-ready  

  Perfect for creating internal AI copilots, employee knowledge assistants, client-facing search apps, and enterprise RAG systems.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.googleDrive","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.httpRequestTool","n8n-nodes-base.set","n8n-nodes-base.webhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","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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


name: Financial Document Extraction from Gmail to Google Sheets
author_name: Gtaras
author_username: tarasidis
categories: []
created_at: 2025-11-27T12:41:35.176Z
updated_at: 2025-11-27T12:41:35.176Z
url: https://n8n.io/workflows/11290
scraped_at: 2025-12-24 13:02:41
description:
  Overview
  Manual financial reconciliation is tedious and prone to error. This workflow functions as an AI Financial Controller, automatically monitoring your inbox for invoices, receipts, and bills, extracting the data using OCR, and syncing it to Google Sheets for approval.

  Unlike simple scrapers, this workflow uses a "Guardrail" AI agent to filter out non-financial emails (like newsletters) before they are processed, ensuring only actual transactions are recorded.

  Who is it for?
  Finance Teams:** To automate the collection of vendor invoices.
  Freelancers:** To track expenses and receipts for tax season.
  Operations Managers:** To monitor budget spend and categorize costs automatically.

  How it works
  Ingest: The workflow watches a specific Gmail label (e.g., "INBOX") for new emails.
  Guardrail: A Gemini-powered AI agent analyzes the email text to determine if it is a valid financial transaction. If not, the workflow stops.
  Extraction (OCR):
      If an attachment exists: An AI Agent (GPT-4o) extracts data from the PDF.
      If no attachment: An AI Agent extracts data directly from the email body.
  Validation: Code nodes check for missing fields or invalid amounts.
  Business Logic: The system automatically assigns General Ledger (GL) categories (e.g., "Uber" -&gt; "Travel") and sets approval statuses based on amount thresholds.
  Sync: Validated data is logged to Google Sheets, and a confirmation email is sent. Errors are logged to a separate error sheet.

  How to set up
  Google Sheets: Copy this Google Sheet template to your drive. It contains the necessary tabs (Invoices, Error Logs, Success Metrics).
  Configure Workflow:
      Open the node named "Configuration: User Settings".
      Paste your Google Sheet ID (found in the URL of your new sheet).
      Enter the Admin Email address where you want to receive error notifications.
  Credentials:
      Connect your Gmail account.
      Connect your Google Sheets account.
      Connect your OpenAI (for OCR) and Google Gemini/PaLM (for Guardrails) accounts.

  Requirements
  n8n version 1.0 or higher.
  Gmail account.
  OpenAI API Key.
  Google Gemini (PaLM) API Key.

nodes_used:
  ["n8n-nodes-base.gmailTrigger","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.guardrails","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.filter","n8n-nodes-base.if","n8n-nodes-base.extractFromFile","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.gmail","n8n-nodes-base.googleSheets","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 8748 characters]


name: kaizenCrypto - Smarter Crypto Decisions with Multi-Timeframe AI Analysis
author_name: Paul Abraham
author_username: hellopaul
categories: []
created_at: 2025-11-30T08:59:24.469Z
updated_at: 2025-11-30T08:59:24.469Z
url: https://n8n.io/workflows/11366
scraped_at: 2025-12-24 13:02:41
description:
  This n8n template automates crypto market analysis by combining multi-timeframe candlestick data with real-time news sentiment to generate actionable AI-backed Buy / Sell / Hold signals for any cryptocurrency. Built around the Kaizen principle of continuous improvement, it delivers sharper, more reliable insights with every run.

  Use cases
  Automatically analyze crypto market trends using 15m, 1h, and 1d candlestick data.
  Aggregate global crypto news sentiment to reinforce price-action confidence.
  Generate AI-powered Buy / Sell / Hold recommendations for traders.
  Build your own Telegram-based crypto trading assistant or analytics bot.
  Create backends for crypto dashboards, portfolio advisors, or auto-alert systems.
  Expand trading strategies using AI reasoning instead of manual analysis.

  Good to know
  This workflow merges both technical analysis (candlesticks) and fundamental sentiment (news), then passes them through an AI model (Gemini) to produce clean, easy-to-understand trading signals.
  It works seamlessly on n8n Cloud and self-hosted setups, with configuration taking about 5 minutes.

  Requirements
  n8n Cloud or self-hosted instance
  Crypto price data API key 
  Crypto news API key
  AI model API key (Google Gemini)
  Telegram Bot Token (via @BotFather)

  Customising this workflow
  Replace Telegram with Slack, Discord, WhatsApp Cloud API, or Notion for alerts.
  Switch AI models (Gemini, OpenAI, Claude) to change tone or reasoning style.
  Modify candlestick intervals (15m, 1h, 1d) or add more timeframes.
  Attach TradingView webhooks for live alerts or automated triggers.
  Add portfolio tracking, price-level alerts, or risk scoring for advanced users.
  Expand the template to support forex, stocks, indices, or commodities with minimal edits.

nodes_used:
  ["n8n-nodes-base.telegramTrigger","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.merge","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.code","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.stickyNote","@n8n/n8n-nodes-langchain.googleGemini","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote"]

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


name: Forex & Gold Trading Signal Handler for MT5 using Webhooks (telegram/discord)
author_name: Cj Elijah Garay
author_username: elijahbuilds-ai
categories: []
created_at: 2025-12-02T19:35:29.788Z
updated_at: 2025-12-02T19:35:29.788Z
url: https://n8n.io/workflows/11439
scraped_at: 2025-12-24 13:02:41
description:
  MT5 Trading Signal Handler
  Metatrader5 and N8N Integration for Forex and Gold Trading via Webhooks for discord and telegram

  This n8n template demonstrates a workflow that bridges AI workflows which can be used to communicate directly to a trading platform/broker like metatrader 5

  Use cases are many:

  Try automating TradingView alerts into live MT5 trades, building a custom trading bot that sends trade execution signals to MT5 via webhooks, or creating a centralized signal management system for multiple trading strategies these features are just the beggining!

  Good to know

  Always test on demo accounts first** - start with 1-2% risk before considering any live deployment
  This workflow uses unauthenticated webhook endpoints by default - you must add authentication (API keys, OAuth) before any production use
  Signals are stored in n8n's in-memory static data - they will be lost if n8n restarts unless you implement persistent storage
  MT5 WebRequest whitelist required** - you must add all webhook URLs to MT5's allowed URLs list (Tools → Options → Expert Advisors)
  The workflow requires a custom MT5 Expert Advisor (EA) that polls the GET endpoint every 5 seconds to fetch pending signals
  This is designed for local machine or private VPS deployment only - not suitable for public cloud without significant security hardening
  No automatic signal expiration** - old signals will accumulate without manual cleanup or additional workflow logic
  Compatible with standard MT5 brokers that support automated trading and WebRequest functionality

  How it works

  Signal Reception**: The "Receive Signal (POST)" webhook accepts trading signals containing asset, entry price, stop loss, take profit, and risk percentage, then passes them to the "Store Signal" Code node
  Signal Storage**: The Code node creates a unique signal ID with timestamp, stores it in n8n's workflow static data with "pending" status, and returns a success response with the signal ID
  Queue Polling**: The "Get Pending Signals (GET)" webhook is polled every 5 seconds by your MT5 Expert Advisor to check for new signals
  Signal Retrieval**: The "Fetch Pending Signals" Code node filters all stored signals to return only those with "pending" status as a JSON array
  Market Orders**: The "Market Order (POST)" webhook accepts instant-execution orders with direction (BUY/SELL), risk percentage, and stop loss in pips, calculating SL/TP prices automatically
  Limit Orders**: The "Limit Order (POST)" webhook handles pending orders with specific entry prices, converting pip-based SL/TP into actual price levels for both standard and JPY pairs
  Trade Confirmation**: After the MT5 EA executes a trade, it sends the signal ID to the "Confirm Signal Processed (POST)" webhook, which marks the signal as "processed" and removes it from the pending queue
  Emergency Cleanup**: The "Clear all signals (POST)" webhook provides a reset function to remove all signals from the queue, useful for testing or when signals get stuck

  How to use

  Import this workflow into your n8n instance and activate it by toggling the switch in the top-right corner
  Copy all webhook URLs from each Webhook node (click the node to view the production URL)
  Configure your MT5 Expert Advisor with the correct webhook URLs (SIGNAL_URL for GET requests, CONFIRM_URL for POST confirmations)
  Add all webhook URLs to MT5's WebRequest whitelist (Tools → Options → Expert Advisors → "Allow WebRequest for listed URL")
  Restart MT5 after adding URLs to the whitelist to ensure they're loaded properly
  Test the workflow by sending a test signal using curl or Postman: curl -X POST http://127.0.0.1:5678/webhook/mt5-signal -H "Content-Type: application/json" -d "{\"asset\": \"EURUSD\", \"risk\": 2, \"entry\": 1.0850, \"sl\": 1.0830, \"tp\": 1.0900}"
  Verify the signal appears when checking the GET endpoint: curl http://127.0.0.1:5678/webhook/mt5-signals
  Attach the MT5 EA to any chart (the symbol doesn't matter - it monitors all symbols) and enable Auto Trading in MT5
  Monitor the MT5 Experts log to confirm the EA is polling every 5 seconds and executing trades correctly

  Requirements

  n8n instance** running locally or on a private VPS (version 1.x recommended)
  MetaTrader 5 terminal** installed with a demo or live account logged in
  Custom MT5 Expert Advisor** compiled and loaded (MQL5 code that polls the webhook and executes trades)
  Auto Trading enabled** in MT5 (Tools → Options → Expert Advisors → "Allow Algorithmic Trading")
  WebRequest permissions** configured in MT5 for all webhook URLs
  Basic understanding of REST APIs, webhooks, and trading concepts (orders, SL/TP, position sizing)

  Customising this workflow

  Add authentication middleware to all webhook endpoints using HTTP Authentication or custom API keys for security
  Implement persistent storage by replacing static data with a database node (PostgreSQL, MySQL) or external storage service
  Create an automatic signal cleanup workflow that runs on a schedule to delete processed signals older than 24 hours
  Add notification nodes (Telegram, Discord, Email) to alert you when trades are executed or errors occur
  Implement position size validation in the Code nodes to cap maximum lot sizes or risk percentages
  Create an asset whitelist by adding validation logic to only accept signals for approved trading instruments
  Add duplicate signal detection to prevent the same signal from being processed multiple times
  Build a signal analytics dashboard by logging all signals to a database and visualizing execution metrics
  Try a popular use-case such as connecting this to a TradingView webhook to automate Pine Script strategy alerts directly into MT5 trades!
  Add tags for certain setups and or magic numbers for easier journaling later on

  Purchasing this N8N workflow comes with the AI trading assistant workflow too so it is sold together and vice versa as well along with the MQL code for the ExpertAdvisor listener all for the price of 120 usd total

  Questions?

  If you have questions or need help with this workflow, feel free to reach out:

  elijahmamuri@gmail.com
  elijahfxtrading@gmail.com

  Important Disclaimer: This workflow is provided for educational purposes and demo account testing only. It demonstrates technical concepts for signal routing and automation architecture. Always test thoroughly on demo accounts, implement proper security measures, and understand that automated trading involves substantial risk. No warranties, financial advice, or guarantees are provided. See the full disclaimer in the workflow sticky notes for complete terms.

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.code","n8n-nodes-base.respondToWebhook","n8n-nodes-base.webhook","n8n-nodes-base.code","n8n-nodes-base.respondToWebhook","n8n-nodes-base.webhook","n8n-nodes-base.code","n8n-nodes-base.respondToWebhook","n8n-nodes-base.code","n8n-nodes-base.webhook","n8n-nodes-base.webhook","n8n-nodes-base.code","n8n-nodes-base.respondToWebhook","n8n-nodes-base.webhook","n8n-nodes-base.code","n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","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:
  H4sIAAAAAAAAE7VY224bNxD9FUFPKeAJeL/4tWiDAm0TNEH6EORhSA4TIdYqkLaXwPC/d1ZSIsWirPUafbNM7uGZ4Zkbb+dL6nF+fTtfdJseu0y/lPn1nFIkMipVqjpbGaUyVSSSVqbqMFV0BY01spJCh7lGnZQ0UmPxGp1187urebcqtJlfv2PoAdI56WNUBkrxCoypBFhNhVCFDVEoKZKc81e4JN79B2Va/E2z14sPHd7Mnr16+frND7zcf/k8LHehgy0+JNzQ838ofVytPvH659Vm0S9WHZ8LUoUrrd5fzffLW8uWvYXNFhTWuzOGr3DNx/a0Zr63d7tT3vKvLZC8u9qbkMkkq1UEHZwAI6KDUHyEbGMpMVoRoz+Y8Lpfrb8acJZ55j+/px3djvSDnNQ3Th6lcilZcFYjmOwSRBIJbHY5Km9kzOnYrZvPq67M+tVs8OhZWuvdvjerP1ue1UqM4HjwWypKS4wZtDDM0RkL7EcHJadqQlFJBXfg+IL62SvqyqL7sPfeZvbsxU+Trl/51v1/oH6vgc34yx8UiiUFIIyejciW9WsFKA6FKHWqPoeDET9Tnz/eN+NxKthxHymDzGqk7DSzs4WlKRW7mJWalE2BvHM11WMZ9H+tu4u0LqtgBMeDB4tPhoKV4KIfwkcViNU7iCkaDKIkocSB44+rri7Wy68Z4NV6lWmzoTI9F1gVGmLIu3PGC8HrKi2WCGUIO3a1gegTgq1VRR2FSfrI1b/h+tMMNwf+jxPBjvNIEUg0ypFASA4DS9RWzgWFgy2hU5H/KV04dfAuJ2zoCTIYwfJIBoKisEKzDAQHkpIEqbgKLmCOggTXl3JgmW8I1zO8uZltpgSRVNGNd6DwWqrKmSkHJmSy0oDBaIgy11KSNCHbIwfepzZdmnuax9pMRJ647AJVjGBkUhC8kyCDl1la42PBS6JVzw9uV0Vn1JEBsmLZamMgUC3AFbvmlEUsVXwvW87DL9eF1tPNCkL8z1Y58qXkmtkqTQMeX5bWEkTU2aQsS0Z1sGq5s2q1tWqvl0eIaWfOSC3Visg5zoAly0VP5wLIDRBwQGruIzRX6tgszIcomxqOI3jK5+Yb05iKFfzNkIg5bQy3kyT3aN6z9hOFVLw5MP11sVw8WRhSmPvKGHLxzYAN2+uBo4/HiiEjRR2EA6+IXR5ygGhTgZAC1xnuXq3VB0O2h03Wwt6CkWLgUpxKtix24n7RFGsg5VhB16IKC9hZDE0xHHn7CYIYQ/ZYEV4hSVc1yBQ4RScu18HlDE44K6pLsuJRrthX0G9ZELnt3abtB4rdCM4jMvfh6mMRoeqYwFjuKAyPFMxYFm6CKvHUUSvnvuPWfJE/fZn9vupJnqW42W4a9twTcAjiCpy5T27wQ09dz0jzB7oHES33wgSZW7YhDSM3QczWqkRW8JKi3CT6eJ7KPIGn1FSdlRm8tOxQqyOnL5IQlOLgoohRxCZPNY2oFxOJKhWKxZTAk+a6VioHParAoNJ5k6hoYZtE/TSiMp60vOOI8ojoODFZIDPoNBdOTNxsgNDaqcxl0QrfJBomElXyJIDGMa1YNIXioBbkUR2RIEbOqJaMVMKWKo+z1RHTOI2pMSft4zii2QnueVmVTrM+TeXRh6cgAuFyckHmwk5tR72YxjS6kzw6MpyCSVVy98WOZJUa4m6gKgcKs0Chhin+TH56fIJyT4n7FCSJLHhooMoqJRMAuS0G1N7YJDmeSlulehLPR1897+b1jvIAst3+3TsL/17iYkB/d7t9gXro0WO782q+6Ar9O78Wd+/f83knbcEFyGaFbiKfjoIt6PNjWRP0dD5qgY4q0U3805b5gj9O2tcmbKOLbOGe79HOevj+1NKCfWAOaOK2X3Pajmi/rDRh24+cLdj2W2IT9OxU2tTF+em6CX7+ba6FfuERrE3/wrNP65wH3lgaZ9zd/QcR6fi69RYAAA==


name: Create and Send Tech News Digests with RSS, Gemini AI and Gmail
author_name: Paolo Ronco
author_username: paoloronco
categories: []
created_at: 2025-12-03T14:53:00.431Z
updated_at: 2025-12-03T14:53:00.431Z
url: https://n8n.io/workflows/11466
scraped_at: 2025-12-24 13:02:41
description:
  This workflow automates the entire lifecycle of collecting, filtering, summarizing, and delivering the most important daily news in technology, artificial intelligence, cybersecurity, and the digital industry.
  It functions as a fully autonomous editorial engine, combining dozens of RSS feeds, structured data processing, and an LLM (Google Gemini) to transform a large volume of raw articles into a concise, high–value daily briefing delivered straight to your inbox.

  Read: Full setup Guide

  ✅ 1. Scheduled Automation

  The workflow begins with a Schedule Trigger, which runs at predefined intervals.
  Every execution generates a fresh briefing that reflects the most relevant news from the past 24 hours.

  ✅ 2. Massive Multi-Source RSS Collection

  The workflow gathers content from over 25 curated RSS feeds covering:

  🔐 Cybersecurity

  (The Hacker News, Krebs on Security, SANS, CVE feeds, Google Cloud Threat Intelligence, Cisco Talos, etc.)

  🤖 Artificial Intelligence

  (Google Research, MIT News, AI News, OpenAI News)

  💻 Technology & Digital Industry

  (Il Sole 24 Ore, Cybersecurity360, Graham Cluley, and more)

  ⚙️ Nvidia Ecosystem

  (Nvidia Newsroom, Nvidia Developer Blog, Nvidia Blog)

  Each RSS feed is handled by a dedicated node, which ensures:

  source isolation
  easier debugging
  no single point of failure

  The feeds are grouped using category-specific Merge nodes (Cyber1/2/3, AI, Nvidia), enabling modular scalability.

  ✅ 3. Unified Feed Aggregation

  All category merges feed into the Merge_All node, creating a single combined dataset of articles from every source.

  ✅ 4. Intelligent Filtering (last 24 hours only)

  The Filter node removes:

  articles older than 24 hours (based on isoDate)
  invalid items
  duplicated or redundant entries

  This keeps the briefing strictly relevant to the current day.

  ✅ 5. Chronological Sorting

  The Sort – Articles by Date node orders all remaining items in descending date order.
  More recent or time-sensitive news is therefore prioritized.

  ✅ 6. Data Normalization (JavaScript Code)

  A dedicated Code node transforms all incoming items into one clean JSON object:

  {
    "articles": [
      {
        "title": "...",
        "content": "...",
        "link": "...",
        "isoDate": "..."
      }
    ]
  }

  This standardized structure becomes the input for the LLM summarization stage.

  ✅ 7. AI Editorial Processing – Google Gemini

  The node LLM – News Summarizer is the workflow’s editorial brain.

  A complex prompt instructs Gemini to behave like the editor-in-chief of a major tech newspaper, enforcing strict rules:

  Selection rules:

  choose only 8–10 truly important stories
  ignore low-value content (minor product releases, clickbait, rumors…)

  Relevance criteria:

  AI research & foundation models
  Big Tech developments
  cybersecurity incidents
  regulation and digital policy
  semiconductors, cloud, and infrastructure
  digital rights, governance, sovereignty

  Deduplication:

  If multiple feeds report the same story, only one version is kept.

  Output format:

  Gemini must output a valid JSON object containing:

  subject: the email subject line
  html: a fully structured HTML body grouped into categories

  Each news item ends with a clickable HTML source link, NEVER plaintext URLs.

  This step condenses dozens of articles into a polished, editorial-grade briefing.

  ✅ 8. HTML Newsletter Assembly (Code Node)

  The Build Final Newsletter HTML node:

  safely parses the JSON from the LLM
  cleans any validates subject and html fields
  embeds the content into a modern, responsive HTML email template

  The output is a single item containing:

  the final email subject
  the final HTML body
    Ready to be sent.

  ✅ 9. Automatic Email Delivery

  The Send Final Digest Email (Gmail node):

  uses the generated subject
  sends the curated HTML newsletter
  delivers it to the configured recipient(s)
  uses a custom sender name (“n8n News”)

  The result is a fully automated Tech & AI Daily Briefing delivered with zero manual effort.

  In Summary: What This Workflow Achieves

  ✔ Collects news from 25+ high-quality RSS sources
  ✔ Normalizes, filters, and sorts all items automatically
  ✔ Uses Google Gemini to select only the stories that truly matter
  ✔ Generates a coherent, readable, professional-looking HTML newsletter
  ✔ Sends the result via email every day

  Perfect for:

  daily executive briefings
  technology and cybersecurity monitoring
  automated newsletter production
  internal knowledge distribution
  competitive intelligence workflows

nodes_used:
  ["n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.stickyNote","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.stickyNote","n8n-nodes-base.filter","n8n-nodes-base.sort","n8n-nodes-base.code","n8n-nodes-base.gmail","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.googleGemini","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.stickyNote","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","n8n-nodes-base.rssFeedRead","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.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 11940 characters]


name: Automated AI Voice Cloning 🤖🎤 from YouTube videos to ElevenLabs & Google Sheets
author_name: Davide
author_username: n3witalia
categories: []
created_at: 2025-12-05T13:48:19.398Z
updated_at: 2025-12-05T13:48:19.398Z
url: https://n8n.io/workflows/11532
scraped_at: 2025-12-24 13:02:41
description:
  This workflow automates the process of creating cloned voices in ElevenLabs using audio extracted from YouTube videos. It processes a list of video URLs from Google Sheets, converts them to audio, submits them to ElevenLabs for voice cloning*, and records the generated voice IDs back to the spreadsheet.

  *ONLY FOR STARTER, CREATOR, PRO PLAN



  Important Considerations for Best Results:

  For optimal voice cloning quality with ElevenLabs, carefully select your source YouTube videos:
  Duration**: Choose videos that are sufficiently long (preferably 1-5 minutes of clear speech) to provide enough audio data for accurate voice modeling.
  Audio Quality**: Select videos with high-quality audio, minimal background noise, and clear vocal recording.
  Single Speaker: Use videos featuring only **one primary speaker. Multiple voices in the same audio will confuse the cloning algorithm and produce poor results.
  Consistent Voice**: Ensure the speaker maintains a consistent tone and speaking style throughout the clip for the most faithful reproduction.

  Key Features

  1. ✅ Fully Automated Voice Creation Workflow

  No manual downloading, converting, or uploading is required.
  Just paste the YouTube link and voice name into the sheet—everything else happens automatically.

  2. ✅ Seamless Audio Extraction

  Using RapidAPI ensures:

  High success rate in extracting audio
  Support for virtually any YouTube video
  Consistent output format required by ElevenLabs

  3. ✅  Hands-Off ElevenLabs Voice Creation

  The workflow handles all the steps required by the ElevenLabs API, including:

  Uploading binary audio
  Naming voices
  Capturing and storing the resulting voice ID

  This is much faster than the manual method inside the ElevenLabs dashboard.

  4. ✅ Centralized, Reusable Setup

  Once the API keys are added:

  The same workflow can be reused indefinitely
  Users don’t need technical skills
  Updating only requires editing the sheet

  How it works:

  Data Retrieval: The workflow starts by fetching data from a Google Sheets spreadsheet that contains YouTube video URLs in the "YOUTUBE VIDEO" column and desired voice names in the "VOICE NAME" column. It specifically targets rows where the "ELEVENLABS VOICE ID" field is empty, ensuring only unprocessed videos are handled.

  Video Processing Pipeline:
     Video ID Extraction: Each YouTube URL is parsed to extract the unique video identifier using a regular expression.
     Audio Conversion: The video ID is sent to the RapidAPI "YouTube MP3 2025" service, which converts the YouTube video to an audio file (M4A format).
     Audio Download: The resulting audio file is downloaded locally for processing.

  Voice Creation: The downloaded audio file is submitted to ElevenLabs API via a POST request to the /v1/voices/add endpoint. This creates a new voice clone based on the audio sample. The voice name is currently hardcoded as "Teresa Mannino" in the workflow but should be dynamically configured to use the value from the "VOICE NAME" spreadsheet column.

  Data Update: The workflow captures the voice_id returned by ElevenLabs and writes it back to the corresponding row in the Google Sheets spreadsheet in the "ELEVENLABS VOICE ID" column, completing the processing cycle for that video.

  Set up steps:

  Prepare the Data Sheet: Duplicate the provided Google Sheets template. Fill in the "YOUTUBE VIDEO" column with YouTube URLs and the "VOICE NAME" column with your desired names for the cloned voices. Ensure your videos meet the quality criteria mentioned above.

  Configure APIs:
     RapidAPI: Sign up for a free trial API key from the "YouTube MP3 2025" service on RapidAPI. Enter this key into the x-rapidapi-key header field in the "From video to audio" node.
     ElevenLabs: Generate an API key from your ElevenLabs account. Configure the "Create voice" node's HTTP Header Authentication with the name xi-api-key and your ElevenLabs API key as the value.

  Optional Customization: Modify the "Create voice" node to use the dynamic voice name from your spreadsheet instead of the hardcoded "Teresa Mannino" value for more flexible operation.

  Execute: Run the workflow. It will automatically process each qualifying row, create voices in ElevenLabs, and populate the spreadsheet with the new Voice IDs. Monitor the workflow execution to ensure successful processing of each video.
  Need help customizing?  
  Contact me for consulting and support or add me on Linkedin. 

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

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


name: Aggregate News Articles from NewsAPI, Mediastack & CurrentsAPI into Database
author_name: Joel Gamble
author_username: joelgamble
categories: []
created_at: 2025-12-07T00:20:50.319Z
updated_at: 2025-12-07T00:20:50.319Z
url: https://n8n.io/workflows/11572
scraped_at: 2025-12-24 13:02:41
description:
  This workflow pulls news articles from NewsAPI, Mediastack, and CurrentsAPI on a scheduled basis.  

  Each provider’s results are normalized into a consistent schema, then written into your database (NocoDB by default).  
  Use case: automated aggregation of categorized news for content pipelines, research agents, or editorial queues.

  What You Must Update Before Running
  1. API Keys
  Replace all placeholder keys:
  call newsapi.org - Top Headlines → update API_KEY in URL  
  call newsapi.org - categories → update API_KEY  
  call mediastack → update "ACCESS_KEY" in JSON  
  call currentsapi → update "API_KEY" param

  2. Database Connection
  Workflow uses NocoDB to store results.

  You must:
  Update the NocoDB API Token credential to your own  
  Ensure your table includes the fields used in the create operations  
    (source_category, title, summary, author, sources, content, images, publisher_date, etc.)

  If you prefer Google Sheets, Airtable, or another DB:
  Replace each NocoDB node with your equivalent “create row” operation  
  The Set nodes already provide all normalized fields you need

  3. Scheduling
  All schedulers are disabled by default.  
  Enable the following so the workflow runs automatically:
  NewsAPI – Top Headlines**
  NewsAPI – Categories**
  Mediastack**
  CurrentsAPI**

  You may change the run times, but all four must be scheduled for the workflow to function as designed.

  What You Can Configure
  1. Categories
  Defined in:
  newsapi.org categories
  mediastack categories

  Edit these arrays to pull only the categories you care about or to match your API plan limits.

  2. Article Limits
  Adjust article_limit in:
  newsapi.org categories
  mediastack categories
  currentsapi config

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.splitOut","n8n-nodes-base.splitOut","n8n-nodes-base.splitOut","n8n-nodes-base.set","n8n-nodes-base.nocoDb","n8n-nodes-base.nocoDb","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.splitOut","n8n-nodes-base.nocoDb","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.splitInBatches","n8n-nodes-base.splitInBatches","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.nocoDb","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7260 characters]


name: Automate Data Extraction with Zyte AI (Products, Jobs, Articles & More)
author_name: Zyte
author_username: zyte
categories: []
created_at: 2025-12-09T19:28:29.465Z
updated_at: 2025-12-09T19:28:29.465Z
url: https://n8n.io/workflows/11637
scraped_at: 2025-12-24 13:02:41
description:
  Automated AI Web Scraper

  This workflow uses the Zyte API to automatically detect and extract structured data from E-commerce sites, Articles, Job Boards, and Search Engine Results (SERP) - no custom CSS selectors required.

  It features a robust "Two-Phase Architecture" (Crawler + Scraper) that handles pagination loops, error retries, and data aggregation automatically, ensuring you get a clean CSV export even for large sites with thousands of pages.

  If you prefer to use your own parsing logic and just need raw data, it provides a "Manual Mode" for that capability as well.

  Supported Modes
  E-commerce / Product:** Extract prices, images, SKUs, and availability.
  Articles / News / Forums:** Extract headlines, body text, authors, and dates.
  Job Boards / Postings:** Extract salaries, locations, and descriptions.
  SERP (Search Engine Results)**: Extract search rankings, organic results, and snippets.
  General Scraping:** Get raw BrowserHtml, HTTP Response codes, Network API traffic, or Screenshots to parse yourself.

  How it works
  Input:** You enter a URL and choose a goal (e.g., "Scrape all pages") via a user-friendly form.
  Smart Routing:** A logic engine automatically configures the correct extraction model for the target website.
  Two-Phase Extraction:** (Active only for "Scrape all pages") Phase 1 maps out all available URLs (Crawling), and Phase 2 extracts the rich data (Scraping), filtering out errors before saving to CSV.

  Set up steps
  Get your API Key: You need a free Zyte API key to run the AI extraction. Get it here.
  Run: Open the Form view, paste your key, select your target website, and hit Submit.
  Export: The workflow will process the data and output a downloadable CSV file.

  Resources
  Zyte API Documentation
  Get Help (with API errors & extraction logic)

nodes_used:
  ["n8n-nodes-base.formTrigger","n8n-nodes-base.switch","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.switch","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.convertToFile","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.convertToFile","n8n-nodes-base.stickyNote","n8n-nodes-base.switch","n8n-nodes-base.form","n8n-nodes-base.form"]

workflow_json_compressed:
  [encoded data, 14832 characters]


name: Generate Ideal Customer Profiles & Find Lookalike Companies in Germany
author_name: as311
author_username: implisense
categories: []
created_at: 2025-12-11T15:07:10.467Z
updated_at: 2025-12-11T15:07:10.467Z
url: https://n8n.io/workflows/11709
scraped_at: 2025-12-24 13:02:41
description:
  This workflow generates a data driven  Ideal Customer Profile (ICP) and retrieves lookalike companies in Germany from the official data source (Handelsregister). It starts by ingesting a set of base company IDs, serializes them, and sends a recommendation request to the Implisense API to fetch similar companies. When explanation mode is enabled, the workflow extracts and processes term features to create a structured keyword digest and uses an LLM to generate an ICP narrative. The pipeline outputs both a clean list of lookalike companies, enriched with CRM-ready fields, and a detailed ICP report derived from Implisense feature statistics.

  How it works
  Input → Serialization → Lookalikes → Lists/Report

  Setup steps

  1. Data Source
  ☐ Replace "Mock ICP Companies" with matched companies from the Implisense database
  ☐ Ensure output has: id

  2. Configure Credentials: Set up RapidAPI API credentials
     Get your API key here: https://implisense.com/de/contact
     Insert your API Token in get_lookalikes (Basic auth)

  3. Configure ICP Filters
  ☐ Edit "Build Recommendation Request" node
  ☐ Set locationsFilter (e.g., de-be, de-by, de-nw)
  ☐ Set industriesFilter (NACE codes, e.g., J62 for IT)
  ☐ Set sizesFilter (MICRO, SMALL, MEDIUM, LARGE)

  4. Tune Results
  ☐ Adjust THRESHOLD in "Filter & Normalize Results" (default: 0.5)
  ☐ Adjust MIN_BASE_COMPANIES in "Collect Base Companies" (default: 3)
  ☐ Adjust size parameter in "Configuration" URL (default: 100)

  5. CRM Integration
  ☐ Map fields in "list_of_companies" to match your CRM schema
  ☐ Add CRM upsert node after "list_of_companies"
  ☐ Use implisense-ID or domain as unique identifier

  Additional advice

  Strengthen Base Company Quality
  Use only highly representative base companies located in Germany that strongly match the intended ICP segment. Templates with dozens of mixed or heterogeneous IDs dilute the statistical signal in the /recommend endpoint and reduce relevance.

  Refine Filters Aggressively
  Limit recommendations by state, region, NACE code, or size class. Implisense returns cleaner results when the recommendation space is constrained. Removing unnecessary geography broadens noise.

  Increase the Size Parameter
  Raise the size parameter when building the request to give the ranking model more candidates. This materially improves downstream sorting and selection.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.function","n8n-nodes-base.function","n8n-nodes-base.function","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.function","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.switch","n8n-nodes-base.splitOut","n8n-nodes-base.function","n8n-nodes-base.function","n8n-nodes-base.function","n8n-nodes-base.function","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.code"]

workflow_json_compressed:
  [encoded data, 7564 characters]


