# templates

name: Fetch Real-Time Bitget Spot Market Data with GPT-4o + Telegram
author_name: Don Jayamaha Jr
author_username: don-the-gem-dealer
categories: []
created_at: 2025-09-15T18:39:29.722Z
updated_at: 2025-09-15T18:39:29.722Z
url: https://n8n.io/workflows/8607
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:21
description:
  Instantly fetch real-time Bitget spot market data directly in Telegram! This workflow integrates the Bitget REST v2 API with Telegram (plus optional AI-powered formatting) to deliver the latest crypto price, order book, candles, and recent trades. Perfect for crypto traders, analysts, and investors who need reliable market data at their fingertips—no API key required.&#x20;

  Sign-up for Bitget for 6,200 USDT in rewards to trade: Collect Now

  How It Works

  A Telegram bot listens for user requests (e.g., BTCUSDT).
  The workflow connects to Bitget public endpoints to fetch:

     Ticker (latest price & 24h stats)
     Order book depth (top bids/asks)
     Recent trades (price, side, volume, timestamp)
     Candlestick data (1m, 15m, 1h, 4h, 1d)
     Historical candles (optional, for backfill before endTime)
  A Calculator node derives useful metrics like mid-price and spread.
  A Think node reshapes raw JSON into Telegram-ready text.
  A splitter ensures reports over 4000 characters are chunked safely.
  The final market insights are delivered instantly back to Telegram.

  What You Can Do with This Agent

  ✅ Track live prices & 24h stats for any Bitget spot pair.
  ✅ Monitor order book liquidity and spreads in real-time.
  ✅ Analyze candlesticks across multiple timeframes.
  ✅ Review recent trades to see execution flow.
  ✅ Fetch historical candles for extended market context.
  ✅ Receive clean, structured reports with optional AI-enhanced formatting.

  Set Up Steps

  Create a Telegram Bot

     Use @BotFather to generate a bot token.
  Configure in n8n

     Import Bitget AI Agent v1.02.json into your n8n instance.
     Add your Telegram credentials (bot token + your Telegram ID in the User Authentication node).
     Add an OpenAI key if you want AI-powered formatting.
     (Optional) Add an *Bitget api key** .

  Deploy and Test

     Send BTCUSDT to your bot.
     Get live Bitget spot data instantly in Telegram!

  🚀 Unlock powerful, real-time Bitget insights in Telegram—zero setup, zero API keys required!

  📺 Setup Video Tutorial

  Watch the full setup guide on YouTube:

  🧾 Licensing & Attribution

  © 2025 Treasurium Capital Limited Company
  Architecture, prompts, and trade report structure are IP-protected.

  No unauthorized rebranding permitted.

  🔗 For support: Don Jayamaha – LinkedIn

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.telegramTrigger","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.telegram","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.toolCalculator","@n8n/n8n-nodes-langchain.toolThink","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 10380 characters]

metadata_json:
  {"categories":["Trading","Data Processing","AI/ML"],"complexity":"medium","use_cases":["fetch real-time crypto prices","display market data in chat","automate order book updates","get candlestick data on demand","notify recent trades instantly"],"estimated_setup_minutes":20,"required_services":["Telegram Bot API","Bitget REST API","OpenAI API"],"key_features":["fetch live crypto prices without API key","integrate n8n directly into Telegram","GPT-4o for data formatting and insights","stream order book and candle data","respond to natural language or commands"],"target_audience":["crypto traders","market analysts","developer beginners"]}


name: Build a Telegram Chatbot with Gemini
author_name: DevCode Journey
author_username: devcodejourney
categories: []
created_at: 2025-09-15T19:15:37.573Z
updated_at: 2025-09-15T19:15:37.573Z
url: https://n8n.io/workflows/8615
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:20
description:
  Overview
  This workflow connects a Telegram bot to OpenAi/Google Gemini (PaLM API) so the bot can reply to users with AI-generated answers.
  Useful for FAQs, assistants, classroom helpers, or bots that fetch document content to answer questions.

  Who is this for
  Educators, creators, developers, and support teams who want a low-code Telegram chatbot powered by Gemini.

  What it does (quick)
  Listens for messages sent to your Telegram bot.
  Sends incoming text to Google Gemini and receives a generated reply.
  Optionally fetches content from Google Docs or an external API to enrich replies.
  Sends the reply back to the original Telegram user.
  Processes messages in batches and adds short delays to avoid spamming.

  Quick setup (5 steps)
  Create a Telegram bot with @BotFather and copy the bot token.  
  Add Telegram credentials to n8n (Telegram node).  
  OpenAi API key and add it to n8n.
  Get a Google Gemini (PaLM) API key and add it to n8n.  
  (Optional) Connect Google Docs OAuth2 if you want the bot to read documents.  
  Activate the workflow and test by messaging the bot.

  Required items
  Telegram bot token
  OpenAi API key
  Google Gemini (PaLM) API key
  n8n instance with Telegram and HTTP nodes enabled
  (Optional) Google Docs OAuth2 credential

  How it works (step-by-step)
  Telegram message arrives → Trigger node.  
  Workflow extracts message and user info.  
  (Optional) Pull supporting content from Google Docs or an API.  
  Send prompt + context to Gemini → receive reply.  
  Send reply back to the Telegram user.  
  Add small delays and batch processing to handle volume safely.

  How to customize
  Edit the Gemini prompt to change response style and behavior.  
  OpenAi Chat model
  Switch Gemini model (Flash vs Pro) for speed vs. quality.  
  Add conditions (If / Switch) to route different inputs to different behaviors.  
  Append more data sources (Sheets, external APIs) to enrich replies.  
  Add error handling to retry or log failed requests.

  Testing checklist
  Send a test message to the bot and confirm a reply.  
  If using Google Docs, confirm the bot can read the target document.  
  Check logs and node outputs in n8n for any errors.

  Tips and best practices
  Keep prompts concise and include only needed context to reduce costs.  
  Use rate limiting (Wait node) and batching to avoid API throttling.  
  Store API keys securely in n8n credentials.  
  Start with small tests before enabling automated production runs.

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

nodes_used:
  ["@n8n/n8n-nodes-langchain.googleGemini","n8n-nodes-base.telegram","n8n-nodes-base.googleDocsTool","n8n-nodes-base.telegramTrigger","n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.googleGeminiTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.splitInBatches","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.mistralAiTool","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4408 characters]

metadata_json:
  {"categories":["AI/ML","Communication"],"complexity":"medium","use_cases":["Deploy AI chatbot","Answer FAQs","Create classroom assistants","Document Q&A bots"],"estimated_setup_minutes":15,"required_services":["Telegram","Google Gemini API","Google Docs Tool","Mistral AI"],"key_features":["Natural language processing","Chatbot automation","Document content retrieval","Batch message handling"],"target_audience":["educators","developers","support teams"]}


name: 🔤 Inventory ABC & Pareto analysis with Google Sheets for supply chain
author_name: Samir Saci
author_username: samirsaci
categories: []
created_at: 2025-09-15T21:00:03.182Z
updated_at: 2025-09-15T21:00:03.182Z
url: https://n8n.io/workflows/8618
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:20
description:
  Tags*: Supply Chain, Inventory Management, ABC Analysis, Pareto Principle, Demand Variability, Automation, Google Sheets

  Context

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

  I help companies optimise inventory and logistics operations by combining data analytics and workflow automation.

  This workflow is part of our inventory optimisation toolkit, allowing businesses to perform ABC classification and Pareto analysis directly from their transactional sales data.

  &gt; Automate inventory segmentation with n8n!

  📬 For business inquiries, feel free to connect with me on LinkedIn

  Who is this template for?

  This workflow is designed for supply chain analysts, demand planners, or inventory managers who want to:

  Identify their top-performing items (Pareto 80/20 principle)  
  Classify products into ABC categories based on sales contribution  
  Evaluate demand variability (XYZ classification support)  

  Imagine you have a Google Sheet where daily sales transactions are stored:



  The workflow aggregates sales by item, calculates cumulative contribution, and assigns A, B, or C classes. It also computes mean, standard deviation, and coefficient of variation (CV) to highlight demand volatility.

  How does it work?

  This workflow automates the process of ABC & Pareto analysis from raw sales data:

  📊 Google Sheets input provides daily transactional sales  
  🧮 Aggregation & code nodes compute sales, turnover, and cumulative shares  
  🧠 ABC class mapping assigns items into A/B/C buckets  
  📈 Demand variability metrics (XYZ) are calculated  
  📑 Results are appended into dedicated Google Sheets tabs for reporting



  🎥 Watch My Tutorial

  Steps:

  📝 Load daily sales records from Google Sheets  
  🔎 Filter out items with zero sales  
  📊 Aggregate sales by store, item, and day  
  📈 Perform Pareto analysis to calculate cumulative turnover share  
  🧮 Compute demand variability (mean, stdev, CV)  
  🧠 Assign ABC classes based on cumulative share thresholds  
  📥 Append results into ABC XYZ and Pareto output sheets  

  What do I need to get started?

  You’ll need:

  A Google Sheet with sales transactions (date, item, quantity, turnover) that is available here: Test Sheet  
  A Google Sheets account connected in n8n  
  Basic knowledge of inventory analysis (ABC/XYZ)  

  Next Steps

  🗒️ Use the sticky notes in the n8n canvas to:

  Add your Google Sheets credentials  
  Replace the Sheet ID with your own sales dataset  
  Run the workflow and check the output tabs: ABC XYZ, Pareto, and Store Sales  

  This template was built using n8n v1.107.3  
  Submitted: September 15, 2025

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.filter","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5548 characters]

metadata_json:
  {"categories":["Supply Chain","Data Processing","Analytics"],"complexity":"medium","use_cases":["perform ABC inventory classification","calculate Pareto analysis","categorize supply items by value","automate inventory optimization"],"estimated_setup_minutes":45,"required_services":["Google Sheets"],"key_features":["ABC classification algorithm","Pareto principle visualization","custom scoring logic","multi-sheet data processing"],"target_audience":["supply chain managers","inventory analysts","data engineers"]}


name: Auto-sync Easy Redmine tasks to Microsoft To-Do
author_name: Easy8
author_username: easy8
categories: []
created_at: 2025-09-16T07:23:35.794Z
updated_at: 2025-09-16T07:23:35.794Z
url: https://n8n.io/workflows/8628
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:20
description:
  Auto-Sync Easy Redmine Tasks to Microsoft To Do

  This workflow automatically synchronizes tasks from Easy Redmine into a Microsoft To Do list using a predefined filter. Before syncing, it clears the target list in Microsoft To Do to avoid duplicates. It’s ideal for teams or individuals who plan work in Redmine but prefer Microsoft To Do for daily task tracking.

  By connecting Redmine’s task filtering with Microsoft To Do’s simple interface, this setup ensures your task list is always focused and up to date—without manual copying or switching tools.

  How it works
  Scheduled Trigger – Run Daily Sync
  Triggers the workflow automatically at a set time (e.g., every morning at 9:00 AM).
  Supports different time zones and execution intervals.

  Get All To Do Tasks – Clean Target List
  Fetches all existing tasks in a specific Microsoft To Do list.
  Prepares the list to be cleared before syncing new tasks.

  Delete All Tasks – Reset To Do List
  Deletes previously existing tasks to prevent duplication.
  A code node ensures that the workflow only proceeds after all deletions are complete.

  Get Redmine Tasks by Filter – Pull Fresh Data
  Retrieves tasks from Easy Redmine using saved filters (e.g., assigned to the user, due this week).
  Only pulls the relevant tasks defined by your Redmine criteria.

  Split and Format Tasks – One at a Time
  Processes each Redmine task individually.
  A code node enriches each task with a direct link back to the Easy Redmine issue.

  Create To Do Task – Sync to Microsoft To Do
  Creates a new Microsoft To Do task with name, due date, and optionally a formatted description.
  The result is a clean, updated task list reflecting current Redmine assignments.

  How to Use
  Connect credentials:
  Easy Redmine API token (with permission to access issues).
  Microsoft credentials (to manage Microsoft To Do lists).
  In the Redmine filter node, configure the filter to fetch relevant issues.
  In the Microsoft To Do nodes, select the correct list for both retrieval and creation.
  Open the Schedule Trigger node and adjust to your desired sync time and timezone.
  Run a test to confirm that the Redmine tasks appear correctly in your Microsoft To Do list.

  Example Use Cases
  Daily Planning: Automatically refill your Microsoft To Do list with current Redmine tasks every morning.
  Team Sync: Push sprint items or task board assignments into a shared team to-do list.
  Priority Focus: Only pull in tasks due today or marked as high priority in Redmine.

  Requirements
  Easy Redmine account
  	API access enabled
  	Saved filters for task selection
  Microsoft 365 account
  	Microsoft To Do access

  Customization
  Adjust the Redmine filters to target different users, statuses, or projects.
  Modify the function node to format the task title or description with more detail.
  Add conditionals to only sync urgent or near-due tasks.
  Route different project tasks to different To Do lists.
  Optionally send a confirmation message (email, Slack) when the sync completes.

  Workflow Improvement Suggestions
  Rename nodes for clarity (e.g., “Delete Old Tasks”, “Fetch Redmine Tasks”).
  Add error handling if API requests fail.
  Use environment variables for list IDs and API URLs to improve reusability.
  Add logging or tracking (e.g., number of tasks synced per execution).

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

workflow_json_compressed:
  [encoded data, 4680 characters]

metadata_json:
  {"categories":["Project Management","Communication"],"complexity":"medium","use_cases":["sync Redmine tasks to Microsoft To Do","clear duplicate tasks before sync","filter tasks using predefined criteria","track work from Redmine in Microsoft To Do"],"estimated_setup_minutes":30,"required_services":["Redmine","Microsoft To Do"],"key_features":["automatic synchronization between Redmine and Microsoft To Do","pre-defined task filtering capabilities","duplicate task prevention via list clearing","simple task tracking integration"],"target_audience":["project managers","team members","ops engineers"]}


name: Create High Quality UGC Images with Nano Banana (Cheaper & Faster)
author_name: Nasser
author_username: nasser
categories: []
created_at: 2025-09-16T10:54:17.654Z
updated_at: 2025-09-16T10:54:17.654Z
url: https://n8n.io/workflows/8644
scraped_at: 2026-05-02 08:04:48
metadata_generated_at: 2026-05-02 08:36:21
description:
  Who’s it for?

  Content Creators
  E-commerce Stores
  Marketing Team

  Description: Generate unique UGC images for your products. Simply upload a product image into a Google Drive folder, and the workflow will instantly generate 50 unique, high-quality AI UGC images using Nano Banana via Fal.ai. 
  All results are automatically saved back into the same folder, ready to use across social media, e-commerce stores, and marketing campaigns.

  How it works?

  📺 YouTube Video Tutorial: 


  1 - Trigger: Upload a new Product Image (with white background) to a Folder in your Google Drive
  2 - Generate 50 different Image Prompts  for your Product
  3 - Loop over each Prompt Generated
  4 - Generate UGC Content thanks to Fal.ai (Nano Banana)
  5 - Upload UGC Content on the initial Google Drive Folder

  Cost: 0.039$ / image==

  How to set up?

  1. Accounts & APIs
  In the Edit Field "Setup" Node replace all ==[YOUR_API_TOKEN]== with your API Token :
  Fal.ai (gemini-25-flash-image/edit): https://fal.ai/models/fal-ai/gemini-25-flash-image/edit/api

  In Credentials on your n8n Dashboard, connect the following accounts using ==Client ID / Secret==: 
  Google Drive: https://docs.n8n.io/integrations/builtin/credentials/google/

  2. Requirements
  Base Image of your Product preferably have a White Background
  Your Google Drive Folder and every Files it contains should be publicly available

  3. Customizations
  Change the amount of total UGC Generated: In Generate Prompts → Message → "Your task is to generate 50"
  Modify the instructions to generate the UGC Prompts: In Generate Prompts → Message
  Change the amount of Base Image: In Generate Image → Body Parameters → JSON → image_urls
  Change the amount of UGC Generated per prompt: In Generate Image → Body Parameters → JSON → num_images
  Modify the Folder where UGC Generated are stored: In Upload File → Parent Folder

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatMistralCloud","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.splitInBatches","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.noOp","n8n-nodes-base.httpRequest","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.splitOut","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4528 characters]

metadata_json:
  {"categories":["Marketing","Content Generation","E-commerce"],"complexity":"medium","use_cases":["Generate product UGC images","Create social media visuals","Automate marketing assets"],"estimated_setup_minutes":15,"required_services":["Google Drive","Fal.ai (Nano Banana)"],"key_features":["Batch image generation","AI-powered UGC creation","Drive integration"],"target_audience":["Content Creators","E-commerce Stores","Marketing Teams"]}


name: Multi-Agent SEO Optimized Blog Writing System with Hyperlinks for E-Commmerce
author_name: Gloria
author_username: gloria
categories: []
created_at: 2025-09-16T15:25:59.894Z
updated_at: 2025-09-16T15:25:59.894Z
url: https://n8n.io/workflows/8654
scraped_at: 2026-05-02 08:04:48
metadata_generated_at: 2026-05-02 08:36:21
description:
  What if AI didn't just write content—but actually thought about how to write it? This n8n workflow revolutionizes content creation by deploying multiple specialized AI agents that handle every aspect of blog writing—from research to publication-ready posts.

  The breakthrough? AI that creates its own prompts, dynamically adapting to different topics and business needs without constant human intervention. 

  Plus, it doesn’t stop at writing — the system also scans all your website URLs, finds the best internal matches for each topic, and inserts SEO-optimized anchor links automatically.

  🤖 The Self-Thinking Content System

  🧠 Cognitive Content Creation: Unlike basic AI writing tools, this system thinks through the entire content strategy

  🔄 Fully Automated Workflow: Set it up once and produce complete, SEO-optimized blog posts with minimal oversight

  🎯 Industry-Adaptive Intelligence: Automatically tailors content approach based on your specific niche and audience

  📊 Data-Driven Decisions: AI agents analyze search intent and competitive landscape before writing a single word

  ⚡ Modular AI Architecture: Specialized agents handle different stages of content creation for superior quality

  ⚙️ Workflow Breakdown

  1️⃣ Keyword Research & Content Ideation
  Identifies high-value topics with traffic potential
  Analyzes search intent to match user expectations

  Maps content opportunities your competitors are missing

  2️⃣ Dynamic Prompt Generation

  Revolutionary feature: AI creates its own writing instructions

  Customizes prompts based on topic complexity and audience needs


  Eliminates the need for prompt engineering expertise

  3️⃣ Modular AI Writing Process

  Research Agent gathers comprehensive topic information



  Structure Agent creates logical, engaging outlines



  Writing Agent produces in-depth, authoritative content



  Each agent specializes in its role for maximum quality

  4️⃣ Final Refinements


  Editing Agent polishes grammar, tone, and readability


  SEO Agent optimizes for search engines without sacrificing quality


  Fact-checking protocols ensure accuracy and credibility

  5️⃣ Publication-Ready Output



  Delivers complete, formatted blog posts ready for immediate use


  Includes meta descriptions, title suggestions, and header structure


  Automatically organizes content in your preferred format

  6️⃣ Smart Internal Linking

  Collects all URLs from your website automatically

  Identifies the best matching pages for each topic

  Inserts optimized anchor words with hyperlinks for SEO boost

  🎯 Perfect For:

  Content Marketers who need consistent, high-quality output

  Business Owners looking to maintain an authoritative blog without the time investment

  Digital Agencies scaling content creation for multiple clients

  SEO Professionals focusing on quality content that ranks

  Solopreneurs who can't afford to spend days writing blog posts

  📦 What's Included:


  ⚙️ Complete n8n Workflow: Pre-configured with all necessary nodes and connections


  🌐 Internal Linking Function: Automatically matches your content with existing URLs and inserts SEO-friendly anchor words


  🔌 AI Agent Configuration: Ready-to-use AI agent settings for each content creation stage



  📊 Airtable Database Structure: Pre-built tables and fields specifically designed for content writing.


  Requires minimal human editing

  🚀 Getting Started:

  Import the provided workflow into your n8n instance

  Configure your preferred AI provider credentials

  Set your content parameters and business information

  Trigger the workflow and watch as complete blog posts are generated

  Use immediately or make minor adjustments to match your style perfectly

  ⚡ Technical Requirements:

  Access to n8n (self-hosted or cloud)

  OpenAI API account (or alternative AI provider)

  Basic familiarity with workflow automation


  Optional: WordPress, Shopify or similar CMS for direct publishing integration

  This template is based on a video of Wayne Eagle

  💡 You can also connect this workflow with my SEO Keyword Research Automation using DataForSEO and Airtable and my SEO-Based Keyword Categorization & Clustering Strategy Workflow with Airtable, both available on my profile, to build a fully automated, end-to-end SEO content machine.

  Stop spending countless hours writing blog posts or wasting money on mediocre content writers. Upgrade to an AI system that thinks for itself and produces truly exceptional content at scale.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.webhook","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.lmChatAnthropic","n8n-nodes-base.airtable","n8n-nodes-base.set","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.set","n8n-nodes-base.airtable","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.airtable","n8n-nodes-base.set","n8n-nodes-base.airtable","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.googleDocs","n8n-nodes-base.googleDocs","n8n-nodes-base.googleDocs","@n8n/n8n-nodes-langchain.openAi","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.airtable","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.googleDocs","n8n-nodes-base.set","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.xml","n8n-nodes-base.splitOut","n8n-nodes-base.aggregate","n8n-nodes-base.httpRequest","n8n-nodes-base.xml","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code"]

workflow_json_compressed:
  [encoded data, 38644 characters]

metadata_json:
  {"categories":["Content Creation","AI/ML","Marketing"],"complexity":"medium","use_cases":["generate SEO blog posts","automate research and drafting","optimize content for ecommerce"],"estimated_setup_minutes":15,"required_services":["Anthropic","Google Docs","Google Drive","Chrome Extension"],"key_features":["multi-agent system","dynamic prompt generation","SEO optimization","hyperlink integration"],"target_audience":["content creators","marketers","SEO specialists"]}


name: Transform RSS Feeds into Content with GPT-4o for Medium, LinkedIn & Instagram
author_name: Codint
author_username: codint
categories: []
created_at: 2025-09-16T21:32:11.139Z
updated_at: 2025-09-16T21:32:11.139Z
url: https://n8n.io/workflows/8662
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:21
description:
  📰 Related News to Content Marketing Automation

  Overview

  This workflow automatically collects news from an RSS feed, identifies the most relevant article(s), and generates ready-to-use social media and blog content tailored for Medium, LinkedIn, and Instagram.

  It’s ideal for:
  	•	Marketing teams who want a steady flow of fresh content.
  	•	Social media managers looking to save time on research and writing.
  	•	Startups and creators who want consistent posting with minimal effort.

  Instead of manually scanning articles and drafting posts, this automation gives you AI-generated content with your preferred tone of voice — and even sends confirmation emails so you can review before posting.

  Prerequisites

  Before using this workflow, make sure you have:
  	•	✅ An n8n account (self-hosted or cloud).
  	•	✅ An OpenAI API key for content generation.
  	•	✅ An RSS feed URL for your industry or niche.
  	•	✅ A Gmail account (or another configured email service) to receive content confirmation messages.

  Setup Instructions

  Import the Workflow

  Download and import this workflow into your n8n instance.

  Configure the RSS Feed
  	•	Open the RSS Read node.
  	•	Replace the sample URL with your preferred news source(s).

  Connect OpenAI
  	•	Open the OpenAI Chat Model node.
  	•	Add your OpenAI API Key in the credentials.
  	•	(Optional) Adjust the prompts in the “Tone of Voice Writer” or “Instagram & LinkedIn Writer” nodes to match your brand’s style.

  Set Up Gmail
  	•	Open the Send Content Confirmation nodes.
  	•	Connect your Gmail (or another email service).
  	•	Add the email address where you want to receive content drafts.

  Run & Automate
  	•	Trigger the workflow manually with Execute Workflow to test.
  	•	Once tested, enable the Schedule Trigger node to run it automatically (e.g., daily).

  Customization Options
  	•	🔄 Add more platforms: extend the workflow for Twitter, Facebook, or Slack.
  	•	✏️ Adjust tone & length: update prompts in AI nodes (casual, professional, humorous, etc.).
  	•	✅ Human-in-the-loop: add approval steps before publishing directly.
  	•	🌍 Change news sources: swap RSS feeds for different industries or niches.

  Example Output

  LinkedIn Draft:
  “The future of marketing is AI-driven. 🚀 A new study shows that brands leveraging automation see 3x faster content turnaround. Read more here: [link]

  Instagram Caption:
  “Stay ahead of the curve 🌟 Today’s top story in digital marketing: AI tools are reshaping how we create content. What do you think — game-changer or hype? 🤔 #AI #Marketing”

  Limitations
  	•	AI may produce errors → Always review generated content before posting.
  	•	Gmail integration only sends drafts for confirmation — direct posting is not included.
  	•	RSS feeds vary in quality — results depend on your chosen source.

  How It Works (Workflow Overview)
  	Collecting the news → Fetch articles via RSS feed.
  	Best Article Finder → Selects the most relevant item.
  	AI Writing → Generates content tailored for Medium, LinkedIn, and Instagram.
  	Email Confirmation → Sends drafts to your inbox for review

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.rssFeedRead","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.merge"]

workflow_json_compressed:
  [encoded data, 6276 characters]

metadata_json:
  {"categories":["Marketing","Content Creation","Social Media"],"complexity":"medium","use_cases":["generate social media content from news","create blog posts automatically","automate content distribution to LinkedIn and Instagram","convert RSS news into ready-to-post articles"],"estimated_setup_minutes":30,"required_services":["GPT-4/API","RSS Feed Provider","Medium API","LinkedIn API","Instagram API","Gmail (for README)"],"key_features":["multi-platform content adaptation","RSS feed aggregation","AI-powered content generation","scheduled publication workflows","template-based formatting"],"target_audience":["marketers","social media managers","content creators"]}


name: Automatically Reply to Customer Emails with Airtable, Gmail, and GPT-4.1 Mini
author_name: Baptiste Fort
author_username: baptistefort
categories: []
created_at: 2025-09-17T11:57:27.423Z
updated_at: 2025-09-17T11:57:27.423Z
url: https://n8n.io/workflows/8676
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:21
description:
  Automatically Reply to Customer Emails with Airtable, Gmail, and OpenAI

  Introduction

  This guide walks you step by step through setting up an automated agent that:
  Receives emails sent by your customers.  
  Analyzes the content of the email.  
  Generates an appropriate response using an AI model (OpenAI GPT).  
  Stores all information (received email, AI response, date, customer email) in Airtable.  
  Automatically replies to the customer in the same Gmail thread.  

  Prerequisites

  Before you start, you’ll need:  
  A Gmail account connected to n8n.  
  An Airtable account.  
  An n8n instance (cloud or self-hosted).  
  An OpenAI API key.  

  Prepare the Airtable Base



  No need to build everything from scratch — here’s a ready-to-use base you can copy:  
  👉 Open the Airtable base

  It already contains the following structure:  
  Subject** (text) → email subject.  
  Date** (date/time) → date of reception.  
  Customer Email** (text) → customer’s email address.  
  Message** (long text) → body of the received email.  
  AI Response** (long text) → AI-generated reply.  

  You can reuse it as it is or duplicate it into your Airtable account.  

  1. Set Up Gmail Trigger in n8n



  Alright, now that we have our Airtable base ready, we need to capture customer emails.  
  That’s the job of the Gmail Trigger. Basically, this node lies in wait inside your inbox, and as soon as a new message arrives… bam, your workflow fires up.

  Connect Your Gmail Account
  In n8n, add a Gmail Trigger node.  
  Click Credential to connect with and select your Gmail account.  
  If you haven’t done it yet, click Add new, connect your Google account, and allow access.  
  Pro tip: don’t worry, it won’t read your personal emails to gossip — everything stays inside your workflow.  

  Basic Settings
  Poll Times**: select Every Minute.  
     → This way, n8n checks your inbox every minute.  
  Mode**: Message Received.  
     → You want the flow to trigger whenever a customer writes to you.  
  Event**: Message Received.  
     → Same logic, keep it simple.  
  Simplify**: turn it off (OFF).  
     → Why? Because if you enable "Simplify," you only get a stripped-down version of the email. And you want it all: subject, sender, raw message… the full package.  

  Expected Output
  When you execute the node, you should see:  
  id**: unique identifier of the email.  
  threadId**: conversation identifier (super useful to reply in the same thread).  
  snippet**: a short preview of the email (first lines).  
  From**: your customer’s email address.  
  To**: your email address.  
  Subject**: the subject of the email.  
  payload**: the full body of the email (yep, in base64 — but we’ll handle that later).  

  And that’s it — your Gmail Trigger is set up. In short, the moment a customer writes “Hey, I have an issue with my account,” your workflow kicks in instantly (well, almost — it checks every minute).  

  2. Set Up the AI Agent in n8n



  After configuring your Gmail Trigger (which captures incoming customer emails), you now need a brain to take over, analyze the email, and draft a reply.  
  That’s where the AI Agent node comes in.

  Its Role
  The AI Agent node is used to:  
  Read the email content (via the Gmail Trigger).  
  Understand the context and tone of the customer.  
  Generate a clear, concise, and human-like response.  
  Prepare a personalized reply that will later be sent back via Gmail and stored in Airtable.  

  In short, it’s your 24/7 support colleague, but coded as a bot.  

  How to Configure It
  Source for Prompt (User Message)** → choose Define below.  
  Prompt (User Message)** → describe your business and role as if you were training an intern.  
    Example: “You are an AI support agent for a company that sells solar panels. You respond to technical requests, quotes, and customer questions. Your replies must be short, clear, friendly, and precise.”  
  Chat Model** → connect your AI model (e.g. OpenAI GPT-4.1 Mini).  
  Memory (optional but recommended)* → connect a *Conversation Memory** node.  
    → This allows the AI to retain conversation history and better understand follow-ups.  

  Expected Output
  When you run this node, you should see in the output:  
  A field output containing the automatically generated AI reply.  
  The text should be short, natural, and adapted to the customer’s tone (casual or formal).  

  👉 With the Gmail Trigger you capture emails, and with the AI Agent you get a reply ready to send — as if you had written it yourself.  

  3. Save Emails and Responses in Airtable

  Now that your AI Agent generates replies, you need to store them somewhere to keep a clear record of all interactions.  
  That’s where Airtable comes in.

  Quick Reminder
  You’ve already copied my ready-to-use Airtable base:  
  👉 Access the base

  This base contains a table Email Support Logs with the following columns:  
  Subject**  
  Date**  
  Customer Email**  
  Message**  
  AI Response**  

  How to Connect Airtable in n8n
  Add an Airtable node right after your AI Agent.  
  Under Operation, select Create.  
  In Base → choose BASE AGENT IA EMAIL.  
  In Table → select Email Support Logs.  

  Map the Correct Values
  Then, link the fields as follows:  
  Subject** → {{ $('Email Received').item.json.Subject }}  
  Customer Email** → {{ $('Email Received').item.json.From }}  
  Message** → {{ $('Email Received').item.json.snippet }}  
  AI Response** → {{ $('AI Agent').item.json.output }}  
  Date** → {{ $now }}  

  Expected Output
  For each new email received:  
  Gmail captures the email.  
  Your AI drafts the reply.  
  All details (email, sender, subject, reply) are automatically stored in your Airtable base.  

  👉 You now have a fully automated customer support log.  

  4. Automatically Reply to the Customer in Gmail

  Now that you’re storing each interaction in Airtable, it’s time to send your AI’s reply directly back to the customer.  
  This closes the loop: customer writes → AI replies → everything gets logged in Airtable.

  Add the Gmail Reply Node
  Add a Gmail node right after your AI Agent (or after Airtable if you prefer logging before replying).  
  Under Operation, select Reply.  
  Connect your Gmail account (same credential as your Gmail Trigger).  

  Configure the Reply
  Thread ID** → {{ $('Email Received').item.json.threadId }}  
     → Ensures the reply is sent in the same conversation thread.  
  To** → {{ $('Email Received').item.json.From }}  
     → Customer’s email address.  
  Subject** → Re: {{ $('Email Received').item.json.Subject }}  
     → The "Re:" keeps the continuity of the conversation.  
  Message Body** → {{ $('AI Agent').item.json.output }}  
     → This is the text automatically generated by your AI.  

  Expected Output
  When a customer sends an email:  
  Gmail Trigger captures the message.  
  The AI Agent generates a tailored reply.  
  Airtable logs the full interaction.  
  Gmail automatically sends the response in the same conversation thread.  

  Your customer receives a quick, personalized, and natural reply without you typing a single word.  

  👉 You now have a complete support agent: listen, analyze, log, reply.  

  Want to save hours each week? Visit Agence automatisation 0vni.

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.gmailTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.airtable","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.memoryBufferWindow","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, 7508 characters]

metadata_json:
  {"categories":["AI/ML","Communication"],"complexity":"medium","use_cases":["automatic customer support","email triage","ticket creation","customer communication","response generation"],"estimated_setup_minutes":30,"required_services":["Gmail API","OpenAI","Airtable API"],"key_features":["email content analysis","AI-driven response generation","automatic email replies","data logging","threaded conversation management"],"target_audience":["customer support agents","developers","small business owners"]}


name: Automate Process Improvement with Employee Feedback using AI and Baserow
author_name: Frederik Duchi
author_username: frederikdc
categories: []
created_at: 2025-09-17T12:06:15.553Z
updated_at: 2025-09-17T12:06:15.553Z
url: https://n8n.io/workflows/8677
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  This n8n template demonstrates how to automatically process feedback on tasks and procedures using an AI agent. Employees provide feedback after completing a task, which is then analyzed by the AI to suggest improvements to the underlying procedures. Improvements can be to update how to execute a single tasks or to split or merge tasks within a procedure. The management reviews decides whether to implement those improvements.

  This makes it easy to close the loop between execution, feedback, and continuous process improvement. Use cases are many:
  Marketing (improve the process of approving advertising content)
  Finance (optimize the process of expense reimbursement)
  Operations (refine the process of equipment maintenance)

  Good to know
  The automation is based on the Baserow template for handling Standard Operating Procedures. However, it can also be implemented in other databases.
  Baserow authentication is done through a database token. Check the documentation on how to create such a token.
  Tasks are inserted using the HTTP request node instead of a dedicated Baserow node. This is to support batch import instead of importing records one by one.

  Requirements
  Baserow account (cloud or self-hosted)
  The Baserow template for handling Standard Operating Procedures or a similar database with the following tables and fields:
      Procedures table with general procedure information like to name or description .
      Procedures steps table with all the steps associated with a procedure.
      Tasks table that contains the actual tasks based on the procedure steps.
          must have a field to capture Feedback
          must have a boolean field to indicate if the feedback has been processed or not. This to avoid that the same feedback keeps getting used.
      Improvement suggestions table to store the suggestions that were made by the AI agent.

  How it works
  Set table and field ids**
      Stores the ids of the involved Baserow database and tables, together with the information to make requests to the Baserow API
  Feedback processing agent**
      
      The prompt contains a small instruction to check the feedback and suggest improvements to the procedures. The system message is much more extensive to provide as much details and guidance to the agent as possible. It contains the following sections:
      
      Role: giving the agent a clear professional perspective
      Goals: allowing the agent to focus on clarity, efficiency and actionable improvements.
      Instructions: guiding the agent to a step-by-step flow
      Output: showing the agent the expected format and details
      Notes: setting guardrails for the agent to make justified and practical suggestions.
      
      The agent uses the following nodes:
      
      OpenAI Chat Model (Model): the template uses by default the gpt-4.1 model from OpenAI. But you can replace this with any LLM.
      current_procedures (Tool): provides information about all available  procedures to the agent
      current_procedure steps (Tool): provides information about every step in the procedures to the agent
      tasks_feedback (Tool): provides the feedback of the employees to the agent.
      Required output schema (Output parser): forces the agent to use a JSON schema that matches the Improvement suggestions table structure for the output. This allows to easily add them to the database in the next step.
  Create improvement suggestions**
      Calls the API endpoint /api/database/rows/table/{table_id}/batch/ to insert multiple records at once in the Improvement suggestions table. The inserted records is the output generated by the AI agent. Check the Baserow API documentation for further details.
  Get non-processed feedback**
      Gets all records from the Tasks table that contain feedback but that are not marked as processed yet.
  Set feedback to processed**
      Updates the boolean field for each task to true to indicate that the feedback has been processed
  Aggregate records for input**
      Aggregates the data from the previous nodes as an array in a property named items. This matches perfect with the Baserow API to insert new records in batch.
  Update tasks to processed feedback**
      Calls the API endpoint /api/database/rows/table/{table_id}/batch/ to update multiple records at once in the Tasks table. The updated records will have their processed field set to true. Check the Baserow API documentation for further details.

  How to use
  The Manual Trigger node is provided as an example, but you can replace it with other triggers such as a webhook
  The included Baserow SOP template works perfectly as a base schema to try out this workflow.
  Set the corresponding ids in the Configure settings and ids node.
  Check if the field names for the filters in the tasks_feedback tool node matches with the ones in your Tasks table.
  Check if the field names for the filters in the Get non-processed feedback node matches with the ones in your Tasks table.
  Check if the property name in the Set feedback to processed node matches with the ones in your Tasks table.

  Customising this workflow
  You can add a new workflow that updates the procedures based on the acceptance or rejection by the management
  There is a lot of customization possible in the system prompt. For example: change the goal to prioritize security, cost savings or customer experience

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.baserowTool","n8n-nodes-base.baserowTool","n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.baserow","n8n-nodes-base.set","n8n-nodes-base.aggregate","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.baserowTool","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 9324 characters]

metadata_json:
  {"categories":["Business Process Management","AI/ML"],"complexity":"medium","use_cases":["collect employee feedback","analyze feedback with AI","suggest process improvements","update task procedures","review and implement changes"],"estimated_setup_minutes":30,"required_services":["Baserow","AI Service"],"key_features":["AI-powered feedback analysis","automated procedure improvement suggestions","webhook for feedback collection","manual review step","structured data handling"],"target_audience":["process managers","operations leads","HR admins"]}


name: Export Google Search Console Data to Airtable Automatically
author_name: Baptiste Fort
author_username: baptistefort
categories: []
created_at: 2025-09-17T12:48:49.912Z
updated_at: 2025-09-17T12:48:49.912Z
url: https://n8n.io/workflows/8679
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:21
description:
  Export Google Search Console Data to Airtable Automatically  



  If you’ve ever downloaded CSV files from Google Search Console, opened them in Excel, cleaned the weird formatting, and pasted them into a sheet just to get a simple report… this workflow is made for you.  

  Who Is This Workflow For?

  This automation is perfect for:
  SEO freelancers and consultants** → who want to track client performance without wasting time on manual exports.
  Marketing teams** → who need fresh daily/weekly reports to check what keywords and pages are performing.
  Website owners** → who just want a clean way to see how their site is doing without logging into Google Search Console every day.

  Basically, if you care about SEO but don't want to babysit CSV files, this workflow is your new best friend.

  If you need a professional n8n agency to build advanced data automation workflows like this, check out Vision IA's n8n automation services. 

  What Does It Do?  

  Here’s the big picture:  
  It runs on a schedule (every day, or whenever you want).  
  It fetches data directly from the Google Search Console API.  
  It pulls 3 types of reports:  
     By Query (keywords people used).  
     By Page (URLs that ranked).  
     By Date (daily performance).  
  It splits and cleans the data so it’s human-friendly.  
  It saves everything into Airtable, organized in three tables.  

  End result: every time you open Airtable, you have a neat SEO database with clicks, impressions, CTR, and average position — no manual work required.  

  Prerequisites  

  You’ll need a few things to get started:  
  Access to Google Search Console.  
  A Google Cloud project with the Search Console API enabled.  
  An Airtable account to store the data.  
  An automation tool that can connect APIs (like the one we’re using here).  

  That’s it!  

  Step 1: Schedule the Workflow  

  The very first node in the workflow is the Schedule Trigger.  

  Why?** → So you don’t have to press “Run” every day.  
  What it does** → It starts the whole workflow at fixed times.  

  In the JSON, you can configure things like:  
  Run every day at a specific hour (e.g., 8 AM).  
  Or run every X hours/minutes if you want more frequent updates.  

  This is the alarm clock of your automation ⏰.  

  Step 2: Set Your Domain and Time Range  

  Next, we define the site and the time window for the report.  

  In the JSON, there’s a Set node with two important parameters:  
  domain → your website (example: https://www.vvv.fr/).  
  days → how many days back you want the data (default: 30).  

  👉 Changing these two values updates the whole workflow. Super handy if you want 7-day reports instead of 30.  

  Step 3: Fetch Data from Google Search Console  

  This is where the workflow talks to the API.  
  There are 3 HTTP Request nodes:  

  Get Query Report  
     Pulls data grouped by search queries (keywords).  
     Parameters in the JSON:  
       startDate = today - 30 days  
       endDate = today  
       dimensions = "query"  
       rowLimit = 25000 (maximum rows the API can return)  

  Get Page Report  
     Same idea, but grouped by page URLs.  
     Parameters:  
       dimensions = "page"  
       Same dates and row limit.  

  Get Date Report  
     This one groups performance by date.  
     Parameters:  
       dimensions = "date"  
       You get a day-by-day performance view.  

  Each request returns rows like this:  


  {
    "keys": ["example keyword"],
    "clicks": 42,
    "impressions": 1000,
    "ctr": 0.042,
    "position": 8.5
  }

  Step 4: Split the Data  

  The API sends results in a big array (rows). That’s not very usable directly.  

  So we add a Split Out node for each report.  

  What it does: breaks the array into single items → 1 item per keyword, per page, or per date.  

  This way, each line can be saved individually into Airtable.  

  👉 Think of it like opening a bag of candy and laying each one neatly on the table 🍬.  

  Step 5: Clean and Rename Fields  

  After splitting, we use Edit Fields nodes to make the data human-friendly.  

  For example:  
  In the Query report → rename keys[0] into Keyword.  
  In the Page report → rename keys[0] into page.  
  In the Date report → rename keys[0] into date.  

  This is also where we keep only the useful fields:  
  Keyword / page / date  
  clicks  
  impressions  
  ctr  
  position  

  Step 6: Save Everything into Airtable  

  Finally, the polished data is sent into Airtable.  

  In the JSON, there are 3 Airtable nodes:  
  Queries table** → stores all the keywords.  
  Pages table** → stores all the URLs.  
  Dates table** → stores day-by-day metrics.  

  Each node is set to:  
  Operation** = Create → adds a new record.  
  Base** = Search Console Reports.  
  Table** = Queries, Pages, or Dates.  

  Field Mapping  

  For Queries:  
  Keyword → {{ $json.Keyword }}  
  clicks → {{ $json.clicks }}  
  impressions → {{ $json.impressions }}  
  ctr → {{ $json.ctr }}  
  position → {{ $json.position }}  

  👉 Same logic for Pages and Dates, just replace Keyword with page or date.  

  Expected Output  



  Every time this workflow runs:  
  Queries table** fills with fresh keyword performance data.  
  Pages table** shows how your URLs performed.  
  Dates table** tracks the evolution day by day.  

  In Airtable, you now have a complete SEO database with no manual exports.  

  Why This Is Awesome  

  🚫 No more messy CSV exports.  
  📈 Data is always up-to-date.  
  🎛 You can build Airtable dashboards, filters, and interfaces.  
  ⚙️ Easy to adapt → just change domain or days to customize.  

  And the best part? You can spend the time you saved on actual SEO improvements instead of spreadsheet gymnastics 💃.  

  Need Help Automating Your Data Workflows?

  This n8n workflow is perfect for automating SEO reporting and data collection. If you want to go further with document automation, file processing, and data synchronization across your tools, our agency specializes in building custom automation systems.

  👉 Explore our document automation services: Vision IA – Document Automation Agency

  We help businesses automate their data workflows—from collecting reports to organizing files and syncing information across CRMs, spreadsheets, and databases—all running automatically.

  Questions about this workflow or other automation solutions? Visit Vision IA or reach out for a free consultation.

nodes_used:
  ["n8n-nodes-base.splitOut","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.airtable","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, 6952 characters]

metadata_json:
  {"categories":["Marketing","Data Processing"],"complexity":"medium","use_cases":["automate SEO data reporting","sync search metrics to databases","generate client performance dashboards"],"estimated_setup_minutes":15,"required_services":["Google Search Console","Airtable"],"key_features":["scheduled data extraction","CSV to table synchronization","error-proof automation logic"],"target_audience":["SEO specialists","marketing managers","freelancers"]}


name: Airtable SMS Sender - Bulk Text Sender Template for Airtable
author_name: Milan Vasarhelyi - SmoothWork
author_username: vasarmilan
categories: []
created_at: 2025-09-17T13:48:28.545Z
updated_at: 2025-09-17T13:48:28.545Z
url: https://n8n.io/workflows/8682
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  Video Introduction

  Want to automate your inbox or need a custom workflow? 📞 Book a Call | 💬 DM me on Linkedin

  Overview

  This workflow automatically sends personalized SMS notifications to customers when their order status changes in Airtable. Monitor your order management base and instantly notify customers about updates like "Confirmed" or "Shipped" without manual intervention.

  When an order status changes in your Orders table, a notification record is automatically created in a Status Notifications table. The workflow monitors this table, prepares personalized messages using the customer's name and order status, sends the SMS via Twilio, and updates the delivery status back to Airtable for complete tracking and logging.

  Key Features

  Automated SMS sending triggered by Airtable record changes
  Personalized messages with customer name and order status
  Complete delivery tracking with success/error status updates
  Error handling for invalid phone numbers
  Works with Twilio's free trial account for testing

  Common Use Cases

  E-commerce order status updates
  Shipping notifications
  Order confirmation messages
  Customer communication logging

  Setup Instructions

  Step 1: Duplicate the Airtable Base
  Copy the Order Management Base template to your Airtable workspace. You must use your own copy as the workflow needs write permissions.

  Step 2: Connect Your Accounts
  Add your Airtable Personal Access Token credentials to the workflow nodes
  Create a Twilio account (free trial available)
  From your Twilio dashboard, obtain your Account SID, Auth Token, and Twilio phone number
  Add Twilio credentials to the "Send Order Status SMS" node

  Step 3: Configure the Workflow
  In the Config node, update these URLs with your duplicated Airtable base:
  notifications_table_url: Your Status Notifications table URL
  orders_table_url: Your Orders table URL
  from_number: Your Twilio phone number

  Step 4: Customize the Message
  Modify the "Prepare SMS Content" node to personalize the message template with your brand voice and additional order details.

  Step 5: Activate
  Toggle the workflow to 'Active' and the automation will monitor your Airtable base every minute, sending notifications automatically.

nodes_used:
  ["n8n-nodes-base.airtableTrigger","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.set","n8n-nodes-base.twilio","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4728 characters]

metadata_json:
  {"categories":["Marketing","Communication"],"complexity":"medium","use_cases":["Send personalized SMS when order status changes","Automate customer notifications for shipping updates","Monitor order management database for updates","Trigger alerts based on workflow events"],"estimated_setup_minutes":15,"required_services":["Airtable","Twilio"],"key_features":["Dynamic message personalization","Real-time status change detection","Conditional logic branching","Bulk SMS delivery triggering"],"target_audience":["e-commerce managers","customer support teams","business operations"]}


name: Google Sheets send SMS with Twilio - Bulk SMS Automation Simplified!
author_name: Milan Vasarhelyi - SmoothWork
author_username: vasarmilan
categories: []
created_at: 2025-09-17T13:57:22.232Z
updated_at: 2025-09-17T13:57:22.232Z
url: https://n8n.io/workflows/8684
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:21
description:
  Video Introduction

  Want to automate your inbox or need a custom workflow? 📞 Book a Call | 💬 DM me on Linkedin

  Overview

  This workflow automates sending personalized SMS messages directly from a Google Sheet using Twilio. Simply update a row's status to "To send" and the workflow automatically sends the text message, then updates the status to "Success" or "Error" based on delivery results. Perfect for event reminders, bulk notifications, appointment confirmations, or any scenario where you need to send customized messages to multiple recipients.

  Key Features

  Simple trigger mechanism**: Change the status column to "To send" to queue messages
  Personalization support**: Use [First Name] and [Last Name] placeholders in message templates
  Automatic status tracking**: The workflow updates your spreadsheet with delivery results
  Error handling**: Failed deliveries are clearly marked, making it easy to identify issues like invalid phone numbers
  Runs every minute**: The workflow polls your sheet continuously when active

  Setup Instructions

  Step 1: Copy the Template Spreadsheet

  Make a copy of the Google Sheets template by going to File → Make a copy. You must use your own copy so the workflow has permission to update status values.

  Step 2: Connect Your Accounts

  Google Sheets: Add your Google account credentials to the 'Monitor Google Sheet for SMS Queue' trigger node
  Twilio: Sign up for a free Twilio account (trial works for testing). From your Twilio dashboard, get your Account SID, Auth Token, and Twilio phone number, then add these credentials to the 'Send SMS via Twilio' node

  Step 3: Configure the Workflow

  In the Config node, update:
  sheet_url: Paste the URL of your copied Google Sheet
  from_number: Enter your Twilio phone number (include country code, e.g., +1234567890)

  Step 4: Activate and Test

  Activate the workflow using the toggle in the top right corner. Add a row to your sheet with the required information (ID, First Name, Phone Number, Message Template) and set the Status to "To send". Within one minute, the workflow will process the message and update the status accordingly.

nodes_used:
  ["n8n-nodes-base.googleSheetsTrigger","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.twilio","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4296 characters]

metadata_json:
  {"categories":["Communication","Data Processing","Marketing"],"complexity":"simple","use_cases":["Send bulk SMS","Event reminders","Appointment confirmations","Status tracking"],"estimated_setup_minutes":10,"required_services":["Google Sheets","Twilio"],"key_features":["Trigger-based execution","Conditional logic","Error handling","Status update automation"],"target_audience":["marketers","event organizers","business owners"]}


name: Categorize SEO Keywords & Create Content Strategy with AI and Airtable
author_name: Gloria
author_username: gloria
categories: []
created_at: 2025-09-18T13:27:50.277Z
updated_at: 2025-09-18T13:27:50.277Z
url: https://n8n.io/workflows/8721
scraped_at: 2026-05-02 08:04:48
metadata_generated_at: 2026-05-02 08:36:21
description:
  Premium n8n Workflow: SMART AI Keyword Categorization & Content Strategy

  This n8n workflow transforms raw keyword data into actionable content intelligence using advanced AI categorization and clustering. It creates a comprehensive content strategy with ready-to-use titles and descriptions for your blog posts.

  🚀 Features

  🧠 AI-Powered Categorization  
  Automatically sorts keywords into strategic buckets — Quick Wins, Authority Builders, Emerging Topics, Intent Signals, and Semantic Topics — for targeted content creation 🎯.  

  🔗 Semantic Clustering  
  Identifies meaningful relationships between keywords to create logically grouped content clusters 🕸️.  

  📑 Content Blueprint Generation  
  Creates compelling titles and descriptions for each keyword and cluster to streamline your content creation process 📝.  

  🌐 Hub & Spoke Strategy Builder  
  Develops a complete site architecture plan with main hub articles and supporting spoke content 🏗️.  

  ⚡ Airtable Integration  
  Organizes all outputs in a structured database for seamless integration with your content workflow.  

  🤖 n8n AI Agents  
  Leverages advanced AI capabilities to analyze keyword intent and potential without manual intervention.  

  👥 This Workflow is Perfect For:

  Content strategists 📊  
  SEO professionals 🔍  
  Content marketing teams 👥  
  Blog managers 💻  
  Digital publishers 📰  
  Website owners (E-Commerce) 🏢  
  Anyone using the SMART AI Keyword Research Workflow 🔄  

  Stop struggling with manual keyword grouping and transform your raw keyword data into a comprehensive content strategy.  
  👉 Get this premium workflow today!

  📝 What's Included?

  ⚙️ n8n Workflow Template  
  Ready-to-use workflow with AI-powered nodes for keyword analysis and categorization.  

  📊 Airtable Database Structure  
  Pre-configured tables for categorized keywords, content ideas, and hub-spoke relationships.  

  🧩 Keyword Categorization System  
  Automated logic to sort keywords by opportunity, competition, and relevance.  

  📋 Content Titles and Descriptions  
  AI prompts to create optimized titles and descriptions for each content piece.  

  🌐 Hub & Spoke Mapper  
  Logic to identify main topics and supporting content opportunities.  

  📚 Documentation  
  Step-by-step instructions for importing keyword data and running the workflow.  

  🏆 Why Choose This Workflow?

  ⏱️ Save Massive Time: Automate what would take days of manual analysis and planning.  
  📈 Improve Content ROI: Create content that targets the right keywords in the right way.  
  🔄 Seamless Integration: Works perfectly with the AI Keyword Research and Blog Writing workflows available on my profile.  
  🏗️ Build Site Authority: Create topically relevant content clusters that boost domain expertise.  
  🎯 Strategic Focus: Stop guessing which keywords to target and how to organize your content.  

  🛠️ How It Works

  1️⃣ Import the provided n8n workflow into your n8n instance 📥.  
  2️⃣ Connect to your Airtable base containing keyword research data ⚙️.  
  3️⃣ Configure the AI agents with your preferred content parameters 🤖.  
  4️⃣ Run the workflow to automatically categorize, cluster, and create content briefs 🔄.  
  5️⃣ Use the generated content strategy to guide your blogging or feed directly into the Multi-Agent Blog Writing System available on my profile 📝.  


  Additional detailed instructions are provided in the workflow.  

  🏁 What You Need to Get Started

  🔹 Access to n8n (self-hosted or cloud) ☁️  
  🔹 An Airtable account with keyword data (ideally from the AI Keyword Research Workflow on my profile) 📊  
  🔹 OpenAI API credentials for the AI categorization and title generation 🔑  
  🔹 Basic understanding of content strategy and n8n workflows 🧠  

  💡 You can also connect this workflow with my SEO Keyword Research Automation using DataForSEO and Airtable and my Multi-Agent SEO Optimized Blog Writing System with Hyperlinks for E-Commerce, both available on my profile, to build a fully automated, end-to-end SEO content machine.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.filter","n8n-nodes-base.set","n8n-nodes-base.airtable","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.airtable","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.splitInBatches","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.airtable","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi"]

workflow_json_compressed:
  [encoded data, 11972 characters]

metadata_json:
  {"categories":["Marketing","Content Strategy"],"complexity":"medium","use_cases":["Categorize SEO keywords","Generate content strategy","Cluster search queries","Extract blog post titles"],"estimated_setup_minutes":15,"required_services":["Airtable","OpenAI"],"key_features":["Automated keyword clustering","AI semantic analysis","Dynamic content ideation","Structured data management"],"target_audience":["SEO specialists","Content marketers","Social media managers"]}


name: Automated Daily Stock Market Report with Bright Data, GPT-4.1, Airtable/Gmail
author_name: Baptiste Fort
author_username: baptistefort
categories: []
created_at: 2025-09-18T14:02:05.882Z
updated_at: 2025-09-18T14:02:05.882Z
url: https://n8n.io/workflows/8724
scraped_at: 2026-05-02 08:04:48
metadata_generated_at: 2026-05-02 08:36:21
description:
  📘 Workflow Documentation – Stock Market Daily Digest

  👋 Introduction
  Wake up to a clean, analyst-style stock digest in your inbox—top gainers/losers, a readable performance table, 3–5 insights, and upcoming events—no spreadsheets, no manual scraping, no copy-paste.  
  This article explains, step by step, how to build a robust, daily, end-to-end automation that collects market data (Bright Data), waits until scraping is done, aggregates results, asks an AI model (OpenAI) to draft a styled HTML email, logs everything to Airtable, and finally sends the report via Gmail.

  You’ll find a friendly but technical tour of every single node, so you can rebuild or adapt the same pipeline with confidence.

  🎯 Who is this workflow for?
  Investors & traders** who want a quick, readable daily summary.  
  Finance/Product teams** building data-driven alerts/digests.  
  Consultants & agencies** sending recurring client updates.  
  Automation builders** prototyping finance ops quickly.

  🧰 Tools you’ll need
  Bright Data** — dataset triggers & snapshots for reliable web data.  
  OpenAI (GPT)** — to generate a professional HTML digest.  
  Airtable** — store daily rows for history, filters, dashboards.  

  Example Airtable Table: Daily Stocks

  | Ticker | Company                  | Price   | Change % | Sentiment | Date                |
  |--------|--------------------------|---------|----------|-----------|---------------------|
  | AAPL   | Apple Inc.               | 225.80  | +1.4%    | 🟢 Positive | 2025-09-18 09:00    |
  | MSFT   | Microsoft Corporation    | 415.20  | -0.7%    | 🔴 Negative | 2025-09-18 09:00    |
  | NVDA   | NVIDIA Corporation       | 124.55  | +2.1%    | 🟢 Positive | 2025-09-18 09:00    |
  | TSLA   | Tesla Inc.               | 260.00  | -3.0%    | 🔴 Negative | 2025-09-18 09:00    |
  | META   | Meta Platforms Inc.      | 310.45  | +0.5%    | 🟡 Neutral  | 2025-09-18 09:00    |



  Gmail** — deliver the final HTML email to stakeholders.  
  n8n** — the automation engine that orchestrates every step.

  &gt; Keep API keys in n8n Credentials (never hard-code secrets).

  🗺️ Architecture at a glance
  Schedule fires daily  
  Seed list of tickers  
  Split into one item per stock  
  Prepare keyword for scraping  
  Launch Bright Data job  
  Poll progress with a wait-loop  
  Fetch snapshot data  
  Aggregate for the AI  
  Generate HTML summary (GPT)  
  Save rows to Airtable  
  Send email via Gmail

  ⚙️ Step-by-step — Every node explained

  ⏰ Daily Run Trigger (Schedule Trigger)

  Purpose
  Start the automation at a precise time each day so nobody needs to push a button.

  Parameters (English)
  Trigger Type**: Time Interval or Cron  
  Every X**: 1 Day (or your preferred cadence)  
  Timezone**: UTC (or your own)  
  Start Time**: optional (e.g., 09:00)

  📝 Set Stock List (Set Node – SAMPLE DATA)

  Purpose
  Define the universe of stocks to monitor. This acts as the seed data for scraping.

  Parameters
  Values to Set**: Fixed JSON (array of objects)  
  Keep Only Set**: true  
  Fields per item**: ticker, name, market_cap (you may add sector, isin, etc.)

  🔀 Split Stocks (Split Out)

  Purpose
  Turn the array into individual items so each ticker is processed independently (scraping, polling, results).

  Parameters
  Operation**: Split Out Items  
  Field to Split**: the array defined in the previous Set node

  🏷 Prepare Stock Keyword (Set Node)

  Purpose
  Create a keyword field (typically equal to ticker) for Bright Data discovery.

  Parameters
  Values to Set**: Add Field  
  Field Name**: keyword  
  Value**: use an expression referencing the current item’s ticker (e.g., ` {{ $json.ticker }} `)

  🕸 Bright Data Scraper (HTTP Request)

  Purpose
  Trigger the Bright Data dataset to start collecting information for the keyword. Returns a snapshot_id to poll later.

  Parameters
  Method**: POST  
  Endpoint**: https://api.brightdata.com/datasets/v1/trigger  
  Authentication**: Authorization: Bearer &lt;token&gt; (header)  
  Body Fields**:  
    dataset_id: your Bright Data dataset ID  
    discover_by: usually keyword  
    keyword: the value prepared above

  &gt; Add a retry/backoff policy on 429/5xx in node options.

  🔄 Check Scraper Progress (HTTP Request)

  Purpose
  Poll Bright Data to see whether the snapshot is running or ready.

  Parameters
  Method**: GET  
  Endpoint**: https://api.brightdata.com/datasets/v1/snapshots/{snapshot_id}  
  Authentication**: Authorization: Bearer &lt;token&gt;  
  Expected Output**: a status field (running, ready)

  ⏳ Wait for Data (Wait Node)

  Purpose
  Pause between progress checks to avoid rate limits and give Bright Data time to finish.

  Parameters
  Mode**: Wait a fixed amount of time  
  Time**: e.g., 30 seconds (tune to your dataset size)

  🔀 Scraper Status Switch (Switch Node)

  Purpose
  Route logic based on the polled status.

  Parameters
  Value to Check**: status  
  Rules**:  
    Equals running → go to Wait for Data (then re-check)  
    Equals ready → proceed to Fetch Scraper Results

  &gt; Loop pattern: Check → Wait → Check, until ready.

  📥 Fetch Scraper Results (HTTP Request)

  Purpose
  Download the completed snapshot data once Bright Data marks it ready.

  Parameters
  Method**: GET  
  Endpoint**: https://api.brightdata.com/datasets/v1/snapshots/{snapshot_id}/data  
  Authentication**: Authorization: Bearer &lt;token&gt;  
  Query**: format=json  
  Output**: array of rows per ticker (price, change %, any fields your dataset yields)

  &gt; Normalize fields with a Set/Code node if needed.

  📊 Aggregate Stock Data (Aggregate Node)

  Purpose
  Combine all individual items into one consolidated object so the AI can analyze the entire market snapshot.

  Parameters
  Mode**: Aggregate (merge to a single item)  
  Fields to Include**: ticker, name, price, change, sentiment (plus any extra fields captured)  
  Output**: one JSON item containing an array/map of the day’s stocks

  🤖 Generate Daily Summary (AI Node – OpenAI)

  Purpose
  Ask the model to convert raw data into a styled HTML email: headline, top movers, table, insights, and (optional) upcoming events.

  Parameters
  Model**: gpt-4.1 
  Input**: the aggregated JSON from the previous node  
  Prompt guidelines**:  
    Output HTML only with inline styles (email-safe)  
    Include a table (Ticker, Company, % Change with ↑/↓ & color, Market Cap, Sentiment icon)  
    Highlight top 2 gainers & 2 losers with short reasoning if present  
    Provide 3–5 insights (sector rotation, volatility, outliers)  
    Add upcoming events when available (earnings, launches, macro)  
    Footer: “Generated automatically by your AI-powered stock monitor”  
  Output field**: confirm the exact property that contains the HTML (e.g., output, message, text)

  🗂 Save to Airtable (Airtable – Create Record)

  Purpose
  Log each item (or the roll-up) to Airtable for history, filtering, and dashboards.

  Parameters
  Operation**: Create Record  
  Base ID**: from your Airtable URL  
  Table**: e.g., Daily Stocks  
  Field Mapping**:  
    Ticker ← ` {{ $json.ticker }} `  
    Company ← ` {{ $json.name }} `  
    Price ← ` {{ $json.price }} `  
    Change % ← ` {{ $json.change }} `  
    Sentiment ← ` {{ $json.sentiment }} `  
    Date ← ` {{ $now.toISO() }} `

  &gt; Use a Single-Select for Sentiment (🟢 / 🟡 / 🔴) to build clean Airtable views.

  📧 Send Report via Gmail (Gmail Node)

  Purpose
  Deliver the AI-generated HTML digest to your recipients.

  Parameters
  Operation**: Send Email  
  Send To**: one or more recipients (e.g., investor@domain.com)  
  Subject**: Daily Stock Market Digest – {{ $now.format("yyyy-MM-dd") }}  
  Message (HTML)**: reference the AI node’s HTML property (e.g., ` {{ $('Generate Daily Summary').first().json.output }} `)  
  Options: set **Append Attribution to false (keep the email clean)

  &gt; Test in Gmail, Outlook, and mobile to validate inline CSS.

  🧪 Error handling & reliability tips
  Backoff on Bright Data* — If scraping many tickers, increase *Wait** or batch requests.  
  Guard against empty results** — If a snapshot returns 0 rows, branch to a fallback email (“No data today”).  
  AI guardrails** — Enforce “HTML-only” and skip missing sections gracefully.  
  Airtable normalization** — Strip %, cast numbers to float before insert.  
  Observability* — Add a final Slack/Email *On Fail** node with run ID and error message.

  🧩 Customization ideas
  Sector deep-dives**: add sector fields and a second AI paragraph on sector rotation.  
  CSV attachment**: generate & attach a CSV for power users.  
  Multiple lists**: run parallel branches for Tech, Healthcare, or regions.  
  Other asset classes**: Crypto, ETFs, Indices, FX.  
  Audience targeting**: different “To” lists and slightly different prompts per audience.

  ✅ Why this workflow is powerful
  Hands-off** — the report simply shows up every day.  
  Analyst-grade** — clean HTML, top movers, tidy table, actionable insights.  
  Auditable** — rows archived in Airtable for history and dashboards.  
  Composable** — swap scrapers, LLMs, storage, or email service.  
  Scalable** — start with 10 tickers, grow to many lists using the same loop.

  For advanced no-code & AI projects, see 0vni – Agence automatisation. 

nodes_used:
  ["@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.switch","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.gmailTool","n8n-nodes-base.airtable","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"]

workflow_json_compressed:
  [encoded data, 10708 characters]

metadata_json:
  {"categories":["Financial Services","Data Processing","Communication"],"complexity":"medium","use_cases":["generate daily stock reports","scrape financial data","summarize market insights","automate newsletter distribution"],"estimated_setup_minutes":20,"required_services":["Bright Data","OpenAI","Gmail","Airtable"],"key_features":["scheduled batch data processing","AI-powered financial analysis","dynamic HTML email generation","multi-source data aggregation"],"target_audience":["traders","analysts","financial professionals"]}


name: Streamline Document Signatures in Telegram with SignNow
author_name: Lenouar
author_username: aureusr
categories: []
created_at: 2025-09-19T10:58:42.493Z
updated_at: 2025-09-19T10:58:42.493Z
url: https://n8n.io/workflows/8749
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:21
description:
  Digital Signature Agent with SignNow + Telegram  

  Solve the #1 Bottleneck in Closing Deals  
  Tired of chasing clients for signed NDAs and contracts? This workflow eliminates the email back-and-forth and lets your clients sign instantly inside Telegram.  

  Faster deal flow** → Cut signing time from days to minutes.  
  No lost opportunities** → Eliminate delays that kill urgency in sales.  
  Professional & secure** → Legally binding signatures, fully trackable.  
  Hands-off automation** → Bot collects details, generates the signing link, and confirms when done.  

  Who Benefits Most  
  ✅ Brokers & consultants: Collect NDAs instantly before sharing sensitive offers.  
  ✅ Agencies & freelancers: Sign contracts with clients on the spot.  
  ✅ SMEs & startups: Speed up sales and onboarding with zero admin overhead.  
  ✅ HR teams: Seamlessly manage employee forms, waivers, and agreements.  

  What It Does for You  
  Triggered by a Telegram chat → no more clunky portals or attachments.  
  Collects name, email, and company in-chat.  
  Copies your SignNow template (NDA, contract, waiver, or any doc).  
  Prefills smart fields automatically.  
  Generates a one-click signing link.  
  Sends it via Telegram as a button (“🖊 Open NDA”).  
  Tracks completion with SignNow webhook → you get notified instantly.  

  Why This Template Instead of Building It Yourself  
  Save 20–30 hours** of research, API testing, and debugging.  
  Avoid headaches connecting SignNow’s API with Telegram.  
  Get a production-ready workflow you can deploy in minutes.  
  Customize easily → swap the NDA for any legal doc, add email/CRM integrations, or adjust the bot’s tone.  
  Peace of mind**: we’ve already tested it end-to-end (template copy, smart fields, webhook confirmation).  

  Requirements  
  n8n (self-hosted or cloud).  
  Active SignNow developer account with API key.  
  A Telegram bot via @BotFather.  
  HTTPS domain/server for webhook callbacks.  

  Bottom Line 💡  
  This workflow pays for itself the first time it helps you close a deal faster.  
  Instead of waiting 48 hours for someone to check email, they sign within 5 minutes in Telegram—so you can focus on closing, not chasing.  

  👉 By purchasing, you get:  
  Full workflow JSON file.  
  Email delivery with setup guidelines.  
  Access to a step-by-step Loom walkthrough video.  
  Contact Us** via services@quantumti.ae.  

nodes_used:
  ["n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.noOp","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.telegramTrigger","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.telegram","n8n-nodes-base.set","n8n-nodes-base.webhook","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.telegramTool"]

workflow_json_compressed:
  H4sIAAAAAAAAE7VY224aSRD9FcSz29uX6pufNvFKUR6ykZJo87CKUF+q8Sgww8KwiRX537cG4wzYQzCs/DYMTdWpU6cuzY/xHNswvvoxrupVG+qEb/P4aswh2aSKsKCcEsIBQjCYQxHFc5NjiDxZ0Cl5F10oCos1hseIBS2kCOOLcYvzxSy0eL3EvPqI7Xpx3dAbbJEctMs13l2M6ybjanz1N3nvvJqQeJZZMpm0ZRB8ZN5qwSIB8GiyzUqS5TrMkU4vlliq2WyymodlWyqc5VXn9nbRfVm7mm2ssxhWeHnTtosP+M8aV+2nppnRuUWzqtqqqcm7kXAhpPtCL8OSbLe4JFA/7u6N/UWfNufgUt5dbJEWniFnqRk3vDDg2jEXvGSgM49BOwUy90hX1bSum2+TbxhvmubreSiFORWkkjrZkgXjJXCCJgOL2UlWfLAyYImIoQeJ84g5Y55U9b9Vi+eBVPxkKiN6IxWPTGhnGDjgzAdtmPCYAtcqCPQ9yim2k47Oqp5O1svZuVTyU1EKGbjUpbDoBCUcRWZB58xiiVIKaT3nO9L8sxm9X+AydP4uRrkZ1U17Q5APwq2b94t9jExqc8FAyWMoRY8xqmSVlUw5yjJItymfzJSS3mPhzkTRY0zN4nbyUKTn8WiNO5VHF71VuSjmYiAeC1EYZFTMUKJBBA45hf1s5yat51i3k2UzwzMrHMzJsvQKATAIVkx2DLIsVOEmMme1z944ALtD5rtQ1aPXTTv6tKymU1wehNniDKcEoT+3m3PT5ZzUSUC3vWLTjb33TqVcmOAKiTQBzIG0jJpuyEopQ9+Nj8lkJzYAKX2xnkXvNIPILXMlZOa0McIbAmBSH1uoJukmtH1Iv1NMv/VxzUI9pQNVfTmbX9PBN00zneEbnFd19Sg+5Z6Vh17SxnnwjhNIKjkGyQgCSU+52BAcZC0x7iGd47xZ3j4D6/3B1+tScPm5qnPzbaD+noP1UvUNNxhKVTQsB015yjww3/EqQ+6qTyQajz3aP7bCHn2kfhba9RJHr96OXk3p1TPwh+25PcjAH+RzBLPpGdbAS8qeCTSegTA0yTL14EwvVRK6ZLnX2Nqq3I72oGM+qvZHOLty3La2XZlragmJe8eiTtS/TAIWuEWWeFEOrUUo7hSZ88IjSLJiMwDJnMTjjaJxKHzMHiRm6/rQrpu6xe/twVhW+JjuTRjPoFtdwk9MVhctNBSWKFIGFgP1Px1pmATwWcWilD4gkV/w3C8WT7rJU5qV9kb7Ekku5J3WmMK8yIl554XyOScl1TGa5WVfo4iFdG+QYqCxDTGQqeBpa7MAynAgslUf0kbfow+4mN2eKBsh5FBzPEUR2BWo1JrGdrdrRA8sAg2jHJ23PgfD/Q77H9sqfb0dkeYPz8fV5sz2yC75BJSK0Ysn85sGLwmNapegH258SriiMggWCtKcFKRiT92fmr+iPkIjIEEaRCpOh2rl/0FaghQqpkQTnVOVFYlkSxiSdSpCKymSjYNI5bmkWg5nkhptis5ZWoML3S+4ogUJiWPpI81QJUz0OzN9hXXe7Jq/XDR/DvSnWyaHhzXzVL3STyigGlNnahPfQ3eixzm1fzJPl6YOxnMHyeZXF3TLy/h9fMXvvnwhxw+jnazSYzdc1jRX3pHZ2ekenlgY8LYdz/f+Hj6c4ejnmN/3sL/T3ntpu8Sc46O9z+i+h31RvISHxz1/KOPHxvBgsh9f8F4C/OPr2Yuk4NFt+iV8PNnnh7LwZGMYpH3gDvMSiIf+DXkJPwekN6zSY7fgQcJ+BW/IzeBGMWD57u4/VJ5tqu0SAAA=

metadata_json:
  {"categories":["Communication","Legal","Automation"],"complexity":"complex","use_cases":["automate document signing requests","collect client signatures in chat","send contract reminders","integrate legal documents with messaging"],"estimated_setup_minutes":15,"required_services":["Telegram","SignNow","Google Gemini"],"key_features":["embedded signature collection","chat-based workflow","AI-powered document handling","signature tracking","webhook integration"],"target_audience":["sales teams","legal coordinators","contract managers"]}


name: Manage WooCommerce Store with Natural Language using GPT-4.1 and MCP Server
author_name: Rohit Dabra
author_username: rohitdabra
categories: []
created_at: 2025-09-20T06:30:22.933Z
updated_at: 2025-09-20T06:30:22.933Z
url: https://n8n.io/workflows/8769
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:21
description:
  WooCommerce AI Agent — n8n Workflow (Overview)

  Description: Turn your WooCommerce store into a conversational AI assistant — create products, place orders, run reports and manage coupons using natural language via n8n + an MCP Server.

  Key features
  Natural-language commands mapped to WooCommerce actions (products, orders, reports, coupons).  
  Structured JSON outputs + lightweight mapping to avoid schema errors.  
  Calls routed through your MCP Server for secure, auditable tool execution.  
  Minimal user prompts — agent auto-fetches context and asks only when necessary.  
  Extensible: add new tools or customize prompts/mappings easily.

  Demo of the workflow:

  Youtube Video

  🚀 Setup Guide: WooCommerce + AI Agent Workflow in n8n

  1. Prerequisites
  Running n8n instance  
  WooCommerce store with REST API keys  
  OpenAI API key  
  MCP server (production URL)  

  2. Import Workflow
  Open n8n dashboard  
  Go to Workflows → Import  
  Upload/paste the workflow JSON  
  Save as WooCommerce AI Agent  

  3. Configure Credentials

  OpenAI
  Create new credential → OpenAI API  
  Add your API key → Save & test  

  WooCommerce
  Create new credential → WooCommerce API  
  Enter Base URL, Consumer Key & Secret → Save & test  

  MCP Client
  In MCP Client node, set Server URL to your MCP server production URL  
  Add authentication if required  

  4. Test Workflow
  Open workflow in editor  
  Run a sample request (e.g., create a test product)  
  Verify product appears in WooCommerce  

  5. Activate Workflow
  Once tested, click Activate in n8n  
  Workflow is now live 🎉  

  6. Troubleshooting
  Schema errors** → Ensure fields match WooCommerce node requirements  
  Connection issues** → Re-check credentials and MCP URL  

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.mcpClientTool","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.mcpTrigger","n8n-nodes-base.wooCommerceTool","n8n-nodes-base.wooCommerceTool","n8n-nodes-base.wooCommerceTool","n8n-nodes-base.wooCommerceTool","n8n-nodes-base.wooCommerceTool","n8n-nodes-base.wooCommerceTool","n8n-nodes-base.wooCommerceTool","n8n-nodes-base.wooCommerceTool","n8n-nodes-base.wooCommerceTool","n8n-nodes-base.wooCommerceTool","n8n-nodes-base.wooCommerceTool","n8n-nodes-base.wooCommerceTool","n8n-nodes-base.wooCommerceTool","n8n-nodes-base.wooCommerceTool","n8n-nodes-base.wooCommerceTool","n8n-nodes-base.wooCommerceTool","n8n-nodes-base.wooCommerceTool","n8n-nodes-base.wooCommerceTool","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 8052 characters]

metadata_json:
  {"categories":["E-commerce","AI/ML"],"complexity":"medium","use_cases":["create products via chat","process orders","generate sales reports","manage discount coupons"],"estimated_setup_minutes":30,"required_services":["WooCommerce","OpenAI (GPT-4)","MCP Server"],"key_features":["Natural language to API conversion","Secure JSON output mapping","MCP Server authentication routing"],"target_audience":["Store owners","Customer support managers"]}


name: 🤖 Automate Lead Qualification & Multi-Channel Follow-up with AI (BANT)
author_name: Lucas Peyrin
author_username: lucaspeyrin
categories: []
created_at: 2025-09-20T09:54:57.584Z
updated_at: 2025-09-20T09:54:57.584Z
url: https://n8n.io/workflows/8773
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:19
description:
  How it works

  This workflow is your automated sales assistant, designed to intelligently qualify incoming leads and route them to the most appropriate follow-up channel. It uses the powerful BANT (Budget, Authority, Need, Timing) framework, powered by Google Gemini AI, to score leads as 'hot', 'mid', or 'cold', ensuring your sales team focuses on the most promising opportunities.

  Here's a step-by-step breakdown:

  Lead Capture: A public Form Trigger collects essential lead information, including their name, email, what they want to build, their budget, desired start time, and job role. These questions are specifically designed to gather BANT data.
  AI Lead Scoring: The collected data is sent to Google Gemini. A detailed prompt instructs the AI to act as a Lead Scoring Expert, evaluating each BANT component individually and then assigning an overall 'hot', 'mid', or 'cold' score based on predefined criteria.
  Intelligent Routing: A Switch node acts as the central router. Based on the AI's 'hot', 'mid', or 'cold' score, the workflow directs the lead down one of three distinct follow-up paths.
  Hot Leads (Calendar Booking): For highly qualified 'hot' leads, the workflow immediately redirects them to your calendar booking link, making it easy for them to schedule a direct conversation.
  Mid Leads (WhatsApp Engagement): For 'mid' priority leads, Google Gemini generates a personalized, pre-filled WhatsApp message summarizing their inquiry. The lead is then redirected to a WhatsApp chat with your sales team, allowing for quick, informal engagement.
  Cold Leads (Nurturing Email): For 'cold' leads who might be in an early research phase, Google Gemini crafts a helpful, non-salesy follow-up email. This email provides valuable resources (like templates or community links) and is sent via Gmail, keeping them engaged without pressure.

  Set up steps

  Setup time: ~10-15 minutes

  This workflow requires connecting your Google AI and Gmail accounts, and customizing several nodes to fit your sales process.

  Get Your Google AI API Key:
      Visit Google AI Studio at aistudio.google.com/app/apikey.
      Click "Create API key in new project" and copy the key.
      In the workflow, select the Score Lead node. Click the Credential dropdown and select + Create New Credential.
      Paste your key into the API Key field and Save.
      Repeat this for the Write Placeholder WA Message and Write Follow up Email nodes, selecting the credential you just created.

  Connect Your Gmail Account:
      Select the Send Follow up Email with Gmail node.
      Click the Credential dropdown and select + Create New Credential to connect your Google account. Follow the prompts to grant n8n access.

  Customize Lead Scoring Criteria:
      Go to the Score Lead node.
      In the Text parameter, carefully review and adapt the BANT Criteria Mapping and Scoring Logic to align with your specific sales process and ideal customer profile. This is crucial for accurate lead qualification.

  Configure Follow-up Channels:
      Hot Leads: Select the Calendar Booking Link node. Update the redirectUrl parameter with your personal or team's calendar booking link (e.g., Calendly, Chili Piper).
      Mid Leads: Select the Phone Number node. Set the whatsapp_phone value to your company's WhatsApp phone number (e.g., +15551234567). You can also customize the pre-filled WhatsApp message by adjusting the prompt in the Write Placeholder WA Message node.
      Cold Leads: Select the Redirect to Website node. Update the redirectUrl parameter to your company's main website or a relevant resource page (e.g., a free templates page, a blog post). You can also customize the email content and resources shared by adjusting the prompt in the Write Follow up Email node.

  Activate and Test:
      Activate the workflow using the toggle at the top right.
      Go to the Lead Contact Form node and click the "Open Form URL" button.
      Submit several test applications with different answers (e.g., one "hot" lead, one "mid", one "cold") to ensure the AI scores them correctly and they are routed to the appropriate follow-up action.

  Start qualifying and engaging your leads more effectively!

nodes_used:
  ["n8n-nodes-base.switch","@n8n/n8n-nodes-langchain.googleGemini","n8n-nodes-base.form","n8n-nodes-base.form","@n8n/n8n-nodes-langchain.googleGemini","n8n-nodes-base.form","@n8n/n8n-nodes-langchain.googleGemini","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.formTrigger","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 11308 characters]

metadata_json:
  {"categories":["Sales","Lead Generation","AI/ML"],"complexity":"medium","use_cases":["score incoming leads","route to sales queue","trigger follow-up channels"],"estimated_setup_minutes":15,"required_services":["Google Gemini AI","Google Forms"],"key_features":["lead scoring with BANT","multi-channel routing","AI-powered qualification"],"target_audience":["sales representatives","marketing managers","business owners"]}


name: 🤖 Self Improving Email AI Support with Human-in-the-Loop
author_name: Lucas Peyrin
author_username: lucaspeyrin
categories: []
created_at: 2025-09-20T15:06:17.309Z
updated_at: 2025-09-20T15:06:17.309Z
url: https://n8n.io/workflows/8779
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:19
description:
  How it works

  This workflow creates a sophisticated, self-improving customer support system that automatically handles incoming emails. It's designed to answer common questions using an AI-powered knowledge base and, crucially, to learn from human experts when new or complex questions arise, continuously expanding its capabilities.

  Think of it like having an AI assistant with a smart memory and a human mentor. Here's the step-by-step process:

  New Email Received: The workflow is triggered whenever a new email arrives in your designated support inbox (via Gmail).
  Classify Request: An AI model (Google Gemini 2.5 Flash Lite) first classifies the incoming email to ensure it's a genuine support request, filtering out irrelevant messages.
  Retrieve Knowledge Base: The workflow fetches all existing Question and Answer pairs from your dedicated Google Sheet knowledge base.
  AI Answer Attempt: A powerful AI model (Google Gemini 2.5 Pro) analyzes the customer's email against the entire knowledge base. It attempts to find a highly relevant answer and drafts a complete HTML email response if successful.
  Decision Point: An IF node checks if the AI found a confident answer.
      If Answer Found: The AI-generated HTML response is immediately sent back to the customer via Gmail.
      If No Answer Found (Human-in-the-Loop):
          Escalate to Human: The customer's summarized question and original email are forwarded to a human expert (you or your team) via Gmail, requesting their assistance.
          Human Reply & AI Learning: The workflow waits for the human expert's reply. Once received, another AI model (Google Gemini 2.5 Flash) processes both the original customer question and the expert's reply to distill them into a new, generic, and reusable Question/Answer pair.
          Update Knowledge Base: This newly created Q&A pair is then automatically added as a new row to your Google Sheet knowledge base, ensuring the system can answer similar questions automatically in the future.

  Set up steps

  Setup time: ~10-15 minutes

  This workflow requires connecting your Gmail and Google Sheets accounts, and obtaining a Google AI API key. Follow these steps carefully:

  Connect Your Gmail Account:
      Select the On New Email Received node.
      Click the Credential dropdown and select + Create New Credential to connect your Gmail account. Grant the necessary permissions.
      Repeat this for the Send AI Answer and Ask Human for Help nodes, selecting the credential you just created.

  Connect Your Google Sheets Account:
      Select the Get Knowledge Base node.
      Click the Credential dropdown and select + Create New Credential to connect your Google account. Grant the necessary permissions.
      Repeat this for the Add to Knowledge Base node, selecting the credential you just created.

  Set up Your Google Sheet Knowledge Base:
      Create a new Google Sheet in your Google Drive.
      Rename the first sheet (tab) to QA Database.
      In the first row of QA Database, add two column headers: Question (in cell A1) and Answer (in cell B1).
      Go back to the Get Knowledge Base node in n8n. In the Document ID field, select your newly created Google Sheet. Do the same for the Add to Knowledge Base node.

  Get Your Google AI API Key (for Gemini Models):
      Visit Google AI Studio at aistudio.google.com/app/apikey.
      Click "Create API key in new project" and copy the key.
      In the workflow, go to the Google Gemini 2.5 Pro node, click the Credential dropdown, and select + Create New Credential.
      Paste your key into the API Key field and Save.
      Repeat this for the Google Gemini 2.5 Flash Lite and Google Gemini 2.5 Flash nodes, selecting the credential you just created.

  Configure Human Expert Email:
      Select the Ask Human for Help node.
      In the Send To field, replace the placeholder email address with the actual email address of your human expert (e.g., your own email or a team support email).

  Activate the Workflow:
      Once all credentials and configurations are set, activate the workflow using the toggle switch at the top right of your n8n canvas.

  Start Learning!
  Send a test email to the Gmail account connected to the On New Email Received node. Observe how the AI responds, or how it escalates to your expert email and then learns from the reply. Check your Google Sheet to see new Q&A pairs being added!

nodes_used:
  ["n8n-nodes-base.if","@n8n/n8n-nodes-langchain.textClassifier","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.gmailTrigger","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 11420 characters]

metadata_json:
  {"categories":["AI/ML"],"complexity":"medium","use_cases":["automate customer support","derive insights from emails","maintain knowledge base"],"estimated_setup_minutes":45,"required_services":["Google Gemini API","Google Sheets","Any backend for Sticky Note app"],"key_features":["self-improving AI","human-in-the-loop learning","email classification"],"target_audience":["customer success managers","developers","AI practitioners"]}


name: 🛠️ Re-Access Binary Data from Any Previous Node
author_name: Lucas Peyrin
author_username: lucaspeyrin
categories: []
created_at: 2025-09-20T15:28:27.172Z
updated_at: 2025-09-20T15:28:27.172Z
url: https://n8n.io/workflows/8780
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:20
description:
  How it works

  Ever had binary data (like images, PDFs, or files) disappear in your n8n workflow after an intermediate node processed it? This workflow provides a powerful solution by demonstrating how to re-access and re-attach binary data from any previous node, even if it was dropped along the way. Think of it like having a reliable backup copy of your file always available, no matter what happens to the original as it moves through your workflow.

  Here's how this template works step-by-step:

  Initial Binary Fetch: The workflow starts by fetching a binary image (the n8n logo) from a URL using an HTTP Request node. This is our original binary data.
  Simulated Data Loss: A Set node then processes this data. Crucially, by default, Set nodes (and many others) do not pass binary data to subsequent nodes. This step intentionally simulates a common scenario where your binary data might seem to "disappear" from the workflow's output.
  Re-Access and Re-Attach: The core of the solution is a Code node. It uses a specific n8n expression ($(nodeName).item) to reach back to the original node that produced the binary data (Get n8n Logo (Binary)). It then retrieves that binary data and uses this.helpers.prepareBinaryData() to correctly re-attach it to the current item, making it available for all subsequent nodes.

  Set up steps

  Setup time: 0 minutes!

  This is a self-contained tutorial workflow, so no external accounts or credentials are required.

  Simply click the "Execute Workflow" button to run it.
  Observe the output of the Re-Access Binary Data from Previous Node to see the binary data successfully re-attached.
  Important for Customization: If you adapt this technique to your own workflows, remember to update the previousNodeName variable within the Re-Access Binary Data from Previous Node (Code node) to match the exact name of the node that originally produced the binary data you wish to retrieve.

nodes_used:
  ["n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.manualTrigger","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, 4224 characters]

metadata_json:
  {"categories":["DevOps","Data Processing"],"complexity":"medium","use_cases":["retrieve binary data","recover file streams","access node outputs"],"estimated_setup_minutes":5,"required_services":[],"key_features":["re-attach binary data","access previous node outputs","maintain file context"],"target_audience":["developers","ops engineers"]}


name: Create Fact-Based Articles from Knowledge Sources with Lookio and OpenAI GPT
author_name: Guillaume Duvernay
author_username: duv
categories: []
created_at: 2025-09-20T17:13:30.944Z
updated_at: 2025-09-20T17:13:30.944Z
url: https://n8n.io/workflows/8782
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  Move beyond generic AI-generated content and create articles that are high-quality, factually reliable, and aligned with your unique expertise.
  This template orchestrates a sophisticated "research-first" content creation process. Instead of simply asking an AI to write an article from scratch, it first uses an AI planner to break your topic down into logical sub-questions.

  It then queries a Lookio assistant—which you've connected to your own trusted knowledge base of uploaded documents—to build a comprehensive research brief. Only then is this fact-checked brief handed to a powerful AI writer to compose the final article, complete with source links. This is the ultimate workflow for scaling expert-level content creation.

  Who is this for?

  Content marketers & SEO specialists:** Scale the creation of authoritative, expert-level blog posts that are grounded in factual, source-based information.
  Technical writers & subject matter experts:** Transform your complex internal documentation into accessible public-facing articles, tutorials, and guides.
  Marketing agencies:** Quickly generate high-quality, well-researched drafts for clients by connecting the workflow to their provided brand and product materials.

  What problem does this solve?

  Reduces AI "hallucinations":** By grounding the entire writing process in your own trusted knowledge base, the AI generates content based on facts you provide, not on potentially incorrect information from its general training data.
  Ensures comprehensive topic coverage:** The initial AI-powered "topic breakdown" step acts like an expert outliner, ensuring the final article is well-structured and covers all key sub-topics.
  Automates source citation:** The workflow is designed to preserve and integrate source URLs from your knowledge base directly into the final article as hyperlinks, boosting credibility and saving you manual effort.
  Scales expert content creation:** It effectively mimics the workflow of a human expert (outline, research, consolidate, write) but in an automated, scalable, and incredibly fast way.

  How it works

  This workflow follows a sophisticated, multi-step process to ensure the highest quality output:

  Decomposition: You provide an article title and guidelines via the built-in form. An initial AI call then acts as a "planner," breaking down the main topic into an array of 5-8 logical sub-questions.
  Fact-based research (RAG): The workflow loops through each of these sub-questions and queries your Lookio assistant. This assistant, which you have pre-configured by uploading your own documents, finds the relevant information and source links for each point.
  Consolidation: All the retrieved question-and-answer pairs are compiled into a single, comprehensive research brief.
  Final article generation: This complete, fact-checked brief is handed to a final, powerful AI writer (e.g., GPT-4o). Its instructions are clear: write a high-quality article using only the provided information and integrate the source links as hyperlinks where appropriate.

  Building your own RAG pipeline VS using Lookio or alternative tools

  Building a RAG system natively within n8n offers deep customization, but it requires managing a toolchain for data processing, text chunking, and retrieval optimization. 

  An alternative is to use a managed service like Lookio, which provides RAG functionality through an API. This approach abstracts the backend infrastructure for document ingestion and querying, trading the granular control of a native build for a reduction in development and maintenance tasks.

  Implementing the template

  1. Set up your Lookio assistant (Prerequisite):
  Lookio is a platform for building intelligent assistants that leverage your organization's documents as a dedicated knowledge base.

  First, sign up at Lookio. You'll get 50 free credits to get started.
  Upload the documents you want to use as your knowledge base.
  Create a new assistant and then generate an API key.
  Copy your Assistant ID and your API Key for the next step.

  2. Configure the workflow:
  Connect your AI provider (e.g., OpenAI) credentials to the two Language Model nodes.
  In the Query Lookio Assistant (HTTP Request) node, paste your Assistant ID in the body and add your Lookio API Key for authentication (we recommend using a Bearer Token credential).

  3. Activate the workflow:
  Toggle the workflow to "Active" and use the built-in form to generate your first fact-checked article!

  Taking it further

  Automate publishing:* Connect the final *Article result* node to a *Webflow* or *WordPress** node to automatically create a draft post in your CMS.
  Generate content in bulk:* Replace the *Form Trigger* with an *Airtable* or *Google Sheet** trigger to automatically generate a whole batch of articles from your content calendar.
  Customize the writing style:* Tweak the system prompt in the final *New content - Generate the AI output** node to match your brand's specific tone of voice, add SEO keywords, or include specific calls-to-action.

nodes_used:
  ["@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.formTrigger","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest"]

workflow_json_compressed:
  [encoded data, 5056 characters]

metadata_json:
  {"categories":["Content Creation"],"complexity":"medium","use_cases":["Generate fact-based articles from knowledge base documents","Research-driven content creation workflow","Create content aligned with organizational expertise","Transform unstructured documents into structured articles"],"estimated_setup_minutes":25,"required_services":["OpenAI","Lookio"],"key_features":["AI-powered research planning","Knowledge base document retrieval","Factual content generation","Structured article assembly with AI rewriting","Subject matter expert alignment through FAQ retrieval"],"target_audience":["Content creators","Knowledge managers","Research assistants"]}


name: Build an Intelligent Q&A Bot with Lookio Knowledge Base and GPT
author_name: Guillaume Duvernay
author_username: duv
categories: []
created_at: 2025-09-20T19:53:32.637Z
updated_at: 2025-09-20T19:53:32.637Z
url: https://n8n.io/workflows/8787
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  Build a powerful AI chatbot that provides precise answers from your own company's knowledge base. This template provides a smart AI agent that connects to Lookio, a platform where you can easily upload your documents (from Notion, Jira, Slack, etc.) to create a dedicated knowledge source.

  What makes this agent "smart" is its efficiency. It's configured to handle simple greetings and small talk on its own, only using its powerful (and paid) knowledge retrieval tool when a user asks a genuine question. This cost-saving logic makes it perfect for building production-ready internal helpdesks, customer support bots, or any application where you need accurate, source-based answers.

  Who is this for?

  Customer support teams:** Build internal bots that help agents find answers instantly from your support documentation and knowledge bases.
  Product & engineering teams:** Create a chatbot that can answer technical questions based on your product documentation or internal wikis.
  HR departments:** Deploy an internal assistant that can answer employee questions based on company handbooks, policies, and procedures.
  Any business with a knowledge base:** Provide an interactive, conversational way for employees or customers to access information locked away in your documents.

  What problem does this solve?

  Provides accurate, grounded answers:** Ensures the AI agent's responses are based on your trusted, private documents, not the open internet, which prevents factual errors and "hallucinations."
  Makes your knowledge accessible:** Transforms your static documents and knowledge bases into an interactive, 24/7 conversational resource.
  Optimizes for cost and efficiency:** The agent is intelligent enough to handle simple small talk without making unnecessary API calls to your knowledge base, saving you credits and money.
  Simplifies RAG setup:** Provides a ready-to-use template for a common RAG (Retrieval-Augmented Generation) pattern, with the complexities of document management and retrieval handled by the Lookio platform.

  How it works

  First, build your knowledge base in Lookio: The process starts on the Lookio platform. You upload your documents (from Notion, Jira, PDFs, etc.) and create an "assistant" which becomes your secure, queryable knowledge base.
  A user asks a question: The n8n workflow begins when a user sends a message via the Chat Trigger.
  The agent makes a decision: The AI Knowledge Agent, guided by its system prompt, analyzes the user's message. If it's a simple greeting like "hi," it will respond directly. If it's a substantive question that requires specific knowledge, it decides to use its "Query knowledge base" tool.
  Query the Lookio knowledge base: The agent passes the user's question to the HTTP Request Tool. This tool securely calls the Lookio API with your specific Assistant ID and API key.
  Deliver the fact-based answer: Lookio searches your documents, synthesizes a precise answer, and sends it back to the workflow. The n8n agent then presents this answer to the user in the chat interface.

  Architectural Approaches to RAG in n8n with Lookio

  From a workflow perspective, integrating RAG natively in n8n involves orchestrating multiple nodes for data handling, embedding, and vector searches. This method provides high visibility and control over each step. 

  An alternative architectural pattern is to use an external RAG service like Lookio, which consolidates these steps into a single HTTP Request node. This simplifies the workflow's structure by abstracting the multi-stage RAG process into one API endpoint.

  Setup

  Set up your Lookio assistant (Prerequisite): First, go to Lookio, sign up (you get 50 free credits), create an assistant with your documents, and from your settings, copy your API Key and Assistant ID.
  Configure the Lookio tool: In the Query knowledge base (HTTP Request Tool) node:
      Replace the &lt;your-assistant-id&gt; placeholder with your actual Assistant ID.
      Replace the &lt;your-lookio-api-key&gt; placeholder with your actual API Key.
  Connect your AI model: In the OpenAI Chat Model node, connect your AI provider credentials.
  Activate the workflow. Your smart knowledge base agent is now live and ready to chat!

  Taking it further

  Adjust retrieval quality:* In the *Query knowledge base** node, you can change the query_mode from flash (fastest) to deep for higher quality but slightly slower answers, depending on your needs.
  Add more tools:** Enhance your agent by giving it other tools, like a web search for when the internal knowledge base doesn't have an answer, or a calculator for performing computations.
  Deploy it anywhere:* Swap the *Chat Trigger* for a *Slack* or *Discord** trigger to deploy your agent right where your team works.

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.httpRequestTool","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["AI/ML"],"complexity":"medium","use_cases":["answer company questions","query knowledge base","create support chatbot"],"estimated_setup_minutes":30,"required_services":["Lookio","GPT"],"key_features":["auto-replies to greetings","retrieves from company docs","handles small talk"],"target_audience":["customer support teams","content managers"]}


name: Adaptive email auto-responder with GPT-4, RAG and human feedback loop
author_name: LeeWei
author_username: leeweihernandez07
categories: []
created_at: 2025-09-21T14:12:43.044Z
updated_at: 2025-09-21T14:12:43.044Z
url: https://n8n.io/workflows/8802
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:21
description:
  ⚙️ Self Learning Agent: AI-Powered Email Auto-Responder that Improves with Feedback

  🧑‍💻 Author: LeeWei

  Overview of the n8n Workflow

  This n8n workflow builds a self-improving AI agent for handling email responses. It integrates Gmail for incoming messages, uses an AI agent with a Supabase vector store for knowledge retrieval, drafts replies based on dynamic prompts, and evaluates confidence scores. High-confidence drafts are sent automatically, while low-confidence ones are routed to Google Sheets for human review. Feedback from Sheets triggers updates to the prompt or knowledge base, enabling the agent to learn and refine its responses over time. The workflow supports OpenAI and OpenRouter models, with structured output parsing and conditional routing for efficiency.

  How it Works

  • Triggers on new Gmail emails, extracts content, and uses an AI agent with company knowledge from Supabase to draft a response.  
  • Assesses confidence; auto-sends high-confidence replies or saves drafts to Google Sheets for human feedback.  
  • Monitors Sheets for updates, extracts feedback via AI, and applies changes—either refining the dynamic prompt or adding new info to the vector store.  
  • Loops back improvements to enhance future responses without manual reconfiguration.

  Set Up Steps

  Setup takes about 20-30 minutes, focused on credentials and basic resource creation (e.g., Google Sheet and Supabase table). Detailed node-level guidance is in the workflow's sticky notes—clone the JSON for plug-and-play nodes, then edit only essentials like credentials and IDs. No need to rebuild nodes; they're pre-connected and ready.

  🚀 Steps to Connect:

  Gmail Setup  
     Set up OAuth2 credentials at console.cloud.google.com with scopes for Gmail (read/send).  
     Paste into the Gmail Trigger and Gmail nodes' credentials fields.  
     Test by sending a sample email to your connected inbox.

  OpenAI API Key  
     Generate at platform.openai.com.  
     Paste into the OpenAI Chat Model and OpenAI Chat Model1 nodes' credentials.  
     💡 Use a model like gpt-4o-mini for cost efficiency; adjust temperature in options for response creativity.

  OpenRouter API Key  
     Sign up at openrouter.ai and create an API key.  
     Paste into the OpenAI Chat Model2 node's credentials (used for feedback extraction).  
     Select a model like gpt-4o-mini in the node for consistency.

  Supabase Connection  
     Create a free account at supabase.com, set up a project, and add a table named documents with vector support (enable pgvector extension).  
     Paste API URL and key into the Supabase Vector Store and Supabase Vector Store1 nodes' credentials.  
     Initialize with sample docs via the workflow or dashboard for knowledge base testing.

  Google Sheets Setup  
     Create OAuth2 credentials at console.cloud.google.com with scopes for Sheets (read/write).  
     Paste into all Google Sheets nodes' credentials.  
     Duplicate the sample sheet (ID: 1YDzwYd5LdTnSQlFM5YrDhhbCnNH7oHVvNg6x3mYu8I4) or create one with tabs: "Dynamic Var" (for prompts) and "Feedback" (columns: Id, Original Email, Draft, Human Feedback, Status). Replace the documentId in nodes with your sheet's ID.

  Plug and Play Instructions

  Clone the provided JSON directly into n8n—all nodes (triggers, agents, parsers, switches) are pre-wired and functional. No re-setup required beyond the steps above. Key editable fields (detailed in sticky notes):

  AI Agent Node: System Message**  
    Customize the prompt template for response style (e.g., add rules for tone or specific facts). Default handles factual, concise replies.

  Structured Output Parser Node: JSON Schema**  
    Adjust if adding output fields (e.g., include "suggested_followup" alongside "final_response" and "resolution_score").

  If Node: Conditions**  
    Tweak the confidence threshold (default: &lt;4 routes to review) based on your risk tolerance.

  Information Extractor Node: Prompt**  
    Refine the feedback analysis (e.g., prioritize certain feedback types like "add facts" vs. "update prompt").

  Test with a sample email: Send a query to your Gmail, review in Sheets if low-confidence, provide feedback, and watch the agent improve on the next run.

  Potential Customizations

  Switch AI Models**: Swap OpenAI/OpenRouter nodes for alternatives like Anthropic via compatible n8n nodes.  
  Add Notifications**: Insert a Slack or email node post-Sheets save for alerts on low-confidence drafts.  
  Expand Knowledge Base**: Add a loader node to ingest more docs into Supabase automatically.  
  Confidence Routing**: Duplicate the If node for multi-tier reviews (e.g., score 1-2 escalates to admin).

  Considerations and Improvements

  API Limits**: Monitor OpenAI/OpenRouter usage for costs; start with mini models. Supabase free tier handles small knowledge bases—upgrade for scale.  
  Data Privacy**: Emails and feedback pass through AI providers—ensure compliance for sensitive info.  
  Feedback Loop**: Test iterations to confirm improvements; initial runs may need manual prompt tweaks.  
  Enhancements**: Integrate audio transcription for voice feedback or export logs for auditing.  

  This workflow turns email handling into an adaptive, low-maintenance system—ideal for support teams or busy inboxes. For tweaks, reference the sticky notes or experiment in a test clone!

nodes_used:
  ["@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.vectorStoreSupabase","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.outputParserAutofixing","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.gmail","n8n-nodes-base.googleSheets","n8n-nodes-base.markdown","n8n-nodes-base.googleSheetsTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.if","n8n-nodes-base.markdown","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.markdown","n8n-nodes-base.switch","n8n-nodes-base.gmail","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.vectorStoreSupabase","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","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.gmailTrigger"]

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

metadata_json:
  {"categories":["AI/ML","Communication"],"complexity":"medium","use_cases":["automated email response","AI-powered customer support","learning agent development"],"estimated_setup_minutes":120,"required_services":["Gmail","Supabase","Google Sheets"],"key_features":["Self-improving AI agent","RAG knowledge retrieval","Confidence scoring","Human-in-the-loop feedback"],"target_audience":["customer support teams","developers","AI researchers"]}


name: Jira Project Management Automation with Google Gemini & MCP Server
author_name: Rohit Dabra
author_username: rohitdabra
categories: []
created_at: 2025-09-22T16:26:50.376Z
updated_at: 2025-09-22T16:26:50.376Z
url: https://n8n.io/workflows/8838
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:22
description:
  Jira MCP Server Integration with n8n

  Overview

  Transform your Jira project management with the power of AI and automation! This n8n workflow template demonstrates how to create a seamless integration between chat interfaces, AI processing, and Jira Software using MCP (Model Context Protocol) server architecture.

  What This Workflow Does

  Chat-Driven Automation**: Trigger Jira operations through simple chat messages
  AI-Powered Issue Creation**: Automatically generate detailed Jira issues with descriptions and acceptance criteria
  Complete Jira Management**: Get issue status, changelogs, comments, and perform full CRUD operations
  Memory Integration**: Maintain context across conversations for smarter automations
  Zero Manual Entry**: Eliminate repetitive data entry and human errors

  Key Features

  ✅ Natural Language Processing: Use Google Gemini to understand and process chat requests  
  ✅ MCP Server Integration: Secure, efficient communication with Jira APIs  
  ✅ Comprehensive Jira Operations: Create, read, update, delete issues and comments  
  ✅ Smart Memory: Context-aware conversations for better automation  
  ✅ Multi-Action Workflow: Handle multiple Jira operations from a single trigger  

  Demo Video

  🎥 Watch the Complete Demo: Automate Jira Issue Creation with n8n & AI | MCP Server Integration

  Prerequisites

  Before setting up this workflow, ensure you have:

  n8n instance** (cloud or self-hosted)
  Jira Software** account with appropriate permissions
  Google Gemini API** credentials
  MCP Server** configured and accessible
  Basic understanding of n8n workflows

  Setup Guide

  Step 1: Import the Workflow

  Copy the workflow JSON from this template
  In your n8n instance, click Import &gt; From Text
  Paste the JSON and click Import

  Step 2: Configure Google Gemini

  Open the Google Gemini Chat Model node
  Add your Google Gemini API credentials
  Configure the model parameters:
     Model: gemini-pro (recommended)
     Temperature: 0.7 for balanced creativity
     Max tokens: As per your requirements

  Step 3: Set Up MCP Server Connection

  Configure the MCP Client node:
     Server URL: Your MCP server endpoint
     Authentication: Add required credentials
     Timeout: Set appropriate timeout values

  Ensure your MCP server supports Jira operations:
     Issue creation and retrieval
     Comment management
     Status updates
     Changelog access

  Step 4: Configure Jira Integration

  Set up Jira credentials in n8n:
     Go to Credentials &gt; Add Credential
     Select Jira Software API
     Add your Jira instance URL, email, and API token

  Configure each Jira node:
     Get Issue Status: Set project key and filters
     Create Issue: Define issue type and required fields
     Manage Comments: Set permissions and content rules

  Step 5: Memory Configuration

  Configure the Simple Memory node:
     Set memory key for conversation context
     Define memory retention duration
     Configure memory scope (user/session level)

  Step 6: Chat Trigger Setup

  Configure the When Chat Message Received trigger:
     Set up webhook URL or chat platform integration
     Define message filters if needed
     Test the trigger with sample messages

  Usage Examples

  Creating a Jira Issue

  Chat Input:
  Can you create an issue in Jira for Login Page with detailed description and acceptance criteria?

  Expected Output:
  New Jira issue created with structured description
  Automatically generated acceptance criteria
  Proper labeling and categorization

  Getting Issue Status

  Chat Input:
  What's the status of issue PROJ-123?

  Expected Output:
  Current issue status
  Last updated information
  Assigned user details

  Managing Comments

  Chat Input:
  Add a comment to issue PROJ-123: "Ready for testing in staging environment"

  Expected Output:
  Comment added to specified issue
  Notification sent to relevant team members

  Customization Options

  Extending Jira Operations

  Add more Jira operations (transitions, watchers, attachments)
  Implement custom field handling
  Create multi-project workflows

  AI Enhancement

  Fine-tune Gemini prompts for better issue descriptions
  Add custom validation rules
  Implement approval workflows

  Integration Expansion

  Connect to Slack, Discord, or Teams
  Add email notifications
  Integrate with time tracking tools

  Troubleshooting

  Common Issues

  MCP Server Connection Failed
  Verify server URL and credentials
  Check network connectivity
  Ensure MCP server is running and accessible

  Jira API Errors
  Validate Jira credentials and permissions
  Check project access rights
  Verify issue type and field configurations

  AI Response Issues
  Review Gemini API quotas and limits
  Adjust prompt engineering for better results
  Check model parameters and settings

  Performance Tips

  Optimize memory usage for long conversations
  Implement rate limiting for API calls
  Use error handling and retry mechanisms
  Monitor workflow execution times

  Best Practices

  Security: Store all credentials securely using n8n's credential system
  Testing: Test each node individually before running the complete workflow
  Monitoring: Set up alerts for workflow failures and API limits
  Documentation: Keep track of custom configurations and modifications
  Backup: Regular backup of workflow configurations and credentials

  Happy Automating! 🚀

  This workflow template is designed to boost productivity and eliminate manual Jira management tasks. Customize it according to your team's specific needs and processes.

nodes_used:
  ["@n8n/n8n-nodes-langchain.mcpTrigger","n8n-nodes-base.jiraTool","n8n-nodes-base.jiraTool","n8n-nodes-base.jiraTool","n8n-nodes-base.jiraTool","n8n-nodes-base.jiraTool","n8n-nodes-base.jiraTool","n8n-nodes-base.jiraTool","n8n-nodes-base.jiraTool","n8n-nodes-base.jiraTool","n8n-nodes-base.jiraTool","n8n-nodes-base.jiraTool","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.mcpClientTool","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.jiraTool","n8n-nodes-base.jiraTool","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4244 characters]

metadata_json:
  {"categories":["Project Management","AI/ML","DevOps"],"complexity":"medium","use_cases":["AI-enhanced issue tracking","Chat automation","Jira ticket generation","Model context orchestration"],"estimated_setup_minutes":15,"required_services":["Jira","Google Gemini","MCP Server"],"key_features":["Chat-driven triggers","AI-powered content creation","Model context protocol","Persistent session memory"],"target_audience":["Project managers","Software engineers","Technical integrators"]}


name: Transform Product Photos into Studio-Quality Visuals with Nano Banana & Telegram
author_name: SuS
author_username: sulieman-said
categories: []
created_at: 2025-09-22T22:53:36.260Z
updated_at: 2025-09-22T22:53:36.260Z
url: https://n8n.io/workflows/8843
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  Turn a single product photo into scroll-stopping, studio-quality visuals in minutes.  
  Perfect for Shopify / WooCommerce / Amazon / Etsy sellers, agencies, and UGC creators who want consistent, on-brand images without costly photoshoots or endless editing.

  Why you’ll love it
  Sell more, faster:** Professional, consistent visuals boost trust and conversions.
  Save time & money:** No studio, no photographer, no retouching marathon.
  Multiple looks instantly:* Get up to *3 variants** per product (great for A/B testing).
  On-brand results:* Subtle *brand color grading** for a polished, consistent look.
  Zero friction delivery:* Images are sent straight to your *Telegram** for instant review.

  Perfect for
  D2C brands, marketplace sellers, and dropshippers  
  Agencies producing UGC for clients  
  Creators who need ad-ready product images today  
  Teams that want reliable results without learning complex tools

  What’s included
  n8n workflow (template)** that automates: form input → prompt creation → image rendering → delivery
  Built-in guidance** (sticky notes) to keep you moving fast
  Prompt logic** tuned for product realism (camera, lighting, materials, subtle brand grading)

  Step-by-Step — How it works

  Open the form  
     Enter:
     Product Name & Product Description (material, finish, color, USP)  
     Product Image (required)  
     Optional: Background Image, or describe it (Background Type + Background Description)  
     Choose Camera Angle, Lighting Style, Aperture (Depth of Field)  
     Set Aspect Ratio, Variants (1–3), and your TG_Chat ID (Telegram target)

  Click “Submit”  
     The workflow automatically:
     Uploads your images  
     Writes photography-accurate prompts (focal length, aperture, lighting, surface/shadows)  
     Renders each variant into clean PNG results

  Receive your images  
     Finished images land in your Telegram chat/group for instant feedback and use

  That’s it. No manual editing, no waiting, no hassle.

  Real problems solved
  Inconsistent brand look?** Get uniform, polished visuals across your store and ads.  
  No time for shoots?** Generate studio/lifestyle shots from one upload.  
  Need options fast?** Produce multiple variants (A/B/C) in a single run.  
  Limited budget?** Cut studio and retouching costs to nearly zero.

  Customize it to your stack
  Swap Telegram for email, Slack, Google Drive, Dropbox, or S3
  Save prompts & URLs to Notion/Airtable for tracking
  Add an approval step before delivery
  Map aspect ratios to fixed pixel sizes for ad platforms

  Requirements
  n8n** (self-hosted or cloud)  
  Access to OpenAI and Kie.ai (API creds)  
  A Telegram bot added to your target chat (for delivery)

  You control which assets and metadata are sent to external APIs. Always ensure you have rights to the images you upload.

  FAQs

  Do I need a background image?  
  No. If you skip it, the workflow builds a realistic scene from your background description.

  How many images do I get?  
  Up to 3 variants per run (you choose 1–3).

  Are the results on-brand?  
  Yes—subtle grading honors your brand colors without over-saturation.

  Can I change the delivery channel?  
  Absolutely. Replace Telegram with your preferred destination (email, storage, chat).

  Use cases
  PDP images, marketplace listings, social ads, story posts, influencer kits, quick mockups for pitch decks and client approvals.

  Ready to level up your product visuals?
  Add to cart, upload your first product image, and get studio-quality results—today.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","n8n-nodes-base.merge","n8n-nodes-base.telegram","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.httpRequest","n8n-nodes-base.formTrigger"]

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

metadata_json:
  {"categories":["Marketing","E-Commerce"],"complexity":"medium","use_cases":["transform product images","generate marketing visuals","create A/B variants"],"estimated_setup_minutes":30,"required_services":["Nano Banana","Telegram"],"key_features":["single-image enhancement to studio quality","instant multiple visual variants","no photography studio required"],"target_audience":["e-commerce sellers","marketing agencies","social media creators"]}


name: PDF RAG Agent with Telegram Chat & Auto-Ingestion from Google Drive
author_name: Meelioo
author_username: mookielian
categories: []
created_at: 2025-09-23T10:13:36.936Z
updated_at: 2025-09-23T10:13:36.936Z
url: https://n8n.io/workflows/8860
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  How it works

  This workflow creates an intelligent document assistant called "Mookie" that can answer questions based on your uploaded documents. Here's how it operates:

  Document Ingestion:** The system can automatically load PDF files from Google Drive or accept PDFs uploaded directly through Telegram, then processes and stores them in a PostgreSQL vector database using Mistral embeddings
  Smart Retrieval:** When users ask questions via Telegram or a web chat interface, the AI agent searches through the stored documents to find relevant information using vector similarity matching
  Contextual Responses:** Using GPT-4 and the retrieved document context, Mookie provides accurate answers based solely on the ingested documents, avoiding hallucination by refusing to answer questions not covered in the stored materials
  Memory & Conversation:** The system maintains conversation history for each user, allowing for natural follow-up questions and contextual discussions

  Set up steps

  Estimated setup time: 30-45 minutes
  You'll need to configure several external services and credentials:

  Set up a PostgreSQL database with PGVector extension for document storage
  Create accounts and API keys for Azure OpenAI (GPT-4), Mistral Cloud (embeddings), and Google Drive access
  	Connect your own LLM's if you don't have these credentials.
  Configure a Telegram bot and obtain API credentials for chat functionality
  Update webhook URLs throughout the workflow to match your n8n instance
  Test the document ingestion pipeline with sample PDFs
  Verify the chat interfaces (both Telegram and web) are responding correctly

  &gt;The workflow includes approval mechanisms for PDF ingestion and handles both automated bulk processing from Google Drive and real-time document uploads through Telegram. Read the sticky notes provided in the template code for clear instructions.

nodes_used:
  ["@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.lmChatAzureOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.embeddingsMistralCloud","@n8n/n8n-nodes-langchain.vectorStorePGVector","n8n-nodes-base.splitInBatches","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.manualTrigger","n8n-nodes-base.webhook","@n8n/n8n-nodes-langchain.textSplitterTokenSplitter","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.vectorStorePGVector","@n8n/n8n-nodes-langchain.embeddingsMistralCloud","n8n-nodes-base.telegramTrigger","@n8n/n8n-nodes-langchain.lmChatAzureOpenAi","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.vectorStorePGVector","@n8n/n8n-nodes-langchain.embeddingsMistralCloud","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7680 characters]

metadata_json:
  {"categories":["AI/ML","Communication","Data Processing"],"complexity":"medium","use_cases":["Chatbot for document Q&A","Automatic document processing","Vector database indexing","Telegrm integration","RAG chat interface"],"estimated_setup_minutes":150,"required_services":["Telegram","Google Drive","PostgreSQL","Mistral API"],"key_features":["Auto-ingestion from cloud storage","Embedding generation","RAG chat interface","Vector search","Persistent memory"],"target_audience":["developers","AI engineers","ops engineers"]}


name: Product Review Analysis with BrowserAct & Gemini-Powered Recommendations
author_name: Madame AI Team | Kai
author_username: madame-ai
categories: []
created_at: 2025-09-23T11:08:47.001Z
updated_at: 2025-09-23T11:08:47.001Z
url: https://n8n.io/workflows/8862
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  Product Review Analysis with BrowserAct & Gemini-Powered Recommendations.

  This n8n template demonstrates how to perform product review sentiment analysis and generate improvement recommendations using an AI Agent.

  This workflow is perfect for e-commerce store owners, product managers, or marketing teams who want to automate the process of collecting feedback and turning it into actionable insights.

  How it works
  The workflow is triggered manually.
  An HTTP Request node initiates a web scraping task with the BrowserAct API to collect product reviews.
  A series of If and Wait nodes are used to check the status of the scraping task. If the task is not yet complete, the workflow pauses and retries until it receives the full dataset.
  An AI Agent node, powered by Google Gemini, then processes the scraped review summaries. It analyzes the sentiment of each review and generates actionable improvement recommendations.
  Finally, the workflow sends these detailed recommendations via a Telegram message and an Email to the relevant stakeholders.

  Requirements
  BrowserAct** API account for web scraping
  BrowserAct* "Product Review Sentiment Analysis*" Template
  Gemini** account for the AI Agent
  Telegram* and *SMTP** credentials for sending messages

  Need Help ?
  How to Find Your BrowseAct API Key & Workflow ID
  How to Connect n8n to Browseract
  How to Use & Customize BrowserAct Templates
  Workflow Guidance and Showcase

  How to INSTANTLY Get Product Improvement Ideas from Amazon Reviews | BrowserAct + n8n + Gemini

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.if","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.emailSendTool","n8n-nodes-base.telegramTool","n8n-nodes-base.emailSend","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.telegram","n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","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, 5712 characters]

metadata_json:
  {"categories":["AI/ML","Automation"],"complexity":"medium","use_cases":["collect product reviews","analyze sentiment","generate improvement recommendations"],"estimated_setup_minutes":20,"required_services":["Google Gemini","BrowserAct","Telegram"],"key_features":["web scraping","sentiment analysis","AI-powered recommendations","Telegram notifications"],"target_audience":["product managers","e-commerce store owners","marketing teams"]}


name: Indeed Job Matching to Telegram with BrowserAct, Gemini & Telegram
author_name: Madame AI Team | Kai
author_username: madame-ai
categories: []
created_at: 2025-09-23T12:22:44.828Z
updated_at: 2025-09-23T12:22:44.828Z
url: https://n8n.io/workflows/8864
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  Analyze job market data with AI to find matching jobs

  This n8n template helps you stay on top of the job market by matching scraped job offers with your resume using an AI Agent.

  This workflow is perfect for job seekers, recruiters, or market analysts who need to find specific job opportunities without manually sifting through countless listings.

  Steps to Take
  Create BrowserAct Workflow:* Set up the *Job Market Intelligence** template in your BrowserAct account.
  Add BrowserAct Token:* Connect your BrowserAct account credentials to the *HTTP Request** node.
  Update Workflow ID:* Change the workflow_id value in the *HTTP Request** node to match the one from your BrowserAct workflow.
  Connect Gemini:* Add your Google Gemini credentials and update your *resume* inside the prompt in the *AI Agent** node.
  Configure Telegram:* Connect your Telegram account and add your Channel ID to the *Send a text message** node.

  How it works
  The workflow is triggered manually by clicking "Execute workflow," but you can easily set it to run on a schedule.
  It uses an HTTP Request node to start a web scraping task via the BrowserAct API to collect the latest job offers.
  A series of If and Wait nodes monitor the scraping job, ensuring the full data is ready before proceeding.
  An AI Agent node, powered by Google Gemini, processes the job listings and filters them to find the best matches for your resume.
  A Code node then transforms the AI's output into a clean, readable format.
  Finally, the filtered job offers are sent directly to you via Telegram.

  Requirements
  BrowserAct** API account
  BrowserAct* *“Job Market Intelligence”** Template
  Gemini** account
  Telegram** credentials

  Need Help ?
  How to Find Your BrowseAct API Key & Workflow ID
  How to Connect n8n to Browseract
  How to Use & Customize BrowserAct Templates

  Workflow Guidance and Showcase

  Never Manually Search for a Job Again (AI Automation Tutorial)

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.outputParserStructured","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/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6852 characters]

metadata_json:
  {"categories":["Job Search","Recruitment","Data Processing"],"complexity":"medium","use_cases":["match jobs to resume","track job market","auto-notify jobs"],"estimated_setup_minutes":30,"required_services":["BrowserAct","Google Gemini","Telegram"],"key_features":["AI job matching","web scraping","real-time notifications"],"target_audience":["job seekers","recruiters","market analysts"]}


name: Generate Personalized Promotion Emails with GPT-5 and Gmail Context Analysis
author_name: Václav Čikl
author_username: venca
categories: []
created_at: 2025-09-23T20:47:16.952Z
updated_at: 2025-09-23T20:47:16.952Z
url: https://n8n.io/workflows/8884
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:21
description:
  Description:

  This sophisticated workflow automates personalized email campaigns for musicians and band managers. The system processes contact databases, analyzes previous Gmail conversation history, and uses AI to generate contextually appropriate emails tailored to different contact categories (venues, festivals, media, playlists).

  Key Features:
  Multi-category support**: Bookers, festivals, media, playlist curators
  Conversation context analysis**: Maintains relationship history from Gmail
  AI-powered personalization**: Custom prompts for each contact type
  Multi-language support**: Localized content and prompts
  Gmail integration**: Automatic draft creation with signatures
  Bulk processing**: Handle hundreds of contacts efficiently

  Use Cases:
  Album/single promotion campaigns
  Tour booking automation
  Festival submission management
  Playlist pitching campaigns
  Media outreach automation
  Venue relationship management

  Perfect For:
  Independent musicians and bands
  Music managers and booking agents
  Record labels with multiple artists
  PR agencies in music industry
  Festival organizers (for artist outreach)

  Required Setup:

  1. Credentials & APIs:
  Gmail OAuth2** (read messages + create drafts permissions)
  Google Sheets API** (for AutomatizationHelper configuration)
  OpenAI API** or compatible LLM (for content generation)

  2. Required Files:
  Contact Database** (CSV): Your venue/media/festival contacts
  AutomatizationHelper** (Google Sheets): Campaign configuration, prompts, links

  3. Example Data:
  📁 Download Example Files

  The folder contains:
  Sample contact database (CSV)
  AutomatizationHelper template (CSV + Google Sheets)
  Detailed setup instructions (README)

  Data Structure:

  Contact Database Fields:
  venue_name - Organization name
  category - booker/festival/media/playlisting  
  email_1 - Primary email (required)
  email_2 - Secondary email (optional, for CC)
  active - active/inactive (for filtering)
  language - EN/DE/etc. (for localization)

  AutomatizationHelper Fields:
  LANGUAGE - Language code
  CATEGORY - Contact type
  LATEST_SINGLE - Spotify/Apple Music link
  LATEST_VIDEO - YouTube/Vimeo link
  EPK - Electronic Press Kit URL
  SIGNATURE - HTML email signature
  PROMPT - AI prompt for this category
  SUBJECT - Email subject template

  Setup Instructions:

  Step 1: Prepare Your Data
  Download example files from the Google Drive folder
  Replace sample data with your real contacts and band information
  Customize AI prompts for your communication style
  Update signature with your contact details

  Step 2: Configure APIs
  Set up Gmail OAuth2 credentials in n8n
  Configure Google Sheets API access
  Add OpenAI API key for content generation

  Step 3: Import & Configure Workflow
  Import the workflow JSON
  Connect your credentials to respective nodes
  Update Google Sheets URL in AutomatizationHelper node
  Test with a small contact sample first

  Step 4: Customize & Run
  Adjust AI prompts in AutomatizationHelper for your style
  Update contact categories as needed
  Run workflow - drafts will be created in Gmail for review

  Tips:
  Start small**: Test with 5-10 contacts first
  Review drafts**: Always review AI-generated content before sending
  Update regularly**: Keep your AutomatizationHelper current with latest releases
  Monitor responses**: Track which prompts work best for different categories
  Language mixing**: You can have contacts in multiple languages

  Important Notes:
  Emails are created as Gmail drafts - manual review recommended
  Respects Gmail API rate limits automatically
  Conversation history analysis works best with existing email threads
  HTML signatures are automatically added (Gmail API limitation workaround)
  Handles multiple languages simultaneously
  Maintains conversation context across campaigns
  Generates unique content for each contact

  Template Author:

  Questions or need help with setup?

   Email: xciklv@gmail.com  
   LinkedIn: https://www.linkedin.com/in/vaclavcikl/

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.extractFromFile","n8n-nodes-base.splitInBatches","n8n-nodes-base.filter","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.code","n8n-nodes-base.gmail","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.googleSheets","n8n-nodes-base.readWriteFile","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.noOp","n8n-nodes-base.if","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["AI/ML","Communication","Marketing"],"complexity":"medium","use_cases":["generate personalized emails","analyze conversation history","automate music promotion","segment contact lists"],"estimated_setup_minutes":45,"required_services":["Gmail","GPT-5","Google Sheets"],"key_features":["sentiment analysis","contextual generation","dynamic segmentation"],"target_audience":["music industry professionals","band managers","promoters"]}


name: Automate Google Maps Lead Generation with Perplexity AI and Email Verification
author_name: Antxon Pous
author_username: verificaremails
categories: []
created_at: 2025-09-24T16:54:28.812Z
updated_at: 2025-09-24T16:54:28.812Z
url: https://n8n.io/workflows/8904
scraped_at: 2026-05-02 08:04:48
metadata_generated_at: 2026-05-02 08:36:21
description:
  Overview ✨

  This template finds businesses on Google Maps → writes to Google Sheets → enriches + **verifies email contact so your outreach stays clean and deliverable. It includes Sticky Notes  to explain the flow and setup.

  What it does 🔎➡️📄➡️✅

  Search & save: Fetch places and append rows (Name, Address, Website, Rating, Phone) to your sheet.
  Enrich: Ask an LLM (Perplexity) for Email + a short company Background.
  Verify emails: For Email Verification we use VerificarEmails  to validate every email address before writing back (fewer bounces, less blocking).

  &gt; ℹ️ VerificarEmails node: install the community node @verificaremails/n8n-nodes-verificaremails (Settings → Community Nodes) and use it until it’s approved as a core node. ✨
  Youtube Video

  Requirements 🔐

  Use n8n Credentials for: Google Sheets, Perplexity (Bearer), and VerificarEmails.
  Keep prompts short and temperature: 0 to lower cost.
  Create a Google Sheet with the following headers: UUID, Name, Address, Website, Rating	Email, Valid, Email, Phone, Valid Phone, Summary

  How to run ▶️

  Set your search params (query, locale, pages).
  Run the flow: it saves results → enriches → verifies emails → updates the sheet.
  If the read/update step doesn’t run, ensure the finalization (Done) path and the correct sheet/tab are selected.

  Why verify? ✉️🧹

  Bad emails cause bounces, throttling, and blocks. Verifying first protects sender reputation and improves deliverability.
  Beyond emails, VerificarEmails also offers **phone, names. Check Email Validation API documentation to better understand verification results.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.splitInBatches","n8n-nodes-base.code","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.if","@verificaremails/n8n-nodes-verificaremails.verificaremails","n8n-nodes-base.googleSheetsTrigger"]

workflow_json_compressed:
  [encoded data, 5924 characters]

metadata_json:
  {"categories":["Sales","Lead Generation","Data Enrichment"],"complexity":"medium","use_cases":["Google Maps lead scraping","Email address enrichment","Contact list verification","Outreach list preparation","Business data collection"],"estimated_setup_minutes":45,"required_services":["Google Cloud / Google Sheets","Perplexity AI API","VerificarEmails"],"key_features":["Automatic map search and data extraction","Prompt-based LLM enrichment","Real-time email verification","Automated sheet population","Lead data cleaning pipeline"],"target_audience":["sales developers","growth marketers","business development reps"]}


name: Index Google Drive files into a Supabase vector store with OpenAI embeddings
author_name: Allan Vaccarizi
author_username: growthai
categories: []
created_at: 2025-09-25T08:35:19.090Z
updated_at: 2025-09-25T08:35:19.090Z
url: https://n8n.io/workflows/8916
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:19
description:
  📺 Full walkthrough video: https://youtu.be/r5kN_la0O7I

  Author: Cole Medin

  Who it's for

  This workflow is for developers, data engineers, and knowledge management teams who need to automatically ingest documents stored in Google Drive into a searchable vector database — supporting RAG (retrieval-augmented generation) pipelines or semantic search applications.

  How it works

  One-time setup: A chat trigger runs SQL queries to create the required Postgres tables (documents, document_metadata, document_rows) and the vector similarity match function in Supabase/Postgres.
  Trigger: Two Google Drive triggers detect newly created or updated files in a watched folder and pass them into a batch loop.
  Clean old data: For each file, stale document rows and vector embeddings are deleted from Supabase before re-processing.
  Metadata upsert & download: Document metadata (ID, title, URL) is upserted into Postgres, then the file binary is downloaded from Google Drive.
  Route by file type: A Switch node directs each file to the correct extractor — PDF, Word/Office document, Excel spreadsheet, or CSV.
  Tabular data storage: Excel and CSV rows are inserted as raw JSONB records into Postgres and aggregated into a summary.
  Embedding & storage: All extracted text (documents, PDFs, tabular summaries) is chunked with a character text splitter, embedded via OpenAI, and inserted into the Supabase vector store.

  How to set up

  [ ] Connect Google Drive OAuth2 credentials to the two trigger nodes and the download node
  [ ] Add Supabase credentials to the delete and vector store insert nodes
  [ ] Add Postgres credentials to all Postgres nodes (table creation, metadata upsert, schema update, row insert)
  [ ] Set your OpenAI API key in the OpenAI Embeddings node
  [ ] Run the setup flow once via the chat trigger to create all database tables and the vector match function
  [ ] Set the Google Drive folder ID to watch in both trigger nodes
  [ ] Tune the Character Text Splitter chunk size and overlap to fit your document sizes

  Requirements

  Google Drive account (OAuth2)
  Supabase project with pgvector extension enabled
  Postgres database (can be the Supabase Postgres instance)
  OpenAI API key

  How to customize

  Add file types:** Extend the Switch node with additional branches (e.g., PowerPoint, plain text) and pair each with an appropriate extractor.
  Swap the embedding model:** Replace text-embedding-3-small with a larger OpenAI model or an alternative provider (e.g., Cohere, Mistral) in the embeddings node.
  Connect a RAG chatbot:** Pipe the Supabase vector store into an AI Agent or chain node to build a document Q&A assistant on top of the ingested files.

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.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.extractFromFile","n8n-nodes-base.supabase","n8n-nodes-base.set","n8n-nodes-base.extractFromFile","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.textSplitterCharacterTextSplitter","n8n-nodes-base.summarize","n8n-nodes-base.switch","@n8n/n8n-nodes-langchain.vectorStoreSupabase","n8n-nodes-base.extractFromFile","n8n-nodes-base.set","n8n-nodes-base.extractFromFile","n8n-nodes-base.splitInBatches","n8n-nodes-base.supabase","n8n-nodes-base.postgres","n8n-nodes-base.postgres","n8n-nodes-base.postgres","n8n-nodes-base.postgres","n8n-nodes-base.postgres","n8n-nodes-base.postgres","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 9120 characters]

metadata_json:
  {"categories":["Data Processing"],"complexity":"medium","use_cases":["index documents for AI search","build RAG pipelines","process document archives"],"estimated_setup_minutes":15,"required_services":["Google Drive","Supabase","OpenAI"],"key_features":["automatic document processing with AI embeddings","schema creation for PostgreSQL","AI-powered text chunking","network error handling"],"target_audience":["developers","data engineers","knowledge managers"]}


name: Sync Calendly bookings to Easy Redmine CRM with comments and sales activities
author_name: Easy8
author_username: easy8
categories: []
created_at: 2025-09-25T09:30:33.379Z
updated_at: 2025-09-25T09:30:33.379Z
url: https://n8n.io/workflows/8919
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:21
description:
  Sync New Calendly Bookings to Esko CRM with Comment, Sales Activity, and Outlook Email

  Intro/Overview  
  This automation workflow automatically syncs newly scheduled Calendly meetings into Easy Redmine CRM. When a meeting is booked via Calendly, it finds the associated lead in Easy Redmine CRM using the invitee’s email address and logs both a comment and a sales activity in the lead’s record.  
  In addition, the workflow sends an email in Microsoft Outlook, ensuring the account manager can check and knows about the meeting.

  Ideal for sales teams and customer success managers, this workflow ensures your CRM and calendar stay updated with every new meeting—no manual entry required.

  How it works  

  Calendly Trigger  
  Watches for invitee.created events (newly booked meetings)  
  Authenticates with Calendly via OAuth2  

  Get ID from email  
  Sends a GET request to Easy Redmine CRM to search for a lead using the invitee’s email  
  Extracts the lead ID, required for further CRM actions  

  Add Comment  
  Posts a comment to the lead’s record in Easy Redmine CRM  
  The comment includes:  
   Invitee’s full name  
   Scheduled date/time of the meeting  
   Meeting description  

  Sales Activity POST  
  Creates a new sales activity in Easy Redmine CRM under the same lead  
  Includes structured details:  
   Invitee’s name  
   Meeting date and time  
   Description of the meeting  

  Send an email  
  Sends a notification email in Microsoft Outlook  
  Maps the name, start time, and description using dynamic values from the Calendly booking  
  Ensures the account manager is informed about the scheduled meeting

  How to Use  

  Import the workflow  
  Copy or download the JSON of this workflow  
  In your n8n editor, click Import Workflow and paste/upload the JSON  

  Set up credentials  
  Calendly API:  
   Use OAuth2 credentials  
   Ensure proper scopes for reading event data  
   Follow n8n’s setup guide: https://docs.n8n.io/integrations/builtin/credentials/calendly/  
  Easy Redmine CRM:  
   Add credentials using an API token or OAuth2, depending on your CRM setup  
  Microsoft Outlook:  
   Set up OAuth2 credentials and connect your Outlook email  

  Assign and configure nodes  
  Calendly Trigger:  
   Confirm it’s set to listen for invitee.created  
  Get ID from email:  
   Update the GET request URL to match your Easy Redmine CRM lead search endpoint  
   Ensure it uses the invitee’s email from the trigger  
  Add Comment & Sales Activity POST:  
   Use your Easy Redmine CRM’s correct endpoints  
   Map dynamic fields like lead ID, name, meeting time, and description  
  Send email notification:  
   Set up your preferred Outlook email  
   Map meeting details into email body (e.g. name, time, description)  

  Timezone and formatting  
  If needed, use a Code node to convert the meeting time if your CRM or Outlook expects a specific format or timezone  

  Test the workflow  
  Schedule a test meeting via Calendly using an email tied to an existing CRM lead  
  Check Easy Redmine CRM to confirm:  
   A comment was added  
   A sales activity was created under the correct lead  
  Check Outlook to confirm:  
   An email notification was received 

  Example Use Cases  

  Sales Enablement  
  Log every discovery or demo call automatically, helping reps track all activity in one place  
  Block time in calendars without double-booking risk  

  Customer Success  
  Keep onboarding and check-in meetings logged, improving visibility across the team  
  Ensure calendar events are created for every scheduled session  

  Lead Qualification  
  Identify engaged leads based on bookings and trigger follow-up sequences  

  Requirements  
  Calendly account with API access  
  Easy Redmine CRM user with API access  
  Microsoft Outlook account with email access  

  Customization (Optional)  

  Add Filters  
  Use IF or Switch nodes to handle only specific event types (e.g., demo calls vs intro calls)  

  Extend Comments  
  Include additional data from Calendly like meeting location or answers to custom questions   

   

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.calendlyTrigger","@easysoftware/n8n-nodes-easy-redmine.easyRedmine","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.microsoftOutlook"]

workflow_json_compressed:
  [encoded data, 4792 characters]

metadata_json:
  {"categories":["Sales","CRM"],"complexity":"medium","use_cases":["Schedule meetings","Track leads","Log activities"],"estimated_setup_minutes":15,"required_services":["Calendly","Easy Redmine CRM","Microsoft Outlook"],"key_features":["Automatic lead matching","Sales activity logging","Comment creation","Email notifications"],"target_audience":["sales managers","account managers","CRM admins"]}


name: WhatsApp personal AI assistant with voice, image, and PDF support
author_name: Allan Vaccarizi
author_username: growthai
categories: []
created_at: 2025-09-25T09:57:25.788Z
updated_at: 2025-09-25T09:57:25.788Z
url: https://n8n.io/workflows/8920
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:20
description:
  📺 Full walkthrough video: https://youtu.be/-kpt0BwjKls

  Who it's for

  This workflow is for professionals and power users who want a personal AI assistant accessible directly via WhatsApp, capable of managing their emails, calendar, files, and online searches through natural conversation — including voice messages.

  How it works

  A WhatsApp Trigger receives incoming messages and routes them by input type: text, audio, image, or PDF document.
  Audio messages are downloaded and transcribed via OpenAI Whisper. Images are downloaded and analyzed by GPT-4o mini. PDF files are validated, downloaded, and text-extracted.
  All input types are normalized into a unified text field before being passed to the AI agent.
  A personal assistant agent powered by Claude Sonnet processes the request using a full tool suite: Gmail (send/search), Google Calendar (create/read events), Google Drive (search), Airtable (contact email database), SerpAPI (web search), Discord (direct messages), and a calculator.
  If the original input was a voice message, the agent's response is converted to audio via OpenAI TTS and sent back as a WhatsApp audio message. Otherwise, a text reply is sent.

  How to set up

  [ ] Connect your WhatsApp Business API credentials to the trigger and all send nodes
  [ ] Add OpenAI API credentials to the transcription, image analysis, and TTS nodes
  [ ] Add Anthropic API credentials to the Claude Sonnet model node
  [ ] Connect Gmail OAuth2 credentials to the send and search email tool nodes
  [ ] Connect Google Calendar OAuth2 credentials to the create and get events tool nodes
  [ ] Connect Google Drive OAuth2 credentials to the search tool node
  [ ] Connect Airtable credentials and configure the base/table IDs for the email database
  [ ] Add SerpAPI credentials to the web search tool node
  [ ] Add Discord bot credentials and configure the target user ID for direct messages
  [ ] Set the correct phone number ID and recipient number in all WhatsApp send nodes

  Requirements

  WhatsApp Business API account
  OpenAI API account
  Anthropic API account
  Google account (Gmail, Calendar, Drive) with OAuth2
  Airtable account with a contacts/email base
  SerpAPI account
  Discord bot with direct message permissions

  How to customize

  Add or remove tools from the Personal Assistant Agent node to expand or restrict capabilities (e.g. add a Notion or Slack tool).
  Adjust the memory window size in the Conversation Memory Buffer node to control how much conversation history the agent retains.
  Edit the agent's system prompt to change its persona, language, or restrict it to a specific scope (e.g. a customer support assistant).

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.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.httpRequest","n8n-nodes-base.extractFromFile","n8n-nodes-base.whatsApp","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.whatsApp","n8n-nodes-base.whatsApp","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.whatsApp","n8n-nodes-base.whatsApp","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.if","n8n-nodes-base.switch","@n8n/n8n-nodes-langchain.toolSerpApi","@n8n/n8n-nodes-langchain.lmChatAnthropic","n8n-nodes-base.airtableTool","n8n-nodes-base.airtableTool","n8n-nodes-base.googleDriveTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.gmailTool","n8n-nodes-base.discordTool","n8n-nodes-base.gmailTool","n8n-nodes-base.googleCalendarTool","@n8n/n8n-nodes-langchain.toolCalculator","n8n-nodes-base.whatsAppTrigger","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.whatsApp","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["AI/ML","Communication"],"complexity":"medium","use_cases":["Automate personal assistant tasks","Handle voice message transcriptions","Process PDF files via WhatsApp","Manage email scheduling via chat","Conduct AI conversations on WhatsApp"],"estimated_setup_minutes":30,"required_services":["WhatsApp","Google Calendar API","Audio transcription API","PDF processing service","Email service API","Online search API"],"key_features":["Multi-modal input handling for WhatsApp","AI-driven natural conversation routing","Automated email and calendar management","File analysis including PDFs and images","Voice message transcription workflow"],"target_audience":["AI developers","Customer experience managers","Productivity enthusiasts"]}


name: Generate SEO anchor text suggestions from URLs with Firecrawl and Claude
author_name: Allan Vaccarizi
author_username: growthai
categories: []
created_at: 2025-09-25T14:42:12.794Z
updated_at: 2025-09-25T14:42:12.794Z
url: https://n8n.io/workflows/8928
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:21
description:
  📺 Full walkthrough video: https://youtu.be/XUvPeH5LSVU

  ⚠️ Self-hosted only — This template uses a community node (Firecrawl) and cannot run on n8n Cloud.

  Who it's for

  This workflow is for SEO specialists and content managers who need to generate optimized internal linking anchor texts at scale, without manually reviewing each page. It suits agencies or in-house teams managing large site structures stored in Google Sheets.

  How it works

  A chat message triggers the workflow and passes a Google Sheets URL as input.
  The workflow reads all rows from the sheet and filters only those with a URL but no anchor text yet.
  Filtered rows are fed into a loop that processes each URL one at a time.
  Each URL is scraped using Firecrawl; failed scrapes are flagged in the sheet and skipped.
  A code node cleans the raw markdown output (removes links, navigation, ads, etc.).
  An AI agent powered by Claude Sonnet 4 analyzes the cleaned content and generates 10 SEO anchor text suggestions with linguistic variations.
  Results are written back to the Google Sheet; the loop then continues to the next row.

  How to set up

  [ ] Connect your Google account and point the Read Sheet Data node to the correct spreadsheet and sheet tab.
  [ ] Add your Firecrawl API credentials to the Scrape URL via Firecrawl node.
  [ ] Add your Anthropic API key to the Claude Sonnet 4 Model node.
  [ ] Verify the Filter node conditions match your sheet column names (URL not empty, Anchors empty).
  [ ] Configure both Update nodes to write to the correct columns in your sheet.

  Requirements

  Google Sheets account (OAuth2)
  Firecrawl account and API key
  Anthropic API key (Claude Sonnet 4)
  n8n self-hosted instance (community node required)

  How to customize

  Swap Claude Sonnet 4 for another LLM supported by n8n LangChain nodes (GPT-4o, Mistral, etc.).
  Edit the AI agent system prompt to generate other types of SEO content, such as meta descriptions or H1 suggestions.
  Extend the filter logic to support multiple processing statuses (e.g., re-process rows marked as outdated).

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.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.filter","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.googleSheets","@mendable/n8n-nodes-firecrawl.firecrawl","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.lmChatAnthropic"]

workflow_json_compressed:
  [encoded data, 7884 characters]

metadata_json:
  {"categories":["SEO","Content Management","Marketing"],"complexity":"medium","use_cases":["Generate SEO anchor text suggestions","Extract content from URLs","Process internal linking strategy","Scale content optimization","Manage site structures"],"estimated_setup_minutes":20,"required_services":["Firecrawl","Anthropic Claude","Google Sheets"],"key_features":["URL content extraction","AI-powered anchor text generation","Batch processing support","Spreadsheet integration","Chat-triggered execution"],"target_audience":["SEO specialists","Content managers","Agencies"]}


