# templates

name: Jarvis: Productivity AI Agent for Tasks, Calendar, Email & Expense using MCPs
author_name: Jitesh Dugar
author_username: jiteshdugar
categories: []
created_at: 2025-09-12T06:41:03.347Z
updated_at: 2025-09-12T06:41:03.347Z
url: https://n8n.io/workflows/8500
scraped_at: 2025-12-24 13:02:41
description:
  Who’s it for
  This template is designed for anyone who wants to use Telegram as a personal AI assistant hub.  
  If you often juggle tasks, emails, calendars, and expenses across multiple tools, this workflow consolidates everything into one seamless AI-powered agent.

  What it does
  Jarvis listens to your Telegram messages (text or audio) and processes them with OpenAI.  
  Based on your request, it can:
  ✅ Manage tasks (create, complete, or delete)  
  📅 Handle calendar events (schedule, reschedule, or check availability)  
  📧 Send, draft, or fetch emails with Gmail  
  👥 Retrieve Google Contacts  
  💵 Log and track expenses  

  All responses are returned directly to Telegram, giving you a unified command center.

  How to set up
  Clone this template into your n8n workspace.  
  Connect your accounts (Telegram, Gmail, Google Calendar, Contacts, etc.).  
  Add your OpenAI API key in the Credentials section.  
  Test by sending a Telegram message like “Create a meeting tomorrow at 3pm” or “Add expense $50 for lunch.”  or "Draft a reply with a project proposal to that email from Steve"

  Requirements
  n8n instance (cloud or self-hosted)  
  Telegram Bot API credentials  
  Gmail, Google Calendar, and Google Contacts credentials (optional, if using those features)  
  OpenAI API key  
  ElevenLabs API Key (optional, if you need audio note support)

  How to customize
  Swap Gmail with another email provider by replacing the Gmail MCP node.  
  Add additional MCP integrations (e.g., Notion, Slack, CRM tools).  
  Adjust memory length to control how much context Jarvis remembers.  

  With this template, you can transform Telegram into your all-in-one AI assistant, simplifying workflows and saving hours every week.

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.mcpClientTool","@n8n/n8n-nodes-langchain.mcpClientTool","@n8n/n8n-nodes-langchain.mcpTrigger","n8n-nodes-base.gmailTool","n8n-nodes-base.gmailTool","n8n-nodes-base.gmailTool","n8n-nodes-base.gmailTool","n8n-nodes-base.gmailTool","n8n-nodes-base.gmailTool","n8n-nodes-base.gmailTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","@n8n/n8n-nodes-langchain.mcpTrigger","@n8n/n8n-nodes-langchain.mcpClientTool","n8n-nodes-base.googleTasksTool","@n8n/n8n-nodes-langchain.mcpTrigger","n8n-nodes-base.telegramTrigger","n8n-nodes-base.switch","@elevenlabs/n8n-nodes-elevenlabs.elevenLabs","@n8n/n8n-nodes-langchain.mcpClientTool","@n8n/n8n-nodes-langchain.mcpTrigger","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.googleTasksTool","n8n-nodes-base.googleTasksTool","n8n-nodes-base.googleTasksTool","n8n-nodes-base.googleTasksTool","n8n-nodes-base.telegram","n8n-nodes-base.googleContactsTool","@n8n/n8n-nodes-langchain.mcpTrigger","@n8n/n8n-nodes-langchain.mcpClientTool","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.filter","n8n-nodes-base.set","n8n-nodes-base.switch","n8n-nodes-base.telegram","@elevenlabs/n8n-nodes-elevenlabs.elevenLabs","@n8n/n8n-nodes-langchain.toolThink","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, 13184 characters]


name: Nano Banana AI Product Image Creator via WhatsApp
author_name: Roshan Ramani
author_username: rawsun007
categories: []
created_at: 2025-09-13T07:15:44.824Z
updated_at: 2025-09-13T07:15:44.824Z
url: https://n8n.io/workflows/8549
scraped_at: 2025-12-24 13:02:41
description:
  Nano Banana AI Product Image Creator via WhatsApp

  Transform ordinary product photos into premium marketing visuals instantly using Gemini AI for prompt enhancement and Nano Banana AI for image generation through WhatsApp.

  Who's it for
  Small business owners
  E-commerce sellers
  Social media managers
  Anyone selling products online

  What it does
  • Takes your normal product photo
  • Gets your text/caption as input
  • Gemini AI improves your basic prompt into professional instructions
  • Nano Banana AI generates new premium ad image using enhanced prompt
  • Keeps your original product exactly the same
  • Returns social media-ready marketing image

  Key Benefits
  Smart Prompt Enhancement - Gemini AI makes your simple text into professional prompts  
  Superior Image Generation - Nano Banana AI creates premium visuals
  Original Product Protected - Your product stays 100% unchanged  
  Fast Results - Get enhanced image in under 60 seconds  
  Easy to Use - Just send photo via WhatsApp  
  Social Media Ready - Perfect for Instagram, Facebook, ads  

  How it works
  Send Photo + Caption → Upload product image with your text
  AI Prompt Magic → Gemini AI turns your caption into professional prompt
  Image Generation → Nano Banana AI creates new premium ad using improved prompt
  Receive Result → Get marketing-ready image back instantly

  The Magic Process
  Your Input: "Make this look premium for Instagram"  
  Gemini AI Enhanced Prompt: "Create luxury product advertisement with professional studio lighting, marble background, elegant typography, commercial photography style, high-end visual appeal..."  
  Nano Banana AI Generated Result: Professional marketing image created with your improved prompt

  What you get
  • Better Prompts - Gemini AI turns simple text into detailed instructions
  • Professional Images - Studio-quality marketing visuals generated by Nano Banana AI
  • Same Product - Your original item stays unchanged
  • Quick Results - Ready in under 60 seconds

  Perfect for
  Instagram posts
  Facebook ads  
  Online store images
  Social media marketing

  Why This Combo Works Best
  Gemini AI** - Expert at understanding and enhancing text prompts
  Nano Banana AI** - Specialized for high-quality product image generation
  Best of Both** - Combines prompt expertise with image generation power
  Faster Results** - Optimized dual-AI workflow

  Perfect solution for creating professional product ads from simple WhatsApp messages using the power of both Gemini AI and Nano Banana AI.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.whatsAppTrigger","n8n-nodes-base.whatsApp","n8n-nodes-base.httpRequest","n8n-nodes-base.extractFromFile","@n8n/n8n-nodes-langchain.googleGemini","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.convertToFile","n8n-nodes-base.whatsApp"]

workflow_json_compressed:
  H4sIAAAAAAAAE62WXW/bNhSG/4qgi12ZGUmRIpWruUnaGduSIElXDEMQ8OPQFmpTnsQ0DQr/91G2UdmuFHvAbiny5XO+XupbuoCg0vNvaemboLyBiU3P079uPt49Ta7vH8bXF1dPk8t0lAZYLOcqwEUNtrmH8Ly8qOIKBIgHQv0Mq1HqKwtNev53VGtVGJaGGmFQBlghpniOtFKALMky5pzTmhVR2asFxN33oTSfX5PrKkB73euyXfTSo7VqPNnAWbPes92yrJoylJWPF6IcyxGilD3GZVVHwQB104ZlKh/AhyiVrjaqf8Yv61NkNdqCaqqJ0ZwhpSxFDDuKVG4zJKmSwopCCC070E8zFZrxcpn8AU2jppDcgYHyS8zDEPbL9sRDXU6nUO+zMzliRR7BX0DPqupzV4BPV+9+vbn5bZP/vbCGQ7GOGbAuptuaAjGjHSoUF0hbRUleaJaZvAvlA4QYhS1V8vHu96P4+9xUngD+RE9Hl5m1YBVHOZERvWAGFbjQSHBsBaYWFNmpwmX14ueVsslk0dbgfTkfbptZCMs7+OcZmrAfA2dsG8ObjOyMfqdULi8Mj2zG5BlixABSRSaRwo7HbhEis6qj3MCFKnkXOXI2SAhfQ61MeF9Xi20kO5RS4hHD+Bhll8kCgBOZUQRGCMSkFEhZTJFROWBMqeIOOsbxJLmEppz6ZOzV/LUpmw7zl8j5c8c6V35qZqr0Z9Oqms7hAyxKX/5Iywt6Oq0T0oCjCmVYScQ0uDh92iJHhMJacJbZHdroOrr0sC37Tz3MB6ldQD09SCihGJ9S92yn7oApywlkiOSGI8aVRpq72AbSESN5ToxzHeVtDVEZkvHtJLlVr22jDgKayh7yRec8ha+j45YwY1yGBDamzWGOCkMlkpjlFAulohHsjr2HOnp5cuVnredvh+i/zw/J2UmgewMEudQql4hGr0LM6QxpJx2yMlqTIwVkzu6W23+BOmznp52kt1HNZv9D9eMYESnoKbDkrOtNlmeYAzHxZTAYMUHjy8AJRZwCl4ZwKDTdecLAH0vlgJdiiU8w0+y4mUaFmAIPplVev4D7Hh8XFnF+453xlW65jlnpevco/h5Y+Jqe49XjY7z00Nb6VI8Paq90jxv9H+pko94Xap/8oG8fMo++H3nLRnsj7fOIPpaj09qrPjQ4fTf09W2v6BBKf4WOTO4A9kBd+65402V75Yf/3foz3/t71KO8Wv0L9saqyEoLAAA=


name: AI Shopify Product Descriptions: GPT-4o Vision + Claude + Analytics
author_name: Kumar Shivam
author_username: shivam840708
categories: []
created_at: 2025-09-13T20:07:15.240Z
updated_at: 2025-09-13T20:07:15.240Z
url: https://n8n.io/workflows/8562
scraped_at: 2025-12-24 13:02:41
description:
  Complete AI Product Description Generator
  Transforms product images into high-converting copy with GPT-4o Vision + Claude 3.5
  The Shopify AI Product Description Factory is a production-grade n8n workflow that converts product images and metadata into refined, SEO-aware descriptions—fully automated and region-agnostic. It blends GPT-4o vision for visible attribute extraction, Claude 3.5 Sonnet for premium copy, Perplexity research for verified brand context, Google Sheets for orchestration and audit trails, plus automated daily sales analytics enrichment. Link-header pagination and structured output enforcement ensure reliable scale.



  To refine according to your usecase connect via my profile
  @connect

  Key Advantages

  Vision-first copywriting
  Uses gpt-4o to identify only visible physical attributes (closure, heel, materials, sole) from product images—no guesses.

  Premium copy generation
  anthropic/claude-3.5-sonnet crafts concise, benefit-led descriptions with consistent tone, length control, and clean formatting.

  Research-assisted accuracy
  perplexityTool verifies vendor/brand context from official sources to avoid speculation or fabricated claims.

  Pagination you can trust
  Automates Shopify REST pagination via Link headers and persists page_info for resumable runs.

  Google Sheets orchestration
  Centralized staging, status tracking, and QA in Products, with ProcessingState for batch/page markers, and Error_log for diagnostics.

  Bulletproof error feedback
  errorTrigger + AI diagnosis logs clear, non-technical and technical explanations to Error_log for fast recovery.

  Automated sales analytics
  Daily sales tracking automatically captures and enriches total sales data for comprehensive business intelligence and performance monitoring.

  How It Works

  Intake and filtering
  httpRequest fetches /admin/api/2024-04/products.json?limit=200&{page_info}
  code filters only items with:
    Image present
    Empty body_html
    The currSeas:SS2025 tag
  Extracts tag metadata such as x-styleCode, country_of_origin, and gender when available

  Pagination controller
  code parses Link headers for rel="next" and extracts page_info
  googleSheets updates ProcessingState with page_info_next and increments the batch number for resumable polling

  Generation pipeline
  googleSheets pulls rows with Status = Ready for AI Description; limit throttles batch size
  openAi Analyze image (model gpt-4o) returns strictly visible features
  lmChatOpenRouter (Claude 3.5) composes the SEO description, optionally blending verified vendor context from perplexityTool
  outputParserStructured guarantees strict JSON: product_id, product_title (normalized), generated_description, status
  googleSheets writes results back to Products for review/publish

  Sales analytics enrichment
  Schedule Trigger** runs daily at 2:01 PM to capture previous day's sales
  httpRequest fetches paid orders from Shopify REST API with date range filtering
  splitOut and summarize nodes calculate total daily sales
  Automatic Google Sheets logging with date stamps and totals
  Zero-sale days are properly recorded for complete analytics continuity

  Reliability and insight
  errorTrigger routes failures to an AI agent that explains the root cause and appends a concise note to Error_log.

  What's Inside (Node Map)

  Data + API
  httpRequest (Shopify REST 2024-04 for products and orders)
  googleSheets (multiple sheet operations)
  googleSheetsTool (error logging)

  AI models
  openAi (gpt-4o vision analysis)
  lmChatOpenRouter (anthropic/claude-3.5-sonnet for content generation)
  AI Agent** (intelligent error diagnosis)

  Analytics & Processing
  splitOut (order data processing)
  summarize (sales totals calculation)
  set nodes (data field mapping)

  Tools and guards
  perplexityTool (brand research)
  outputParserStructured (JSON validation)
  memoryBufferWindow (conversation context)

  Control & Scheduling
  scheduleTrigger (multiple time-based triggers)
  cron (periodic execution)
  limit (batch size control)
  if (conditional logic)
  code (custom filtering and pagination logic)

  Observability
  errorTrigger + AI diagnosis to Error_log
  Processing state tracking
  Sales analytics logging

  Content & Compliance Rules

  Locale-agnostic copy**; brand voice is configurable per store
  Only image-verifiable attributes** (no guesses); clean HTML suitable for Shopify themes
  Optional normalization rules (e.g., color/branding cleanup, title sanitization)
  Style code inclusion supported when x-styleCode is present
  Gender-aware content generation when gender tag is present
  Strict JSON output** and schema consistency for safe downstream publishing

  Setup Steps

  Core integrations
  Shopify Access Token** — Products read + Orders read (REST 2024-04)
  OpenAI API** — gpt-4o vision
  OpenRouter API** — Claude Sonnet (3.5)
  Perplexity API** — vendor/market verification via perplexityTool
  Google Sheets OAuth** — Products, ProcessingState, Error_log, Sales analytics

  Configure sheets
  ProcessingState** with fields:
    batch number
    page_info_next
  Products** with:
    Product ID
    Product Title
    Product Type
    Vendor
    Image url
    Status
    country of origin
    x_style_code
    gender
    Generated Description
  Error_log** with:
    timestamp
    Reason of Error
  Sales Analytics Sheet** with:
    Date
    Total Sales

  Workflow Capabilities

  Discovery and staging
  Auto-paginate Shopify; stage eligible products in Sheets with reasons and timestamps.

  Vision-grounded copywriting
  Descriptions reflect only visible attributes plus verified brand context; concise, mobile-friendly structure with gender-aware tone.

  Metadata awareness
  Auto-injects x-styleCode, country_of_origin, and gender when present; natural SEO for brand and product type.

  Sales intelligence
  Automated daily sales tracking with Melbourne timezone support, handles zero-sale days, and maintains complete historical records.

  Error analytics
  Layman + technical diagnosis logged to Error_log to shorten MTTR.

  Safe output
  Structured JSON via outputParserStructured for predictable row updates.

  Credentials Required

  Shopify Access Token** (Products + Orders read permissions)
  OpenAI API Key** (GPT-4o vision)
  OpenRouter API Key** (Claude Sonnet)
  Perplexity API Key**
  Google Sheets OAuth**

  Ideal For

  E-commerce teams** scaling compliant, on-brand product copy with comprehensive sales insights
  Agencies and SEO specialists** standardizing image-grounded descriptions with performance tracking and analytics
  Stores** needing resumable pagination, auditable content operations, and automated daily sales reporting in Sheets

  Advanced Features

  Dual-workflow architecture**: Content generation + Sales analytics in one system
  Link-header pagination with page_info persistence in ProcessingState
  Title/content normalization (e.g., color removal) configurable per brand
  Gender-aware copywriting** based on product tags
  Memory windows (memoryBufferWindow) to keep multi-step prompts consistent
  Melbourne timezone support** for accurate daily sales cutoffs
  Zero-sales handling** ensures complete analytics continuity
  Structured Output enforcement for downstream safety
  AI-powered error diagnosis** with technical and layman explanations

  Time & Scheduling (Universal)

  The workflow includes two independent schedules:
  Content Generation**: Every 5 minutes (configurable) for product processing
  Sales Analytics**: Daily at 2:01 PM Melbourne time for previous day's sales

  For globally distributed teams, schedule triggers and timestamps can be standardized on UTC to avoid regional drift.

  Pro Tip

  Start with small batches (limit set to 10 or fewer) to validate both copy generation and sales tracking flows. The workflow handles dual operations independently - content generation failures won't affect sales analytics and vice versa. Monitor the Error_log sheet for any issues and use the ProcessingState sheet to track pagination progress.

nodes_used:
  ["@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.errorTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.stickyNote","n8n-nodes-base.perplexityTool","n8n-nodes-base.stickyNote","n8n-nodes-base.perplexityTool","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.googleSheets","n8n-nodes-base.limit","n8n-nodes-base.cron","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.limit","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.set","n8n-nodes-base.manualTrigger","n8n-nodes-base.code","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.summarize","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 17292 characters]


name: Automated WhatsApp Welcome Messages for Sales Leads with Google Sheets & Rapiwa
author_name: SpaGreen Creative
author_username: spagreen
categories: []
created_at: 2025-09-14T07:40:19.761Z
updated_at: 2025-09-14T07:40:19.761Z
url: https://n8n.io/workflows/8572
scraped_at: 2025-12-24 13:02:43
description:
  Automated WhatsApp Welcome Messages for Sales Leads with Google Sheets & Rapiwa

  Who is this for?

  This automation is ideal for sales teams, digital marketers, support agents, or small business owners who collect leads in Google Sheets and want to automatically send WhatsApp welcome messages. It's a cost-effective and easy-to-use solution built for those not using the official WhatsApp Business API but still looking to scale communication.

  What this Workflow Does

  This n8n automation reads leads from a connected Google Sheet, verifies if the provided WhatsApp numbers are valid using the Rapiwa API, and sends a personalized welcome message. It updates the sheet based on delivery success or failure, and continues this process every 5 minutes — ensuring new leads are automatically engaged.

  Key Features
  Automatic Scheduling**: Runs every 5 minutes (adjustable)
  Google Sheets Integration**: Reads and updates lead data
  WhatsApp Number Validation**: Confirms number validity via Rapiwa
  Personalized Messaging**: Uses lead name for custom messages
  Batch Processing**: Sends up to 60 messages per cycle
  Safe API Usage**: Adds 5-second delay between each message
  Error Handling**: Marks failed messages as not sent and unverified
  Live Status Updates**: Sheet columns are updated after each attempt
  Loop Logic**: Repeats continuously to catch new rows

  How to Use

  Step-by-step Setup

  Prepare Your Google Sheet
     Copy this Sample Sheet
     Ensure it includes the following columns:
       WhatsApp No
       name  (note: trailing space is required)
       row_number
       status, check, validity

  Connect Google Sheets in n8n
     Use OAuth2 credentials to allow n8n access
     Set the workflow to fetch rows where check is not empty

  Get a Rapiwa Account
     Sign up at https://rapiwa.com
     Add your WhatsApp number
     Retrieve your Bearer Token from your Rapiwa dashboard

  Configure HTTP Request Nodes
     Use Rapiwa's API endpoints:
       Verify Number: https://app.rapiwa.com/api/verify-whatsapp
       Send Message: https://app.rapiwa.com/api/send-message
     Add your Bearer Token to the header

  Start Your Workflow
     Run the n8n automation
     It will read leads, clean phone numbers, verify WhatsApp validity, send messages, and update the sheet accordingly

  Requirements
  A Google Sheet with correctly formatted columns
  Active Rapiwa subscription (~$5/month)
  A valid Bearer Token from Rapiwa
  Your WhatsApp number connected to Rapiwa
  n8n instance with:
    Google Sheets integration (OAuth2 setup)
    HTTP Request capability

  Google Sheet Column Reference


  | name            | number        | email             | time                        | check   | validity   | status    |
  |-----------------|--------------|-------------------|-----------------------------|---------|------------|-----------|
  | Abdul Mannan	  | 8801322827799| contact@spagreen.net| September 14th 2025, 10:34  | checked | verified   | sent      |
  | Abdul Mannan	  | 8801322827798| contact@spagreen.net| September 14th 2025, 10:34  | checked | unverified | not sent  |

  Workflow Logic Summary
  Trigger Every 5 Minutes
  Fetch All Rows with Pending Status
  Limit to 60 Rows per Execution
  Clean and Format Phone Numbers
  Check Number Validity via Rapiwa
  Condition Check:
     If valid → Send Message
     If invalid → Update status as not sent, unverified
  Send WhatsApp Message via Rapiwa
  Update Sheet Row
     On success: sent, verified, checked
     On failure: not sent, unverified
  Delay 5 seconds before next message
  Repeat for next lead

  Customization Ideas
  Add image or document sending support via Rapiwa
  Customize messages based on additional fields (e.g., product, service)
  Log failures to a separate sheet
  Send admin email for failed batches
  Add support for multilingual messages

  Notes & Warnings
  The column name "name " includes a space — do not remove or rename it.
  International number format is required for Rapiwa to work correctly.
  If you're sending many messages, increase the Wait node delay to prevent API throttling.

  Support
  WhatsApp Support: Chat Now
  Discord: Join SpaGreen Community
  Facebook Group: SpaGreen Support
  Website: https://spagreen.net
  Developer Portfolio: Codecanyon SpaGreen

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

workflow_json_compressed:
  [encoded data, 6716 characters]


name: Automated Web Form Data Collection and Storage to Google Sheets
author_name: SpaGreen Creative
author_username: spagreen
categories: []
created_at: 2025-09-14T10:18:48.583Z
updated_at: 2025-09-14T10:18:48.583Z
url: https://n8n.io/workflows/8574
scraped_at: 2025-12-24 13:02:43
description:
  Automated Web Form Data Collection and Storage to Google Sheets

  Overview

  This n8n workflow allows you to collect data from a web form and automatically store it in a Google Sheet. It includes data cleanup, date stamping, optional batching, and throttling for smooth handling of single or bulk submissions.

  What It Does

  Accepts data submitted from a frontend form via HTTP POST
  Cleans and structures the incoming JSON data
  Adds the current date automatically
  Appends structured data into a predefined Google Sheet
  Supports optional batch processing and a wait/delay mechanism to control data flow

  Features

  Webhook trigger for external form submissions  
  JavaScript-based data cleaning and formatting  
  Looping and delay nodes to manage bulk submissions  
  Direct integration with Google Sheets via OAuth2  
  Fully mapped columns to match sheet structure  
  Custom date field (submitted_date) auto-generated per entry  

  Who’s It For

  This workflow is perfect for:

  Developers or marketers collecting lead data via online forms  
  Small businesses tracking submissions from landing pages or contact forms  
  Event organizers managing RSVP or booking forms  
  Anyone needing to collect and store structured data in Google Sheets automatically

  Prerequisites

  Make sure the following are ready before use:

  An n8n instance (self-hosted or cloud)  
  A Google account with edit access to the target Google Sheet  
  Google Sheets OAuth2 API credentials** configured in n8n  
  A web form or app capable of sending POST requests with the following fields:
    business_name
    location
    whatsapp
    email
    name

  Google Sheet Format

  Ensure your Google Sheet contains the following exact column names (case-sensitive):

  | Business Name | Location   | WhatsApp Number | Email               | Name           | Date       |
  |---------------|------------|------------------|----------------------|----------------|------------|
  | SpaGreen      | Bangladesh | 8801322827753    | spagreen@gmail.com   | Abdul Mannan   | 2025-09-14 |
  | Dev Code Journey  | Bangladesh | 8801322827753   | admin@gmail.com   | Shakil Ahammed | 2025-09-14 |

  &gt; Note: The "Email" column includes a trailing space — this must match exactly in both the sheet and column mapping settings.

  Setup Instructions

  1. Configure Webhook

  Use the Webhook node with path:  
    /93a81ced-e52c-4d31-96d2-c91a20bd7453  
  Accepts POST requests from a frontend form or application  

  2. Clean Incoming Data

  The JavaScript (Code) node extracts the submitted fields  
  Adds a submitted_date in YYYY-MM-DD format  

  3. Loop Over Items (Optional for Batches)

  The Split In Batches node allows handling bulk form submissions  
  For single entries, the workflow still works without adjustment  

  4. Append to Google Sheet

  The Google Sheets node appends each submission as a new row  
  Mapped fields include:
    Business Name  
    Location  
    WhatsApp Number  
    Email  
    Name  
    Date (auto-filled)

  5. Add Delay (Optional)

  The Wait node adds a 5-second delay per loop  
  Helps throttle requests when handling large batches

  How to Use It

  Clone or import the workflow into your n8n instance  
  Update the Webhook URL in your frontend form’s POST action  
  Connect your Google Sheets account in the Google Sheets node  
  Confirm that your target sheet matches the required column structure  
  Start sending data from your form — new entries will appear in your sheet automatically  


  &gt; This setup ensures form submissions are received, cleaned, stored efficiently, and processed in a controlled manner.
  Notes

  Use the Sticky Notes in the workflow to understand each node’s purpose  
  You can modify the delay duration or disable looping for single submissions  
  For added security, consider securing your webhook with headers or tokens  

  Ideal Use Cases

  Contact forms  
  Lead capture pages  
  Event signups or bookings  
  Newsletter or email list opt-ins  
  Surveys or feedback forms  

  Support
  WhatsApp Support: Chat Now 
  Discord: Join SpaGreen Community 
  Facebook Group: SpaGreen Support 
  Website: spagreen 
  Developer Portfolio: Codecanyon SpaGreen

nodes_used:
  ["n8n-nodes-base.splitInBatches","n8n-nodes-base.webhook","n8n-nodes-base.googleSheets","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.wait"]

workflow_json_compressed:
  [encoded data, 5512 characters]


name: WhatsApp Number Verify & Confirmation System with Rapiwa API and Google Sheets
author_name: SpaGreen Creative
author_username: spagreen
categories: []
created_at: 2025-09-14T12:36:23.627Z
updated_at: 2025-09-14T12:36:23.627Z
url: https://n8n.io/workflows/8576
scraped_at: 2025-12-24 13:02:44
description:
  WhatsApp Number Verify & Confirmation System with Rapiwa API and Google Sheets
  Who is this for?
  This n8n workflow makes it easy to verify WhatsApp numbers submitted through a form. When someone fills out the form, the automation kicks in—capturing the data via a webhook, checking the WhatsApp number using the Rapiwa API, and sending a confirmation message if the number is valid. All submissions, whether verified or not, are logged into a Google Sheet with a clear status. 

  It’s a great solution for businesses, marketers, or developers who need a reliable way to verify leads, manage event signups, or onboard customers using WhatsApp.

  How it works?
  This n8n automation listens for form submissions via a webhook, validates the provided WhatsApp number using the Rapiwa API, sends a confirmation message if the number is verified, and then appends the submission data to a Google Sheet, marking each entry as verified or unverified.

  Features
  Webhook Trigger**: Captures form submissions via HTTP POST
  Data Cleaning**: Formats and sanitizes the WhatsApp number
  Rapiwa API Integration**: Checks if the number is registered on WhatsApp
  Conditional Messaging**: Sends confirmation messages only to verified WhatsApp users
  Google Sheets Integration**: Appends all submissions with a validity status
  Auto Timestamping**: Adds the submission date in YYYY-MM-DD format
  Throttling Support**: Built-in delay to avoid hitting API or sheet rate limits
  Separation of Verified/Unverified**: Distinct handling for both types of entries

  Nodes Used in the Workflow
  Webhook**
  Format Webhook Response Data** (Code)
  Loop Over Items** (Split In Batches)
  Cleane Number** (Code)
  check valid whatsapp number** (HTTP Request)
  If** (Conditional)
  Send Message Using Rapiwa**
  verified append row in sheet** (Google Sheets)
  unverified append row in sheet** (Google Sheets)
  Wait1**

  How to set up?
  Webhook

  Add a Webhook node to the canvas.
  Set HTTP Method to POST.
  Copy the Webhook URL path (/a9b6a936-e5f2-4xxxxxxxxxe0a970d5).
  In your frontend form or app, make a POST request to:
  The request body should include:
  {
    "business_name": "ABC Corp",
    "location": "New York",
    "whatsapp": "+1 234-567-8901",
    "email": "user@example.com",
    "name": "John Doe"
  }

  Format Webhook Response Data

  Add a Code node after the Webhook node.
  Use this JavaScript code:
  const result = $input.all().map(item =&gt; {
    const body = item.json.body || {};
    const submitted_date = new Date().toISOString().split('T')[0];

    return {
      business_name: body.business_name,
      location: body.location,
      whatsapp: body.whatsapp,
      email: body.email,
      name: body.name,
      submitted_date: submitted_date
    };
  });
  return result;

  Loop Over Items

  Insert a SplitInBatches node after the data formatting.
  Set the Batch Size to a reasonable number (e.g. 1 or 10).
  This is useful for processing multiple submissions at once, especially if your webhook receives arrays of entries.

  Note: If you expect only one submission at a time, it still helps future-proof your workflow.

  Cleane Number

  Add a Code node named Cleane Number.
  Paste the following JavaScript:
  const items = $input.all();
  const updatedItems = items.map((item) =&gt; {
    const waNo = item?.json["whatsapp"];
    const waNoStr = typeof waNo === 'string' ? waNo : (waNo !== undefined && waNo !== null ? String(waNo) : "");
    const cleanedNumber = waNoStr.replace(/\D/g, "");
    item.json["whatsapp"] = cleanedNumber;
    return item;
  });
  return updatedItems;

  Check WhatsApp Number using Rapiwa

  Add an HTTP Request node.
  Set:
     Method: POST
     URL: https://app.rapiwa.com/api/verify-whatsapp
  Add authentication:
     Type: HTTP Bearer
     Credentials: Select or create Rapiwa token
  In Body Parameters, add:
     number: ={{ $json.whatsapp }}
  This API call checks if the WhatsApp number exists and is valid.

  Expected Output:
  {
      "success": true,
      "data": {
          "number": "+88017XXXXXXXX",
          "exists": true,
          "jid": "88017XXXXXXXXXXXXX",
          "message": "✅ Number is on WhatsApp"
      }
  }

  Conditional If Check

  Add an If node after the Rapiwa validation.
  Configure the condition:
     Left Value: ={{ $json.data.exists }}
     Operation: true
  If true → valid number → go to messaging and append as "verified".
  If false → go to unverified sheet directly.

  Note: This step branches the flow based on the WhatsApp verification result.

  Send WhatsApp Message (Rapiwa)

  Add an HTTP Request node under the TRUE branch of the If node.
  Set:
     Method: POST
     URL: https://app.rapiwa.com/api/send-message
  Authentication:
     Type: HTTP Bearer
     Use same Rapiwa token
  Body Parameters:
     number: ={{ $json.data.phone }}
     message_type: text
     message: 
            Hi {{ $('Cleane Number').item.json.name }},
       Thanks! Your form has been submitted successfully.
       
  This sends a confirmation message via WhatsApp to the verified number.

  Google Sheets – Verified Data

  Add a Google Sheets node under the TRUE branch (after the message is sent).
  Set:
     Operation: Append
     Document ID: Choose your connected Google Sheet
     Sheet Name: Set to your active sheet (e.g., Sheet1)
  Column Mapping:
     Business Name: ={{ $('Cleane Number').item.json.business_name }}
     Location: ={{ $('Cleane Number').item.json.location }}
     WhatsApp Number: ={{ $('Cleane Number').item.json.whatsapp }}
     Email : ={{ $('Cleane Number').item.json.email }}
     Name: ={{ $('Cleane Number').item.json.name }}
     Date: ={{ $('Cleane Number').item.json.submitted_date }}
     validity: verified

  Use OAuth2 Google Sheets credentials for access.

  Note: Make sure the sheet has matching column headers.

  Google Sheets – Unverified Data

  Add a Google Sheets node under the FALSE branch of the If node.
  Use the same settings as the verified node, but set:
     validity: unverified

  This stores entries with unverified WhatsApp numbers in the same Google Sheet.

  Wait Node

  Add a Wait node after both Google Sheets nodes.
  Set Wait Time:
     Value: 2 seconds

  This delay prevents API throttling and adds buffer time before processing the next item in the batch.

  Google Sheet Column Reference
  A Google Sheet formatted like this ➤ Sample Sheet  

  | Business Name      | Location     | WhatsApp Number | Email      | Name    | validity   | Date  |
  |---------------------|--------------------|------------------|----------------------|------------------|------------|------------|
  | SpaGreen Creative   | Dhaka, Bangladesh  | 8801322827799| contact@spagreen.net | Abdul Mannan    | unverified | 2025-09-14 |
  | SpaGreen Creative   | Bagladesh          | 8801322827799| contact@spagreen.net| Abdul Mannan   | verified   | 2025-09-14 |

  &gt; Note: The Email  column includes a trailing space. Ensure your column headers match exactly to prevent data misalignment.

  How to customize the workflow
  Modify confirmation message with your brand tone
  Add input validation for missing or malformed fields
  Route unverified submissions to a separate spreadsheet or alert channel
  Add Slack or email notifications on new verified entries

  Notes & Warnings
  Ensure your Google Sheets credential has access to the target sheet
  Rapiwa requires an active subscription for API access
  Monitor Rapiwa API limits and adjust wait time as needed
  Keep your webhook URL protected to avoid misuse

  Support & Community
  WhatsApp Support: Chat Now  
  Discord: Join SpaGreen Community  
  Facebook Group: SpaGreen Support  
  Website: spagreen.net  
  Developer Portfolio: Codecanyon SpaGreen  

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

workflow_json_compressed:
  [encoded data, 6904 characters]


name: Extract Purchase Orders from Gmail using Gemini AI and Save to Google Sheets
author_name: SayOne Technologies
author_username: sayonetech
categories: []
created_at: 2025-09-15T05:54:18.889Z
updated_at: 2025-09-15T05:54:18.889Z
url: https://n8n.io/workflows/8585
scraped_at: 2025-12-24 13:02:42
description:
  🚀 AI-Powered Email to Purchase Order Workflow  

  Automatically scan your inbox for new purchase order requests, extract order details using Gemini AI, and log them into Google Sheets — all without manual effort.  

  ✨ Core Capabilities  
  ⏱ Runs every minute to check unread emails  
  📧 Filters emails by subject  
  🤖 Uses Gemini AI to summarize email content & extract structured order details  
  📅 Formats dates into ISO calendar weeks  
  📊 Adds product data from Google Sheets to complete order info  
  ✅ Appends final purchase order records into a Google Sheet (without replacing previous ones)  

  🛠 Setup Essentials  
  📩 Gmail account for fetching unread emails  
  🔑 Google Gemini (PaLM) API credentials  
  📒 Google Sheet with predefined purchase order headers  

  📖 Activation Guide  
  ⚙️ Configure Gmail & Google Sheets credentials in n8n  
  🎯 Adjust the subject filter to match your email rules  
  🔌 Connect Gemini AI with your API credentials  
  📑 Create a Google Sheet with the required headers  
  ▶️ Activate the workflow and let it run in the background  

  🎨 Customizing the Workflow  
  🔍 Email Filters → Change keywords in the filter node to match your purchase order email subjects  
  🏷 Order Fields → Modify Set and Append to Google Sheet nodes if your schema differs  
  ✍️ AI Instructions → Adjust the AI Agent’s prompt to fit your company’s email style or product details  
  ⏲ Frequency → Update the Cron node if you want to scan emails less often  
  📂 Target Google Sheet → Point to a different sheet or tab depending on your department or customer  

nodes_used:
  ["n8n-nodes-base.gmail","n8n-nodes-base.cron","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.filter","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.googleSheets"]

workflow_json_compressed:
  [encoded data, 5296 characters]


name: Automate Job Search with AI Cover Letters using Google Jobs, RemoteOK & GPT-3.5
author_name: Shelly-Ann Davy
author_username: SheCodesFlow
categories: []
created_at: 2025-09-15T08:27:48.723Z
updated_at: 2025-09-15T08:27:48.723Z
url: https://n8n.io/workflows/8589
scraped_at: 2025-12-24 13:02:46
description:
  Automated Job Search with AI-Generated Cover Letters

  🎯 What This Template Does

  This workflow transforms your job search from a time-consuming daily chore into a fully automated system. Every 24 hours, it searches Google Jobs and RemoteOK for positions matching your criteria, generates unique AI-powered cover letters for each role, and delivers a polished HTML email digest straight to your inbox.

  ⚡ Key Features

  Multi-Platform Search**: Simultaneously queries Google Jobs (via SerpAPI) and RemoteOK
  Smart Filtering**: Automatically removes duplicates and low-quality postings
  AI-Powered Cover Letters**: Uses OpenAI GPT-3.5 to write personalized 60-word cover letters for each position
  Beautiful Email Digests**: HTML-formatted emails with job details, descriptions, and apply buttons
  Zero Manual Work**: Runs automatically every 24 hours
  Cost-Effective**: $0 for first 3 months using free API tiers, then $3/month

  ⏱️ Time Saved

  | Method | Time Required |
  |--------|---------------|
  | Manual Job Search | 2-3 hours daily |
  | With This Workflow | 0 minutes (fully automated) |
  | Annual Time Savings | ~800 hours per year |

  📋 Prerequisites

  1. SerpAPI Account
  Cost**: FREE tier (100 searches/month)
  Sign up**: https://serpapi.com/
  What you need**: API key from dashboard

  2. OpenAI Account
  Cost**: FREE ($5 trial credits)
  Sign up**: https://platform.openai.com/
  What you need**: API key (requires phone verification)

  3. Email Service
  Cost**: FREE (use existing email)
  Options**: Gmail, Outlook, or any SMTP provider
  Gmail users**: Use App Password (requires 2FA enabled)

  🚀 Quick Start Guide

  Step 1: Get API Keys (10 minutes)

  SerpAPI Setup
  Go to https://serpapi.com/ and sign up
  Verify your email
  Log in → Dashboard
  Copy your API key

  OpenAI Setup
  Go to https://platform.openai.com/
  Create account and verify phone number
  Profile icon → View API keys
  Create new secret key
  Copy immediately (shown only once)

  Gmail Setup (if using Gmail)
  Google Account → Security
  Enable 2-Step Verification
  Search for "App Passwords"
  Generate app password for Mail
  Copy the 16-character password

  Step 2: Add Credentials to n8n (5 minutes)

  Add SerpAPI
  n8n Credentials → Add Credential
  Select "HTTP Query Auth"
  Name: api_key
  Value: [paste your SerpAPI key]
  Save

  Add OpenAI
  Add Credential → OpenAI
  Paste your API key
  Save

  Add SMTP
  Add Credential → SMTP
  Configure:
     Host: smtp.gmail.com
     Port: 587
     Security: STARTTLS
     Username: your-email@gmail.com
     Password: [app password]
  Save

  Step 3: Configure Your Search (2 minutes)

  Click the "Settings" node and update:

  query - Your target job title
  ✅ Good: senior react developer
  ✅ Good: product manager saas
  ✅ Good: data scientist machine learning
  ❌ Bad: developer (too broad)

  location - Where you want to work
  For remote: Remote
  For city: San Francisco, CA
  For city: New York, NY
  For state: Texas
  💡 Tip: Start with Remote for most options

  email - Your email address
  Use the SAME email from SMTP setup
  Example: yourname@gmail.com

  Step 4: Connect Credentials

  Click "Search Google Jobs" node → Select SerpAPI credential
  Click "Generate Letter" node → Select OpenAI credential
  Click "Send Email" node → Select SMTP credential
  Click "No Results Email" node → Select SMTP credential

  Step 5: Test & Activate

  Click "Execute Workflow" button (top right)
  Watch nodes light up green ✅
  Wait 30-60 seconds
  Check your email inbox
  If successful → Toggle "Active" switch
  Done! You'll receive daily job digests

  📧 What You'll Receive

  Each day, you'll get an email containing:

  Up to 4 highly relevant job listings**
  Company name and location for each
  Job description snippets
  AI-generated personalized cover letter** for each position
  Direct "Apply Now" button
  Source attribution (Google Jobs vs RemoteOK)

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.emailSend","n8n-nodes-base.splitInBatches","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.aggregate","n8n-nodes-base.code","n8n-nodes-base.emailSend"]

workflow_json_compressed:
  H4sIAAAAAAAAE6WWTVPbMBCG/4pHZycTJ4FCbpShDP2ATtPpheEgnMVRcaRUkgMMk//elQNFsldg00vGjtfvs7vaDz8yyVfAZuyosmpggOt8mfxW1ya5E3aZHJ0ludqATkqwFrRhKbO8MGx2yZwR3nLhfvDlFbdCSbzJuQbQ7CplUi3A2T4+Q+ZW5LcPybmykAySCxTeCLhzog9r91weyEH90uCaGxia2txZo8laGVETZpfj6SjNRiMkrLlG5dqz2SPLlbQgLQqx7U7zFz6p38m2acSLOdhq3duF/YP/cyFfwqIqIc59MvipRVFgNsP490fptA1vAYdjH4knKGRh4kiwIWbaDTMZTgJMXUKnShUlJJ93RUIDl9auf8CfCoxtJ3cyfRM8bcRXg3/ACg/r4sv7qBhyP+o30EX8FFdPTz3K4ahTUsdDv1y+a5WDMa+nM8fLkJVlHWEe6ngJ+S1m0VSljbPETYM06U86V8+Y5GTFRRmFgXs6B7loMPeQOembyvm6FPb1RBpnciY/cotNaAjoXoem8JAn91bzvIb2ObwP3Uh+Sk9BguY41r7W47p/D2SH3aBhExyr1bWQb1LbMY6z/jEeFYWGgtt413HPwodNusH8avmkNO61N+qTiKtjlYTzSy7e1wjjrpWCjYA2WIpig+o3vDSQMvO8F3B7wT3klVO90As8yBnbZG6N4VKTkLv/a6vdzMMLdMfx3X53KYjNqdosZUIu4J7NRturK9T8twEpnfauojU81wmN+CJqqqXNt9pbhHTgpRYpD+jioSN5mUqUEjlBSCHfklKKTghSLYiATnK7aEmloDIopcjeIcVCW0otvltagqkXDbEbaAfCgUd5QIwpUqp5IGRuIvM10hRhBVOCja+WUCcLdPz+6S1Vu+TG0O4r9lhV7tM42/4FdcLiaXYMAAA=


name: AI Personal Assistant for Google Tasks
author_name: minh
author_username: minh
categories: []
created_at: 2025-09-15T08:46:04.948Z
updated_at: 2025-09-15T08:46:04.948Z
url: https://n8n.io/workflows/8591
scraped_at: 2025-12-24 13:02:41
description:
  Who’s it for
  This template is designed for anyone who wants to use Telegram as a personal AI assistant hub.
  If you often juggle tasks, emails, calendars, and expenses across multiple tools, this workflow consolidates everything into one seamless AI-powered agent.

  What it does
  Jarvis listens to your Telegram messages (text or audio) and processes them with OpenAI.
  Based on your request, it can:

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

workflow_json_compressed:
  [encoded data, 14116 characters]


name: Fireflies Transcripts to Meeting Summaries & Task Extractor to Slack & ClickUp
author_name: Hashir Bin Waseem
author_username: hashirxn8n
categories: []
created_at: 2025-09-15T10:20:02.945Z
updated_at: 2025-09-15T10:20:02.945Z
url: https://n8n.io/workflows/8592
scraped_at: 2025-12-24 13:02:42
description:
  AI-powered Meeting Summaries and Action Items to Slack and ClickUp

  How it Works  
  Webhook Trigger: The workflow starts when Fireflies notifies that a transcription has finished.  
  Transcript Retrieval: The transcript is pulled from Fireflies based on the meeting ID.  
  Pre-processing: The transcript is split into sentences and then aggregated into a raw text block.  
  AI Summarization: The aggregated transcript is sent to Google Gemini, which generates a short summary and a structured list of action items.  
  Post-processing: The AI response is cleaned and formatted into JSON. Action items are mapped to titles and descriptions.  
  Distribution:  
     The meeting summary is posted to Slack.  
     Action items are created as tasks in ClickUp.  

  Use Case  
  This workflow is designed for teams that want to reduce the manual effort of writing meeting notes and extracting action items.  

  Automatically generate a clear and concise meeting summary  
  Share the summary instantly with your team on Slack  
  Ensure action items are not lost by automatically creating tasks in ClickUp  
  Ideal for distributed teams, project managers, and product teams managing recurring meetings  

  Requirements  
  n8n instance** set up and running  
  Fireflies.ai account** with API access to meeting transcripts  
  Google Gemini API (via PaLM credentials)** for AI-powered summarization  
  Slack account** with OAuth2 credentials connected in n8n  
  ClickUp account** with OAuth2 credentials connected in n8n

nodes_used:
  ["@firefliesai/n8n-nodes-fireflies.fireflies","n8n-nodes-base.splitOut","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.clickUp","n8n-nodes-base.slack","n8n-nodes-base.webhook","@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.code","n8n-nodes-base.code"]

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


name: Build Your First AI Agent with ChatGPT-5
author_name: Dr. Firas
author_username: drfiras
categories: []
created_at: 2025-09-15T12:21:07.592Z
updated_at: 2025-09-15T12:21:07.592Z
url: https://n8n.io/workflows/8597
scraped_at: 2025-12-24 13:02:41
description:
  Build Your First AI Agent with ChatGPT-5 

  Who is this for?  
  This workflow is designed for beginners and professionals who want to build their first AI-powered assistant with n8n. It’s perfect for anyone managing online trainings, consultations, or services that require both a knowledge base and appointment scheduling.  

  What problem is this workflow solving?  
  Manually handling client questions, checking your availability, and confirming bookings can be time-consuming and error-prone. This workflow automates the process, ensuring quick, accurate answers and seamless scheduling directly through chat.  

  What this workflow does  
  Answers user questions using your knowledge base stored in Google Sheets.  
  Checks availability in Google Calendar and proposes alternative time slots if needed.  
  Books 1-hour appointments in Paris time only after client confirmation.  
  Sends a professional confirmation email with all appointment details.  

  Setup  
  Import this workflow into your n8n instance.  
  Connect your Google Sheets, Gmail, and Google Calendar credentials.  
  Add your knowledge base into Google Sheets (questions, answers, policies, packs, etc.).  
  Test the workflow using the Connected Chat Trigger node to start conversations with the AI Agent.  

  How to customize this workflow to your needs  
  Update the Google Sheets database with your own training packs, services, or company FAQs.  
  Adjust the email template to reflect your branding and communication style.  
  Modify the appointment duration if you need sessions longer or shorter than 1 hour.  
  Add extra nodes (e.g., CRM integration) to capture leads or sync appointments with external systems.  
  📄 Documentation: Notion Guide

  Need help customizing?
  Contact me for consulting and support : Linkedin / Youtube

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.toolThink","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.gmailTool","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.memoryBufferWindow"]

workflow_json_compressed:
  [encoded data, 6724 characters]


name: Analyze Cryptocurrency Market Data with HTX API, GPT-4o and Telegram
author_name: Don Jayamaha Jr
author_username: don-the-gem-dealer
categories: []
created_at: 2025-09-15T18:15:24.272Z
updated_at: 2025-09-15T18:15:24.272Z
url: https://n8n.io/workflows/8604
scraped_at: 2025-12-24 13:02:41
description:
  A fully autonomous, HTX Spot Market AI Agent (Huobi AI Agent) built using GPT-4o and Telegram. This workflow is the primary interface, orchestrating all internal reasoning, trading logic, and output formatting.

  ⚙️ Core Features

  🧠 LLM-Powered Intelligence: Built on GPT-4o with advanced reasoning
  ⏱️ Multi-Timeframe Support: 15m, 1h, 4h, and 1d indicator logic
  🧩 Self-Contained Multi-Agent Workflow: No external subflows required
  🧮 Real-Time HTX Market Data: Live spot price, volume, 24h stats, and order book
  📲 Telegram Bot Integration: Interact via chat or schedule
  🔄 Autonomous Runs: Support for webhook, schedule, or Telegram triggers

  📥 Input Examples

  | User Input      | Agent Action                                  |
  | --------------- | --------------------------------------------- |
  | btc           | Returns 15m + 1h analysis for BTC             |
  | eth 4h        | Returns 4-hour swing data for ETH             |
  | bnbusdt today | Full day snapshot with technicals + 24h stats |

  🖥️ Telegram Output Sample

  📊 BTC/USDT Market Summary

  💰 Price: $62,400  
  📉 24h Stats: High $63,020 | Low $60,780 | Volume: 89,000 BTC

  📈 1h Indicators:
  • RSI: 68.1 → Overbought  
  • MACD: Bearish crossover  
  • BB: Tight squeeze forming  
  • ADX: 26.5 → Strengthening trend

  📉 Support: $60,200  
  📈 Resistance: $63,800

  🛠️ Setup Instructions

  Create your Telegram Bot using @BotFather
  Add Bot Token in n8n Telegram credentials
  Add your GPT-4o or OpenAI-compatible key under HTTP credentials in n8n
  (Optional) Add your HTX API credentials if expanding to authenticated endpoints
  Deploy this main workflow using:

     ✅ Webhook (HTTP Request Trigger)
     ✅ Telegram messages
     ✅ Cron / Scheduled automation

  🎥 Live Demo

  🧠 Internal Architecture

  | Component          | Role                                                     |
  | ------------------ | -------------------------------------------------------- |
  | 🔄 Telegram Trigger | Entry point for external or manual signal                |
  | 🧠 GPT-4o          | Symbol + timeframe extraction + strategy generation      |
  | 📊 Data Collector  | Internal tools fetch price, indicators, order book, etc. |
  | 🧮 Reasoning Layer | Merges everything into a trading signal summary          |
  | 💬 Telegram Output | Sends formatted HTML report via Telegram                 |

  📌 Use Case Examples

  | Scenario                               | Outcome                                                 |
  | -------------------------------------- | ------------------------------------------------------- |
  | Auto-run every 4 hours                 | Sends new HTX signal summary to Telegram                |
  | Human requests “eth 1h”                | Bot replies with real-time 1h chart-based summary       |
  | System-wide trigger from another agent | Invokes webhook and returns response to parent workflow |

  🧾 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/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/n8n-nodes-langchain.toolCalculator","@n8n/n8n-nodes-langchain.toolThink","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-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 11144 characters]


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


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


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: 2025-12-24 13:02:44
description:
  Tags*: Supply Chain, Inventory Management, ABC Analysis, Pareto Principle, Demand Variability, Automation, Google Sheets

  Context

  Hi! I’m Samir — 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]


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


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


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


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


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


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


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


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


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


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


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


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


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

workflow_json_compressed:
  [encoded data, 10348 characters]


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

workflow_json_compressed:
  [encoded data, 10480 characters]


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

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


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


