# templates

name: Generate LinkedIn Posts with Mistral AI Using 7 Dynamic Content Templates
author_name: DIGITAL BIZ TECH
author_username: dbt
categories: []
created_at: 2025-11-03T07:21:43.502Z
updated_at: 2025-11-03T07:21:43.502Z
url: https://n8n.io/workflows/10450
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:21
description:
  AI-Powered LinkedIn Post Generator Workflow

  Overview
  This workflow is a two-part intelligent content creation system built in n8n, designed to generate professional and on-brand LinkedIn posts.

  It combines a conversational frontend agent that interacts naturally with users and a backend post generation engine powered by structured templates and Mistral Cloud AI models.

  Workflow Structure
  Frontend:** Conversational “LinkedIn Agent” that guides the user.
  Backend:** “Post Generator” engine that produces final, high-quality content using dynamic templates.

  LinkedIn Agent (Frontend Flow)

  Trigger:** When chat message received
    Starts the workflow whenever a user sends a message to the chatbot or embedded interface.

  Agent:** LinkedIn Agent
    Welcomes the user and lists 7 available post templates:
      Educational  
      Promotional  
      Discussion  
      Case Study & Testimonial  
      News  
      Personal  
      General  
    Prompts the user to select a template number.
    Asks for a topic after the user’s choice.
    Sends both template number and topic to the backend using a Tool call.

  Memory:** Simple Memory1  
    Stores the last 10 messages to maintain conversational context.

  LLM Model:** Mistral Cloud Chat Model1  
    Used for reasoning, conversational responses, and user guidance.

  Tool Used:** template  
    Invokes another trigger in the same workflow: When Executed by Another Workflow.
    Passes the user’s chosen template and topic to the backend.

  Post Generation Engine (Backend Flow)

  Trigger:** When Executed by Another Workflow  
    Receives payload from the template tool (template ID + topic).

  Router Node:** Switch between templates  
    Directs flow to the correct post template logic based on user’s choice (1–7).  
    Example:  
      1 → Knowledge & Educational  
      2 → Promotion  
      3 → Discussion  
      4 → Case Study & Testimonial  
      etc.

  Prompt Template Nodes:**  
    Each Set node defines a large, structured prompt containing:
    Specific tone, audience, and purpose rules  
    Example hooks and CTAs  
    Layout and line formatting instructions  
    “FORBIDDEN PHRASES” list (e.g., no “game-changer”, “revolutionary”)

  Expert Writer Agent:** post generator  
    A specialized agent node that receives the selected prompt template.  
    Generates the final LinkedIn post text using strict formatting and tone rules.  
    Model: Mistral Cloud Chat Model

  Output:**  
    The generated post text is sent back to the template tool and displayed to the user in chat.

  Integrations Used
  | Service | Purpose | Credential |
  |----------|----------|-------------|
  | Mistral Cloud | LLM & post generation | Mistral Cloud account dbt |
  | n8n Agent Framework | Multi-agent orchestration | Native |
  | Chat UI / Webhook | Frontend interaction | Custom embedded UI or webhook trigger |

  Agent System Prompt Summary
  &gt; “You are an intelligent LinkedIn assistant that helps users craft posts.  
  List available templates, guide them to select one, and collect a topic.  
  Then use the provided template tool to request the backend writer to generate a final post.”

  Backend writer’s system prompt:  
  &gt; “You are an expert LinkedIn marketing leader.  
  Generate structured, professional posts for AI/automation topics.  
  Avoid hype, buzzwords, and clichés.  
  Keep sentences short, tone confident, and use strong openers.”

  Key Features
  Dual-agent architecture (Frontend Assistant + Backend Writer)  
  7 dynamic content templates for flexibility  
  Conversational chat interface for ease of use  
  Strict brand tone enforcement with style run Fully automated generation and return of final post in chat

  Summary
  &gt; A modular, agent-based n8n workflow for automated LinkedIn post creation, featuring conversational input, structured templates, and AI-generated output powered by Mistral Cloud.

  Perfect for content teams, social media managers, and AI automation startups.

  Need Help or More Workflows?
  Want to customize this workflow for your business.
  Our team at Digital Biz Tech can tailor it precisely to your use case — from automation logic to AI-powered content engines.

  We can help you set it up for free — from connecting credentials to deploying it live.

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

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatMistralCloud","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.toolThink","@n8n/n8n-nodes-langchain.toolThink","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.executeWorkflowTrigger","@n8n/n8n-nodes-langchain.lmChatMistralCloud","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.agent","n8n-nodes-base.switch","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, 21028 characters]

metadata_json:
  {"categories":["AI/ML","Marketing"],"complexity":"medium","use_cases":["automate social media posting","generate branded content","create short-form professional updates","enable user-guided AI interactions"],"estimated_setup_minutes":15,"required_services":["Mistral Cloud AI"],"key_features":["conversational UI integration","template-based generation","context-aware responses","modular workflow design"],"target_audience":["social media managers","content creators","marketing professionals"]}


name: Generate & Publish AI Faceless Videos to YouTube Shorts using Sora 2
author_name: SuS
author_username: sulieman-said
categories: []
created_at: 2025-11-03T09:13:00.747Z
updated_at: 2025-11-03T09:13:00.747Z
url: https://n8n.io/workflows/10455
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:20
description:
  How it Works  
  This workflow lets you auto-generate cinematic faceless YouTube Shorts — completely on autopilot.  
  It uses a custom automation setup to create short-form AI videos much cheaper than the standard Sora 2 video generation process.  
  Perfect for running a fully automated Shorts or Reels channel that posts new videos daily — without showing your face or editing manually.  

  Workflow Overview  
  Schedule Trigger  
     Automatically runs at your chosen times (e.g., twice per day).  

  AI Prompt Generator  
     Creates detailed, creative video ideas based on your chosen niche.  
     You only need to adjust the system prompt (e.g., Travel Facts, Tech Visuals, Dream Loops, Mini-Facts, Nature Illusions).  
     Output includes:  
       Video Prompt (for Sora 2)  
       AI-Generated Title & Description  
       Social Caption with hashtags  

  AI Video Generation  
     Generates 9:16 vertical short-form videos optimized for YouTube Shorts, TikTok, and Instagram Reels.  
     Runs via a cost-efficient automation layer, offering cinematic results at a fraction of Sora 2’s standard cost.  

  Publishing Automation  
     Uploads automatically to YouTube Shorts (title, description, and hashtags included).  
     Can also post to Telegram or Instagram Reels with a small modification.  

  Why Use This Workflow?  

  🎬 Faceless Content Made Easy  
    Ideal for automated channels that post AI-generated visuals and storytelling — no filming or voice needed.  

  💸 Cheaper Than Sora 2’s Direct API  
    Uses a custom route that drastically reduces costs while keeping near-cinematic quality.  

  ⚙️ Full Automation  
    From idea → video → upload — all handled automatically.  
    You decide the posting frequency (e.g., 1–5 Shorts per day).  

  🌍 Multi-Niche Ready  
    Works for any theme — facts, surreal visuals, art loops, mini documentaries, motivational clips, and more.  

  🚀 Cross-Platform Scaling  
    Native support for YouTube & Telegram.  
    Optional integrations for Instagram Reels or TikTok uploads.  

  Setup Steps  

  API Keys & Credentials  
     Sora 2 access (or connected API key)  
     YouTube API credentials  
     (Optional) Telegram or Instagram API  

  Define Schedule  
     Choose how many videos to post per day.  

  Adjust Prompts  
     Customize the AI agent prompt to your niche.  

  Launch & Scale  
     Watch your faceless channel grow while everything runs automatically.  

  Tips & Notes  

  Start with one niche to test engagement, then duplicate the workflow for more channels.  
  Add subtitles or trending sound layers for higher virality.  
  The workflow is built for long-term, hands-off scalability — ideal for faceless automation entrepreneurs.  

  ⚡ Summary  
  Create an AI-powered faceless Shorts machine that works 24/7.  
  Just pick your niche, adjust the prompt, and let automation handle video generation, upload, and growth — smarter and cheaper than doing it manually with Sora 2.  

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.youTube","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE6VX224bNxD9FUHPosvL8OanBi4Q5KGtkaQpiiIohuRQEiLvutIKaRD43zsruZIsaX0r/GLszh4eHh6eGX0f31CH48vv43mz6rDJ9K6ML8cgq44E1iYlk6EqvdPROAM2FlnRRQsh+AJQChYVyANaayJC8FUT0Xgy7ujmdoEdXS2prD5Qt769avkJdcQLdMs13U3GTVtoNb78k1fvV0UbbcrFilCiFABoRHIRhPJeheJcNQCM3OANcfWHbp6/fBv90nY0EqOPy/l0Sst+4W+3/esmNGKDLxKu6GK1qe6LueS2Xc27edvw0kJFLSfCeveZn+OSsTtarnpFctt01HSMNb7bwn7iN5vP1N3knrNX5CUySUtRCUgWRQJmn8BpUMn5oPQB5zyjsl7Q03TvC/d1Dzh7JydM/JjyCc0LvSOKNRiTfBG+YC+uYqLknCioE1CCmqUfEvfNu9H1kk+ve4W82sFEQHidulolpU2WQsfiBGDVItpahfdQPG8GUOU9aab5Ztpj7lj+yDR/2FNdYDPNM5w3F3hfd0g1GD1RTj4lqj4Q1ScLqdok0HnmR9WJIAGFhgwejNSS5J7f27ad8tm/pZt5Mx9dzbAb/cy8Fs/gu7jpy7cA2++PybPMxp3IPCytkoXPH7RwDrWAiEw96Sykk5i9z7r6OOSHT/NC7ejN9buX+8EC2yGciPw8OyTCKC1GEYsCAY6NESpaoY1KkHKOxYYDuamhJSfQlu4g1VnX3b6nv9e0OjYEBPkcQ8CBIQz6ZAJmQUmj4LjkW5arEpm0yhWjUfWA4e8470a1XY7eU1MeSYOvXHfETcN/3L5SmrXtl01uS+PAGAIhi0ucRimyMZIROaLRlFIKTo2fDI294K6wGyQnsnU9XlCVtwMgTLQGS82Wj2O/nasZ5S/3exl96LBbr16uOm8L4CWShxwsau4VBRIHWy5ZJKOdkBm4iUUDGsqQka/XaTFfzebN9MVO9uF/5BpSyFXXIsDk/pxKEYH4nGRQENnXiHhgk99uFy2WUdeO/mjXH9eJBsl+270/YKqU5GyQT4q6p2d9CTk5PuzkLUva26jyjYuKI0aVWnM5bMR84D25j7SgKeMPsuv2Bcf0lNJHVgYTismgBKnAHMBXEUJlsaRleQBDofK0lfc2sTUb6WURSYbMeIlDW1UpIlgpVXAlQD20yXKduzXPLqNf193tuhtd43J1eEUHo7rd1G/L9zBH19d5/ay4vjC7DWSFWGTmNpMlib69COT2I4rX3iLprOrBofzUfm02rnll+PU5rU6HokezLyeftORmjTH26YwiJjJCGW7VsgL/qT3BbQ/JS8Juo855fvP6kJbhYe0ZtA57NPLwitF5wcblg8/saB7OqqhVg2XO1Yc8lA+7wUe9ZrB8TUJwNb9vKPcwm/LdVMP/37DBGJsH5p7BIz1uUzjhob7QP+NLeff5My/1UPJzcEOuOYGb7L8ZbGJnORytcI7EcJ4cI0523zwSkWdpHOl2jsbL9nVcfQ7x0f54FvXk98I52NOx9yzWudXPwQ1czPMyDk20DIzzv/pQXPOoff/sUc4n5SdaDEXydq3D2H16qQfVD1e6u/sXa5zvqxUPAAA=

metadata_json:
  {"categories":["AI/ML","Marketing","Content Creation"],"complexity":"medium","use_cases":["automated short form video generation","faceless YouTube Shorts publishing","daily social media content scheduling"],"estimated_setup_minutes":30,"required_services":["Google Gemini","YouTube Data API","HTTP Webhooks"],"key_features":["scheduled automated content generation","AI-driven video creation pipeline","social media platform integrations"],"target_audience":["social media managers","content creators","marketing automation experts"]}


name: Build a Product Catalog Chatbot with Mistral AI, Google Drive & Supabase RAG
author_name: DIGITAL BIZ TECH
author_username: dbt
categories: []
created_at: 2025-11-03T09:57:50.267Z
updated_at: 2025-11-03T09:57:50.267Z
url: https://n8n.io/workflows/10459
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:22
description:
  AI Product Catalog Chatbot with Google Drive Ingestion & Supabase RAG

  Overview
  This workflow builds a dual-system that connects automated document ingestion with a live product catalog chatbot powered by Mistral AI and Supabase.

  It includes:
  Ingestion Pipeline:** Automatically fetches JSON files from Google Drive, processes their content, and stores vector embeddings in Supabase.  
  Chatbot:** An AI agent that queries the Supabase vector store (RAG) to answer user questions about the product catalog.  

  It uses Mistral AI for chat intelligence and embeddings, and Supabase for vector storage and semantic product search.

  Chatbot Flow
  Trigger:** When chat message received or Webhook (from live website)
  Model:** Mistral Cloud Chat Model (mistral-medium-latest)
  Memory:** Simple Memory (Buffer Window) — keeps last 15 messages for conversational context
  Vector Search Tool:** Supabase Vector Store
  Embeddings:** Mistral Cloud
  Agent:** product catalog agent
    Responds to user queries using the products table in Supabase.  
    Searches vectors for relevant items and returns structured product details (name, specs, images, and links).  
    Maintains chat session history for natural follow-up questions.

  Document → Knowledge Base Pipeline
  Triggered manually (Execute workflow) to populate or refresh the Supabase vector store.

  Steps
  Google Drive (List Files)  
     → Fetch all files from the configured Google Drive folder.

  Loop Over Items  
     → For each file:
     Google Drive (Get File)  
       → Download the JSON document.
     Extract from File  
       → Parse and read raw JSON content.
     Map Data into Fields (Set node)  
       → Clean and normalize JSON keys (e.g., page_title, comprehensive_summary, key_topics).
     Convert Data into Chunks (Code node)  
       → Merge text fields like summary and markdown.  
       → Split content into overlapping 2,000-character chunks.  
       → Add metadata such as title, URL, and chunk index.
     Embeddings (Mistral Cloud)  
       → Generate vector embeddings for each text chunk.
     Insert into Supabase Vectorstore  
       → Save chunks + embeddings into the website_mark table.
     Wait  
       → Pause for 30 seconds before the next file to respect rate limits.

  Integrations Used
  | Service | Purpose | Credential |
  |----------|----------|------------|
  | Google Drive | File source for catalog JSON documents | Google Drive account dbt |
  | Mistral AI | Chat model & embeddings | Mistral Cloud account dbt |
  | Supabase | Vector storage & RAG search | Supabase DB account dbt |
  | Webhook / Chat | User-facing interface for chatbot | Website or Webhook |

  Sample JSON Data Format (for Ingestion)

  The ingestion pipeline expects structured JSON product files, which can include different categories such as Apparel or Tools.

  Apparel Example (T-Shirts)
  [
    {
      "Name": "Classic Crewneck T-Shirt",
      "Item Number": "A-TSH-NVY-M",
      "Image URL": "https://www.example.com/images/tshirt-navy.jpg",
      "Image Markdown": "",
      "Size Chart URL": "https://www.example.com/charts/tshirt-sizing",
      "Materials": "100% Pima Cotton",
      "Color": "Navy Blue",
      "Size": "M",
      "Fit": "Regular Fit",
      "Collection": "Core Essentials"
    }
  ]

  Tools Example (Drill Bits)
  [
    {
      "Name": "Titanium Drill Bit, 1/4\"",
      "Item Number": "T-DB-TIN-250",
      "Image URL": "https://www.example.com/images/drill-bit-1-4.jpg",
      "Image Markdown": "",
      "Spec Sheet URL": "https://www.example.com/specs/T-DB-TIN-250",
      "Materials": "HSS with Titanium Coating",
      "Type": "Twist Drill Bit",
      "Size (in)": "1/4",
      "Shank Type": "Hex",
      "Application": "Metal, Wood, Plastic"
    }
  ]

  Agent System Prompt Summary
  &gt; “You are an AI product catalog assistant.  
  Use only the Supabase vector database as your knowledge base.  
  Provide accurate, structured responses with clear formatting — including product names, attributes, and URLs.  
  If data is unavailable, reply politely: ‘I couldn’t find that product in the catalog.’”

  Key Features
  Automated JSON ingestion from Google Drive → Supabase  
  Intelligent text chunking and metadata mapping  
  Dual-workflow architecture (Ingestion + Chatbot)  
  Live conversational product search via RAG  
  Supports both embedded chat and webhook channels  

  Summary
  &gt; A powerful end-to-end workflow that transforms your product data into a searchable, AI-ready knowledge base, enabling real-time product Q&A through a Mistral-powered chatbot.

  Perfect for eCommerce teams, distributors, or B2B companies managing large product catalogs.

  Need Help or More Workflows?
  Want to customize this workflow for your business or integrate it with your tools?  
  Our team at Digital Biz Tech can tailor it precisely to your use case — from automation pipelines to AI-powered product discovery.

  💡 We can help you set it up for free — from connecting credentials to deploying it live.

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

nodes_used:
  ["n8n-nodes-base.splitInBatches","n8n-nodes-base.set","n8n-nodes-base.googleDrive","n8n-nodes-base.extractFromFile","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterCharacterTextSplitter","@n8n/n8n-nodes-langchain.embeddingsMistralCloud","@n8n/n8n-nodes-langchain.vectorStoreSupabase","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.vectorStoreSupabase","@n8n/n8n-nodes-langchain.lmChatMistralCloud","@n8n/n8n-nodes-langchain.embeddingsMistralCloud","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.webhook","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chatTrigger","@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","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 8860 characters]

metadata_json:
  {"categories":["AI/ML","Development"],"complexity":"medium","use_cases":["Product Catalog Search","Automated Document Ingestion","RAG Query System","Chatbot Development"],"estimated_setup_minutes":45,"required_services":["Mistral AI","Google Drive API","Supabase"],"key_features":["Document Ingestion","Vector Embedding Generation","RAG Retrieval","AI Chatbot Integration"],"target_audience":["Developers","AI/ML Engineers"]}


name: Self update Docker-based n8n with email approval and SSH
author_name: Muhammad Anas Farooq
author_username: anasn-farooq
categories: []
created_at: 2025-11-03T13:19:56.116Z
updated_at: 2025-11-03T13:19:56.116Z
url: https://n8n.io/workflows/10471
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:20
description:
  n8n Self-Updater Workflow

  &gt; An automated n8n workflow originally built for DigitalOcean-based n8n deployments, but fully compatible with any VPS or cloud hosting (e.g., AWS, Google Cloud, Hetzner, Linode, etc.) where n8n runs via Docker.

  This workflow checks for the latest Docker image of n8n, notifies you via email for approval, and securely updates your n8n instance via SSH once approved.

  How It Works

  Trigger: The workflow runs automatically every 3 days at 4 PM UTC (or manually if triggered).
  Check Version: It retrieves your current n8n Docker version and image digest via SSH.
  Compare: Fetches the remote digest from Docker Hub and compares it with the local one.
  Notify via Email: If a new update is available, an approval email is sent with details:

     Current version
     Local digest
     Remote digest
     What will happen after approval
  Approval Logic:

     Approve → Workflow connects via SSH and updates the n8n container automatically.
     Decline → Workflow ends; next check occurs in the next cycle.
  Auto Update Execution:

     Creates (if missing) a update_docker.sh script on the server.
     Runs it in the background (nohup) to:

            cd /opt/n8n-docker-caddy
       docker compose pull
       docker compose down
       docker compose up -d
          The delay ensures n8n restarts only after workflow completion.

  Requirements

  SSH Access** to your server (where n8n runs).

    Add your credentials in n8n under Credentials → SSH Password.
  SMTP Connection** for email notifications.

    Configure in Credentials → SMTP.
    Fill in:

      From Email → e.g., info@yourdomain.com
      To Email → your email for receiving approvals
  Docker-based n8n Deployment**, e.g., n8n-docker-caddy setup.
  Docker and docker-compose** installed on the server.

  How to Use

  Import the Workflow:

     Copy the provided JSON file.
     In your n8n instance → click Import Workflow → paste the JSON.

  Set Up Credentials:

     Create two credentials in n8n:

       SSH Password → Your server's SSH credentials.
       SMTP → Your email provider's SMTP credentials.

  Edit the Email Node:

     Replace:

       fromEmail: info@yourdomain.com → with your email.
       toEmail: youremail@yourdomain.com → with your desired recipient.

  Enable Auto Trigger (optional):

     Go to the Schedule Trigger node and set your desired interval/time.

  Run the Workflow:

     Test manually first.
     Once verified, activate it for automatic checks.

  Notes

  Originally designed for DigitalOcean VPS setups, but can run on any Docker-based n8n server.
  The workflow avoids duplicate updates by comparing digests instead of version tags.
  If the update_docker.sh file already exists, it reuses it safely.
  Approval emails include full details for transparency.
  Background execution ensures no interruptions during restart.

  Example Behavior

  Day 1**: Workflow checks → detects update → sends email → user approves.
  30 seconds later**: Workflow runs update script → n8n restarts with latest Docker image.
  Day 4**: Workflow checks again → digests match → silently completes (no email sent).

  Author: Muhammad Anas Farooq

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.if","n8n-nodes-base.ssh","n8n-nodes-base.if","n8n-nodes-base.ssh","n8n-nodes-base.if","n8n-nodes-base.noOp","n8n-nodes-base.noOp","n8n-nodes-base.emailSend","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.ssh","n8n-nodes-base.stickyNote","n8n-nodes-base.ssh","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.ssh","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6652 characters]

metadata_json:
  {"categories":["DevOps","Automation"],"complexity":"medium","use_cases":["automate-service-updates","container-version-management","deploy-notifications","approval-gated-updates"],"estimated_setup_minutes":40,"required_services":["GitHub API","SSH server","SMTP service","n8n (running instance)"],"key_features":["scheduled-execution","approval-workflow","command-existence-check","Docker-image-versioning"],"target_audience":["DevOps engineers","system administrators","cloud engineers"]}


name: Automated BBB Lead Generation with BrowserAct
author_name: Bakir Ali
author_username: bakirali001
categories: []
created_at: 2025-11-03T15:55:00.397Z
updated_at: 2025-11-03T15:55:00.397Z
url: https://n8n.io/workflows/10473
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:21
description:
  Automated BBB Lead Generation with BrowserAct

  🚀 Overview

  This workflow automates business data extraction, duplicate checking, and email outreach using BrowserAct, Google Sheets, Gmail, and Google Gemini AI — all inside n8n.

  It’s designed for marketers, lead generation specialists, or automation developers who want to build a fully autonomous AI agent that finds businesses online, filters duplicates, and automatically sends personalized outreach emails.

  🧩 Key Features

  🌐 BrowserAct Integration — Scrapes business data (name, phone, email, website, rating) from any target site.
  🤖 AI Data Extraction Agent — Uses Google Gemini AI to clean, structure, and validate scraped data into standardized JSON.
  📊 Google Sheets Sync —

    Reads all existing records
    Checks for duplicates
    Appends new rows automatically
  ✉️ Automated Gmail Outreach —

    Validates email addresses
    Sends outreach emails to valid leads
    Logs each status (e.g., Successful, Duplicate, Pending - Invalid Email)
  ⏳ Smart Delay Control — Uses Wait node to pause execution and respect email sending limits (max 2 emails per run).

  🛠️ Included Nodes

  | Node                       | Function                                          |
  | -------------------------- | ------------------------------------------------- |
  | 🕓 Schedule Trigger    | Runs the workflow automatically on schedule       |
  | 🌍 BrowserAct          | Scrapes or extracts business data                 |
  | ⚙️ If Node             | Checks scraping results before processing         |
  | 🧠 AI Agent (Gemini)   | Extracts structured business info                 |
  | 💻 Code (JavaScript)   | Cleans and parses AI output into usable JSON      |
  | 📩 AI Agent 2 (Gemini) | Handles decision-making for email + sheet updates |
  | 📊 Google Sheets Tools | Reads, appends, and manages lead data             |
  | 📨 Gmail Node          | Sends automated outreach emails                   |
  | ⏱️ Wait Node           | Adds delay to control workflow speed              |

  🧾 How It Works

  Schedule Trigger starts the automation.
  BrowserAct fetches business listings based on defined keywords and location.
  AI Agent (Gemini) extracts business details (business_name, website_url, phone_number, email_address, rating).
  JavaScript Code Node parses the AI’s JSON response.
  AI Agent 2 (Gemini) decides:

     If duplicate → send message on your email address Duplicate data found
     If invalid email → marks as “Pending - Invalid Email”
     If valid email → sends via Gmail + updates Google Sheet
  Final output returns structured statuses for each processed business.

  🖼️ Workflow Diagram


  &gt; * Schedule Trigger
  &gt; * BrowserAct
  &gt; * AI Agent (Gemini)
  &gt; * JavaScript Code
  &gt; * Gmail & Google Sheets tools

  ![Workflow Preview]

  ⚙️ Setup Instructions

  Connect your BrowserAct, Google Sheets, Gmail, and Google Gemini API credentials.
  Define search keywords and locations inside the BrowserAct node.
  Set your Google Sheet ID in the relevant nodes.
  Customize the Gmail message if needed.
  Activate the workflow and schedule it.

  📤 Output Example

  [
    {
      "business_name": "ABC Restaurant",
      "email_sent": "Successful"
    },
    {
      "business_name": "XYZ Foods",
      "email_sent": "Duplicate - Already Exist"
    },
    {
      "business_name": "Fresh Eats",
      "email_sent": "Pending - Invalid Email"
    }
  ]

  👨‍💻 Created by

  Bakir Ali
  Automation & AI Workflow Creator — specialized in BrowserAct, Google AI (Gemini), and n8n-based automation systems.

nodes_used:
  ["n8n-nodes-base.if","n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-browseract.browserAct","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.splitInBatches","n8n-nodes-base.gmailTool","n8n-nodes-base.gmailTool"]

workflow_json_compressed:
  [encoded data, 7496 characters]

metadata_json:
  {"categories":["Marketing","Data Processing","AI/ML"],"complexity":"medium","use_cases":["extract business data","identify prospects","remove duplicates","send outreach emails","personalize email content"],"estimated_setup_minutes":45,"required_services":["BrowserAct","Google Sheets","Gmail","Google Gemini AI","CSV"],"key_features":["automation of lead extraction","web data scraping","duplicate removal","AI-powered content generation","automated email campaigns"],"target_audience":["marketers","lead generation specialists","developers"]}


name: Moderate Your Discord Server using chatGPT-5 & Google Sheets (Learning System)
author_name: Cj Elijah Garay
author_username: elijahbuilds-ai
categories: []
created_at: 2025-11-03T21:38:31.499Z
updated_at: 2025-11-03T21:38:31.499Z
url: https://n8n.io/workflows/10483
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:22
description:
  Discord AI Content Moderator with Learning System

  This n8n template demonstrates how to automatically moderate Discord messages using AI-powered content analysis that learns from your community standards. It continuously monitors your server, intelligently flags problematic content while allowing context-appropriate language, and provides a complete audit trail for all moderation actions.

  Use cases are many:

  Try moderating a forex trading community where enthusiasm runs high, protecting a gaming server from toxic behavior while keeping banter alive, or maintaining professional standards in a business Discord without being overly strict!

  Good to know

  This workflow uses OpenAI's GPT-5 Mini model which incurs API costs per message analyzed (approximately $0.001-0.003 per moderation check depending on message volume)
  The workflow runs every minute by default - adjust the Schedule Trigger interval based on your server activity and budget
  Discord API rate limits apply - the batch processor includes 1.5-second delays between deletions to prevent rate limiting
  You'll need a Google Sheet to store training examples - a template link is provided in the workflow notes
  The AI analyzes context and intent, not just keywords - "I *cking love this community" won't be deleted, but "you guys are sht" will be
  Deleted messages cannot be recovered from Discord - the admin notification channel preserves the content for review

  How it works

  The Schedule Trigger activates every minute to check for new messages requiring moderation
  We'll fetch training data from Google Sheets containing labeled examples of messages to delete (with reasons) and messages to keep
  The workflow retrieves the last 10 messages from your specified Discord channel using the Discord API
  A preparation node formats both the training examples and recent messages into a structured prompt with unique indices for each message
  The AI Agent (powered by GPT-5 Mini) analyzes each message against your community standards, considering intent and context rather than just keywords
  The AI returns a JSON array of message indices that violate guidelines (e.g., [0, 2, 5])
  A parsing node extracts these indices, validates them, removes duplicates, and maps them to actual Discord message objects
  The batch processor loops through each flagged message one at a time to prevent API rate limiting and ensure proper error handling
  Each message is deleted from Discord using the exact message ID
  A 1.5-second wait prevents hitting Discord's rate limits between operations
  Finally, an admin notification is posted to your designated admin channel with the deleted message's author, ID, and original content for audit purposes

  How to use

  Replace the Discord Server ID, Moderated Channel ID, and Admin Channel ID in the "Edit Fields" node with your server's specific IDs
  Create a copy of the provided Google Sheets template with columns: message_content, should_delete (YES/NO), and reason
  Connect your Discord OAuth2 credentials (requires bot permissions for reading messages, deleting messages, and posting to channels)
  Add your OpenAI API key to access GPT-5 Mini
  Customize the AI Agent's system message to reflect your specific community standards and tone
  Adjust the message fetch limit (default: 10) based on your server activity - higher limits cost more per run but catch more violations
  Consider changing the Schedule Trigger from every minute to every 3-5 minutes if you have a smaller community

  Requirements

  Discord OAuth2 credentials for bot authentication with message read, delete, and send permissions
  Google Sheets API connection for accessing the training data knowledge base
  OpenAI API key for GPT-5 Mini model access
  A Google Sheet formatted with message examples, deletion labels, and reasoning
  Discord Server ID, Channel IDs (moderated + admin) which you can get by enabling Developer Mode in Discord

  Customising this workflow

  Try building an emoji-based feedback system where admins can react to notifications with ✅ (correct deletion) or ❌ (wrong deletion) to automatically update your training data
  Add a severity scoring system that issues warnings for minor violations before deleting messages
  Implement a user strike system that tracks repeat offenders and automatically applies temporary mutes or bans
  Expand the AI prompt to categorize violations (spam, harassment, profanity, etc.) and route different types to different admin channels
  Create a weekly digest that summarizes moderation statistics and trending violation types
  Add support for monitoring multiple channels by duplicating the Discord message fetch nodes with different channel IDs
  Integrate with a database instead of Google Sheets for faster lookups and more sophisticated training data management

  If you have questions 
  Feel free to contact me here:

  elijahmamuri@gmail.com
  elijahfxtrading@gmail.com

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.discord","n8n-nodes-base.discord","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.discord","n8n-nodes-base.code","n8n-nodes-base.wait","n8n-nodes-base.set","n8n-nodes-base.splitInBatches"]

workflow_json_compressed:
  [encoded data, 6636 characters]

metadata_json:
  {"categories":["Communication","DevOps"],"complexity":"medium","use_cases":["moderate Discord messages","filter community content","audit moderation actions","apply community standards contextually","log flagged content"],"estimated_setup_minutes":30,"required_services":["Google Sheets","Discord","OpenAI"],"key_features":["contextual AI analysis","learning moderation system","complete audit trail","batch content processing","automated community monitoring"],"target_audience":["server administrators","community managers","moderators"]}


name: Automate Web Research & Analysis with Oxylabs & GPT for Comprehensive Reports
author_name: Vytenis
author_username: vytenis
categories: []
created_at: 2025-11-04T14:54:38.597Z
updated_at: 2025-11-04T14:54:38.597Z
url: https://n8n.io/workflows/10504
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:20
description:
  Fully automate deep research from start to finish: scrape Google Search results, select relevant sources, scrape & analyze each source in parallel, and generate a comprehensive research report.

  Who is this for?

  This workflow is for anyone who needs to research topics quickly and thoroughly: content creators, marketers, product managers, researchers, journalists, students, or anyone seeking deep insights without spending hours browsing websites. If you find yourself opening dozens of browser tabs to piece together information, this template will automate that entire process and deliver comprehensive reports in minutes.

  How it works

  Submit your research questions through n8n's chat interface (include as much context as you need)  
  AI generates strategic search queries to explore different angles of your topic (customize the number of queries as needed)  
  Oxylabs scrapes Google Search results for each query (up to 50 results per query)  
  AI evaluates and selects sources that are the most relevant and authoritative  
  Content extraction runs in parallel as Oxylabs scrapes each source and AI extracts key insights  
  Summaries are collected in n8n's data table for final processing  
  AI synthesizes everything into a comprehensive research report with actionable insights

  See the complete step-by-step tutorial on the n8n blog.

  Requirements

  Oxylabs AI Studio API key** – Get a free API key with 1000 credits  
  OpenAI API key** (or use alternatives like Claude, Gemini, and local Ollama LLMs)

  Setup

  Install Oxylabs AI Studio as shown on this page
  Set your API keys:  
  	Oxylabs AI Studio  
  	OpenAI  
  Create a data table  
  Select the table name in each data table node  
  Create a sub-workflow:  
  	Select the 3 nodes (Scrape content, Summarize content, Insert row)  
  	Right-click  
  	Select “Convert 3 nodes to sub-workflow”  
  Edit the sub-workflow settings for for parallel execution:  
  	Mode: Run once for each item  
  	Options → Add Option → disable “Wait For Sub-Workflow Completion”

  Once you finish all these setup steps, you can run the workflow through n8n's chat interface. For example, send the following message:
  I'm planning to build a wooden summer house and would appreciate guidance on the process. What are the key considerations I should keep in mind from planning through completion? I'm particularly interested in the recommended construction steps and which materials will ensure long-term durability and quality.

  Customize this workflow for your needs

  Feel free to modify the workflow to fit the scale and final output your project requires:

  To reuse this workflow, clear the data table after the final analysis by adding a Data table node with the Delete row(s) action  
  Scale up** by processing more search queries, increasing results per query beyond 10, and selecting additional relevant URLs  
  Enable JavaScript rendering** in Oxylabs AI Studio (Scraper) node to ensure all content is gathered  
  Adjust the system prompts** in LLM nodes to fit your specific research goals  
  Explore other AI Studio apps** like Browser Agent for interactive browser control or Crawler for mapping entire websites  
  Connect other nodes** like Google Sheets, Notion, Airtable, or webhooks to route results where you need them

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-oxylabs-ai-studio.oxylabsAiStudio","n8n-nodes-base.splitOut","n8n-nodes-base.splitOut","n8n-nodes-base.set","n8n-nodes-base.dataTable","n8n-nodes-base.dataTable","n8n-nodes-base.if","n8n-nodes-base.aggregate","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-oxylabs-ai-studio.oxylabsAiStudio","n8n-nodes-base.dataTable","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi"]

workflow_json_compressed:
  [encoded data, 7756 characters]

metadata_json:
  {"categories":["AI/ML","Data Processing"],"complexity":"medium","use_cases":["Deep web research","Content analysis","Report generation","Market research","Competitor analysis"],"estimated_setup_minutes":30,"required_services":["Google Search API","Oxylabs","GPT"],"key_features":["Parallel source scraping","AI-powered content summarization","Report automation","Search result filtering","Multi-source aggregation"],"target_audience":["researchers","marketers","content creators"]}


name: AI-Driven Inventory Management with OpenAI Forecasting & ERP Integration
author_name: Oneclick AI Squad
author_username: oneclick-ai
categories: []
created_at: 2025-11-05T13:27:19.843Z
updated_at: 2025-11-05T13:27:19.843Z
url: https://n8n.io/workflows/10531
scraped_at: 2026-05-02 08:04:48
metadata_generated_at: 2026-05-02 08:36:22
description:
  This n8n workflow automates the monitoring of warehouse inventory and sales velocity to predict demand, generate purchase orders automatically, send them to suppliers, and record all transactions in ERP and database systems. It uses AI-driven forecasting to ensure timely restocking while maintaining operational efficiency and minimizing stockouts or overstocking.

  Key Features

  Automated Scheduling:** Periodically checks inventory and sales data at defined intervals.
  Real-Time Data Fetching:** Retrieves live warehouse stock levels and sales trends.
  AI Demand Forecasting:** Uses OpenAI GPT to predict future demand based on sales velocity and stock trends.
  Auto-Purchase Orders:** Automatically generates and sends purchase orders to suppliers.
  ERP Integration:** Logs completed purchase orders into ERP systems like SAP, Oracle, or Netsuite.
  Database Logging:** Saves purchase order details and forecast confidence data into SQL databases (PostgreSQL/MySQL).
  Email Notifications:** Notifies relevant teams upon successful order creation and logging.
  Modular Configuration:** Each node includes configuration notes and credentials setup instructions.

  Workflow Process

  Schedule Trigger

     Runs every 6 hours to monitor stock and sales data.
     Interval can be adjusted for higher or lower frequency checks.

  Fetch Current Inventory Data

     Retrieves live inventory levels from the warehouse API endpoint.
     Requires API credentials and optional GET/POST method setup.

  Fetch Sales Velocity

     Pulls recent sales data for forecasting analysis.
     Used later for AI-based trend prediction.

  Merge Inventory & Sales Data

     Combines inventory and sales datasets into a unified JSON structure.
     Prepares data for AI model input.

  AI Demand Forecasting

     Sends merged data to OpenAI GPT for demand prediction.
     Returns demand score, reorder need, and confidence levels.

  Parse AI Response

     Extracts and structures forecast results.
     Combines AI data with original inventory dataset.

  Filter: Reorder Needed

     Identifies items flagged for reorder based on AI output.
     Passes only reorder-required products to next steps.

  Create Purchase Order

     Automatically creates a PO document with item details, quantity, and supplier information.
     Calculates total cost and applies forecast-based reorder logic.

  Send PO to Supplier

     Sends the generated purchase order to supplier API endpoints.
     Includes response validation for order success/failure.

  Log to ERP System

      Records confirmed purchase orders into ERP platforms (SAP, Oracle, Netsuite).
      Includes timestamps and forecast metrics.

  Save to Database

      Stores all PO data, supplier responses, and AI forecast metrics into PostgreSQL/MySQL tables.
      Useful for long-term audit and analytics.

  Send Notification Email

      Sends summary emails upon PO creation and logging.
      Includes PO ID, supplier, cost, and demand reasoning.

  Setup Instructions

  Schedule Trigger:**
    Adjust to your preferred interval (e.g., every 6 hours or once daily).

  API Configuration:**

    Provide credentials in Inventory, Sales, and Supplier nodes.
    Use Authorization headers or API keys as per your system.

  AI Node (OpenAI):**

    Add your OpenAI API key in the credentials section.
    Modify the prompt if you wish to include additional forecasting parameters.

  ERP Integration:**

    Replace placeholder URLs with your ERP system endpoints.
    Match fields like purchase order number, date, and cost.

  Database Connection:**

    Configure credentials for PostgreSQL/MySQL in the Save to Database node.
    Ensure tables (purchase_orders) are created as per schema provided in sticky notes.

  Email Notifications:**

    Set up SMTP credentials (e.g., Gmail, Outlook, or custom mail server).
    Add recipients under workflow notification settings.

  Industries That Benefit

  This automation is highly beneficial for:

  Retail & E-commerce:** Predicts product demand and auto-orders from suppliers.
  Manufacturing:** Ensures raw materials are restocked based on production cycles.
  Pharmaceuticals:** Maintains optimum inventory for high-demand medicines.
  FMCG & Supply Chain:** Balances fast-moving goods availability with minimal overstocking.
  Automotive & Electronics:** Prevents delays due to missing components.

  Prerequisites

  API access to inventory, sales, supplier, and ERP systems.
  Valid OpenAI API key for demand forecasting.
  SQL database (PostgreSQL/MySQL) for record storage.
  SMTP or mail server credentials for email notifications.
  n8n environment with required nodes installed (HTTP, AI, Filter, Email, Database).

  Modification Options

  Change forecast logic or thresholds for different industries.
  Integrate Slack/Teams for live notifications.
  Add approval workflow before sending POs.
  Extend AI prompt for seasonality or promotional trends.
  Add dashboard visualization using Grafana or Google Sheets.

  Explore More AI Workflows:
  Get in touch with us to build industry-grade n8n automations with predictive intelligence.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.code","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.postgres","n8n-nodes-base.emailSend","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 8968 characters]

metadata_json:
  {"categories":["Supply Chain","DevOps","Data Processing"],"complexity":"medium","use_cases":["predict inventory demand","automate purchase orders","track stock levels","send supplier notifications","record transactions"],"estimated_setup_minutes":30,"required_services":["OpenAI","ERP System","Database","PostgreSQL","MySQL"],"key_features":["AI-driven demand forecasting","Automated purchase order generation","Inventory monitoring scheduling","Transaction recording"],"target_audience":["supply chain managers","operations managers","warehouse managers"]}


name: Generate Custom Branded PDF Invoices from QuickBooks and Email to Clients
author_name: Chintan Prajapati
author_username: satva-technolabs
categories: []
created_at: 2025-11-06T06:53:47.515Z
updated_at: 2025-11-06T06:53:47.515Z
url: https://n8n.io/workflows/10553
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:21
description:
  Automated QuickBooks Invoice to Custom PDF & Email

  This n8n workflow automates the entire QuickBooks invoicing process — from creation to delivery. When a new invoice is generated in QuickBooks Online, it automatically fetches the data, applies your company branding, converts it into a professional multi-page PDF via Gotenberg, and emails it directly to your client.

  Key Features:

  ⚡ Fully Automated: Triggers instantly on new QuickBooks invoices.

  🧾 Custom Branding: Adds your logo and signature from public URLs.

  🎨 Modern PDF Design: Clean, professional multi-page layout with smart totals and “Page X of Y” footers.

  📧 Automatic Emailing: Sends the final PDF in a formatted email to your customer.

  Requirements:
  QuickBooks Online, n8n instance, Gotenberg (HTML→PDF converter), and public URLs for logo/signature.

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.quickbooks","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.extractFromFile","n8n-nodes-base.extractFromFile","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.html","n8n-nodes-base.convertToFile","n8n-nodes-base.httpRequest","n8n-nodes-base.emailSend","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:
  H4sIAAAAAAAAE62YS5PTRhDHv4rKh5w81EzPm1tYsoQqQpEslUuKwzx6Fhe2tNgysEXtd09La7Djlbwy4WZbo+lfP+bfPf46W2EbZk+/zhb1pg11wpd59nQGthQMSuuSjZIuBZ8sLzYIBZpnq4t2KjpMUonEVZZSpWRB2ujBe6NhNp+1uLpZhhYv1pg3V9huby4a+gVbJAPteot381ndZNzMnv5D1nurKWSZuWIhc8eUM/SJW81QqZQTh8g90s51WCGtfrXYtFhXpVlXr/Fz9ed2kT48a5oPm+pl/alZpG5pe3vTLa1dzXpbLIYNPvmM8T0tpOc3zWbRLpqaGITQMLfSvJvPds/7SBSvsvKEY7FIpiBaFgJYlg0Hp6zOElK3UVgTVYtrcufr3b3hv+lbv7e4m+88lDZrZZNnwntkKnLDHP3GOBRtucAQwe89fIHtN1+q56ENVVk3qwNHRx382C2JuyWHPjrn5sqod5OBjZQgI3KWpCD3A4+M0iIZzxhlKYE8UHvgS2zT+6rLc6hvq1fNdVO9XIXr8Uy8b9ubv/DjFjftEakGvsvGRFIfRVTF2i5RgSnhBAtGeCZF8jJCTinyMdKrxXUd2u0a/xeu4M5N50XiElpKFqKmUkAwzHfVVbyU3nlISok970VTf8J1ex/TtqmeEU4f+WFQ/NKuQ2ovqV4uF0scqIKzYiuSgBBsZEmLyFQ2lrmcFCs8gtUKOU/+Ies+qj8D2AuYDkxlybU1yEqOiYrBd8BesewKag7WxVwOgVdxUeO3sza/j/IvewdGsVe4vj6CBQEUXeCPwconsJcFIwzJgGIyU9mq2NdCEcxrEkGpFBXGQXzfrJF2xurX5XInCySBb3dyO4qa6OMRqZRmSh3sOaMihfeoiTMBI81PLJpiWEkQQXFdlD9Qg2fbxTJXv7/949V3FesFrGM+ccRWyyNMDdPK9SCgJiBgEaTVCJ1qB2SBYstsNgmxYOEFHxZsj9rV6qIO69tqV4hj4ezfeds8LFew0+IqnhwUbALhHcUzR7lTA5d8pqrlCMIKiFkeNoYa15Ts6s3zy+rTIlQvGmqFkYrxfOmSnE8KrzoIL8F4VMlS3yJkVTRpbYqFunWWzlGD4SLvaX9bhcWyR/1WBhTji+2mbej4jCtC99YV1vkIl47DQJtOzhXDbWIaBcWvUHelNp0YFONzMQg+Pdqm4SAfCjx6ryPTBhUVELkZOMkezTjGJ2eV0wcn8qqlfntbvaYsiFGHNv2ibs2RunELcxKr4wTMqMQoqy3tNBtXupK8NeA8M9RQ6EjqzAI5TefSxmQtchNxEBTOB3VUKfJhpUwD1STABkRhXlmKKCJ25ZIpQzKWVCBGEIOg8nxQpfiPR1RYWxA0DaBBkMgBDXuBo2QmK+0Ceu3RDIKOd7eToN486BXTQEOO3igbGLhgqStrUmPtDVU/qbF1WCJXg6D6bFDwpMGGPxhvpoH6zIXwAAxSJDxUmoWSNQ3BQRRB+uODHgQ1Z4NKMGqufzSiBgp3VnKa7ulEKVCBUbJphnQOA918pBqJ6Pmc1CLOPkq0mp7XmLpN+uUjYyE9IfXs7NDVqqM5b8jp353TjTDjl97uO2IZne2HjZ0eV/9rgd9bONHVhmxMbCuDpk51/CFbUxruSUNDs/BPzRLc2zs5c53K1MnZZ9C101eoU7ZOXgwGbZ0eeYdsTRs+R+rwkWv3T03c90J57P0hqxOvAoMWH///ZPgkTP1P4tjo/Psej/9NMPXd0Yv7gMd3d/8C8t7f9e0SAAA=

metadata_json:
  {"categories":["Accounting","Marketing","Communication"],"complexity":"medium","use_cases":["Generate branded invoices","Automate client notifications","Convert data to PDF","Email invoice delivery"],"estimated_setup_minutes":30,"required_services":["QuickBooks","Gotenberg","Email Provider"],"key_features":["Automated invoice generation","Custom branding integration","PDF document conversion","Direct email delivery"],"target_audience":["accountants","business owners","finance teams"]}


name: Process Large Documents with OCR using SubworkflowAI and Gemini
author_name: Jimleuk
author_username: jimleuk
categories: []
created_at: 2025-11-06T11:49:13.463Z
updated_at: 2025-11-06T11:49:13.463Z
url: https://n8n.io/workflows/10566
scraped_at: 2026-05-02 08:04:48
metadata_generated_at: 2026-05-02 08:36:22
description:
  Working with Large Documents In Your VLM OCR Workflow

  Document workflows are popular ways to use AI but what happens when your document is too large for your app or your AI to handle? Whether its context window or application memory that's grinding to a halt, Subworkflow.ai is one approach to keep you going.

  &gt; Subworkflow.ai is a third party API service to help AI developers work with documents too large for context windows and runtime memory.

  Prequisites
  You'll need a Subworkflow.ai API key to use the Subworkflow.ai service.
  Add the API key as a header auth credential. More details in the official docs https://docs.subworkflow.ai/category/api-reference

  How it Works
  Import your document into your n8n workflow
  Upload it to the Subworkflow.ai service via the Extract API using the HTTP node. This endpoint takes files up to 100mb.
  Once uploaded, this will trigger an Extract job on the service's side and the response is a "job" record to track progress.
  Poll Subworkflow.ai's Jobs endpoint and keep polling until the job is finished. You can use the "IF" node looping back unto itself to achieve this in n8n.
  Once the job is done, the Dataset of the uploaded document is ready for retrieval. Use the Datasets and DatasetItems API to retrieve whatever you need to complete your AI task.
  In this example, all pages are retrieved and run through a multimodal LLM to parse into markdown. A well-known process when parsing data tables or graphics are required.

  How to use
  Integrate Subworkflow's Extract API seemlessly into your existing document workflows to support larger documents from 100mb+ to up to 5000 pages.

  Customising the workflow
  Sometimes you don't want the entire document back especially if the document is quite large (think 500+ pages!), instead, use query parameters on the DatasetItems API to pick individual pages or a range of pages to reduce the load.

  Need Help?
  Official API documentation**: https://docs.subworkflow.ai/category/api-reference
  Join the discord**: https://discord.gg/RCHeCPJnYw

nodes_used:
  ["n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.manualTrigger","n8n-nodes-base.googleDrive","n8n-nodes-base.splitOut","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.googleGemini","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5292 characters]

metadata_json:
  {"categories":["AI/ML","Data Processing"],"complexity":"medium","use_cases":["Handling oversized documents","Extracting text from scanned files","Augmenting context window limits","Integrating OCR with generative AI"],"estimated_setup_minutes":25,"required_services":["Subworkflow.ai","Google Drive","Google Gemini API"],"key_features":["Recursive document splitting for AI processing","Independent memory management per subworkflow","Seamless integration with Google services","Scalable handling of large file inputs"],"target_audience":["AI developers","Data analysts","Automation engineers"]}


name: Automate Hotel Booking Requests from Gmail to Google Sheets with GPT-5-mini
author_name: Gtaras
author_username: tarasidis
categories: []
created_at: 2025-11-06T23:44:26.252Z
updated_at: 2025-11-06T23:44:26.252Z
url: https://n8n.io/workflows/10578
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:20
description:
  Who’s it for
  This workflow is for hotel managers, travel agencies, and hospitality teams who receive booking requests via email. It eliminates the need for manual data entry by automatically parsing emails and attachments, assigning booking cases to the right teams, and tracking performance metrics.

  What it does
  This workflow goes beyond simple automation by including enterprise-grade logic and security:

  🛡️ Gatekeeper:** Watches your Gmail and filters irrelevant emails before spending money on AI tokens.
  🧠 AI Brain:** Uses OpenAI (GPT-5-mini) to extract structured data from unstructured email bodies and PDF attachments.
  ⚖️ Business Logic:** Automatically routes tasks to different teams based on urgency, room count, and VIP status.
  🔒 Security:** Catches PII (like credit card numbers) and scrubs them before they hit your database.
  🚨 Safety Net:** If anything breaks, a dedicated error handling path logs the issue immediately so no booking is lost.
  📈 ROI Tracking:** Calculates the time saved per booking to prove the value of automation.

  How to set up
  Create your Google Sheet: Create a new sheet and rename the tabs to: Cases, Team Assignments, Error Logs, Success Metrics.
  Add Credentials: Go to n8n Settings → Credentials and add your Gmail (OAuth2), Google Sheets, and OpenAI API keys.
  Configure User Settings: Open the "Configuration: User Settings" node at the start of the workflow. Paste your specific Google Sheet ID and Admin Email there.
  Adjust Business Rules: Open the "Apply Business Rules" node (Code node) to adjust the logic for team assignment (e.g., defining what counts as a "VIP" booking).
  Customize Templates: Modify the email templates in the Gmail nodes to match your hotel's branding.
  Test: Send a sample booking email to yourself to verify the filters and data extraction.

  Setup requirements
  Gmail account (OAuth2 connected)
  Google Sheets (with the 4 tabs listed below)
  OpenAI API key (GPT-5-mini recommended)
  n8n Cloud or self-hosted instance

  How to customize
  Filter Booking Emails:** Update the trigger node keywords to match your specific email subjects (e.g., "Reservation", "Booking Request").
  Apply Business Rules:** Edit the Javascript in the Code node to fit your company’s internal logic (e.g., changing priority thresholds).
  New Metrics:** Add new columns in the Google Sheet (e.g., “Revenue Metrics”) and map them in the "Update Sheet" node.
  AI Model:** Switch to GPT-5 if you need higher reasoning capabilities for complex PDF layouts.

  Google Sheets Structure Description
  This workflow uses a Google Sheets document with four main tabs to track and manage hotel booking requests.

  1. Cases
  This is the main data log for all incoming booking requests.
  case_id:** Unique identifier generated by the workflow.
  processed_date:** Timestamp when the workflow processed the booking.
  travel_agency / contact_details:** Extracted from the email.
  number_of_rooms / check_in_date:** Booking details parsed by the AI.
  special_requests:** Optional notes (e.g., airport transfer).
  assigned_team / priority:** Automatically set based on business rules.
  days_until_checkin:** Dynamic field showing urgency.

  2. Team Assignments
  Stores internal routing and assignment details.
  timestamp:** When the case was routed.
  case_id:** Link to the corresponding record in the Cases tab.
  assigned_team / team_email:** Which department handles this request.
  priority:** Auto-set based on room count or urgency.

  3. Error Log
  A critical audit trail that captures details about any failed processing steps.
  error_type:** Categorization of the failure (e.g., MISSING_REQUIRED_FIELDS).
  error_message:** Detailed technical explanation for debugging.
  original_sender / snippet:** Context to help you manually process the request if needed.

  4. Success Metrics
  Tracks the results of your automation to prove its value.
  processing_time_seconds:** The time savings achieved by the automation (run time vs. human time).
  record_updated:** Confirmation that the database was updated.

  🙋 Support
  If you encounter any issues during setup or have questions about customization, please reach out to our dedicated support email: foivosautomationhelp@gmail.com

nodes_used:
  ["n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.guardrails","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.filter","n8n-nodes-base.if","n8n-nodes-base.extractFromFile","n8n-nodes-base.set","n8n-nodes-base.gmail","n8n-nodes-base.gmailTrigger","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.guardrails","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.gmail","n8n-nodes-base.googleSheets","n8n-nodes-base.if","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/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.lmChatOpenAi"]

workflow_json_compressed:
  [encoded data, 13808 characters]

metadata_json:
  {"categories":["AI/ML"],"complexity":"medium","use_cases":["parse incoming emails","process email attachments","assign booking cases","track performance metrics","filter irrelevant emails"],"estimated_setup_minutes":40,"required_services":["Gmail","Google Sheets","Google Gemini"],"key_features":["automated email parsing","enterprise-grade logic","security filters","document attachment processing","AI-powered content extraction"],"target_audience":["hotel managers","travel agencies","hospitality teams"]}


name: Automate Bank Statement and Invoice Reconciliation with GPT and Google Sheets
author_name: Chintan Prajapati
author_username: satva-technolabs
categories: []
created_at: 2025-11-07T05:27:00.287Z
updated_at: 2025-11-07T05:27:00.287Z
url: https://n8n.io/workflows/10581
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:20
description:
  🟢 Manual Trigger

  Workflow starts manually to initiate the reconciliation process on demand.

  📄 Fetch Invoices & Bank Statements

  Retrieves invoice data and bank statement data from Google Sheets for comparison.

  🔀 Merge Data

  Combines both datasets into a single structured dataset for processing.

  🧩 Format Payload for AI

  Function node prepares and structures the merged data into a clean JSON payload for AI analysis.

  🤖 AI Reconciliation

  AI Agent analyzes the invoice and bank statement data to identify matches, discrepancies, and reconciled entries.

  🧮 Parse AI Output

  Parses the AI response into a structured format suitable for adding back to Google Sheets.

  📊 Update Sheets

  Adds the reconciled data and reconciliation results into the target Google Sheet for recordkeeping.


  🧾 Prerequisites

  ✅ OpenAI API Credentials
  Required for the AI Reconciliation node to process and match transactions.

  Add your OpenAI API key in n8n → Credentials → OpenAI.

  ✅ Google Sheets Credentials
  Needed to read invoice and bank statement data and to write reconciled results.
  Add credentials in n8n → Credentials → Google Sheets.

  ✅ Google Sheets Setup
  The connected spreadsheet must contain the following tabs:
  Invoices – for invoice data
  Bank_Statement – for bank transaction data
  Reconciled_Data – for storing the AI-processed reconciliation output

  ✅ Tab Structure & Required Headers

  Invoices Sheet Columns:
  Invoice_ID
  Invoice_Date
  Customer_Name
  Amount
  Status

  Bank_Statement Sheet Columns:
  Transaction_ID
  Transaction_Date
  Description
  Debit/Credit
  Amount

  Reconciled_Data Sheet Columns:
  Invoice_ID
  Transaction_ID
  Matched_Status
  Remarks
  Confidence_Score

  ⚙️ n8n Environment Setup

  Ensure all nodes are connected correctly and the workflow has permission to access the required sheets.

  Test each fetch and write operation before running the full workflow.

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

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

metadata_json:
  {"categories":["Finance","Data Processing"],"complexity":"medium","use_cases":["reconcile bank statements","match invoices","detect discrepancies","process financial data"],"estimated_setup_minutes":15,"required_services":["Google Sheets","Google Cloud"],"key_features":["manual trigger execution","multi-source data merging","LLM-based verification","conditional branching logic","data reconciliation"],"target_audience":["finance managers","accountants","auditors"]}


name: Fetch Odoo Customer Data and Export to JSON or Excel
author_name: V3 Code Studio
author_username: v3codestudio
categories: []
created_at: 2025-11-07T13:47:55.468Z
updated_at: 2025-11-07T13:47:55.468Z
url: https://n8n.io/workflows/10599
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  Odoo Customers API – Export to JSON or Excel

  Odoo Customers API – Export to JSON or Excel provides a simple way to fetch customer records from your Odoo database and get them back either as a structured JSON response or a downloadable Excel (.xlsx) file.

  ⚙️ What it does
  Listens for HTTP GET requests on the endpoint /api/v1/get-customers.
  Checks for the required name parameter and builds a search filter automatically.
  Queries the res.partner model to return only customer contacts (is_company = false).
  Delivers results in JSON by default, or as an Excel (.xlsx) export when response_format=excel is included.

  📥 Parameters

  name — Required. Used for partial matching on customer names (via Odoo’s Like filter).
  response_format — Optional. Accepts json (default) or excel.

  🔗 Examples
  Excel Example
  GET /api/v1/get-customers?name=Demo&response_format=excel
  JSON Example
  GET /api/v1/get-customers?name=Demo&response_format=json

  🧩 Default fields
  display_name, name, email, phone, mobile, parent_id, company_id, country_code, country_id

  🛠️ Setup
  Open the Odoo node and connect your Odoo API credentials.
  Adjust the fieldsList in the node if you want to include more data fields (e.g., address, city, or VAT).
  Trigger the flow from its webhook URL or run it manually inside n8n to test the output.

  💡 Notes
  Built and tested for n8n v1.108.2+

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.function","n8n-nodes-base.function","n8n-nodes-base.if","n8n-nodes-base.convertToFile","n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.stickyNote","n8n-nodes-base.odoo","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["Data Processing","CRM Management"],"complexity":"simple","use_cases":["export customer records","fetch Odoo data","convert to Excel","search partner data","generate structured output"],"estimated_setup_minutes":15,"required_services":["Odoo API","HTTP Webhook Service"],"key_features":["parameter validation","dynamic search filtering","file format conversion","webhook integration","manual extraction"],"target_audience":["admins","analysts","users"]}


name: Summarize Google Play Store Reviews with GPT-4-mini, Pinecone & Slack Alerts
author_name: Ertay Kaya
author_username: ertay
categories: []
created_at: 2025-11-07T18:06:27.519Z
updated_at: 2025-11-07T18:06:27.519Z
url: https://n8n.io/workflows/10605
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:22
description:
  This workflow automatically fetches reviews for one or more Google Play Store apps, summarizes the feedback using OpenAI, stores and manages review data with Pinecone, and posts the summary to a Slack channel. It is designed for product teams, community managers, or anyone who wants to keep track of app sentiment and review trends without manually reading each review.

  Features:

  Fetches daily reviews for specified Google Play Store app bundle IDs using a Google Service Account.
  Stores reviews in a Pinecone vector database for efficient retrieval and summarization.
  Uses OpenAI to generate a summary, including:
    Positive and negative review highlights
    Star rating breakdown and average rating
    Total number of reviews processed
  Posts the summary to a Slack channel of your choice.
  Supports both daily and weekly triggers.
  Automatically clears old reviews from the vector store weekly to keep data fresh.

  Setup Instructions:

  Add your Google Play app bundle IDs in the “Set the bundle ids” node.
  Configure your Google Service Account, Pinecone, OpenAI, and Slack credentials.
  Set your preferred Slack channel in the “Send to Slack channel” node.
  Enable the workflow and customize the schedule as needed.

  Use Cases:

  Monitor app sentiment and user feedback trends.
  Share review insights with your team in Slack.
  Automate reporting for product or support teams.

nodes_used:
  ["n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.splitOut","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.vectorStorePinecone","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.vectorStorePinecone","n8n-nodes-base.slack","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6292 characters]

metadata_json:
  {"categories":["AI/ML"],"complexity":"medium","use_cases":["gather app reviews","summarize feedback","monitor app sentiment","manage review data"],"estimated_setup_minutes":15,"required_services":["OpenAI","Pinecone","Slack"],"key_features":["Daily review collection","Automated text summarization","Vector database management","Slack notifications"],"target_audience":["product managers","community managers"]}


name: Real-Time Stock Insights Using xAI
author_name: DevCode Journey
author_username: devcodejourney
categories: []
created_at: 2025-11-08T04:17:22.349Z
updated_at: 2025-11-08T04:17:22.349Z
url: https://n8n.io/workflows/10615
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  Who is this for?
  This n8n workflow is designed for investors, financial analysts, automated trading system developers, and finance enthusiasts who require daily, comprehensive, data-driven insights into specific stock symbols. It's perfect for users who need to automate the complex process of combining technical indicators, news sentiment, professional analyst ratings, and social media buzz into a single, actionable recommendation. This system provides a 24/7 automated "analyst" for portfolio monitoring.

  What this Workflow Does
  This n8n workflow executes a daily, multi-faceted analysis of a target stock. It starts by gathering all relevant data (price history, news, ratings, social posts) and processes it through specialized Code nodes to calculate technical indicators (SMA, RSI), determine price predictions (Linear Regression), and perform sentiment analysis on news and social media. Finally, it uses a weighted model to synthesize all data into a single, comprehensive Buy/Sell/Hold recommendation and delivers a detailed report via Telegram.

  Key Features
  Daily Scheduling**: Automatically triggers analysis every day at a specified time (e.g., 9:00 AM).
  Multi-Factor Analysis: Combines **four key domains for a holistic view: Technical, Prediction, News Sentiment, Analyst Ratings, and Social Sentiment.
  Technical Indicator Calculation: Calculates **SMA (20, 50, 200), RSI (14-day), and identifies Support/Resistance levels.
  Price Prediction: Uses **Simple Linear Regression to forecast a 7-day price trend and generate an initial recommendation.
  Sentiment Analysis: Custom Code nodes perform **keyword-based sentiment analysis on news articles and social media posts.
  Composite Recommendation: A weighted model combines all analysis scores (35% Technical, 25% News, 25% Analyst, 15% Social) to generate a **final recommendation, confidence score, and summary.
  Automated Alerting: Delivers a fully formatted, easily readable **Markdown report via Telegram.

  Requirements
  API Configuration Node**: A preliminary node (implied by the expression references) containing:
      Target stockSymbols (e.g., TSLA, AAPL).
      telegramChatId for receiving the report.
      API Keys for data sources (e.g., a Financial Data API for price/news/ratings, a Social Media API).
  Telegram Credentials**: For the Telegram node to send the final message.
  Financial Data Source Workflow**: Requires preceding nodes (not fully visible) to fetch:
      Historical price data (required for SMA/RSI/Regression).
      Recent news headlines and summaries.
      Recent analyst ratings.
      Social media data (e.g., from Twitter/StockTwits).
  n8n Instance**: Self-hosted or cloud-based n8n installation.

  How to Use
  Step-by-Step Setup
  1. Configure Scheduling
  Open the "Daily Stock Check" node.
  Set the interval rule to the precise hour you want the report to run (e.g., 9:00 AM).

  2. Configure Stock Symbol and Telegram
  In the (implied) "API Configuration" node, set the stockSymbols you wish to track.
  Set the target telegramChatId where the report will be delivered.
  Ensure your Telegram credentials are set up in n8n.

  3. Verify Data Fetching Nodes
  Ensure the nodes feeding data into "Analyze Stock Trends," "Analyze News Sentiment," "Process Analyst Ratings," and "Analyze Social Sentiment" are correctly configured to fetch the required historical price, news, ratings, and social data.

  4. Adjust Analysis Weights (Advanced)
  If you wish to change the importance of different factors, edit the WEIGHTS object inside the "Generate Comprehensive Recommendation" Code node.
      Default Weights: Technical (0.35), News (0.25), Analyst (0.25), Social (0.15).

  5. Test the Workflow
  Manually execute the workflow to ensure all Code nodes process the incoming data correctly and the "Send Telegram Alert" successfully delivers the final, formatted message.

  Workflow Components
  The workflow is structured into three main phases: Data Processing, Recommendation Synthesis, and Reporting.

  1. Data Processing and Indicator Calculation
  | Node Name | Type | Key Functionality |
  | :--- | :--- | :--- |
  | Daily Stock Check | Schedule Trigger | Initiates the entire workflow daily at the set time. |
  | Analyze Stock Trends | Code | Calculates Technical Indicators: SMA (20, 50, 200), RSI (14-day), Volume Trend, and Support/Resistance levels. |
  | Predict Future Trends | Code | Performs Simple Linear Regression on historical prices to determine slope and predict the price 7 days ahead. |
  | Analyze News Sentiment | Code | Performs keyword-based sentiment analysis on news headlines and summaries to categorize overall sentiment (positive/negative/neutral) and assign a score. |
  | Process Analyst Ratings | Code | Aggregates analyst recommendations (Buy/Hold/Sell) to calculate consensus rating and average price target. |
  | Analyze Social Sentiment | Code | Performs keyword-based sentiment analysis on social media data to determine community mood and trending hashtags. |

  2. Recommendation Synthesis
  | Node Name | Type | Description |
  | :--- | :--- | :--- |
  | Combine All Analysis | Merge | Consolidates the outputs from the four analysis branches (Technical, News, Analyst, Social) into a single data item. |
  | Generate Comprehensive Recommendation | Code | The core logic. Calculates a weighted composite score (from -100 to 100) based on all four inputs, generating the final STRONG BUY/BUY/HOLD/SELL/STRONG SELL recommendation and a numerical confidence score. |

  3. Reporting and Alerting
  | Node Name | Type | Description |
  | :--- | :--- | :--- |
  | Format Telegram Message | Set | Constructs the final detailed report message using Markdown formatting, pulling data from all preceding analysis nodes into a clear, structured report. |
  | Send Telegram Alert | Telegram | Sends the fully formatted analysis report to the pre-configured Telegram chat ID. |

  🙋 For Help & Community
  👾 Discord: n8n channel
  🌐 Website: devcodejourney.com
  🔗 LinkedIn: Connect with Shakil
  📱 WhatsApp Channel: Join Now
  💬 Direct Chat: Message Now

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.telegram","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatAnthropic","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.lmChatXAiGrok"]

workflow_json_compressed:
  [encoded data, 15428 characters]

metadata_json:
  {"categories":["Finance","Data Processing","AI/ML"],"complexity":"medium","use_cases":["Generate daily stock insights","Analyze stock sentiment","Automate trading recommendations","Combine technical and social indicators","Monitor analyst ratings for stocks"],"estimated_setup_minutes":15,"required_services":["xAI API","Anthropic API","Telegram API"],"key_features":["Real-time market analysis","Multi-source data aggregation","Sentiment analysis integration","Automated notifications","Code-based customization"],"target_audience":["investors","financial analysts","trading developers"]}


name: ZenTrade - AI Stock Trade Advisor
author_name: Paul Abraham
author_username: hellopaul
categories: []
created_at: 2025-11-08T12:08:50.088Z
updated_at: 2025-11-08T12:08:50.088Z
url: https://n8n.io/workflows/10630
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:20
description:
  This n8n template automates intraday trading insights by combining candlestick pattern analysis and news sentiment aggregation to suggest actionable Buy / Sell / Hold decisions across international stock markets.

    Use cases

  Automatically analyze stock trends using live candlestick data.
  Aggregate real-time news sentiment to strengthen trading confidence.
  Generate AI-backed Buy / Sell / Hold recommendations for traders.
  Build an automated Telegram trading assistant or analytics bot.
  Create a backend for AI-powered portfolio advisors or trading dashboards.

  Good to know

  This workflow integrates both market and news APIs, processes data intelligently, and leverages an Gemini AI for trading recommendations.
  It runs smoothly on both n8n Cloud and self-hosted instances, and setup typically takes 10–15 minutes.

  Requirements

  n8n Cloud or self-hosted instance
  TwelveData API key (for fetching OHLC & candlestick data) → twelvedata.com
  NewsAPI.org key (for aggregating relevant stock news) → newsapi.org
  AI model API key (Google Gemini or OpenAI) for sentiment reasoning
  Telegram Bot Token (via @BotFather) for command input & output

  Customising this workflow

  Replace Telegram with Slack, Discord, or Notion for alternate alerts.
  Integrate TradingView or Alpaca API for executing mock trades.
  Modify the candlestick intervals (1m, 15m, 1h) or patterns as per strategy.
  Add portfolio tracking or alert thresholds for advanced users.
  Expand to cover crypto, forex, or commodities with minimal edits.

nodes_used:
  ["n8n-nodes-base.telegramTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.merge","n8n-nodes-base.aggregate","n8n-nodes-base.code","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.googleGemini","n8n-nodes-base.merge","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.telegram","n8n-nodes-base.switch","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:
  H4sIAAAAAAAAE6WYS2/bOBDHv4qhsyfL9yOnLXIoukB72BZ7WRQFyRk6RmM5ayt9oMh337Hj1HIiuXZzUyxq+JvhPP7Mj2ZBXWoufzTzdt2lttAbbC4bF4MIqLKraNGUqITUPsnqg8LoKwljnRUKnXFaRptVRpHIuiqzR6d8M206WtzepI6uVoTr99Td3V4t+RfqiDfoVnd0P23aJdK6ufyXd9/sKqvWQisLgiiCMapCktaCRZ1FdN7bKNlymxbEqz/QDc1WaTH5sJrPZrTa7Pn9dvOmDS1sTUNOa7rodgv3626X63k3X7a8NTgRpjKqj9PmK+Xr5fLzNgDeWOlMCFBtJjDFZkhkBCh2lV1OOtewMZTYLru0Yi9+3D8A/MN/bW3LC3U/fXQNo66WCIKKDoxFx/acBhLCYxQlRdVzTdrJYt5O3rRs+Uu6GfXsuutu/6b/7mjdHXrlzM6no4CmB1i9c2iSBU0pgHFeQrZKQM3Re8KE2uke4Mv5xDl0FLAWUzwUZQsYQoKIlCEIUiqKZKWtfbrr5d3qZXhGnAVYnEapcoRqMoLxKUG0pgCFWrytSfhY9oBvaTWjUazF7m0PyEg3ld79ikj3iIJHkwtGyLFaMFg546zwkKIvxstcTXF7olez2YpmXK6jVKm3oh8qdVKqyZ9c1kpRXahQdeTK0hyuJIwCUVB5h5IPmvZcVwww4VT7K31J78tqftuNAhZ+PGQLWp3C1otZUmiFRMiYDZ+ilhCrEOAslixJJAy9mL2jr+vJY+CW4/3nWJqF89KM+6ISLjGgJcGAVkDgPsUd0kfJ7IqS6qfZep1mNEmTBdP06uBPJvxjT3mT2lm5TvP2YrZczm7oNXF1zw9ZrXenwO7PWSmtRJYenMuVO56NEAgNIJrI1Uwl6PikIuQ5JSFlMFMlwjk1kcnmEiK38cI4RvvC5ZA9YPLID0WLWAdqYpxrpCikjuoUtn20jIkOBSrgIuD+QZIgVx6CiodutlbXEnpV8eoN5x213Qknmnbr+nROiFPoVC9yplq0PBpAl5DAyFggBD5cTYK4m6QSMe35Xm/TaPKQR5Or69RN3p6YgTeLzfLXo3m4hTfmjNBqabxnrQLoCjdC0pbRufVIyVOONtNc9UL7nlrkgunoWzdZPNTPL4XFE8JoHw+/ryiiTKkUjlvyWoGp3I9jrhF0rTFFIUKS4hxFESiQEyyWkgmaFQq30Fi40qxnmaaFIC6QXsaUsrxrOz4LKp9HHVp/nXfl+olA0tqd0kX1hd6rHYFbRcO1r9hXsWXzPIqCLi4WChz0Xsi7efn8ffJueWT6rLdrdkt6dNqFqX7G1pQlz37O+8umOTKJhNVWSQfOcB813EghIG7Ej8mpFllyP6d7lOP9YAxTSmF+mzMIFBR9BlmRe4OphcWPkxxXUX3JIuRsBjnV2ZwsqKYwcNinBjSkUosDG90mjJrVRjUVZAoFq0mc7nEQVP8WqHvewk7jjKlaUVhNakxuk54ZsudStAozdzUVgsVBTnM+Jx8SR1T+ZkSLZ+HIspwLiae8IVblAYXjtmt08EVL7YYLyZ6fovEFKYo6OqkNQkyWmxErEd6M64l7rFc5OatUHeR050dUKtZNMKCGj6Pyan7fUtnY2S5/UOH8sODBw5b5GrrZf1gNb9dM+ZaM9K25FPcfP/IWO9Vy1IT8hY2fs3zIytFpNGzuJ/qQvWNy+ri5ES+fCZFhKwfTZ8jQ2IXyqbnp/ouxO/KRT8buheOfjGr8QT+feDHk6JOr34iZQ86z7aidHftCHvmY5of3iFE7o7m+M/Q0msOGRi4tg6F69k+gwSwdFj+DBgcq5Hx3d7ZGZTBbTPNPG9F7x67ufjtaVs+WH+51f/8/mvYOz8kTAAA=

metadata_json:
  {"categories":["AI/ML"],"complexity":"medium","use_cases":["Automated stock trend analysis","Real-time news sentiment aggregation","AI-based trading recommendations","Automated trading assistant setup"],"estimated_setup_minutes":30,"required_services":["Google AI Studio","Telegram API","Custom API for candlestick data"],"key_features":["Multiple candlestick pattern recognition","Live market data integration","Sentiment analysis","Automated Telegram alerts"],"target_audience":["Algorithmic traders","Financial analysts","Stock market enthusiasts"]}


name: Instant Lead Notifications with Gmail/SMTP for Teams & Auto-Responses
author_name: V3 Code Studio
author_username: v3codestudio
categories: []
created_at: 2025-11-08T14:29:52.710Z
updated_at: 2025-11-08T14:29:52.710Z
url: https://n8n.io/workflows/10634
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:22
description:
    🚀 Never miss a new lead again — get instant email alerts and stay ahead of
      every opportunity!



    This workflow automatically notifies your team the moment a new lead is
    created in your CRM or form submission. It keeps your sales, marketing, and
    support teams aligned — so no lead goes unnoticed, and every customer feels
    heard right away.


  ✨ How it works

    
      ✅ Capture: A webhook receives new lead data from your CRM
      or online form.
    
    
      🧩 Clean: The workflow filters and formats the data for
      clear presentation.
    
    
      💌 Compose: Generates a beautiful HTML email with your
      branding and lead details.
    
    
      📨 Send: Instantly emails your team or the lead using Gmail
      or SMTP.
    
    
      ⚡ React Fast: Your team gets notified in seconds — no
      manual checks needed!
    


  ⚙️ Set up steps

    
      🔗 Add a POST webhook in your CRM or app that points to your n8n webhook
      URL.
    
    
      🏢 Update your company info (logo, name, website) in the configuration node.
    
    
      📧 Connect Gmail OAuth2 or your SMTP credentials to send branded emails
      instantly.
    



    Compatible with Odoo, HubSpot, Zoho CRM, Salesforce, Pipedrive, Typeform,
      and any system that supports outgoing webhooks.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.gmail","n8n-nodes-base.webhook","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.emailSend","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.emailSend","n8n-nodes-base.html","n8n-nodes-base.html","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.gmail","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.switch","n8n-nodes-base.switch"]

workflow_json_compressed:
  [encoded data, 8548 characters]

metadata_json:
  {"categories":["Marketing","Sales"],"complexity":"medium","use_cases":["Alert sales teams on new leads","Send automatic email responses","Notify support on form submissions","Sync leads across departments","Track incoming opportunities"],"estimated_setup_minutes":20,"required_services":["Gmail","CRM (generic)","Webhook handlers"],"key_features":["Real-time lead capture","Instant email notifications","Automated email responses","Workflow filtering and logic","Custom HTML email templates"],"target_audience":["Sales teams","Marketing managers"]}


name: Scrape Google Maps Business Leads with Apify & GPT-4 Email Extraction
author_name: Dr. Firas
author_username: drfiras
categories: []
created_at: 2025-11-08T18:57:42.413Z
updated_at: 2025-11-08T18:57:42.413Z
url: https://n8n.io/workflows/10640
scraped_at: 2026-05-02 08:04:48
metadata_generated_at: 2026-05-02 08:36:22
description:
  💥 Automate Scrape Google Maps Business Leads (Email, Phone, Website) using Apify

  🧠 AI-Powered Business Prospecting Workflow (Google Maps + Email Enrichment)

  Who is this for?
  This workflow is designed for entrepreneurs, sales teams, marketers, and agencies who want to automate lead discovery and build qualified business contact lists — without manual searching or copying data.  
  It’s perfect for anyone seeking an AI-driven prospecting assistant that saves time, centralizes business data, and stays fully compliant with GDPR.

  What problem is this workflow solving?
  Manually searching for potential clients, copying their details, and qualifying them takes hours — and often leads to messy spreadsheets.  
  This workflow automates the process by:
  Gathering publicly available business information from Google Maps  
  Enriching that data with AI-powered summaries and contact insights  
  Compiling it into a clean, ready-to-use Google Sheet database

  This means you can focus on closing deals, not collecting data.

  What this workflow does
  This automation identifies, analyzes, and organizes business opportunities in just a few steps:
  Telegram Trigger → Send a message specifying your business type, number of leads, and Google Maps URL.  
  Apify Integration → Fetches business information from Google Maps (public data).  
  Duplicate Removal → Ensures clean, non-redundant results.  
  AI Summarization (GPT-4) → Generates concise business summaries for better understanding.  
  Email Extraction (GPT-4) → Finds and extracts professional contact emails from company websites.  
  Google Sheets Integration → Automatically stores results (name, category, location, phone, email, etc.) in a structured sheet.  
  Telegram Notification → Confirms when all businesses are processed.  

  All data is handled ethically and transparently — only from public sources and without any unsolicited contact.

  Setup
  Telegram Setup  
     Create a Telegram bot via BotFather  
     Copy the API token and paste it into the Telegram Trigger node credentials.  

  Apify Setup  
     Create an account on Apify  
     Get your API token and connect it to the “Run Google Maps Scraper” node.  

  Google Sheets Setup  
     Connect your Google account under the “Google Maps Database” node.  
     Specify the target spreadsheet and worksheet name.  

  OpenAI Setup  
     Add your OpenAI API key to the AI nodes (“Company Summary Info” and “Extract Business Email”).  

  Test  
     Send a Telegram message like:  
       restaurants, 5, https://www.google.com/maps/search/restaurants+in+Paris  

  How to customize this workflow to your needs
  Change search region or business type** by modifying the Telegram input message format.  
  Adjust the number of leads** via the maxCrawledPlacesPerSearch parameter in Apify.  
  Add filters or enrichments** (e.g., websites with social links, review counts, or opening hours).  
  Customize AI summaries** by tweaking the prompt inside the “Company Summary Info” node.  
  Integrate CRM tools** like HubSpot or Pipedrive by adding a connector after the Google Sheets node.  

  ⚙️ Expected Outcome
  ✅ A clean, enriched, and ready-to-use Google Sheet of businesses with:  
  Name, category, address, and city  
  Phone number and website  
  AI-generated business summary  
  Extracted professional email (if available)  

  ✅ Telegram confirmation once all businesses are processed  

  ✅ Fully automated, scalable, and GDPR-compliant prospecting workflow  

  💡 This workflow provides a transparent, ethical way to streamline your B2B lead research while staying compliant with privacy and anti-spam regulations.

  🎥 Watch This Tutorial

  👋 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:
  ["@apify/n8n-nodes-apify.apify","n8n-nodes-base.removeDuplicates","@apify/n8n-nodes-apify.apify","n8n-nodes-base.splitInBatches","n8n-nodes-base.googleSheets","n8n-nodes-base.wait","n8n-nodes-base.telegramTrigger","n8n-nodes-base.code","n8n-nodes-base.telegram","n8n-nodes-base.set","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7328 characters]

metadata_json:
  {"categories":["Marketing","Communication","Data Extraction"],"complexity":"medium","use_cases":["Generate qualified business leads","Extract contact details from Google Maps","Automate prospecting workflows","Enrich business data with AI"],"estimated_setup_minutes":45,"required_services":["Apify","OpenAI API (GPT-4)","Telegram"],"key_features":["Google Maps data scraping","AI-powered email extraction","Lead list deduplication","Batch processing capabilities"],"target_audience":["Entrepreneurs","Sales Developers","Marketing Professionals"]}


name: Search & Enrich: Smart Keyword Analysis with Decodo + OpenAI GPT-4.1-mini
author_name: Ranjan Dailata
author_username: ranjancse
categories: []
created_at: 2025-11-09T08:34:56.307Z
updated_at: 2025-11-09T08:34:56.307Z
url: https://n8n.io/workflows/10648
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  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



  This workflow automates intelligent keyword and topic extraction from Google Search results, combining Decodo’s advanced scraping engine with OpenAI GPT-4.1-mini’s semantic analysis capabilities. The result is a fully automated keyword enrichment pipeline that gathers, analyzes, and stores SEO-relevant insights.

  Who this is for

  This workflow is ideal for:

  SEO professionals** who want to extract high-value keywords from competitors.
  Digital marketers** aiming to automate topic discovery and keyword clustering.
  Content strategists** building data-driven content calendars.
  AI automation engineers** designing scalable web intelligence and enrichment pipelines.
  Growth teams** performing market and search intent research with minimal effort.

  What problem this workflow solves

  Manual keyword research is time-consuming and often incomplete. Traditional keyword tools only provide surface-level data and fail to uncover contextual topics or semantic relationships hidden in search results.

  This workflow solves that by:

  Automatically scraping live Google Search results for any keyword.
  Extracting meaningful topics, related terms, and entities using AI.
  Enriching your keyword list with semantic intelligence to improve SEO and content planning.
  Storing structured results directly in n8n Data Tables for trend tracking or export.

  What this workflow does

  Here’s a breakdown of the flow:

  Set the Input Fields – Define your search query and target geo (e.g., “Pizza” in “India”).
  Decodo Google Search – Fetches organic search results using Decodo’s web scraping API.
  Return Organic Results – Extracts the list of organic results and passes them downstream.
  Loop Over Each Result – Iterates through every search result description.
  Extract Keywords and Topics – Uses OpenAI GPT-4.1-mini to identify relevant keywords, entities, and thematic topics from each snippet.
  Data Enrichment Logic – Checks whether each result already exists in the n8n Data Table (based on URL).
  Insert or Skip – If a record doesn’t exist, inserts the extracted data into the table.
  Store Results – Saves both enriched search data and Decodo’s original response to disk.

  End Result: A structured and deduplicated dataset containing URLs, keywords, and key topics — ready for SEO tracking or further analytics.

  Setup

  Pre-requisite

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

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

  Import and Configure the Workflow

  Open n8n and import the JSON template.
  Add your credentials:

     Decodo API Key under Decodo Credentials account.
     OpenAI API Key under OpenAI Account.

  Define Input Parameters

  Modify the Set node to define:

    search_query: your keyword or topic (e.g., “AI tools for marketing”)
    geo: the target region (e.g., “United States”)

  Configure Output

  The workflow writes two outputs:

    Enriched keyword data → Stored in n8n Data Table (DecodoGoogleSearchResults).
    Raw Decodo response → Saved locally in JSON format.

  Execute

  Click Execute Workflow or schedule it for recurring keyword enrichment (e.g., weekly trend tracking).

  How to customize this workflow

  Change AI Model** — Replace gpt-4.1-mini with gemini-1.5-pro or claude-3-opus for testing different reasoning strengths.
  Expand the Schema** — Add extra fields like keyword difficulty, page type, or author info.
  Add Sentiment Analysis** — Chain a second AI node to assess tone (positive, neutral, or promotional).
  Export to Sheets or DB** — Replace the Data Table node with Google Sheets, Notion, Airtable, or MySQL connectors.
  Multi-Language Research** — Pass a locale parameter in the Decodo node to gather insights in specific languages.
  Automate Alerts** — Add a Slack or Email node to notify your team when high-value topics appear.

  Summary

  Search & Enrich is a low-code AI-powered keyword intelligence engine that automates research and enrichment for SEO, content, and digital marketing.

  By combining Decodo’s real-time SERP scraping with OpenAI’s contextual understanding, the workflow transforms raw search results into structured, actionable keyword insights. It eliminates repetitive research work, enhances content strategy, and keeps your keyword database continuously enriched — all within n8n.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.function","n8n-nodes-base.readWriteFile","n8n-nodes-base.stickyNote","@decodo/n8n-nodes-decodo.decodo","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.dataTable","n8n-nodes-base.stickyNote","n8n-nodes-base.dataTable","n8n-nodes-base.if","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5500 characters]

metadata_json:
  {"categories":["Marketing","Data Processing","Web Scraping"],"complexity":"medium","use_cases":["extract SEO keywords","analyze search results","enrich topic data","automate keyword research","gather search insights"],"estimated_setup_minutes":30,"required_services":["Decodo","OpenAI GPT-4.1-mini"],"key_features":["Google Search result scraping","Semantic AI analysis","Keyword extraction","Automated topic enrichment","SEO data pipeline integration"],"target_audience":["SEO professionals","Content marketers","Market researchers"]}


name: Analyze & Summarize Amazon Product Reviews with Decodo, OpenAI and Google Sheets
author_name: Ranjan Dailata
author_username: ranjancse
categories: []
created_at: 2025-11-09T15:01:58.083Z
updated_at: 2025-11-09T15:01:58.083Z
url: https://n8n.io/workflows/10659
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  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



  This n8n workflow automates the process of scraping, analyzing, and summarizing Amazon product reviews using Decodo’s Amazon Scraper, OpenAI GPT-4.1-mini, and Google Sheets for seamless reporting.

  It turns messy, unstructured customer feedback into actionable product insights — all without manual review reading.

  Who this is for

  This workflow is designed for:

  E-commerce product managers** who need consolidated insights from hundreds of reviews.
  Brand analysts and marketing teams** performing sentiment or trend tracking.
  AI and data engineers** building automated review intelligence pipelines.
  Sellers and D2C founders** who want to monitor customer satisfaction and pain points.
  Product researchers** performing market comparison or competitive analysis.

  What problem this workflow solves

  Reading and analyzing hundreds or thousands of Amazon reviews manually is inefficient and subjective.

  This workflow automates the entire process — from data collection to AI summarization — enabling teams to instantly identify customer pain points, trends, and strengths.

  Specifically, it:

  Eliminates manual review extraction from product pages.
  Generates comprehensive and abstract summaries using GPT-4.1-mini.
  Centralizes structured insights into Google Sheets for visualization or sharing.
  Helps track product sentiment and emerging issues over time.

  What this workflow does

  Here’s a breakdown of the automation process:

  Set Input Fields
     Define your Amazon product URL, geo region, and desired file name.

  Decodo Amazon Scraper
     Fetches real-time product reviews from the Amazon product page, including star ratings and AI-generated summaries.

  Extract Reviews Node
     Extracts raw customer reviews and Decodo’s AI summary into a structured JSON format.

  Perform Review Analysis (GPT-4.1-mini)
     Uses OpenAI GPT-4.1-mini to create two key summaries:

     Comprehensive Review: A detailed summary that captures sentiment, recurring themes, and product pros/cons.
     Abstract Review: A concise executive summary that captures the overall essence of user feedback.

  Persist Structured JSON
     Saves the raw and AI-enriched data to a local file for reference.

  Append to Google Sheets
     Uploads both the original reviews and AI summaries into a Google Sheet for ongoing analysis, reporting, or dashboard integration.

  Outcome:
  You get a structured, AI-enriched dataset of Amazon product reviews — summarized, searchable, and easy to visualize.

  Setup

  Pre-requisite

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

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

  Step 1 — Import the Workflow

  Open n8n and import the JSON workflow template.
  Ensure the following credentials are configured:

     Decodo Credentials account → Decodo API Key
     OpenAI account → OpenAI API Key
     Google Sheets account → Connected via OAuth

  Step 2 — Input Product Details

  In the Set node, replace:

  amazon_url → your product link (e.g., https://www.amazon.com/dp/B0BVM1PSYN)
  geo → your region (e.g., US, India)
  file_name → output file name (optional)

  Step 3 — Connect Google Sheets

  Link your desired Google Sheet for data storage. Ensure the sheet columns match:

  product_reviews
  all_reviews

  Step 4 — Run the Workflow

  Click Execute Workflow.
  Within seconds, your Amazon product reviews will be fetched, summarized by AI, and logged into Google Sheets.

  How to customize this workflow

  You can tailor this workflow for different use cases:

  Add Sentiment Analysis** — Add another GPT node to classify reviews as positive, neutral, or negative.
  Multi-Language Reviews** — Include a language detection node before summarization.
  Send Alerts** — Add a Slack or Gmail node to notify when negative sentiment exceeds a threshold.
  Store in Database** — Replace Google Sheets with MySQL, Postgres, or Notion nodes.
  Visualization Layer** — Connect your Google Sheet to Looker Studio or Power BI for dynamic dashboards.
  Alternative AI Models** — Swap GPT-4.1-mini with Gemini 1.5 Pro, Claude 3, or Mistral for experimentation.

  Summary

  This workflow transforms the tedious process of reading hundreds of Amazon reviews into a streamlined AI-powered insight engine.

  By combining Decodo’s scraping precision, OpenAI’s summarization power, and Google Sheets’ accessibility, it enables continuous review monitoring.

  In one click, it delivers comprehensive and abstract AI summaries, ready for your next product decision meeting or market strategy session.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.set","@decodo/n8n-nodes-decodo.decodo","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.function","n8n-nodes-base.readWriteFile","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi"]

workflow_json_compressed:
  [encoded data, 4756 characters]

metadata_json:
  {"categories":["Data Processing","E-commerce"],"complexity":"medium","use_cases":["scraping product reviews","analyzing customer feedback","generating AI summaries","exporting insights to spreadsheets","automating review analysis"],"estimated_setup_minutes":15,"required_services":["Decodo","OpenAI","Google Sheets"],"key_features":["web scraping","LLM-powered summarization","data transformation","spreadsheet integration","community nodes"],"target_audience":["product managers","e-commerce analysts","market researchers"]}


name: Summarize Apple App Store Reviews with Pinecone, GPT-4 Mini & Slack
author_name: Ertay Kaya
author_username: ertay
categories: []
created_at: 2025-11-09T22:39:52.451Z
updated_at: 2025-11-09T22:39:52.451Z
url: https://n8n.io/workflows/10666
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:21
description:
  This n8n workflow automates the process of collecting, storing, and summarizing customer reviews from the Apple App Store for multiple apps. It fetches daily reviews, stores them in a Pinecone vector database, and generates a weekly summary using OpenAI, which is then posted to a Slack channel.

  Key Features

  Fetches daily customer reviews for a list of Apple App Store apps using the App Store Connect API.
  Stores reviews in Pinecone, with separate namespaces for each app and automatic weekly cleanup.
  Uses OpenAI to generate a summary of reviews, including positive/negative highlights and average star rating.
  Posts the summary to a specified Slack channel every week.


  How to use

  Set your Apple App Store app IDs and names in the provided Set nodes.
  Configure your Apple API, Pinecone, OpenAI, and Slack credentials.
  Adjust the schedule triggers as needed for daily fetching and weekly summarization.
  Deploy the workflow to automate review monitoring and reporting for your apps.

nodes_used:
  ["n8n-nodes-base.splitOut","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","n8n-nodes-base.jwt","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.vectorStorePinecone","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.vectorStorePinecone","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.splitInBatches","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.filter","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.slack","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6248 characters]

metadata_json:
  {"categories":["Marketing","Data Processing"],"complexity":"medium","use_cases":["collect app store reviews","summarize customer feedback","automate weekly reports"],"estimated_setup_minutes":5,"required_services":["Apple App Store Connect API","Pinecone","OpenAI","Slack"],"key_features":["API review fetching","Vector database storage","AI summarization","Automated Slack notifications"],"target_audience":["Product managers","Marketing teams","Customer success"]}


name: AI Telegram-to-WordPress Publishing with GPT-4 & Media Handling
author_name: Alexandru Burca
author_username: alex13
categories: []
created_at: 2025-11-10T06:38:04.925Z
updated_at: 2025-11-10T06:38:04.925Z
url: https://n8n.io/workflows/10671
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:21
description:
  AI-powered automation that rewrites, enhances, and publishes Telegram RSS content directly to your WordPress news site, including image/video upload and category mapping.

  Who’s it for
  This workflow is designed for content creators, news publishers, and social media managers who share updates on Telegram and want to automatically republish them as formatted articles on WordPress. It’s ideal for news portals, agencies, or blogs that manage content across multiple channels.

  Features
  Multi-Channel Telegram RSS Monitoring
  Automatic Category Assignment
  Duplicate Prevention System (GUID Matching)
  Media Download + Type Detection (Image / Video)
  Full AI Article Rewriting (GPT-4O)
  -- Stage 1: Full rewrite with structure
  -- Stage 2: Context enhancement
  Media Handling Logic
  WordPress Publish

  How it works / What it does
  Fetches new posts from a Telegram channel feed (via RSS).
  Uses OpenAI to rewrite the text into a polished news-style article.
  Detects whether the content includes images or videos and downloads them.
  Uploads the media to WordPress and links it to the post.
  Automatically publishes the formatted article to WordPress with the correct category and excerpt.

  Set up steps

  Setup takes around 10–15 minutes.
  You’ll need API keys for OpenAI and WordPress Application Passwords.
  Add your Telegram RSS feed URL and WordPress site URL in the relevant nodes.
  (Optional) Adjust tone or rewrite style in the OpenAI node and category mapping in the Switch node.
  All configuration details are included in sticky notes inside the workflow.

  Requirements

  WordPress site with REST API access and Application Password
  OpenAI API key
  Telegram channels RSS URL

  How to customize the workflow
  You can easily adjust the writing style in the OpenAI node, change categories in the Switch node, or schedule how often the workflow checks Telegram for new posts.

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.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.splitInBatches","n8n-nodes-base.set","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.switch","n8n-nodes-base.httpRequest","n8n-nodes-base.merge","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.set","n8n-nodes-base.rssFeedReadTrigger","n8n-nodes-base.rssFeedReadTrigger","n8n-nodes-base.rssFeedReadTrigger","n8n-nodes-base.rssFeedReadTrigger","n8n-nodes-base.rssFeedReadTrigger","n8n-nodes-base.rssFeedReadTrigger","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.set"]

workflow_json_compressed:
  [encoded data, 13620 characters]

metadata_json:
  {"categories":["Content Creation","Social Media","DevOps"],"complexity":"medium","use_cases":["Automate social feed to blog publishing","Rewrite and enhance RSS content","Upload media from external sources","Map categories for content organization"],"estimated_setup_minutes":5,"required_services":["Telegram","WordPress REST API","OpenAI","RSS Feed"],"key_features":["Multi-channel content aggregation","AI content rewriting and enhancement","Dynamic media handling and upload","Automated content categorization","Workflow batching and error handling"],"target_audience":["social media managers","blog publishers","content creators"]}


name: Automate Daily Google Calendar Events to Trello Cards
author_name: PrideVel
author_username: n8nwizard
categories: []
created_at: 2025-11-11T11:44:50.560Z
updated_at: 2025-11-11T11:44:50.560Z
url: https://n8n.io/workflows/10723
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:22
description:
  📋 Overview

  This n8n workflow automatically converts your Google Calendar events for the current day into Trello cards every morning at 8 AM. It fetches all calendar events for the day, filters out routine events (like Lunch or Check email), and creates neatly formatted Trello cards with a predefined meeting notes template.

  Perfect for professionals who want to keep their daily meetings and tasks synced with their Trello board.

  ⚙️ Key Features

  🕗 Runs daily at 8 AM (configurable via Cron node)
  📅 Fetches all Google Calendar events for the current day
  🚫 Skips routine/repetitive events (Lunch, Check email, etc.)
  🧩 Creates Trello cards with structured meeting notes
  🔗 Includes event URL and due date in Trello card
  🧠 Customizable filters and templates for full control

  🧱 Workflow Steps

  1. Run Daily at 8 AM (Cron Node)

  Automatically triggers the workflow every morning at 8:00 AM. You can adjust the time as needed.

  2. Calculate Today's Date Range (Function Node)

  Generates the ISO-formatted start and end times for the current day (00:00–23:59). These values are passed to the Google Calendar node for querying events.

  3. Fetch All Today's Calendar Events (Google Calendar Node)

  Fetches all events scheduled for today using your Google account. The calendar email (your-email@example.com) should be replaced with your actual email.

  4. Process Events One by One (SplitInBatches Node)

  Splits the list of events into single items for individual processing.

  5. Extract Event Details for Trello (Set Node)

  Maps each event’s details (summary, description, start time, and URL) into structured fields ready for Trello card creation.

  6. Filter Out Routine Events (If Node)

  Skips over common recurring events (like “Check email,” “Lunch,” “Wrap Up & Clear Desk,” or “Beers and Griping”). You can customize this list as needed.

  7. Create New Trello Card with Template (Trello Node)

  For non-filtered events, creates a new Trello card using a predefined meeting notes template. Includes:

  Title: Event summary
  Due date: Event start time
  Description: Preformatted meeting notes layout
  Source URL: Event link from Google Calendar

  8. Skip Filtered Event (NoOp Node)

  Handles skipped events gracefully without performing any action.

  🧰 Setup Instructions

  1. Add Credentials

  Add Google Calendar OAuth2 credentials in n8n.
  Add Trello API credentials in n8n.

  2. Replace Placeholder Values

  Update the calendar email in the Google Calendar node.
  Add your Trello board and list IDs in the Trello node.

  3. Optional Customizations

  Modify the Cron node to change trigger time.
  Edit the Trello card template to match your meeting format.
  Add labels using idLabels in the Trello node.
  Adjust the filter conditions for different recurring tasks.

  🧠 Example Use Case

  Imagine you have daily meetings in your Google Calendar. Each morning, this workflow:

  Collects all your events for the day.
  Skips unimportant ones (like lunch breaks).
  Automatically adds Trello cards for real meetings, each with a structured template for you to take notes and assign next steps.

  🧾 Example Trello Card Template

  Title: Meeting with Client A
  Due Date: 2025-11-11T10:00:00Z
  Description:

  Meeting purpose (*Integrations, Playbooks, UI Issues, Project*):

  Task

  Next Steps (*Task, Assigned to, Checkpoint Date*):

  Task

  Decisions Made (*What, Why, Impacts*):

  Task

  Discussion (*Items/Knowledge Shared*):

  Task

  ✅ Requirements

  Google Calendar OAuth2 credentials
  Trello API credentials
  Active Google Calendar with events
  A Trello board/list to create cards in

  📌 Notes

  You can adjust the workflow to run multiple times a day if needed.
  You can integrate Slack or email notifications for newly created cards.
  The workflow is lightweight and suitable for daily automation tasks.

  ✨ Tip: Combine this with n8n’s Slack or Notion integrations to get a full daily planning system that syncs your meetings, notes, and tasks automatically!

nodes_used:
  ["n8n-nodes-base.function","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.googleCalendar","n8n-nodes-base.splitInBatches","n8n-nodes-base.trello","n8n-nodes-base.noOp","n8n-nodes-base.cron","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE52WS2/bRhDHvwrBSy+aYt8P3VI7BXJoXDhBewh82MesQ5gmBXJVxzD03buUnVpVqNj0RRJXo/n/NK+dh/oWs6vXD3XTjdl1AT/Eel0HYShLSRsjZCAyMiuFsoJTFDoZdC4pHlN0OnnqfKSSGWEZN96qkKhS9arOeLtpXcazAeP4CfN2c9aXE8xYBPKwxd2q7vqIY73+UtQnVUaZodFQ8E4oEM4ocJITYJZGVFRqq1Lx3LlbLNZnrg3bSaH63Ed3/8tYnU8Pl667xkn/fjNZdaaDvUxxOuKvaduF3PRdMdj0Y7P/uP5iFVkJQ67KoRuK94xDwXrYPXr5qzzt7ehu9URKhVeE2wCSMA/CKgNOSQqOMya9wsSYeSZ9/y0PLuTq/T/Y5eq8BLxpxyr1Q/V5wLbtT9KOmP8PSpUwy0ildZSgJGCC1iAICeAJalDeO6YjJ1zyZ9Lfm7Z4rC62ubrst7np8BF6PInYpCNCo9kywqQUjV5ZwKhK1i2J4IxLQKWJwQhELcIBIebwtXrXtv9lvdQBdtENL5Fe9/11i9+tj6ipEcuoCWUeDZHAiacgvFZgMRHQjiYpWOQ+0WfqP4c+4Dg+IVYXJa7+fno7nfpN2+QP3W+u/F0cj2gFWVgFiI6pFDX4RBiIEmTwTHNQgcTo0LNE40FnDTh10ke8eyrQEuMhVndN/lp9fmrrk+D5e0kfADNi1Upq9Xpgo4yRyibgXAkQilMwhFLgQgXJouKaH4yCTzfNpnqsXYyPQT7J1/UXmxk6bsTr6bwtY08KDQmDA1HmJJSJWF4cCi+ojJIetP/ltiujqWnvK5crU7374yRbGI4nk+ZqWaYVUSFyboHwVPqdUw2mTCsgxlBCFFXsEO3vfrhJbX9Xnfdhe1vC5p6G44mizE24uf/Y79N/GEFBVpwdQ9ah7/KUinVdnwbWijiM2oIMsmSaxQCWoYTS9SyJ4KJGd5DpjJuKAluMOAXyrYiO2RitckCVxXIv7YuxcJqkvZEpUs/5ESIHsRiRUiLezFjuxxRVEFAQJQjDCLhpnio0kbpyK4VkjxglqOWMQr49jpqmJK0QQISIIJB68CoZCMp4YY2X3usjxlK9yxlNGY9LGYt1+b7D/XawN/+xbcvhrWsmibKxTCCv3kL2P1uVHSvit3pNdldXheD0ZTsn9NMZ94P/1QHhomk+S3r6+pojff26Myv204jO6S1YCWYFX+SdFX15U5pP+ouwc2qv2B9m1Ha7fwHPefXq3wsAAA==

metadata_json:
  {"categories":["Productivity","Task Management","Communication"],"complexity":"medium","use_cases":["sync calendar events to task boards","automate daily meeting reminders","filter routine calendar items"],"estimated_setup_minutes":30,"required_services":["Google Calendar","Trello"],"key_features":["cron trigger scheduling","event filtering logic","formatted card creation","template integration"],"target_audience":["project managers","team leads","administrators"]}


name: Collect API User Data and Store in Google Sheets with CSV backup
author_name: PrideVel
author_username: n8nwizard
categories: []
created_at: 2025-11-11T11:47:04.185Z
updated_at: 2025-11-11T11:47:04.185Z
url: https://n8n.io/workflows/10725
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:22
description:
  🧾 Overview

  This n8n workflow automates the process of fetching user data from an API, verifying its validity, transforming the response, and then saving it to Google Sheets for team collaboration. Additionally, it generates a CSV backup file of the same data for offline access or external integrations.

  Perfect for developers, analysts, or teams who want an automated, no-code data ingestion and backup solution.

  ⚙️ Key Features

  🔌 Fetches data from any REST API endpoint (e.g., RandomUser API)
  ✅ Validates successful API responses before processing
  🧠 Transforms JSON response into simple key-value pairs (name and country)
  📊 Appends data directly into Google Sheets
  💾 Generates a downloadable CSV backup file
  🧱 Modular design — easily customizable and extendable

  🧱 Workflow Steps

  1. Start Workflow Manually (Manual Trigger Node)

  The workflow starts manually by clicking Execute Workflow. You can later replace this with a Cron or Webhook trigger for automation.

  2. Fetch User Data from API (HTTP Request Node)

  Makes an HTTP GET request to the configured API endpoint defined in the environment variable BASE_URL.

  Example:

  https://randomuser.me/api/?results=10

  This node fetches raw user data in JSON format.

  3. Verify API Response Success (If Node)

  Checks if the API response returned an HTTP 200 status code.

  ✅ If status = 200 → Continue processing data
  ❌ If status ≠ 200 → Trigger Stop and Error node to halt execution

  This prevents saving invalid or failed responses.

  4. Transform API Data to Name and Country (Function Node)

  Formats the raw JSON data to extract key details (name and country) from each user record.

  Input Example:

  {
    "results": [
      {
        "name": { "first": "John", "last": "Doe" },
        "location": { "country": "United States" }
      }
    ]
  }

  Output Example:

  [
    { "name": "John Doe", "country": "United States" }
  ]

  This step makes the data compatible with Google Sheets.

  5. Append Data to Google Sheets (Google Sheets Node)

  Appends the formatted data to your specified Google Sheet.

  Environment Variables Required:

  GOOGLE_SHEET_ID → ID of your target Google Sheet

  Configuration:

  Range:** A:B
  Columns:** Name (A) and Country (B)

  Example Google Sheet:

  | Name       | Country       |
  | ---------- | ------------- |
  | John Doe   | United States |
  | Jane Smith | Canada        |

  6. Create CSV Backup File (Spreadsheet File Node)

  Generates a .csv file named users_backup_export.csv containing all saved user data.

  This file can be:

  Stored locally
  Sent via email
  Uploaded to cloud storage (e.g., Google Drive, Dropbox)
  Used for external analytics tools

  ⚠️ Error Handling

  If the API response is invalid (non-200), the Stop on API Failure node halts the workflow and logs the error:

  &gt; ❌ API request failed — status code not 200. Workflow stopped.

  This ensures only valid data is stored.

  🧰 Setup Instructions

  Add Environment Variables:

        BASE_URL=https://randomuser.me/api/?results=10
     GOOGLE_SHEET_ID=&lt;your_google_sheet_id&gt;
     
  Add Credentials:

     Google Sheets OAuth2 credentials
     API (if authentication is required)

  Run Workflow:

     Start manually or configure a Cron node to run periodically

  Check Output:

     Data appears in your Google Sheet
     CSV file is created in n8n’s file system

  🧩 Customization Options

  | Goal                    | How to Modify                                                     |
  | ----------------------- | ----------------------------------------------------------------- |
  | Change API fields       | Edit Transform API Data function to extract desired fields      |
  | Add columns             | Expand output object and update Google Sheets range (e.g., A:D) |
  | Automate execution      | Replace manual trigger with a Cron or Webhook node                |
  | Filter users            | Add an If node after transformation to include/exclude data       |
  | Send email notification | Add Gmail or SMTP node after CSV creation                         |

  🧠 Example Use Case

  A recruiter fetches random candidate data daily from an HR API.
  Data (Name + Country) is saved to Google Sheets.
  A CSV backup is automatically generated for offline analysis.

  ✅ Benefits

  Hands-free automated data collection
  Centralized storage in Google Sheets for team access
  Built-in CSV export for reporting and backups
  Protects data integrity with API validation
  Fully customizable for any API format

  ✨ Tip: Add a Slack or Telegram node at the end to notify your team whenever new data is added successfully!

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.function","n8n-nodes-base.googleSheets","n8n-nodes-base.spreadsheetFile","n8n-nodes-base.stickyNote","n8n-nodes-base.stopAndError","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:
  H4sIAAAAAAAAE52WTW/jNhCG/4qgs1nwm1RuabYp9tBFsdmmhyKHITlMhNiSKslog8D/vWMlG2cd27V9MWBzOPP45fDlPJcLHKG8eC7rZhihifg5lRdl1F7InJ332kRukqyMtpVWArXLHgGyVSkncDkICEkY6XUllQ+VjVlYW65mZdMmHMqLvyj1OqVNQTiXFUucC6az0CwIDCwGK8B5iJmHknbBAin6ZoR+LP5s+8c8b/8pfoNmCfP5EwWMT906oPENmyqwAAP+tJgCvvX1/T32FNW1Qz3WbUP1tZ9ZJ+/oN+gp+Yg9UT2vXjLd0rcpTKxmr6AhOZPBRBZTiEwLtCwEb5iw2aGlv+Cz34Be4xgfij8G7ItPMEKR+3ZRXP7+eS/pwzh2X/HvJQ7jj5zSyWNA5RtoFpUKQXLKC4ZpL4EBBEW0iiC9TgJgA0oJ6vy0Riu+4tC1zYDFzTJGHIa9rHXekrKyJ2pZJW5NZRl3OTMt6dBBa8sUN1JGI6xycoP4rYdmyG0/Cfgi59gWX2ixgCYVV+2yGfv9PZCXTZxAf2B25ihZN8wcksygElPSc6YrnlllErKIqBAEdWp0G+bLrkNi+w77a9vez0nYB8Rxv673U9Rb0Dvayp2osE2ajjklljQPTBtnWFDKMm8Ulw68tLba0F71CCMWVze3xc8QH5ddcV3PcS/n0FF8Gtacr3HvUIXk/ERWQd5AF50hfVLDesV8CsiyVElEn2yocMP6dvk/tXG5wGaE18PdwzrW8fHpSztuYfIZ3yYsY9uMlJCSlAdoK9QV0sEnnpFpcJxVim6bstGjcKi48O8Nq+2Ktpk69xrq+bI/ICvFXjbpl75v+4/N6rU/XlKZuFDcJQaGW6aRKwbKaka3KwAGblDBe0jsClGwYmOUp4kpjT1XTg4iQRbIrAfH6BkBVkkvyBmi044rWtwmlUT64lff7fI0WiPkubTRk3LZA+NYVdSq4FnlIZGFeetMiilB2KJVRHsL8zqd16fO+nNhPcgkpY0sWyGZXl+pAJmMgEw3IGZ6pd0WrJ6a4NVuT2YVXOqzYZ2pIJCeRiRFz6slZVEAS8pnEKCzNWIL1hDscca6F5is/FxgiN6hJjl5pOlF67x+YUNgXKpIpusjxLQFbAl447Gn0xplZx9d4DAuRdN6g9MTOIXvm6FoaQH1uhDNZmuco8aYacuMxsSE/5YXfHV3Rwx7t+2qcdQEsrPMoZ27Kp06SHwoOtvkOmjsO2kPjgS7cP/vVd5Z5cj/uKvecTPLjqqr1X+Sf6kvMAwAAA==

metadata_json:
  {"categories":["Data Processing","Automation"],"complexity":"medium","use_cases":["fetch API data","transform user data","store in Google Sheets","create CSV backup","backup data"],"estimated_setup_minutes":15,"required_services":["Google Sheets","RandomUser API","CSV"],"key_features":["REST API data fetch","data validation","format transformation","Google Sheets integration","CSV backup generation"],"target_audience":["developers","analysts","team members"]}


name: Lusha to Easy Redmine CRM: automated lead enrichment
author_name: Easy8
author_username: easy8
categories: []
created_at: 2025-11-11T13:15:50.835Z
updated_at: 2025-11-11T13:15:50.835Z
url: https://n8n.io/workflows/10726
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:21
description:
  Use this workflow to enrich lead records from Easy Redmine with Lusha data and sync updated fields back to the CRM.

  About Workflow  
  This workflow connects Easy Redmine CRM with Lusha via API to enrich lead records. It fetches lead data from Easy Redmine, queries Lusha for matching contact information, transforms the results (e.g., phone, employee count, LinkedIn), and updates the original records in Easy Redmine CRM automatically.

  Use Case  
  Built for CRM and sales teams using Easy Redmine, this automation replaces manual Lusha lookups and lead updates. It ensures that enriched data is consistently added to your CRM—boosting lead quality and reducing data maintenance time.

  How it works  
  Schedule Trigger**  
  =&gt; Runs daily at a set hour (e.g., 10:00)  
  Get Leads from Easy Redmine**  
  =&gt; Pulls leads via saved query (e.g., today's leads) using the easy_leads resource  
  Split Out**  
  =&gt; Breaks down the batch of leads into single records for enrichment  
  Get Data from Lusha**  
  =&gt; Sends HTTP requests to Lusha’s API using lead fields (email, name, company)  
  Filter Leads Found in Lusha**  
  =&gt; Skips leads with missing or failed Lusha enrichment  
  Contact Data Transformation for CRM**  
  =&gt; Maps and transforms contact data:  
    Extracts phones, email, LinkedIn, job info  
    Converts employee ranges like [1000, 5000] into 5000  
    Flattens nested Lusha response into CRM-friendly format  
  Update Leads in Easy Redmine CRM**  
  =&gt; Sends a PUT request to update each lead  

  How to use  
  Import the workflow into your n8n instance  
  Set credentials for:  
    Easy Redmine API  
    Lusha API (HTTP Header Auth)  
  Update the Get Leads from Easy Redmine node with your query ID  
  Ensure Lusha API fields (email, name, company) match available lead fields  
  Adjust the transformation logic in the Code node if needed  
  Update the custom field ID in the final PUT request if your CRM uses different IDs  
  Test with sample data before activating the automation  

  Example Use Cases  
  Sales Intelligence**: Enrich new leads with verified phone and social info  
  CRM Hygiene**: Keep records consistent and complete without manual edits  
  Lead Scoring**: Add employee count and LinkedIn for better segmentation  

  Requirements  
  Easy Redmine API access  
  Lusha API access    
  API credentials for both platforms  

  Customization Options  
  Add more fields from Lusha (job title, company website, etc.)  
  Include error notifications if updates fail  
  Add filters to target only leads missing phone or LinkedIn info  
  Use Merge node if fetching multiple lead segments  

  Workflow Improvement Suggestions  
  Rename technical node labels for better readability  
  Secure credentials via environment variables or vault  
  Handle rate limits or retries if using large lead batches  

  This workflow automates lead enrichment, ensuring CRM records are updated with accurate, verified data—without the manual copy-paste.

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.splitOut","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@easysoftware/n8n-nodes-easy-redmine.easyRedmine","n8n-nodes-base.httpRequest","n8n-nodes-base.filter","n8n-nodes-base.code","n8n-nodes-base.httpRequest"]

workflow_json_compressed:
  [encoded data, 4976 characters]

metadata_json:
  {"categories":["Sales","Data Processing","Marketing"],"complexity":"medium","use_cases":["enrich lead records","sync contact data","sync customer info","update CRM fields"],"estimated_setup_minutes":15,"required_services":["Easy Redmine","Lusha","HTTP"],"key_features":["enrich contact data","sync records","automate data flow","filter leads"],"target_audience":["sales teams","CRM managers","marketing teams"]}


name: Benchmark content safety guardrails with automated test suite & reports
author_name: Patrick Siewert
author_username: patrickn8n
categories: []
created_at: 2025-11-11T15:36:28.203Z
updated_at: 2025-11-11T15:36:28.203Z
url: https://n8n.io/workflows/10729
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:20
description:
  🛡️ Evaluate Guardrails Node Accuracy with Automated Test Suite

  This workflow benchmarks the n8n Guardrails node across multiple safety categories -including PII, NSFW, jailbreak attempts, secret keys, and unsafe URLs.  
  It runs 36 structured test cases, classifies each as PASS or VIOLATION, calculates accuracy metrics, and emails a detailed HTML report.

  🔄 How it works
  The workflow loops through 36 predefined test prompts.  
  Each prompt is checked by the Guardrails node for violations.  
  Results are recorded as PASS or VIOLATION.  
  The system calculates metrics (accuracy, precision, recall, F1).  
  A formatted Markdown → HTML report is generated and sent via Gmail.

  ⚙️ Set up steps
  Add your OpenAI and Gmail credentials in n8n.  
  Replace YOUR_MAIL_HERE in the Gmail node with your own address.  
  (Optional) Change the model in the OpenAI Chat Model node.  
     Default: gpt-4o-mini  
     You can switch to gpt-5 or another available model if needed.  
  Click Execute Workflow: test cases will run automatically.  
  Check your inbox for the results.

  🧠 Who it’s for
  AI safety testers and workflow developers  
  n8n users experimenting with the Guardrails node  
  Teams validating LLM moderation, filtering, or compliance setups

  🧩 Requirements
  n8n v1.119+  
  Guardrails node enabled  
  OpenAI credentials (optional but recommended)  
  Email integration (Gmail or SendGrid)

  💡 Why it’s useful
  Use this test suite to understand how accurately the Guardrails node identifies unsafe content across different categories. The generated metrics help you fine-tune thresholds, compare models, and strengthen AI moderation workflows.

  Example result



  &gt; Browse similar workflows:  
  &gt; AI Enrichment & safety templates  
  &gt; Monitoring & benchmarking templates

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.guardrails","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.gmail","n8n-nodes-base.code","n8n-nodes-base.markdown","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"]

workflow_json_compressed:
  [encoded data, 11392 characters]

metadata_json:
  {"categories":["DevOps"],"complexity":"medium","use_cases":["test automated safety checks","generate safety reports","validate content guardrails"],"estimated_setup_minutes":15,"required_services":["email/application-comms"],"key_features":["automated test suite","accuracy metrics","violation classification","HTML report generation"],"target_audience":["developers","ops engineers","QA testers"]}


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: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
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, 6952 characters]

metadata_json:
  {"categories":["Social Media Automation"],"complexity":"medium","use_cases":["generate LinkedIn post drafts","collaborative content editing","automated social publishing","approve AI-driven content","publish directly to LinkedIn"],"estimated_setup_minutes":45,"required_services":["Telegram","LinkedIn","GPT-4 API"],"key_features":["voice-to-text input support","AI-generated content drafting","real-time collaborative editing","permission-based publishing loop","automatic conditional publishing triggers"],"target_audience":["content creators","digital marketers","social media managers"]}


name: Automate Zoom 🎦 User Onboarding with OAuth Token Management and Data Tables
author_name: Davide Boizza
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: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
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]

metadata_json:
  {"categories":["Communication","Data Processing","DevOps"],"complexity":"medium","use_cases":["manage Zoom OAuth tokens","create new Zoom users","automate onboarding flows","refresh access tokens automatically"],"estimated_setup_minutes":20,"required_services":["Zoom API","n8n Data Tables"],"key_features":["OAuth token generation","refresh token storage","automatic token renewal","user provision management"],"target_audience":["IT administrators","DevOps engineers"]}


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: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:22
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: rajeet.nair@digitalbiz.tech   
  Website: https://www.digitalbiz.tech  
  LinkedIn: https://www.linkedin.com/company/digital-biz-tech/  
  You can also DM us on LinkedIn for any help.

nodes_used:
  ["n8n-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, 7496 characters]

metadata_json:
  {"categories":["Data Processing"],"complexity":"medium","use_cases":["synchronize files across cloud storage","backup critical documents","maintain cross-platform consistency"],"estimated_setup_minutes":45,"required_services":["SharePoint","Supabase","Google Drive"],"key_features":["multi-source synchronization","change detection","automated file transfer","automated database updates","scheduled execution"],"target_audience":["IT administrators","operations managers","content managers"]}


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: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:21
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]

metadata_json:
  {"categories":["Marketing","AI/ML"],"complexity":"medium","use_cases":["boost social media presence","repurpose blog content","schedule multi-platform posts","generate AI captions"],"estimated_setup_minutes":15,"required_services":["OpenAI","LinkedIn","Twitter","Reddit","PostgreSQL"],"key_features":["RSS feed monitoring","AI content generation","platform-specific formatting","automated scheduling"],"target_audience":["marketers","content creators","social media managers"]}


name: Scrape & enrich Google Maps leads with Decodo API and Gemini 3 Flash
author_name: Khairul Muhtadin
author_username: khmuhtadin
categories: []
created_at: 2025-11-12T14:38:19.143Z
updated_at: 2025-11-12T14:38:19.143Z
url: https://n8n.io/workflows/10760
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:20
description:
  This workflow scrapes Google Maps via Decodo API, analyzes each business using Google Gemini 3 Flash, scores lead quality, and generates ready to send outreach emails.

  Why Use This Workflow?

  Time Savings:** Reduces manual lead research from 20 minutes per lead to 30 seconds processing 100 leads in under an hour
  Cost Reduction:** Eliminates $300-500/month spent on lead databases and enrichment tools like Apollo or ZoomInfo

  Scalability:** Process 500+ leads daily without additional staff or subscription costs

  Ideal For

  Sales Teams & BDRs:** Building targeted prospect lists for local businesses (restaurants, retail, service providers) with verified contact data and personalized outreach hooks
  Digital Marketing Agencies:** Identifying high-value clients in specific niches (e.g., "restaurants without websites in Chicago") and automating first-touch campaigns
  B2B SaaS Companies:** Finding businesses matching ideal customer profiles based on ratings, reviews, and digital maturity indicators
  Local Service Providers:** Generating qualified leads for web design, SEO, POS systems, or booking software tailored to underserved markets

  How It Works

  Trigger: Manually start the workflow or schedule it to run on specific intervals (e.g., daily/weekly)
  Data Collection: Scrapes Google Maps search results using Decodo API based on your query (e.g., "coffee shops in Austin"), country, and language settings
  Processing: Parses raw HTML responses into structured lead objects with business name, address, phone, website, ratings, reviews, and coordinates
  Intelligence Layer: Google Gemini 2.5 Flash analyzes each lead to generate value propositions, identify pain points, create outreach hooks, and assign a 1-10 quality score
  Output & Delivery: Filters leads scoring ≥7, generates personalized email templates, and saves all data to Google Sheets with enrichment timestamps
  Storage & Logging: Maintains complete lead database with outreach status tracking; error handler sends Telegram notifications for failed executions

  Setup Guide

  Prerequisites

  | Requirement | Type | Purpose |
  |-------------|------|---------|
  | n8n instance | Essential | Workflow execution platform |
  | Decodo Scrapper API | Essential | Google Maps data extraction (get key at dashboard.decodo.com) |
  | Google Gemini API | Essential | AI-powered lead analysis and scoring |
  | Google Sheets | Essential | Lead database and outreach tracking |
  | Telegram Bot (optional) | Optional | Real-time error notifications |

  Installation Steps

  Import the JSON file to your n8n instance

  Configure credentials:
     Decodo API: Create HTTP Header Auth credential with header name Authorization and value Basic [YOUR_API_KEY] get from Decodo dashboard
     Google Gemini API: Add your Google AI API key in the "2.5 Flash" node credentials
     Google Sheets OAuth2: Authenticate with your Google account (both "Save to Google Sheets" and "Save Outreach To Sheets" nodes)
     Telegram (optional): Add bot token and replace YOUR-CHAT-ID in "Send Error Notification" node

  Update environment-specific values:
     In "Set Search Parameters" node: Update searchQuery (e.g., "Italian restaurants in Miami"), country, targetLanguage, and resultsLimit
     In both Google Sheets nodes: Select your destination spreadsheet and sheet name

  Customize settings:
     Adjust lead score threshold in "Filter Hot Leads" (default: ≥7)
     Modify AI prompt in "Lead Enrichment" node to match your value proposition
     Customize outreach email template in "Prepare Outreach Message" node

  Test execution:
     Start with resultsLimit: 5 to verify all connections work
     Check Google Sheets for properly formatted data
     Verify AI enrichment produces actionable insights

  Technical Details

  Core Nodes

  | Node | Purpose | Key Configuration |
  |------|---------|-------------------|
  | Decodo Maps Scraper | Fetches Google Maps listings via API | Set target: google_maps, adjust page_to based on resultsLimit |
  | Parse & Normalize Data | Extracts business data from HTML | Custom JavaScript handles multiple response formats |
  | Lead Enrichment (AI Chain) | Analyzes leads with Gemini 2.5 Flash | Structured output parser ensures JSON compliance |
  | Filter Hot Leads | Isolates high-quality prospects | Combines lead score ≥7 + contact info validation |
  | Save to Google Sheets | Stores all enriched leads | Uses appendOrUpdate with id as matching column |
  | Save Outreach To Sheets | Updates hot leads with messages | Marks leads as "HOT" category for prioritization |

  Customization Options

  Basic Adjustments

  Search Parameters:** Modify searchQuery, country, targetLanguage in "Set Search Parameters" to target different markets (supports all Google Maps locales)
  Lead Scoring Threshold:** Change filter condition from ≥7 to ≥6 for broader lead pool or ≥8 for ultra-qualified prospects
  Batch Size:** Adjust "Split Into Batches" to process 10-50 items per cycle (lower = more reliable, higher = faster execution)

  Advanced Enhancements

  Email Automation:** Connect "Prepare Outreach Message" to Gmail/SendGrid nodes for automatic campaign sends (medium complexity)
  CRM Integration:** Add HubSpot/Salesforce nodes after enrichment to sync leads directly (requires CRM API credentials)
  Multi-Channel Outreach:** Branch hot leads to LinkedIn automation tools or SMS providers (high complexity, needs additional services)
  Custom Scoring Models:** Modify AI prompt to prioritize industry-specific signals (e.g., verified badges for healthcare, delivery options for restaurants)

  Troubleshooting

  Common Issues

  | Problem | Cause | Solution |
  |---------|-------|----------|
  | "No valid leads extracted" error | Decodo response format changed or empty results | Check Decodo API response in "Parse & Normalize Data" execution logs; verify search query returns results in Google Maps manually |
  | AI enrichment produces invalid JSON | Gemini output doesn't match schema | Review "Result Parser" schema; add retry logic or simplify AI prompt to reduce complexity |
  | Google Sheets "matching column not found" | Spreadsheet missing "id" column header | Ensure Sheet1 has headers: id, businessName, category, address, phone, website, rating, reviewCount, valueProposition, painPoints, outreachHook, leadScore, engagementStrategy, googleMapsUrl, scrapedAt, enrichedAt, outreachMessage, status |
  | Timeout on large batches | Processing 100+ leads exceeds execution limits | Reduce resultsLimit to 25-50; run workflow multiple times with different queries |

  Use Case Examples

  Scenario 1: Digital Marketing Agency Prospecting

  Challenge: Agency needs 200 qualified restaurant leads monthly for web design services, spending 40 hours on manual research

  Solution: Configure workflow with query "restaurants in [city]" filtered by ratings ≥4.0 and missing professional websites (AI scoring detects this)

  Result: Generated 312 leads in 8 hours across 3 cities; 89 scored ≥8 (hot prospects); closed 14 clients in first month at $2,500 average contract value

  Scenario 2: SaaS Company Market Entry

  Challenge: Booking software startup targeting salons/spas in new geographic market with zero existing contacts

  Solution: Ran workflow with "beauty salons in Denver" + "day spas in Denver"; AI identified pain points like "manual appointment booking" and "no online presence"

  Result: 156 leads enriched in 2 days; personalized outreach hooks increased demo booking rate from 2% (cold template) to 11%; secured 8 pilot customers in 3 weeks

  Scenario 3: Local Service Provider Lead Generation

  Challenge: POS system reseller needs to identify retail stores still using cash registers, wasting days driving to scout locations

  Solution: Configured workflow for "retail stores in [neighborhood]" with AI analyzing reviews for mentions of "cash only" or payment friction

  Result: Identified 47 high-probability prospects in 90 minutes; field sales team prioritized top 15 leads (score ≥9), closed 6 deals worth $32K total revenue

  Credits & Links

  Created by: Khaisa Studio

  Category: Sales & CRM | Tags: lead-generation, google-maps, ai-enrichment, sales-automation, prospecting

  Need custom workflows? Contact us

  Connect with the creator:

  Portfolio • Workflows • LinkedIn • Medium • Threads

nodes_used:
  ["n8n-nodes-base.code","n8n-nodes-base.splitInBatches","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.errorTrigger","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.set"]

workflow_json_compressed:
  [encoded data, 13164 characters]

metadata_json:
  {"categories":["Marketing","Data Processing","AI/ML"],"complexity":"medium","use_cases":["scrape Google Maps data","enrich leads with AI analysis","generate outreach emails"],"estimated_setup_minutes":30,"required_services":["Decodo API","Google Maps","Google Gemini 3 Flash"],"key_features":["batched lead processing","automated lead scoring","AI-powered email generation"],"target_audience":["sales teams","marketing users","data analysts"]}


name: AI-Powered automated news (stock, economy...) collector with expert comment
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: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:20
description:
  What is This Workflow?
  V2 (2026) available!
  An intelligent, fully automated news aggregation system that collects articles from multiple sources (RSS feeds + Google Search), uses AI to classify and summarize the most important stories, then delivers a professional HTML email report with expert commentary.

  Contact to customize this workflow for your business: me@nguyenthieutoan.com
  Use Cases:

  📈 Financial Markets: Stock news, economic indicators, market analysis
  📰 Industry News: Tech, healthcare, real estate, etc.
  🌍 Regional Updates: Country-specific news, local events
  🏢 Corporate Intelligence: Competitor monitoring, industry trends
  🎓 Academic Research: Paper aggregation, research updates
  ⚡ Crisis Monitoring: Breaking news, emergency alerts

  Key Features:
  ✅ Multi-Source Collection: RSS feeds + Google Search API (expandable)
  ✅ AI Classification: Auto-categorizes articles by topic (e.g., stock market, economy)
  ✅ AI Summarization: Selects top 15 stories, groups by region, adds expert insights
  ✅ Professional Email: Finance-themed HTML design with structured tables
  ✅ Data Table Storage: Central repository with auto-cleanup (3-day retention)
  ✅ Duplicate Prevention: Link-based deduplication
  ✅ Cost Optimized: GPT-4.1 Nano for classification, Gemini Flash for summarization
  ✅ Fully Customizable: Topics, languages, sources, schedules, styling—all flexible

  How It Works

  1. News Collection
  Gather updates from multiple sources (RSS feeds, keyword searches).
  Standardize format (title, link, snippet, date, source, tag).
  Store in a central table with duplicate prevention.

  2. AI Processing & Analysis
  Classify articles into categories (e.g., Stock Market, Economy).
  Summarize top items per category and region.
  Add short expert-style commentary for context.
  Output structured JSON with title, content, insights, and links.

  3. Email Generation & Delivery
  Merge summaries into professional tables.
  Apply finance-themed design (Navy Blue, Gold, Green).
  Include header (date + “Daily Executive Briefing”) and footer attribution.
  Send via Gmail with HTML body and subject line including date.

  Requirements:

  n8n Version: 1.113.0+ (for Data Table feature), 2.4.0+ for Auto Create Data Table (or you need to create manually).

  APIs & Credentials:
  SerpAPI**: For Google Search (free tier available) - if you need to use Google Search source.
  OpenAI API**: GPT-4.1 Nano access
  Google Gemini API**: Gemini Flash access
  Gmail OAuth2**: For sending emails

  Optional:
  Custom RSS feeds (public, no auth required)

  Cost Optimization:

  API Usage per Day:
  SerpAPI: 2-4 searches (free tier: 100/month)
  OpenAI: 50 classification calls ($0.01)
  Gemini: 2 summarization calls ($0.005)
  Total: &lt; $0.02/day** (~$0.60/month)

  Cost Reduction Tips:
  Use free Gemini tier (2M tokens/day)
  Batch classification (reduce API calls)
  Adjust article limits (fewer = cheaper)
  Use Claude Haiku instead of GPT-4.1 Nano (even cheaper)

  Customization & Support:

  🎁 FREE Workflow Customization
  Need to adapt this workflow for your specific use case? Contact the author for FREE basic customization:
  Change topics/categories/languages
  Adjust sources and schedules
  Modify email styling
  Simple logic changes
  Lifetime free updates and bug fixes

  📧 Email: me@nguyenthieutoan.com

  💼 Paid Advanced Support (~$15-30 USD)
  For complex customization + full setup + additional features:
  Multi-language support with auto-translation
  Advanced AI analysis (sentiment, trends, predictions)
  Integration with Slack/Discord/Teams
  Custom web dashboard
  Database integration (PostgreSQL, MongoDB)
  Webhook integrations
  Custom reporting formats (PDF, Slack cards, etc.)

  Author: Nguyen Thieu Toan (Jay Nguyen)  
  n8n Profile: n8n.io/creators/nguyenthieutoan  
  Status: n8n Verified Creator  
  Website: nguyenthieutoan.com

  Version History:

  v2.0 (Current)
  Multi-source collection (RSS + Google Search)
  AI-powered classification & summarization
  Professional HTML email generation
  Data Table storage with auto-cleanup
  Fully customizable architecture

  Related Workflows:

  🔗 Browse more workflows by Jay Nguyen:  
  n8n.io/creators/nguyenthieutoan

  Similar Templates:
  Social Media Content Aggregator
  Competitor Monitoring System
  Research Paper Digest Generator
  Breaking News Alert System

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.splitOut","n8n-nodes-serpapi.serpApi","n8n-nodes-base.splitOut","n8n-nodes-base.code","n8n-nodes-base.splitOut","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.textClassifier","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.set","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.dataTable","n8n-nodes-base.set","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.splitOut","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.dataTable","n8n-nodes-base.dataTable","n8n-nodes-base.dataTable","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.rssFeedRead","n8n-nodes-base.splitOut","n8n-nodes-base.rssFeedRead","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["AI/ML","Data Processing","Communication"],"complexity":"medium","use_cases":["aggregate industry news","summarize market updates","generate expert commentary","send daily news reports"],"estimated_setup_minutes":15,"required_services":["Google Gemini","RSS feed sources","Google Search API"],"key_features":["AI-powered classification","automated article summarization","expert commentary integration","HTML email reporting","multi-source news aggregation"],"target_audience":["analysts","investors","content managers"]}


