# templates

name: Create LinkedIn Content with GPT-4 via Telegram Bot & Approval Loop
author_name: Feras Dabour
author_username: ferasdabour
categories: []
created_at: 2025-11-11T19:49:32.252Z
updated_at: 2025-11-11T19:49:32.252Z
url: https://n8n.io/workflows/10737
scraped_at: 2025-12-24 13:02:44
description:
   AI LinkedIn Content Bot with Approval Loop

  This n8n workflow transforms your Telegram messenger into a personal assistant for creating and publishing LinkedIn posts. 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 post directly to LinkedIn 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](https://platform.openai.com
  )
  Blotato API Key: This service is used to publish the final post to LinkedIn. You'll need a Blotato account and to connect your LinkedIn 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.

  | Node Name | Role in Workflow |
  | :--- | :--- |
  | 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):

  &gt; You are a LinkedIn Content Creator Agent for Telegram.
  &gt; Keep the confirmation process, but change the output format as follows:
  &gt;
  &gt; Your Task
  &gt; Analyze the user's message:
  &gt;
  &gt;   * Topic
  &gt;   * Goal (e.g., reach, show expertise, recruiting, personal branding, leads)
  &gt;   * Target Audience
  &gt;   * Tonality (e.g., factual, personal, bold, inspiring)
  &gt;
  &gt; Create a LinkedIn post as ONE continuous text:
  &gt;
  &gt;   * Strong hook in the first 1–2 lines.
  &gt;   * Clear main part with added value, story, example, or insight.
  &gt;   * Optional Call-to-Action (e.g., question to the community, invitation to exchange).
  &gt;   * Integrate hashtags at the end of the post (5–12 suitable hashtags, mix of niche + somewhat broader).
  &gt;   * Readable on LinkedIn: short paragraphs, emojis only sparingly.
  &gt;
  &gt; Present the suggestion to the user in the following format:
  &gt;
  &gt; Headline: Post Proposal:
  &gt; Below that, the complete LinkedIn post (incl. hashtags at the end in the same text).
  &gt;
  &gt; Ask for feedback:
  &gt; For example:
  &gt; "Any changes? (Tone, length, formality, personal vs. professional, more technical content, different hashtags?)"
  &gt;
  &gt; If the user requests changes:
  &gt; Adjust the post specifically based on the feedback.
  &gt; Again, output only:
  &gt; Post Proposal:
  &gt; the revised complete post.
  &gt;
  &gt; If the user says “approved”, “ok”, “sounds good”, or similar:
  &gt; Return exclusively this JSON, without additional text, without Markdown:
  &gt;
  &gt; &gt; {
  &gt;   "Post": "The final LinkedIn post as one text, including hashtags at the end"
  &gt; }
  &gt; &gt;
  &gt; Important:
  &gt;
  &gt;   * Never output JSON before approval, only normal suggestion text.
  &gt;   * The final output after approval consists of only one field: Post.

  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 Post Text | 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 LinkedIn 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. |

  4\. Final Notification

  | Node Name | Role in Workflow |
  | :--- | :--- |
  | Send a confirmation message | Sends a confirmation message and the direct link to the published LinkedIn 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 LinkedIn 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, 7040 characters]


name: Automate External Attack Surface Mapping with Shodan API and DNS Lookups
author_name: Sean Birmingham
author_username: knute
categories: []
created_at: 2025-11-12T00:57:16.973Z
updated_at: 2025-11-12T00:57:16.973Z
url: https://n8n.io/workflows/10740
scraped_at: 2025-12-24 13:02:45
description:
  The Bug Bounty Target Recon n8n workflow is a powerful automation tool for security professionals and ethical hackers.

  It efficiently automates the time-consuming process of external attack surface mapping.

  By taking a domain, the workflow performs DNS Lookups to identify all associated IP addresses, and then utilizes the Shodan API to query:

  Detailed service banners
  Open ports
  Technologies
  Known vulnerabilities

  This system delivers crucial, organized OSINT data, saving the user hours of manual scripting and reconnaissance, and providing a clear, actionable map of a target's exposed infrastructure.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7188 characters]


name: Automate Zoom 🎦 User Onboarding with OAuth Token Management and Data Tables
author_name: Davide
author_username: n3witalia
categories: []
created_at: 2025-11-12T07:34:42.134Z
updated_at: 2025-11-12T07:34:42.134Z
url: https://n8n.io/workflows/10747
scraped_at: 2025-12-24 13:02:44
description:
  This workflow automates the management of Zoom OAuth tokens and the creation of new Zoom users through the Zoom API.

  This workflow automates the process of creating a new Zoom user by first ensuring a valid OAuth access token is available. It is designed to handle the fact that Zoom access tokens are short-lived (1 hour) by using a longer-lived refresh token (90 days) stored in an n8n Data Table.

  It includes two main phases:

  Token Generation & Management

     The workflow initially requests a Zoom access token using the OAuth 2.0 “authorization code” method.
     The resulting access token (valid for 1 hour) and refresh token (valid for 90 days) are stored in an n8n Data Table.
     When executed again, the workflow checks for the most recent token, refreshes it using the refresh token, and updates the Data Table automatically.

  User Creation in Zoom

     Once a valid token is retrieved, the workflow collects the user’s first name, last name, and email (set in the “Data” node).
     It then generates a secure random password for the new user.
     Using the Zoom API, it sends a POST request to create the new user, automatically triggering an invitation email from Zoom.

  Key Features

  ✅ Full Automation of Zoom Authentication

     Eliminates manual token handling by automatically refreshing and updating OAuth credentials.

  ✅ Centralized Token Storage

     Securely stores access and refresh tokens in an n8n Data Table, simplifying reuse across workflows.

  ✅ Error Prevention

     Ensures that expired tokens are replaced before API requests, avoiding failed Zoom operations.

  4.✅  Automatic User Provisioning

     Creates Zoom users automatically with prefilled credentials and triggers Zoom’s built-in invitation process.

  ✅ Scalability

     Can be easily extended to handle bulk user creation, role assignments, or integration with other systems (e.g., HR, CRM).

  ✅ Transparency & Modularity

     Each node is clearly labeled with “Sticky Notes” explaining every step, making maintenance and handover simple.

  How it works


  Trigger and Data Retrieval: The workflow starts manually. It first retrieves user data (first name, last name, email) from the "Data" node. In parallel, it fetches all stored token records from a Data Table.
  Token Management: The retrieved tokens are sorted and limited to get only the most recent one. This latest token (which contains the refresh_token) is then used in an HTTP Request to Zoom's OAuth endpoint to generate a fresh, valid access_token.
  User Creation: The new access_token and refresh_token are saved back to the Data Table for future use. The workflow then generates a random password for the new user, merges this password with the initial user data, and finally sends a POST request to the Zoom API to create the new user. If the creation is successful, Zoom automatically sends an invitation email to the new user.

  Set up steps

  Prepare the Data Table:
      Create a new Data Table in your n8n project.
      Add two columns to it: accessToken and refreshToken.

  Configure Zoom OAuth App:
      Create a standard OAuth app in the Zoom Marketplace (not a Server-to-Server app).
      Note your Zoom account_id.
      Encode your Zoom app's client_id and client_secret in Base64 format (as client_id:client_secret).
      In both the "Get new token" and "Zoom First Access Token" nodes, replace the "XXX" in the Authorization header with this Base64-encoded string.

  Generate Initial Tokens (First Run Only):
      Manually execute the "Zoom First Access Token" node once. This node uses an authorization code to fetch the first-ever access and refresh tokens and saves them to your Data Table. The main workflow will use these stored tokens from this point forward.

  Configure User Data:
      In the "Data" node, set the default values for the new Zoom user by replacing the "XXX" placeholders for first_name, last_name, and email.

  After these setup steps, the main workflow (triggered via "When clicking 'Execute workflow'") can be run whenever you need to create a new Zoom user. It will automatically refresh the token and use the provided user data to create the account.

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

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.dataTable","n8n-nodes-base.sort","n8n-nodes-base.limit","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","n8n-nodes-base.dataTable","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.dataTable","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","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","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5700 characters]


name: Automated Document Sync Between SharePoint and Google Drive with Supabase
author_name: DIGITAL BIZ TECH
author_username: dbt
categories: []
created_at: 2025-11-12T08:27:34.109Z
updated_at: 2025-11-12T08:27:34.109Z
url: https://n8n.io/workflows/10749
scraped_at: 2025-12-24 13:02:43
description:
  SharePoint → Supabase → Google Drive Sync Workflow

  Overview
  This workflow is a multi-system document synchronization pipeline built in n8n, designed to automatically sync and back up files between Microsoft SharePoint, Supabase/Postgres, and Google Drive.

  It runs on a scheduled trigger, compares SharePoint file metadata against your Supabase table, downloads new or updated files, uploads them to Google Drive, and marks records as completed — keeping your databases and storage systems perfectly in sync.

  Workflow Structure
  Data Source:** SharePoint REST API for recursive folder and file discovery.  
  Processing Layer:** n8n logic for filtering, comparison, and metadata normalization.  
  Destination Systems:** Supabase/Postgres for metadata, Google Drive for file backup.

  SharePoint Sync Flow (Frontend Flow)

  Trigger:** Schedule Trigger  
    Runs at fixed intervals (customizable) to start synchronization.

  Fetch Files:** Microsoft SharePoint HTTP Request  
    Recursively retrieves folders and files using SharePoint’s REST API:  
    /GetFolderByServerRelativeUrl(...)?$expand=Files,Folders,Folders/Files,Folders/Folders/Folders/Files

  Filter Files:** filter files  
    A Code node that flattens nested folders and filters unwanted file types:  
    Excludes system or temporary files (~$)  
    Excludes extensions: .db, .msg, .xlsx, .xlsm, .pptx

  Normalize Metadata:** normalize last modified date  
    Ensures consistent Last_modified_date format for accurate comparison.

  Fetch Existing Records:** Supabase (Get)  
    Retrieves current entries from n8n_metadata to compare against SharePoint files.

  Compare Datasets:** Compare Datasets  
    Detects new or modified files based on UniqueId, Last_modified_date, and Exists.  
    Routes only changed entries forward for processing.

  File Processing Engine (Backend Flow)

  Loop:** Loop Over Items2  
    Iterates through each new or updated file detected.

  Build Metadata:** get metadata and Set metadata  
    Constructs final metadata fields:
    file_id, file_title, file_url, file_type, foldername, last_modified_date  
    Generates fileUrl using UniqueId and ServerRelativeUrl if missing.

  Upsert Metadata:** Insert Document Metadata  
    Inserts or updates file records in Supabase/Postgres (n8n_metadata table).  
    Operation: upsert with id as the primary matching key.

  Download File:** Microsoft SharePoint HTTP Request1  
    Fetches the binary file directly from SharePoint using its ServerRelativeUrl.

  Rename File:** rename files  
    Renames each downloaded binary file to its original file_title before upload.

  Upload File:** Upload file  
    Uploads the renamed file to Google Drive (My Drive → root folder).

  Mark Complete:** Postgres  
    Updates the Supabase/Postgres record setting Loading Done = true.

  Optional Cleanup:** Supabase1  
    Deletes obsolete or invalid metadata entries when required.

  Integrations Used
  | Service | Purpose | Credential |
  |----------|----------|-------------|
  | Microsoft SharePoint | File retrieval and download | microsoftSharePointOAuth2Api |
  | Supabase / Postgres | Metadata storage and synchronization | Supabase account 6 ayan |
  | Google Drive | File backup and redundancy | Google Drive account 6 rn dbt |
  | n8n Core | Flow control, dataset comparison, batch looping | Native |

  System Prompt Summary
  &gt; “You are a SharePoint document synchronization workflow.  
  Fetch all files, compare them to database entries, and only process new or modified files.  
  Download files, rename correctly, upload to Google Drive, and mark as completed in Supabase.”  

  Workflow rule summary:  
  &gt; “Maintain data integrity, prevent duplicates, handle retries gracefully, and continue on errors.  
  Skip excluded file types and ensure reliable backups between all connected systems.”

  Key Features
  Scheduled automatic sync across SharePoint, Supabase, and Google Drive  
  Intelligent comparison to detect only new or modified files  
  Idempotent upsert for consistent metadata updates  
  Configurable file exclusion filters  
  Safe rename + upload pipeline for clean backups  
  Error-tolerant and fully automated operation  

  Summary
  &gt; A reliable, SharePoint-to-Google Drive synchronization workflow built with n8n, integrating Supabase/Postgres for metadata management.  
  It automates file fetching, filtering, downloading, uploading, and marking as completed — ensuring your data stays mirrored across platforms.

  Perfect for enterprises managing document automation, backup systems, or cross-cloud data synchronization.

  Need Help or More Workflows?
  Want to customize this workflow for your organization?  
  Our team at Digital Biz Tech can extend it for enterprise-scale document automation, RAGs and social media automation.

   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-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.compareDatasets","n8n-nodes-base.supabase","n8n-nodes-base.supabase","n8n-nodes-base.postgres","n8n-nodes-base.postgres","n8n-nodes-base.googleDrive","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","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.code"]

workflow_json_compressed:
  [encoded data, 7552 characters]


name: Automate Blog-to-Social Media with GPT-4 for LinkedIn, X, and Reddit
author_name: Le Nguyen
author_username: leeseifer
categories: []
created_at: 2025-11-12T09:24:53.723Z
updated_at: 2025-11-12T09:24:53.723Z
url: https://n8n.io/workflows/10750
scraped_at: 2025-12-24 13:02:42
description:
  Turn your blog into a set-and-forget content engine: every new article is instantly repurposed into channel-specific social posts with visuals, keeping your brand visible on LinkedIn, X, and Reddit without extra copywriting time. Perfect for lean marketing teams who want consistent, always-on distribution from a single source of content.

  How it works
  • Watches your blog RSS feed (or receives a single URL) and detects new articles.
  • Saves each post in Postgres so every article is only processed once.
  • Fetches the article HTML, extracts the main body content and sends it to OpenAI (GPT-4.1).
  • OpenAI creates platform-optimized copy: 1 LinkedIn post, 1 X/Twitter post, 1 Reddit post + image prompts.
  • Generates on-brand images with OpenAI and publishes everything automatically to LinkedIn, X, and Reddit.
  • You can also trigger it manually or via webhook whenever you want to push a specific campaign.

  Setup Steps
  • Time: around 20–40 minutes for someone familiar with n8n and the platforms.
  • Create a Postgres table “rss_items” with fields: guid (PRIMARY KEY), title, link, published_at.
  • Add credentials in n8n for:
    – Postgres
    – OpenAI
    – LinkedIn OAuth2
    – X/Twitter OAuth2 + OAuth1 (for media upload)
    – Reddit OAuth2
  • In the RSS node, set your blog feed URL (for example: https://yourblog.com/feed).
  • In the webhook node, confirm the URL/path you want external tools or other workflows to call with a “link” field.
  • Run the manual trigger with one test blog URL to verify:
    – Article content is extracted correctly.
    – AI returns LinkedIn/X/Reddit posts and image prompts.
    – Posts and images appear correctly on all social accounts.
  • Once tests look good, enable the Schedule Trigger so Blog2Social AI runs automatically at your chosen interval.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.html","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.set","n8n-nodes-base.linkedIn","n8n-nodes-base.twitter","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.webhook","n8n-nodes-base.rssFeedRead","n8n-nodes-base.postgres","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.splitInBatches","n8n-nodes-base.respondToWebhook","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.merge","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","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.reddit","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.wait","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 12152 characters]


name: Daily Finance & Stock Market News Analysis with OpenAI, Groq & Email Reports
author_name: Nguyễn Thiệu Toàn (Jay Nguyen)
author_username: nguyenthieutoan
categories: []
created_at: 2025-11-12T21:50:57.204Z
updated_at: 2025-11-12T21:50:57.204Z
url: https://n8n.io/workflows/10776
scraped_at: 2025-12-24 13:02:42
description:
  Finance & Insurance News Aggregator with AI Analysis

  Automatically collect, classify, and analyze financial news from Vietnamese sources with AI-powered expert commentary. Delivers daily HTML email reports.

  What It Does

  This workflow automates the entire process of monitoring financial and insurance news:
  Collects** articles from 4 Vietnamese RSS feeds daily
  Filters** content from the last 24 hours
  Classifies** articles using AI (OpenAI GPT)
  Summarizes** top 15 most important articles
  Adds** expert commentary with AI (Groq LLaMA)
  Saves** results to Google Sheets
  Sends** formatted HTML email report

  Time saved: 2.5 hours/day → 5 minutes/day (95% reduction)

  How It Works

  1. Data Collection (30-60s)
  Schedule Trigger** fires daily at 8:00 AM (GMT+7)
  RSS Feed Reader** fetches from 4 sources with retry logic
  Filter** keeps only articles from last 24 hours
  Normalize** data structure across different RSS formats

  2. AI Classification (20-40s)
  Text Classifier** (OpenAI GPT-4.1-nano) identifies finance/insurance content
  Fallback**: Discards non-relevant articles
  Archive** all processed links to Google Sheets

  3. AI Analysis (40-80s)
  AI Agent 1** (OpenAI GPT-4o-mini) selects top 15 most important articles
  AI Agent 2** (Groq LLaMA 3.1 120B) adds expert commentary with:
    Specific data/numbers
    Impact analysis
    Actionable recommendations

  4. Storage & Reporting (10-20s)
  Google Sheets** stores analyzed articles with commentary
  Code Node** formats responsive HTML email (2-column layout)
  Gmail** sends daily report

  Total execution: 2-3 minutes

  Setup Requirements

  Credentials Needed
  OpenAI API** - For classification and summarization
  Groq API** - For expert commentary (FREE, 14k requests/day limit)
  Google Sheets OAuth2** - For data storage
  Gmail OAuth2** - For email delivery

  Configuration Steps

  Configure RSS Sources
        Set Node: Update array with your RSS URLs
     Default sources:
     vneconomy.vn/tai-chinh.rss
     vnbusiness.vn/rss/tai-chinh.rss
     vietnamfinance.vn/bao-hiem.rss
     tapchikinhtetaichinh.vn/bao-hiem-ngan-hang.rss
     
  Set Google Sheets Document
        Google Sheets Nodes:
     Document ID: Your spreadsheet ID
     Sheet names: "Tai_chinh_Bao_hiem", "List"
     
  Configure Email Recipients
        Gmail Node:
     To: your-email@gmail.com
     Subject: Auto-generated with date
     
  Adjust AI Prompts (Optional)
     AI: Summarize Top 15 - Change max articles (15 → 10 or 20)
     AI: Add Expert Commentary - Adjust comment length (60-120 words)

  Use Cases

  Primary Use Case
  Daily Financial News Monitoring for:
  Financial analysts
  Insurance professionals
  Investment advisors
  Business development teams
  Marketing teams tracking industry trends

  Extended Use Cases
  Compliance monitoring** - Track regulatory changes
  Competitive intelligence** - Monitor competitor news
  Content curation** - Source material for newsletters
  Market research** - Identify emerging trends
  Client updates** - Share relevant news with clients

  Key Features

  Automation
  ✅ Zero manual work - Runs completely automated  
  ✅ Daily schedule - Consistent 8 AM delivery  
  ✅ Error handling - Retry logic for failed RSS fetches  
  ✅ Fallback options - Continues even if some sources fail  

  AI Intelligence
  ✅ Smart classification - Only relevant finance/insurance articles  
  ✅ Quality summarization - Top 15 most important news  
  ✅ Expert commentary - AI-generated analysis with specific data  
  ✅ Structured output - Consistent JSON format  

  Reporting
  ✅ Responsive HTML email - Beautiful on desktop and mobile  
  ✅ Two-column layout - Content | Commentary side-by-side  
  ✅ Source links - Direct links to original articles  
  ✅ Timestamp - Vietnam timezone (GMT+7)  

  Cost Efficiency
  ✅ Groq for free - 0 cost for expert commentary  
  ✅ Optimized tokens - Only send necessary content to AI  
  ✅ Batch processing - Minimize API calls  

  Monthly cost: $35-40 (or $5 if self-hosting n8n)

  Technical Specifications

  Performance
  Execution time**: 2-3 minutes/run
  Throughput**: 50-100 articles → 15 analyzed articles
  Success rate**: &gt;99% (with retry logic)

  Scalability
  RSS sources**: Easily add more (currently 4)
  Output formats**: Email, Sheets (extendable to Slack, Telegram)
  Languages**: Vietnamese (can adapt prompts for English)

  Error Handling
  RSS fetch: Retry 2x, continue on fail
  AI classification: Skip non-matching articles
  Google Sheets: Rate limit protection
  Email: Fallback to error notification

  Customization Tips

  Change Number of Articles
  AI Agent 2 prompt:
  "Chọn TỐI ĐA 15 bài" → "Chọn TỐI ĐA 10 bài"

  Add RSS Source
  Configure RSS Sources node:
  Add URL to array: "https://newsite.com/rss"

  Switch to Mobile Email Layout
  Disable: "Format Email (Desktop)"
  Enable: "Format Email (Mobile)"

  Change AI Model
  OpenAI nodes: gpt-4o-mini → gpt-3.5-turbo (cheaper)
  Groq node: Can switch to OpenAI for potentially better quality

  Adjust Schedule
  Daily RSS Trigger:
  Hour: 8 → Change to any 0-23
  Or use cron: "0 8,16 * * *" (8 AM and 4 PM)

  Cost Breakdown

  | Service | Monthly Cost | Notes |
  |---------|--------------|-------|
  | OpenAI API | $1-5 | Classification + Summarization |
  | Groq API | $0 | FREE (14,400 req/day limit) |
  | Google Sheets | $0 | Free tier sufficient |
  | Gmail | $0 | Free tier sufficient |
  | n8n Cloud | $20 | Or self-host for $0-5 |
  | Total | $20-25 | Can reduce to $1 with optimization |

  Cost Optimization
  Use Groq for all AI → Save $15-20/month
  Self-host n8n on $5 VPS → Save $20/month
  Result: $5/month (87% cost reduction)

  Limitations & Considerations

  ⚠️ RSS dependency - Relies on RSS feeds staying available  
  ⚠️ Vietnamese domains - Some may be blocked by n8n whitelist  
  ⚠️ AI accuracy - ~90% classification accuracy (can improve with prompt tuning)  
  ⚠️ Rate limits - OpenAI: 3 req/min, Groq: 14,400 req/day  
  ⚠️ Email limits - Gmail: 500/day (not an issue for daily reports)  

  Version History

  v1.0
  Initial release
  4 RSS sources
  OpenAI + Groq AI analysis
  Google Sheets storage
  HTML email reports

  Support & Documentation

  📚 Full documentation: See RSS_Finance_Insurance_Workflow_Guide.md  
  📦 Cluster descriptions: See Cluster_Descriptions.md  
  📊 Workflow overview: See Workflow_Overview.md  

  Author: Nguyễn Thiệu Toàn  
  Contact: jayracroi@gmail.com  
  Website: nguyenthieutoan.com

  Tags
  news-aggregation rss ai-analysis finance insurance openai groq google-sheets email-automation vietnamese

  License
  Personal use. Please contact author for commercial usage rights.

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.rssFeedRead","n8n-nodes-base.filter","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.textClassifier","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.splitOut","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.merge","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatGroq"]

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


name: Automate YouTube Content Strategy with AI, Apify & Google Sheets
author_name: PrideVel
author_username: n8nwizard
categories: []
created_at: 2025-11-14T04:38:46.796Z
updated_at: 2025-11-14T04:38:46.796Z
url: https://n8n.io/workflows/10808
scraped_at: 2025-12-24 13:02:43
description:
  📌 Overview

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

  This system is ideal for:

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

  🧠 High‑Level Architecture

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

  Phase 1 — Niche Outliers (Input: User Form)

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

  Phase 2 — Broad Niche Insights (Weekly)

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

  Phase 3 — Niche Insights (Daily)

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

  Phase 4 — Comment Analysis

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

  Phase 5 — Content Ideation

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

  Everything is automatically logged into a Google Sheets dashboard.

  🧩 Phase-by-Phase Breakdown

  ⭐ Phase 1 — Niche Outliers (Form Trigger)

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

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

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

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

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

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

  Purpose: Stay informed about macro‑level trends.

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

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

  Purpose: Track daily momentum and trending formats.

  💬 Phase 4 — Comment Analysis (Channel Feedback)

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

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

  Purpose: Understand real audience demand.

  💡 Phase 5 — Content Ideation Using AI

  Using insights from all previous phases:

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

  The Creative Agent produces:

  3 optimized video titles
  3 matching thumbnail concepts

  These are appended to the “Ideation” sheet.

  A Slack notification is sent when ideation is ready.

  Purpose: Fully automated content idea generation.

  🗂️ Outputs in Google Sheets

  The workflow populates these tabs:

  📌 Niche Outliers (top competitor videos)

  📌 Broad Niche Weekly (weekly trend analysis)

  📌 Niche Daily (daily trend analysis)

  📌 Comment Analysis (audience sentiment)

  📌 Ideation (final titles + thumbnails)

  🔧 What This Workflow Automates

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

  This is essentially a 24/7 AI YouTube strategist.

  ⚙️ Setup Requirements

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

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

  🧪 Testing Guide

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

  Everything should chain together smoothly.

  🎉 Final Result

  By the end of this workflow, you have a:

  🧠 Data‑driven YouTube strategy system

  that:

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

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

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


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

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

  What You Need to Get Started

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

  Telegram Bot API Key**

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

  OpenAI API Key**

    Required for:

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

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

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

  Google Drive**

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

  Blotato API Key*

    Social media publishing layer:

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

  Google Sheets Access** (optional but included)

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

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

  How the Workflow Operates – Step by Step

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

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

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

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

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

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

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

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

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

  Video Prompt Assistant System Prompt (Internal Instructions)

  The AI Agent is configured with a system message like:

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

  Key behavior:

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

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

  JSON Parsing

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

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

  videoPrompt
  socialMediaText

  These are used in all subsequent steps.

  3. User Feedback & Logging

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

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

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

  4. Video Generation with Gemini

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

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

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

  5. Staging the Video in Google Drive

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

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

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

  6. Uploading to  [Blotato]and Creating Posts

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

  Media Upload

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

  Platform-Specific Post Creation

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

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

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

  7. Status Monitoring & Retry Loops

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

  TikTok Status Loop

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

  Instagram Status Loop

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

  Facebook Status Loop

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

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

  🛠️ Personalizing Your Video Content Bot

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

  1. Tweak the AI Prompt & Behavior

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

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

  You can also extend it, e.g.:

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

  2. Change Video Model or Aspect Ratio

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

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

  3. Modify Which Platforms You Post To

  Where:** Blotato nodes:

    Create TikTok post
    Create post1 (Instagram)
    Create Facebook post

  You can:

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

  4. Adjust Wait Times and Retry Logic

  Where:** Wait and IF nodes:

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

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

  5. Extend Logging & Analytics

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

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

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

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

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

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

workflow_json_compressed:
  [encoded data, 9580 characters]


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

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

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

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

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


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

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

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

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

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

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

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

workflow_json_compressed:
  [encoded data, 9580 characters]


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:
  H4sIAAAAAAAAE+1Z6W7bSBJ+lQYz2NiBKPM+DAQLx3YS7/iKLSeTRIHQ7C5KHJFsDQ/bGsPAPMbu682TbHWTOi1nnAS7v2Z+ZESyu+qrqq+qq8t3WsK1Xe3cOjLC3sHN21/GJ5fv/HdaR8ugotrunZbkZUVzBkdyHXWimIU2hL7LqGXblDkucJ+FluXzwGGxi2+t0DYN13JD06ecxrZtWmAa3HU8C+VWkE1SWsF+Aby8hKqe7At8AxWggqqo4b6j5TQD1LZXVyLDpZzsHZGTukwYeQM5FLRKRE5ukmpEDlO4hvyYRqUUTYeltvv5CwoQHOTPu8Y8GgaMRYarh75v6k7AIz0MvUAPXXAC1/KN2I+1udrLKmHjKTkVFUih04l8mQe5rqTqES2hW6o17ZKJKBMJCRXqruN0UIOBICa0QIEVFKX0403Cq5G2G3hORxtBMhxV2q4Teh2NibyCHJ+0Z8/IN5lM/kHeCDFMgRwUyTX0837eGyUluRHFOE7FDaGttJJUIyCsACWmQ8pKFHQIHUJzThitaCqGST4kIka1+rBRiBgyBQD/wW9SwpLqBtve+VFnhuFyBFCVjcxlWF2J68MCebP1RYdEUjCUJeAmhU0UcntRJeVMDq4vpkTqR2kiB4lQ1AVCQq8i8pzMwKJNNU+EPiwohxZ4XIiM5LSqC5qSlObDGo0mE3w7qcouOU8BQ0niJE3ROvRbLIqMVIIUMEQIUJCp1JVgeAooK/yhnPB52QzpgS9bo6qalLs7O1Ux7YL6mqKPuonYoaNxFBvGSLC83u4S6Yo3a+4d0ZJQkiV5ktUZ4XUba7TUNEgJSA9eKmfgInr7YJErt9YYY+XnF2d5OiUTmnCCWZbLV8iqFy/eIhuSSjGj3H3xQhIFFjxB56OOBk4Bv9Vobdl4by22JUgwrQelqzYzop6kQkpcMOnk3Fbrl4nRhLiecMXQUqogVxfHGJmjiqRCTCRtC1EPRwQoG82QNVlAiak3hhMOKZ1K4fRaoN2KDWmSJVXjEmW/KjTIEZg05u+LPAdWLeN/CpclB7ASdMke5wpPglWMMJHWWd4E6ehAbquRKDmWCAlFYUe+XicMTZYfSCXNkKuLuuHUPBJoxZzRcoHMVCBVQdm4nKUzik3TKdqm3Tfl6T0mgyo/5n2nrXjMsQw/jC2seKavO6Eb6DTgrm6HkeXGATVimy4q3gcJiqVY0mSm//nHvw9vgUnXznD9+cd/Hi2FGc1rmvaKZDiEYq0a+pbRMUNrvRg+jpsGWI0dn+muxR3dibiph2DaeuzbWKSZb1hetMB9jCQhZ1gjkDGQlY9X60maVEf5K1qxEZRrGBHfJoyamMgVCu46XnuOFwIntJkX68xj6Gc/CHUaOqZu23gGUB4yD5wlP9OkehTkTfNxCVpgGB3LCBDZDUQjIcbqDDa80GHcobrjsFDHQ5XjOeZHOrMoBdMLLYOpQ2nFmDpP5AnTlgr8TDNRy0PHfBCL7iIakWnaNAJXtwKK1lku0wPbBZ1aBniWT5Ha5sK6N5i/DVMftXGocqnJrrUwOE7wV2HoaFir5furI/nlmqZ1e8pjtRjLRkLmIWrFKqLdf8H1qqicKnh32mBQpE2Lgd0NYsKFKdZ5xKEk4eMw4S8NfGaYssAvoKzT6kpu0mYVngtWtlZ0mch2yomqncqgHb5jGtODN3H4y/TWSvXfOXcvTVHcfqI/Rx/swXV+dvp+ePFqPNg/LibDHeBJ9WyTygaw9hq1JMKUWY5q6wwriiTAUwz5Fhz/V3v/WZeTl1yW0pKPN5t9Mm2Pkl7DJZl92B5wWVBpqjixTKMzbJlG1t4kUc2qZO2/Pl541HPeAeNeFbxdqhcr1Z1QxlQOPEhvp+vPU8AG5HmEXSMNDU93YmR/BBbTLR+o6cYWt/lSIZWtrCjb/uPRLJDOvWgOs9UkMK2gTfi17F2JCZ0ka13Gtbkz04ibRkK19GeXPXxeSZ9fS5G/EnyKn1/e9XNC+hp2NhM8CAfYaKiFg1lvUfa1XaI41ixsDn35sq/d3ZGfpKzu+cXZyXmP3N/3tXaZwjFIIR9Wo0GmhMxWf35+cHWx1zs6OyVbWbn9/Avum+1C56SDhDfiGxnXZl/r5/cEjZBtR4O7Ib18fldjazh/gTYk8bS1TSqTJW5xCiv3aupkTdj+nEw9GZ7O7L0kUq8JmHT1WyQ6FPIlLvlNajtfCcpyiLAEtQwQdTWpq4FsJelyRmYTe+A4pmEMMMiyOD1k9ZrSGZ1/d37Pz25PqXh9fOx6x78u2HY4J4FsXsgWp9cQuCPspLc3kdpa1HWAyImpg3Tkge4YdqRHCA5rcOyDH+IhYhoLNVeqm/sLTjcpqZqkVU7b3mZOt8JfYqyGg7u7n3Jx0228tvV8iv8dH3P+fPv+vivpEyU5xd4aO0XaxTMADm/xyiTtQgqhOlVQnlobsb40MO/XsiMWKfr+ySW2Gu8X/i0vqPh0U779DY4z//Unh158+Bg64jj69PW6qm5GS4VVvdhpIJQ73yq8LZ0Yk8fLpTL6YbV8ezh1D+tP4+H5p/eHNLx5UC2bxrctlmQrt2+6ySaCLZoiP3SQRczQPTCQXr7tYRsahjrDquxaITLchmV6yQsAOU7y8fe3Dy42cZtY1rbm83ZB/pDdgSyAsyKGzdX7BG4UAEWnQtwM8jqLsJ1t1209X2s1n2+jEyDrKgGL9XK/bDswMhldzB9OuwuTyqrAJluSNsG2lM5L2Ow2oe3GGDaYf29Dq0RwiClG+0T2sfN1eAt+BVcl8J5oPzRTlFZ376h3fPjD6mdSvgdBc0j8MIS5mO/BsHLy/DCUdWnfg0iy8EdxNDK+R/sSxRfJNnt+ACIT10sYZAcoxwxPBLmi6luwYjJndDJBx5w0FRg3Jzm8AryQyk5HLsWP+7MU/7ysCjfTSs4aq57Ayz4mbiXP9nKhtHn5OoGUlz1x2USg+bp+MohJO4FDEM28Qvv7bvH33eJH7xbgBQAGx0s1d/Fu4RomXq/tQA/NwHQNIwqp4W8cS5vfPJc2Op6z6XAUeMT5ndlw2raMxXDaNpzV4fQzsnK9WZ9G9/M3Qs6vDvBFKjNmNtYF1Z3+DNMuuYTq4VRbDRr72qkge4xBiXcGKaavzZ6abU1nLAfkI7Ilw7lLbhMd70L6GKYd8l6yc5d8PLu6GKC6wc+HH7e/Mh8zwziiTmjoZhgy3YHY0wPGI930GFYZ0+IA9kbXW9/3J4GneN8Kgq96v5lhNi1SP2+n14Slci7+WQ2wVe4sxtH/kwQrR1RWym01nmxn5zAfgfa1XlKlgNdB/HneXhnV0r52MJtay1Ozr30tOsj/IACK0TEsHcPk6qFtBTrY2FnyIPDs0N0YHfubo2Pb3pOCIxvMrwVn+ZK0NNdu6kE/bz9LVzVLFqPx9T/qoINWO++FMLldCWw2yUdsAeRfAeTPk3O7YccGz8rjEC/4eOuZnX8lVBXGUVkLatyLS88Krprea3UyXDf71dTR8VjAHA56xB2uO9yIMCQ2011KI8p8LwSQcxDWzNXbo7MZeOL/M5pIZ8trcnOmPDq5VSs7WpJzuNV2jfsvcoy3NFn8cWEr19lN4r52IdkocXXqs1nkpiv0RmHrxiyJ+9JZSHxk0vSIxQ8M2gRydTq9UdKT/lCwSfam2fAGDff3/wXTnmQZkR4AAA==


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


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


