# templates

name: Create a voice & text Telegram assistant with Lookio RAG and GPT-4.1
author_name: Guillaume Duvernay
author_username: duv
categories: []
created_at: 2025-10-18T20:39:08.038Z
updated_at: 2025-10-18T20:39:08.038Z
url: https://n8n.io/workflows/9870
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:21
description:
  Create a Telegram bot that answers questions using Retrieval-Augmented Generation (RAG) powered by Lookio and an LLM agent (GPT-4.1).

  This template handles both text and voice messages (voice transcribed via a Mistral model by default), routes queries through an agent that can call a Lookio tool to fetch knowledge from your uploaded documents, and returns concise, Telegram-friendly replies. A security switch lets you restrict use to a single Telegram username for private testing, or remove the filter to make the bot public.

  Who is this for?

  Internal teams & knowledge workers**: Turn your internal docs into an interactive Telegram assistant for quick knowledge lookups.
  Support & ops**: Provide on-demand answers from your internal knowledge base without exposing full documentation.
  Developers & automation engineers**: Use this as a reference for integrating agents, transcription, and RAG inside n8n.
  No-code builders**: Quickly deploy a chat interface that uses Lookio for accurate, source-backed answers.

  What it does / What problem does this solve?

  Provides accurate, source-backed answers: Routes queries to **Lookio so replies are grounded in your documents instead of generic web knowledge.
  Handles voice & text transparently: Accepts Telegram voice messages, transcribes them (via the **Mistral API node by default), and treats transcripts the same as typed text.
  Simple agent + tool architecture: Uses a **LangChain AI Agent with a Query knowledge base tool to separate reasoning from retrieval.
  Privacy control: Includes a **Myself? filter to restrict access to a specific Telegram username for safe testing.

  How it works

  Trigger: Telegram Trigger receives incoming messages (text or voice).
  Route: Message Router detects voice vs text. Voice files are fetched with Get Audio File.
  Transcribe: Mistral transcribe receives the audio file and returns a transcript; the transcript or text is normalized into preset\_user\_message and consolidated in Consolidate user message.
  Agent: AI Agent (GPT-4.1-mini configured) runs with a system prompt that instructs it to call the Query knowledge base tool when domain knowledge is required.
  Respond: The agent output is sent back to the user via Telegram answer.

  How to set up

  Create a Lookio assistant: Sign up to Lookio, the API-first RAG platform, upload documents, and create an assistant.
  Add credentials in n8n: Configure Telegram API, OpenAI (or your LLM provider), and Mistral Cloud credentials in n8n.
  Configure Lookio tool: In the Query knowledge base node, replace &lt;your-lookio-api-key&gt; and &lt;your-assistant-id&gt; placeholders with your Lookio API Key and Assistant ID.
  Set Telegram privacy (optional): Edit the Myself? If node and replace &lt;Replace with your Telegram username&gt; with your username to restrict access. Remove the node to allow public use.
  Adjust transcription (optional): Swap the Mistral transcribe HTTP node for another provider (OpenAI, Whisper, etc.) and update its prompt to include your jargon list.
  Connect LLM: In OpenAI Chat Model node, add your OpenAI API key (or configure another LLM node) and ensure the AI Agent node references this model.
  Activate workflow: Activate the workflow and test by messaging your bot in Telegram.

  Requirements

  An n8n instance (cloud or self-hosted)
  A Telegram Bot token added in n8n credentials
  A Lookio account, API Key, and Assistant ID
  An LLM provider account (OpenAI or equivalent) for the OpenAI Chat Model node
  A Mistral API key (or other transcription provider) for voice transcription

  How to take it further

  Add provenance & sources**: Parse Lookio responses and include short citations or source links in the agent replies.
  Rich replies**: Use Telegram media (images, files) or inline keyboards to create follow-up actions (open docs, request feedback, escalate to humans).
  Multi-user access control**: Replace the single-username filter with a list or role-based access system (Airtable or Google Sheets lookup) to allow multiple trusted users.
  Logging & analytics: Save queries and agent responses to **Airtable or Google Sheets for monitoring, quality checks, and prompt improvement.

nodes_used:
  ["n8n-nodes-base.telegramTrigger","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.stickyNote","n8n-nodes-base.telegram","n8n-nodes-base.switch","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequestTool","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest"]

workflow_json_compressed:
  [encoded data, 5200 characters]

metadata_json:
  {"categories":["AI/ML","Communication"],"complexity":"medium","use_cases":["build chatbots","answer queries with RAG","process voice messages"],"estimated_setup_minutes":15,"required_services":["Telegram","Lookio"],"key_features":["RAG implementation","voice message transcription","LLM agent integration","document-based knowledge retrieval"],"target_audience":["developers","AI engineers"]}


name: Resume Intelligence and Data Mining using Decodo with GPT-4o-mini
author_name: Ranjan Dailata
author_username: ranjancse
categories: []
created_at: 2025-10-19T03:37:20.824Z
updated_at: 2025-10-19T03:37:20.824Z
url: https://n8n.io/workflows/9878
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:20
description:
  1. Who this is for

  This workflow is specifically designed for

  Recruiters, HR analytics teams, and data-driven talent acquisition professionals seeking deeper insights from candidate resume.
  Valuable for HR tech developers, ATS/CRM engineers, and AI-driven recruitment platforms aiming to automate candidate research.
  Helps organizations build predictive hiring models and gain actionable talent intelligence.

  2. What problem this workflow solves

  Recruiters often face information overload when analyzing candidate resume manually reviewing experiences, skills, and cultural fit is slow and inconsistent.

  Traditional scraping tools extract raw data but fail to produce actionable intelligence like career trajectory, skills alignment, and fit for a role.

  This workflow solves that by:

  Automating candidate resume data extraction through Decodo
  Structuring it into JSON Resume Schema
  Running deep AI-driven analytics using OpenAI GPT-4o-mini
  Delivering comprehensive candidate intelligence ready for ATS/CRM integration or HR dashboards

  3. What this workflow does

  This n8n workflow combines Decodo’s web scraping with OpenAI GPT-4o-mini to produce advanced recruitment intelligence.

  Flow Breakdown:

  Manual Trigger – Start the workflow manually or schedule it in n8n.
  Set Input Fields – Define resume URL, location, and job description.
  Decodo Node – Scrapes the candidate’s profile (experience, skills, education, achievements, etc.).
  Structured Data Extractor (GPT-4o-mini) – Converts the scraped data into a structured JSON Resume Schema.
  Advanced Data Mining Engine (GPT-4o-mini) 

  – Performs:

     Skills Analysis (strengths, gaps, transferable skills)
     Experience Intelligence (career trajectory, leadership, project complexity)
     Cultural Fit Insights (work style, communication style, agility indicators)
     Career Trajectory Forecasting (promotion trends, growth velocity)
     Competitive Advantage Analysis (market positioning, salary expectations)
  Summarizer Node – Produces an abstractive and comprehensive AI summary of the candidate profile.
  Google Sheets Node – Saves the structured insights automatically into your recruitment intelligence sheet.
  File Writer Node (Optional) – Writes the JSON report locally for offline storage or integration.

  The result is a data-enriched candidate intelligence report far beyond what traditional resume parsing provides.

  4. Setup

  Prerequisites

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

  n8n account with workflow editor access
  Decodo API credentials
  OpenAI API key
  Google Sheets account connected via OAuth2

  Make sure to install the Decodo Community node.

  Setup Steps

  Import the workflow JSON into your n8n workspace.
  Set credentials for:

     Decodo Credentials account
     OpenAI API (GPT-4o-mini)
     Google Sheets OAuth2
  In the “Set the Input Fields” node, update:

     url → Resume link
     geo → Candidate region or country
     jobDescription → Target job description for matching
  Ensure the Google Sheet ID and tab name are correct in the “Append or update row in sheet” node.
  Click Execute Workflow to start.

  5. How to customize this workflow

  You can adapt this workflow for different recruitment or analytics scenarios:

  Add Sentiment Analysis

  Add another LLM node to perform sentiment analysis on candidate recommendations or feedback notes.

  Enrich with Job Board Data

  Use additional Decodo nodes or APIs (Indeed, Glassdoor, etc.) to compare candidate profiles to live job postings.

  Add Predictive Fit Scoring

  Insert a Function Node to compute a numerical "fit score" by comparing skill vectors and job requirements.

  Automate Candidate Reporting

  Connect to Gmail, Slack, or Notion nodes to automatically send summaries or reports to hiring managers.

  6. Summary

  The Advanced Resume Intelligence & Data Mining via Decodo + OpenAI GPT-4o-mini workflow transforms traditional candidate sourcing into AI-driven intelligence gathering.

  It integrates:

  Decodo** → To perform webscraping of data
  GPT-4o-mini** → to interpret, analyze, and summarize with context
  Google Sheets** → to store structured results for real-time analysis

  With this system, recruiters and HR analysts can move from data collection to decision intelligence, unlocking faster and smarter talent insights.

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

workflow_json_compressed:
  [encoded data, 5820 characters]

metadata_json:
  {"categories":["AI/ML","Human Resources","Data Processing"],"complexity":"medium","use_cases":["Analyze resumes","Extract candidate data","Generate recruitment insights"],"estimated_setup_minutes":15,"required_services":["Decodo API","GPT-4o-mini","Spreadsheets"],"key_features":["Resume parsing","LLM-powered analysis","Predictive hiring models"],"target_audience":["HR analysts","Recruiters","Data engineers"]}


name: Auto-Send WooCommerce Invoices via WhatsApp with Rapiwa API
author_name: Rapiwa
author_username: rapiwa
categories: []
created_at: 2025-10-19T04:53:59.196Z
updated_at: 2025-10-19T04:53:59.196Z
url: https://n8n.io/workflows/9879
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:20
description:
  Who is this for?
  This workflow listens for new or updated WooCommerce orders, cleans and structures the order data, processes orders in batches, and standardizes WhatsApp phone numbers. It verifies phone numbers via the Rapiwa API, sends invoice links or messages to verified numbers, and logs results into separate Google Sheets tabs for verified and unverified numbers. Throttling and looping are managed using batch processing and wait delays.

  What this Workflow Does
  Receives order events (e.g., order.updated) from WooCommerce or a similar trigger.
  Extracts customer, billing/shipping address, product list, and invoice link from the order payload.
  Processes orders/items in batches for controlled throughput.
  Cleans and normalizes phone numbers by removing non-digit characters.
  Verifies whether a phone number is registered on WhatsApp using the Rapiwa API.
  If verified, sends a personalized message or invoice link via Rapiwa's send-message endpoint.
  If not verified, logs the customer as unverified in Google Sheets.
  Logs every send attempt (status and validity) into Google Sheets.
  Uses Wait nodes and batching to avoid API rate limits.

  Key Features
  Trigger-based automation (WooCommerce trigger; adaptable to Shopify webhook).
  Batch processing using SplitInBatches for stable throughput.
  Phone number cleaning using JavaScript (waNoStr.replace(/\D/g, "")).
  Pre-send WhatsApp verification via Rapiwa to reduce failed sends.
  Conditional branching (IF node) between verified and unverified flows.
  Personalized message templates that include product and customer fields.
  Logging to Google Sheets with separate flows for verified/sent and unverified/not sent.
  Wait node for throttling and looping control.

  Requirements
  Running n8n instance with nodes: HTTP Request, Code, SplitInBatches, IF, Google Sheets, Wait, and a WooCommerce trigger (or equivalent).
  Rapiwa account and Bearer token for verify/send endpoints.
  Google account and Google Sheets access with OAuth2 credentials.
  WooCommerce store access credentials (or Shopify credentials if adapting).
  Incoming order payloads containing billing and line_items fields.

  Google Sheet format (example rows)
  A Google Sheet formatted like this ➤ Sample

  | Customer Name  | Phone Number  | Email Address     | Address     | Product Title    | Product ID | Size | Quantity | Total Price | Product Image                                                                                                                              | Invoice Link                                                                                                                                                                                           | Status   | Validity   |
  | -------------- | ------------- | --------------------------------------------------------------------- | ----------- | ------------------------------------ | ---------- | ---- | -------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------- | ---------- |
  | Abdul Mannan| 8801322827799 | contact@spagreen.net | mirpur| T-Shirt - XL | 110        | XL   | 1        | BDT 499.00  | https://your_shop_domain/Product/gg.img | https://your_shop_domain/INV/DAS | sent     | verified   |
  | Abdul Mannan| 8801322827799 | contact@spagreen.net | mirpur| T-Shirt - XL | 110        | XL   | 1        | BDT 499.00  | https://your_shop_domain/Product/gg.img | https://your_shop_domain/INV/DAS | not sent | unverified |

  Important Notes
  The Code nodes assume billing and line_items exist in the incoming payload; update mappings if your source differs.
  The message template references products[0]; if orders contain multiple items, update logic to summarize or iterate products.
  Start testing with small batches to avoid accidental mass messaging and to respect Rapiwa rate limits.

  Useful Links
  Dashboard:** https://app.rapiwa.com
  Official Website:** https://rapiwa.com
  Documentation:** https://docs.rapiwa.com

  Support & Help
  WhatsApp**: Chat on WhatsApp
  Discord**: SpaGreen Community
  Facebook Group**: SpaGreen Support
  Website**: https://spagreen.net
  Developer Portfolio**: Codecanyon SpaGreen

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

workflow_json_compressed:
  [encoded data, 6516 characters]

metadata_json:
  {"categories":["E-commerce","Communication","Data Processing"],"complexity":"simple","use_cases":["Automate invoice delivery","Verify customer phone numbers","Send WhatsApp notifications"],"estimated_setup_minutes":15,"required_services":["WooCommerce","WhatsApp (Rapiwa API)","Google Sheets"],"key_features":["Batch processing","Phone number verification","Conditional messaging","Data logging"],"target_audience":["e-commerce managers","support teams","business owners"]}


name: WooCommerce Order Updates to Customers via WhatsApp with Rapiwa API
author_name: Rapiwa
author_username: rapiwa
categories: []
created_at: 2025-10-19T05:34:31.088Z
updated_at: 2025-10-19T05:34:31.088Z
url: https://n8n.io/workflows/9880
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  Who is this for?
  This workflow is for online store owners, support teams, and marketing staff who want to automatically verify WhatsApp numbers and send order invoice links or personalized order updates to customers. It’s built against WooCommerce order webhooks but can be adapted to Shopify or other e-commerce platforms that provide billing and line_items.

  What this Workflow Does
  Receives order events (Webhook / WooCommerce order.updated).
  Normalizes the payload into a compact object: { data: { customer, products, invoice_link } } via a Code node.
  Iterates items in batches (SplitInBatches) to control throughput.
  Cleans phone numbers (removes non-digits) and verifies WhatsApp registration using Rapiwa (/api/verify-whatsapp).
  Sends templated WhatsApp messages through Rapiwa (/api/send-message) for verified numbers.
  Logs every attempt into Google Sheets: one sheet for verified & sent rows, another for unverified & not sent rows.
  Uses a Wait node to throttle and loop back into the batch processor.

  Key Features
  Trigger-based automation (Webhook or WooCommerce trigger).
  Payload normalization and mapping via JavaScript Code nodes.
  Controlled batching (SplitInBatches) to avoid rate limits.
  Pre-send verification of WhatsApp numbers using Rapiwa.
  Conditional branching with the IF node to separate verified vs unverified flows.
  Personalized message templates that pull customer and product fields from the mapped data.
  Logging and audit trail stored in Google Sheets (two separate append flows).

  How to Use — Step-by-step Setup
  Add credentials in n8n
     Rapiwa: Create an HTTP Bearer credential and paste your Bearer token (example name used in the flow: Rapiwa Bearer Auth).
     Google Sheets: Create an OAuth2 credential (example: Google Sheets).
     WooCommerce: Add WooCommerce API credentials for the trigger (or configure Shopify credentials if adapting).

  Import / configure nodes in n8n
     Webhook (or WooCommerce Trigger): receive order payloads. Example Webhook path is present in the exported flow.
     Code node Format Webhook Response Data: map body.billing, body.line_items, body.payment_url into { data: { customer, products, invoice_link } }.
     Code node Clean WhatsApp Number: ensure the phone number is a string and strip non-digits: String(rawNumber).replace(/\D/g, "").
     HTTP Request Check valid whatsapp number Using Rapiwa: POST to https://app.rapiwa.com/api/verify-whatsapp with { number }. Use the Rapiwa Bearer credential.
     IF If: check verification result. The flow compares {{$json.data.exists}} to "true" in the exported flow; normalize types if your API returns booleans.
     HTTP Request Rapiwa Sender: POST to https://app.rapiwa.com/api/send-message with number, message_type: 'text', and a templated message (see message template in the flow).
     Google Sheets Store State of Rows in Verified & Sent and Store State of Rows in Unverified & Not Sent

  Google Sheet Column Structure
  Create these columns exactly (the Google Sheets nodes in the flow expect these names):
  A Google Sheet formatted like this ➤ sample

  | Name            | Number        | Email             | Address      | Product Title                                  | Product ID | Size | Quantity | Total Price   | Product Image                                                                 | Invoice Link                                                                                             | Product Status | Validity   | Status   |
  |-----------------|---------------|-------------------|--------------|------------------------------------------------|------------|------|----------|----------------|--------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|----------------|------------|----------|
  | Abdul Mannan  | 8801322827799 | contact@spagreen.net   | mirpur dohs  | Air Force 1 Reigning Champ Dark Grey 1:1 - 40 | 251        | 40   | 1        | BDT 5800.00    |         | Invoice | on-hold        | verified   | sent     |
  | Abdul Mannan  | 8801322827799 | contact@spagreen.net   | mirpur dohs  | Air Force 1 Reigning Champ Dark Grey 1:1 - 40 | 251        | 40   | 1        | BDT 5800.00    |         | Invoice | on-hold        | unverified | not sent |

  Customization Ideas
  Adapt the Code mapping node for Shopify payloads or other marketplaces.
  Iterate and include multiple products in the message instead of using products[0].
  Add filters in the Code node (e.g., only process orders with total &gt; 5000).
  Add fallback channels (SMS or email) for unverified numbers.
  Persist logs into a database for analytics and retention beyond Google Sheets.
  Add admin notifications (Slack, email) at the end of each run.

  Useful Links
  Dashboard:** https://app.rapiwa.com
  Official Website:** https://rapiwa.com
  Documentation:** https://docs.rapiwa.com

  Support & Help
  WhatsApp**: Chat on WhatsApp
  Discord**: SpaGreen Community
  Facebook Group**: SpaGreen Support
  Website**: https://spagreen.net
  Developer Portfolio**: Codecanyon SpaGreen

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

workflow_json_compressed:
  [encoded data, 6512 characters]

metadata_json:
  {"categories":["E-commerce","Communication","Customer Support"],"complexity":"medium","use_cases":["Automate order notifications","Send WhatsApp invoices","Verify customer phone numbers","Personalize order updates"],"estimated_setup_minutes":15,"required_services":["Rapiwa","WooCommerce","WhatsApp Business API (via Rapiwa)","Google Sheets","HTTP/Webhook"],"key_features":["Webhook trigger for order events","JSON payload normalization","WhatsApp number verification","Batch processing for multiple orders","Conditional branching for order status"],"target_audience":["Store Owners","Customer Support Agents","Marketing Teams"]}


name: Generate Personalized Cold Email Icebreakers from sites with GPT-4 & G-Sheets
author_name: Mirai
author_username: mirai
categories: []
created_at: 2025-10-19T08:34:16.229Z
updated_at: 2025-10-19T08:34:16.229Z
url: https://n8n.io/workflows/9882
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:21
description:
  Icebreaker Generator powered with ChatGPT 

  This n8n template crawls a company website, distills the content with AI, and produces a short, personalized icebreaker you can drop straight into your cold emails or CRM. Perfect for SDRs, founders, and agencies who want “real research” at scale.

  Good to know

  Works from a Google Sheet of leads (domain + LinkedIn, etc.).

  Handles common scrape failures gracefully and marks the lead’s Status as Error.

  Uses ChatGPT to summarize pages and craft one concise, non-generic opener.

  Output is written back to the same Google Sheet (IceBreaker, Status).

  You’ll need Google credentials (for Sheets) and OpenAI credentials (for GPT).

  How it works

  Step 1 — Discover internal pages

  Reads a lead’s website from Google Sheets.

  Scrapes the home page and extracts all links.

  A Code node cleans the list (removes emails/anchors/social/external domains, normalizes paths, de-duplicates) and returns unique internal URLs.

  If the home page is unreachable or no links are found, the lead is marked Error and the workflow moves on.

  Step 2 — Convert pages to text

  Visits each collected URL and converts the response into HTML/Markdown text for analysis.

  You can cap depth/amount with the Limit node.

  Step 3 — Summarize & generate the icebreaker

  A GPT node produces a two-paragraph abstract for each page (JSON output).

  An Aggregate node merges all abstracts for the company.

  Another GPT node turns the merged summary into a personalized, multi-line icebreaker (spartan tone, non-obvious details).

  The result is written back to Google Sheets (IceBreaker = ..., Status = Done).

  The workflow loops to the next lead.

  How to use

  Prepare your sheet

  Include at least: organization_website_url, linkedin_url, and any other lead fields you track.

  Keep an empty IceBreaker and Status column for the workflow to fill.

  Connect credentials

  Google Sheets: use the Google account that owns the sheet and link it in the nodes.

  OpenAI: add your API key to the GPT nodes (“Summarize Website Page”, “Generate Multiline Icebreaker”).

  Run the workflow

  Start with the Manual Trigger (or replace with a schedule/webhook).

  Adjust Limit if you want fewer/more pages per company.

  Watch Status (Done/Error) and IceBreaker populate in your sheet.

  Requirements

  n8n instance

  Google Sheets account & access to the leads sheet

  OpenAI API key (for summarization + icebreaker generation)

  Customizing this workflow

  Tone & format: tweak the prompts (both GPT nodes) to match your brand voice and structure.

  Depth: change the Limit node to scan more/less pages; add simple rules to prioritize certain paths (e.g., /about, /blog/*).

  Fields: write additional outputs (e.g., Company Summary, Key Products, Recent News) back to new sheet columns.

  Lead selection: filter rows by Status = "" (or custom flags) to only process untouched leads.

  Error handling: expand the Error branch to retry with www./HTTP→HTTPS or to log diagnostics in a separate tab.

  Tips

  Keep icebreakers short, specific, and free of clichés—small, non-obvious details from the site convert best.

  Start with a small batch to validate quality, then scale up.

  Consider adding a rate limit if target sites throttle requests.

  In short: Sheet → crawl internal pages → AI abstracts → single tailored icebreaker → write back to the sheet, then repeat for the next lead.

  This automation can work great with our automation for automated cold emailing.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.html","n8n-nodes-base.splitOut","n8n-nodes-base.httpRequest","n8n-nodes-base.markdown","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.limit","n8n-nodes-base.httpRequest","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE6WY224bNxCGX2Wha9HleclcNUjSJEDSBHEOBYpcDMmhvLW0UlerOGlgII/Rvl6epLOy4V3bK0txbgzJHg6/Gf6cGfrrpEqTBxPz10KW797DM/f4jxe+LCfTyQJbmDz4OqnqdQt1xOednRM5RF1mGUtlRYIkOM/GcYUJ6LfaO5Wd0zqVoUzCOoeJI0YJXIrS2Dg5n05qWCC5qiKGBk6xKZ5ijQ20y6ZYLc+wwVScVe1J8egEiqev3xJKC7P15MGfH2ntMmH38esFtvTIIQEwqzJnOipkPvPMsgwck5Vl9HlyteOHE6yLOK/iaVXPiu/f/n2L67Y4Wzaneb48+/7tv26rL6vOtHY12+7FAqzxaAH1BuZvm2o2w4asVst11VbLmkiY4npqNbGtoKF9WmwI8Ov5hav39G1rJ86nl8xovEapDXPCWqYlSAZR0ScIDoSWlEXomZ+9ffliJ9ZJu5hfp9GOT5nje2mOZM+TS4leGgZOZ6a59QxksszbnLmIUYXgep7j1bxqi1ebdifUurO4MBiACSGnStnD0+TKAMZK4siqZFpTmkJInCGYHJLjEhLvsd7g35vtYWIoVjDDIpOa3r25K3Xt6nIR2SzrJ02zbMgsLuu2qjf4BmebOTQUx+pmKKXTU6bkvlD0kZxOYH4GX9YXXh5Dd6EyzNd4FWVpjEtgSuYNB6atoCiRQlXW+mRBZwupj/IlNKdpeVbfodMrgwGw1wcBDyQagglaeFbK0pMweWQhOsMIxxiDlu70IPfHmwXtW/2DxQcMtCkWr+kEesZfCfKXHnQO9SyeQFUfLVdYP6xu6EQqOWXCHiBh22sFAiirAzMOSCvZW+aoPDEeQ+AmZhus6XlfVItqt3znl38dXiphf0y7FnLQpQ8saJ6YTj4y731iKQeVvQ9G80FZOo4NrLB4tlzgveW6/T4mVrujOOFnjJsWX1Fhv9TkfeQrrEchKdMOMTCNioSS0TKpbTJGldoY3wf6cDZrcAbt7jBhYDEUhTEHiuKKDAA1eMWZUZokzEVX1ZRgJoMiaQfp7YDssgNh8XIzb6t5VWPxvGtP2PWnn1HyAY1hoONM8o2mBBZSJB1DorogdEm5iUYBmkStdAjdFscITTy5s9LNlsvZHI9PENv1jdbl7b3FYcbE0TabXhsqJgfWZBa1oNKBPjPnU2bIowWQxqKzfTBPErWV3yqcp/XuzoI3xM1I3QdcTHWkr6hS5BAhKWYzoWkoaWKg8YS5mIMRKSlvB93uEW2+Eyde/HHAI507hKfvvcEGGXL0jKOJ1OS86Q7csBSV9NTtOLoBzdPtSRZXR/mj5729RvsVqQeK1MkGR+JjNFjQgIWGAEEphsoo1FpLmlx2AIp7EHYJ/DFAi74UygErO21Rue3GBLpBFgU1BWpW2QwAn+edUFW+PUkJvZdFDiYpL0jbNJkwqbo2hPTDQ8wseR5MDIrKkRqU/ZYG0S/F78s76uF6a3NpMhS+6Fq61u4m3rYhYN2Sq8nu4hjp2Gjac4wbJ+gSUPo8mMBE5FInCUY6PQq6+0x3kZY0HTMpb+XxMFDlRTQ5BWZtBxqpgIN0kQkpjKS7gVzaUVD5w6BCdGOduX3id5OSNcS2+tQXSqpS1JJn26UXhZRMXzUJu379SXQ+Pl2s376olOYuKkezVklSoQvVlXtULDuegoFcYu5KAEHUGDtXW8ckZPq5oN5D6PQa6gK84wJuDaf0lEv4efKAE3W/ZrTy3lrwkbC31XBs2xsT1eji7UNmbPHwTo6uvPA+tnT/1D/q8GqMHvO5b5od9dhPNqOncth0Meq5f2+Neb7en0YdDI93NN7bD7pxkMGUOubn+kP1LsEdLNJu2+s9bzy742PQuLvrxqMJGRvH97OJn4fbIb0xvyOj9KjLnTdkzOnt5+WOHN4l571laY/3/f+k+ck8n5//D/raGp/0EgAA

metadata_json:
  {"categories":["Marketing","Communication"],"complexity":"medium","use_cases":["generate personalized icebreakers","enhance cold emails","extract company insights","craft outreach messages","scrape business websites"],"estimated_setup_minutes":15,"required_services":["ChatGPT","G-Sheets","generic HTTP API"],"key_features":["scrape live web content","AI-powered summarization","personalized message generation","automatic error handling","status tracking integration"],"target_audience":["SDRs","founders","agencies"]}


name: Automated B2B Lead Generation: Google Maps to Sheets with BrowserAct & Telegram
author_name: Madame AI Team | Kai
author_username: madame-ai
categories: []
created_at: 2025-10-19T10:50:25.523Z
updated_at: 2025-10-19T10:50:25.523Z
url: https://n8n.io/workflows/9890
scraped_at: 2026-05-02 08:04:48
metadata_generated_at: 2026-05-02 08:36:21
description:
  Automated B2B Lead Generation from Google Maps to Google Sheets using BrowserAct

  This n8n template automates local lead generation by scraping Google Maps for businesses, saving them to Google Sheets, and notifying you in real-time via Telegram.

  This workflow is perfect for sales teams, marketing agencies, and local B2B services looking to build targeted lead lists automatically.

  Self-Hosted Only 
  This Workflow uses a community contribution and is designed and tested for self-hosted n8n instances only.

  How it works
  The workflow is triggered manually. You can set the Location, Bussines_Category, and number of leads (Extracted_Data) in the first BrowserAct node.
  A BrowserAct node ("Run a workflow task") initiates the scraping job on Google Maps using your specified criteria.
  A second BrowserAct node ("Get details of a workflow task") pauses the workflow and waits for the scraping task to be 100% complete.
  A Code node takes the raw JSON string output from the scraper and correctly parses it, splitting the data into individual items (one for each business).
  A Google Sheets node appends or updates each lead into your spreadsheet, matching on the "Name" column to prevent duplicate entries.
  Finally, a Telegram node sends a message with the new lead's details to your specified chat, providing instant notification.

  Requirements
  BrowserAct** API account for web scraping
  BrowserAct* "Google Maps Local Lead Finder*" Template
  BrowserAct** n8n Community Node -&gt; (n8n Nodes BrowserAct)
  Google Sheets** credentials for saving leads
  Telegram** credentials for sending notifications

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

  Workflow Guidance and Showcase

  AUTOMATE Local Lead Generation: Google Maps to Sheets & Telegram with n8n

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-browseract-workflows.browserAct","n8n-nodes-browseract-workflows.browserAct","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5380 characters]

metadata_json:
  {"categories":["Marketing","Data Processing"],"complexity":"medium","use_cases":["B2B Lead Generation","Local Business Scraping","Google Maps Data Extraction","Automated Lead Lists","Sales Team Support"],"estimated_setup_minutes":10,"required_services":["Google Maps","Google Sheets","Telegram"],"key_features":["Google Maps Scraping Automation","BrowserAct Data Extraction","Real-time Notifications","Google Sheets Integration","Self-hosted Compatibility"],"target_audience":["Marketing Agencies","Sales Teams","Local B2B Service Providers"]}


name: Monitor Shopify Stores for New Products with BrowserAct and Slack Alerts
author_name: Madame AI Team | Kai
author_username: madame-ai
categories: []
created_at: 2025-10-19T11:38:20.554Z
updated_at: 2025-10-19T11:38:20.554Z
url: https://n8n.io/workflows/9895
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:21
description:
  Automated E-commerce Store Monitoring for New Products Using BrowserAct

  This n8n template is an advanced competitive intelligence tool that automatically monitors competitor E-commerce/Shopify stores and alerts you the moment they launch a new product.

  This workflow is essential for e-commerce store owners, product strategists, and marketing teams who need real-time insight into what their competitors are selling.

  Self-Hosted Only 
  This Workflow uses a community contribution and is designed and tested for self-hosted n8n instances only.

  How it works
  The workflow runs on a Schedule Trigger to check for new products automatically (e.g., daily).
  A Google Sheets node fetches your master list of competitor store links from a central sheet.
  The workflow loops through each competitor one by one.
  For each competitor, a Google Sheets node first creates a dedicated tracking sheet (if one doesn't exist) to store their product list history.
  A BrowserAct node then scrapes the competitor's current product list from their live website.
  The scraped data is saved to the competitor's dedicated tracking sheet.
  The workflow then fetches the newly scraped list and the previously stored list of products.
  A custom Code node (labeled "Compare Datas") performs a difference check to reliably detect if any new products have been added.
  If a new product is detected, an If node triggers an immediate Slack alert to your team, providing real-time competitive insight.

  Requirements
  BrowserAct** API account for web scraping
  BrowserAct* "Competitors Shopify Website New Product Monitor*" Template
  BrowserAct** n8n Community Node -&gt; (n8n Nodes BrowserAct)
  Google Sheets** credentials for storing and managing data
  Slack** credentials for sending alerts

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

  Workflow Guidance and Showcase

  Automatically Track Competitor Products | n8n & Google Sheets Template

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.slack","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-browseract-workflows.browserAct","n8n-nodes-browseract-workflows.browserAct","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.splitInBatches","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7496 characters]

metadata_json:
  {"categories":["E-commerce","Competitive Intelligence","Marketing"],"complexity":"medium","use_cases":["Monitor competitor offerings","Detect new product launches","Automate market research"],"estimated_setup_minutes":15,"required_services":["Shopify","BrowserAct","Slack"],"key_features":["Real-time monitoring","Automated notifications","Competitive analysis"],"target_audience":["E-commerce owners","Product strategists","Marketing teams"]}


name: Summarize & Extract Glassdoor Company Info with Google Gemini and Decodo
author_name: Ranjan Dailata
author_username: ranjancse
categories: []
created_at: 2025-10-20T03:38:49.348Z
updated_at: 2025-10-20T03:38:49.348Z
url: https://n8n.io/workflows/9924
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:21
description:
  This workflow automates company research and intelligence extraction from Glassdoor using Decode API for data retrieval and Google Gemini for AI-powered summarization.

  Who this is for

  This workflow is ideal for:

  Recruiters, analysts, and market researchers looking for structured insights from company profiles.
  HR tech developers and AI research teams needing a reliable way to extract and summarize Glassdoor data automatically.
  Venture analysts or due diligence teams conducting company research combining structured and unstructured content.
  Anyone who wants instant summaries and insights from Glassdoor company pages without manual scraping.

  What problem this workflow solves

  Manual Data Extraction**: Glassdoor company details and reviews are often scattered and inconsistent, requiring time-consuming copy-paste efforts.
  Unstructured Insights**: Raw reviews contain valuable opinions but are not organized for analytical use.
  Fragmented Company Data**: Key metrics like ratings, pros/cons, and FAQs are mixed with irrelevant data.
  Need for AI Summarization**: Business users need a concise, executive-level summary that combines employee sentiment, culture, and overall performance metrics.

  This workflow automates data mining, summarization, and structuring, transforming Glassdoor data into ready-to-use JSON and Markdown summaries.

  What this workflow does

  The workflow automates the end-to-end pipeline for Glassdoor company research:

  Trigger

     Start manually by clicking “Execute Workflow.”

  Set Input Fields

     Define company_url (e.g., a Glassdoor company profile link) and geo (country).

  Extract Raw Data from Glassdoor (Decodo Node)

     Uses the Decodo API to fetch company data — including overview, ratings, reviews, and frequently asked questions.

  Generate Structured Data (Google Gemini + Output Parser)

     The Structured Data Extractor node (powered by Gemini AI) processes raw data into well-defined fields:

       Company overview (name, size, website, type)
       Ratings breakdown
       Review snippets (pros, cons, roles)
       FAQs
       Key takeaways

  Summarize the Insights (Gemini AI Summarizer)

     Produces a detailed summary highlighting:

       Company reputation
       Work culture
       Employee sentiment trends
       Strengths and weaknesses
       Hiring recommendations

  Merge and Format

     Combines structured data and summary into a unified object for output.

  Export and Save

     Converts the final report into JSON and writes it to disk as
       C:\{{CompanyName}}.json.

  Binary Encoding for File Handling

     Prepares data in base64 for easy integration with APIs or downloadable reports.

  Setup

  Prerequisites

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

  n8n instance** (cloud or self-hosted)
  Decodo API credentials** (added as decodoApi)
  Google Gemini (PaLM) API credentials**
  Access to the Glassdoor company URLs

  Make sure to install the Decodo Community Node.

  Steps

  Import this workflow JSON file into your n8n instance.
  Configure your credentials for:

     Decodo API
     Google Gemini (PaLM) API
  Open the Set the Input Fields node and replace:

     company_url → with the Glassdoor URL
     geo → with the region (e.g., India, US, etc.)
  Execute the workflow.
  Check your output folder (C:\) for the exported JSON report.

  How to Customize This Workflow

  You can easily adapt this template to your needs:

  Add Sentiment Analysis**

    Include another Gemini or OpenAI node to rate sentiment (positive/negative/neutral) per review.
  Export to Notion or Google Sheets**

    Replace the file node with a Notion or Sheets integration for live dashboarding.
  Multi-Company Batch Mode**

    Convert the manual trigger to a spreadsheet or webhook trigger for bulk research automation.
  Add Visualization Layer**

    Connect the output to Looker Studio or Power BI for analytical dashboards.
  Change Output Format**

    Modify the final write node to generate Markdown or PDF summaries using the pypandoc or reportlab module.

  Summary

  This n8n workflow combines Decode web scrapping with Google Gemini’s reasoning and summarization power to build a fully automated Glassdoor Research Engine.

  With a single execution, it:

  Extracts structured company details
  Summarizes thousands of employee reviews
  Delivers insights in an easy-to-consume format

  Ideal for:

  Recruitment intelligence
  Market research
  Employer branding
  Competitive HR analysis

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.set","@decodo/n8n-nodes-decodo.decodo","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.informationExtractor","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.merge","n8n-nodes-base.readWriteFile","n8n-nodes-base.code","n8n-nodes-base.function","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4320 characters]

metadata_json:
  {"categories":["Data Processing","AI/ML","Research"],"complexity":"medium","use_cases":["extract company reviews","analyze workforce ratings","generate company summaries"],"estimated_setup_minutes":15,"required_services":["Decodo API","Google Gemini","Glassdoor"],"key_features":["AI-powered summarization","structured data extraction","automated research workflow"],"target_audience":["recruiters","analysts","market researchers"]}


name: RAG-powered document chat with Google Drive, OpenAI, and Pinecone Assistant
author_name: Pinecone
author_username: pinecone
categories: []
created_at: 2025-10-20T13:42:34.526Z
updated_at: 2025-10-20T13:42:34.526Z
url: https://n8n.io/workflows/9942
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:19
description:
  Try it out

  This n8n workflow template lets you chat with your Google Drive documents (.docx, .json, .md, .txt, .pdf) using OpenAI and Pinecone Assistant. It retrieves relevant context from your files in real time so you can get accurate, context-aware answers about your proprietary data—without the need to train your own LLM.

  What is Pinecone Assistant?

  Pinecone Assistant allows you to build production-grade chat and agent-based applications quickly. It abstracts the complexities of implementing retrieval-augmented (RAG) systems by managing the chunking, embedding, storage, query planning, vector search, model orchestration, reranking for you.

  Prerequisites

  A Pinecone account
  A GCP project with Google Drive API enabled and configured
  An Open AI account and API key

  Setup

  Create a Pinecone Assistant named n8n-assistant in the Pinecone Console here 
  Setup your Google Drive OAuth2 API credential in n8n
  	In the File added node -&gt; Credential to connect with, select Create new credential
  	Set the Client ID and Client Secret from the values generated in the prerequisites
  	Set the OAuth Redirect URL from the n8n credential in the Google Cloud Console (instructions)
  	Name this credential Google Drive account so that other nodes reference it
  Use the Connect to Pinecone button to authenticate to Pinecone or if you self-host n8n, create a Pinecone credential and add your Pinecone API key directly
  Select your Assistant Name in each of the Pinecone Assistant nodes
  Setup the Open AI credential in n8n
  	In the OpenAI Chat Model node -&gt; Credential to connect with, select Create new credential
  	Set the API Key field to your OpenAI API key
  Add your files to a Drive folder named n8n-pinecone-demo in the root of your My Drive
  	If you use a different folder name, you'll need to update the Google Drive triggers to reflect that change
  Activate the workflow or test it with a manual execution to ingest the documents
  Chat with your docs!

  Ideas for customizing this workflow

  Customize the System Message on the AI Agent node to your use case to indicate what kind of knowledge is stored in Pinecone Assistant
  Change the Top K and/or Snippet Size values to help manage token consumption by adding the Top K and/or Snippet Size parameters to Get context from Assistant node
  Filter the context snippets even further by adding metadata filters to the Get context from Assistant node

  Need help?

  You can find help by asking in the Pinecone Discord community or filing an issue on this repo.

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","@pinecone-database/n8n-nodes-pinecone-assistant.pineconeAssistant","@pinecone-database/n8n-nodes-pinecone-assistant.pineconeAssistantTool","@pinecone-database/n8n-nodes-pinecone-assistant.pineconeAssistant"]

workflow_json_compressed:
  [encoded data, 4160 characters]

metadata_json:
  {"categories":["AI/ML","Data Processing","Communication"],"complexity":"medium","use_cases":["chat with documents","retrieve context from files","answer questions using proprietary data"],"estimated_setup_minutes":15,"required_services":["Google Drive","OpenAI","Pinecone Assistant","Pinecone"],"key_features":["RAG implementation","real-time context retrieval","document type support"],"target_audience":["developers","data analysts","knowledge workers"]}


name: CoinGecko Crypto Price Forecasting Pipeline with Gemini AI, Decodo, and Gmail
author_name: Fahmi Fahreza
author_username: fahmiiireza
categories: []
created_at: 2025-10-21T01:12:49.169Z
updated_at: 2025-10-21T01:12:49.169Z
url: https://n8n.io/workflows/9964
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:21
description:
  Automated Crypto Forecast Pipeline using Decodo and Gmail

  Sign Up for Decodo HERE for discount

  This template scrapes CoinGecko pages for selected coins, converts metrics into clean JSON, stores them in an n8n Data Table, generates 24-hour direction forecasts with Gemini, and emails a concise report.

  Who’s it for?
  Crypto watchers who want automated snapshots, forecasts, and a daily email—without managing a full data stack.

  How it works
  30-min schedule loops coins, scrapes CoinGecko (Decodo), parses metrics, and upserts to Data Table.
  18:00 schedule loads last 48h data.
  Gemini estimates next-24h direction windows.
  Email is rendered (HTML + plain text) and sent.

  How to set up
  Add Decodo, Gmail, and Gemini credentials.
  Open Configure Coins to edit tickers.
  Set Data Table ID.
  Replace recipient email.
  (Self-host only) Community node Decodo required. @decodo/n8n-nodes-decodo (community)

nodes_used:
  ["n8n-nodes-base.code","n8n-nodes-base.dataTable","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.code","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.splitInBatches","@decodo/n8n-nodes-decodo.decodo","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.dataTable","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 12368 characters]

metadata_json:
  {"categories":["AI/ML","Crypto","Automation"],"complexity":"medium","use_cases":["automate crypto data collection","generate price forecasts","schedule daily reporting"],"estimated_setup_minutes":45,"required_services":["CoinGecko","Google Gemini","Decodo","Gmail"],"key_features":["automated web scraping","data storage in n8n Data Table","AI-generated predictions","email reporting"],"target_audience":["crypto traders","financial analysts"]}


name: Scrape, Structure, and Store News Data using Decodo, Gemini AI and Google Sheets
author_name: Fahmi Fahreza
author_username: fahmiiireza
categories: []
created_at: 2025-10-21T01:16:16.996Z
updated_at: 2025-10-21T01:16:16.996Z
url: https://n8n.io/workflows/9965
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  Sign up for Decodo HERE for Discount

  Automatically scrape, structure, and log forum or news content using Decodo and Google Gemini AI. This workflow extracts key details like titles, URLs, authors, and engagement stats, then appends them to a Google Sheet for tracking and analysis.

  Who’s it for?
  Ideal for data journalists, market researchers, or AI enthusiasts who want to monitor trending topics across specific domains.

  How it works
  Trigger: Workflow runs on schedule.  
  Data Setup: Defines forum URLs and geolocation.  
  Scraping: Extracts raw text data using the Decodo API.  
  AI Extraction: Gemini parses and structures the scraped text into clean JSON.  
  Data Storage: Each news item is appended or updated in Google Sheets.  
  Logging: Records scraping results for monitoring and debugging.

  How to set up
  Add your Decodo, Google Gemini, and Google Sheets credentials in n8n.  
  Adjust the forum URLs, geolocation, and Google Sheet ID in the Workflow Config node.  
  Set your preferred trigger interval in Schedule Trigger.  
  Activate and monitor from the n8n dashboard.

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.splitOut","n8n-nodes-base.crypto","n8n-nodes-base.wait","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@decodo/n8n-nodes-decodo.decodo","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5384 characters]

metadata_json:
  {"categories":["Data Processing","AI/ML"],"complexity":"medium","use_cases":["scrape forum content","extract news details","track trending topics","store data in spreadsheets","monitor engagement stats"],"estimated_setup_minutes":45,"required_services":["Decodo","Google Gemini AI","Google Sheets"],"key_features":["automated content scraping","AI-powered text structuring","scheduled task execution","batch processing support","structured data output"],"target_audience":["data journalists","market researchers","AI enthusiasts"]}


name: Telegram Research Assistant for Academic Papers Using Gemini AI and Decodo
author_name: Fahmi Fahreza
author_username: fahmiiireza
categories: []
created_at: 2025-10-21T01:19:01.615Z
updated_at: 2025-10-21T01:19:01.615Z
url: https://n8n.io/workflows/9966
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:20
description:
  AI Research Assistant Using Gemini AI and Decodo

  Sign up for Decodo HERE for Discount

  This workflow transforms your Telegram bot into a smart academic research assistant powered by Gemini AI and Decodo. It analyzes queries, interprets URLs, scrapes scholarly data, and returns concise summaries of research papers directly in chat.

  Who’s it for?
  For researchers, students, and AI enthusiasts who want to search and summarize academic content via Telegram using Google Scholar and arXiv.

  How it works
  The Telegram bot captures text, voice, or image messages.
  Gemini models interpret academic URLs and user intent.
  Decodo extracts paper details like titles, abstracts, and publication info.
  The AI agent summarizes results and delivers them as text or file (if too long).

  How to set up
  Add your Telegram bot credentials in the Start Telegram Bot node.
  Connect Google Gemini and Decodo API credentials.
  Replace {{INPUT_SEARCH_URL_INSIGHTS}} placeholder on Research Summary Agent's system message with your search URL insights (or use the pinned example).
  Test by sending a text, image, or voice message to your bot.
  Activate the workflow to run in real-time.

nodes_used:
  ["@decodo/n8n-nodes-decodo.decodoTool","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.telegram","n8n-nodes-base.telegramTrigger","n8n-nodes-base.switch","n8n-nodes-base.telegram","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.googleGemini","@n8n/n8n-nodes-langchain.googleGemini","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.if","n8n-nodes-base.convertToFile","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 9024 characters]

metadata_json:
  {"categories":["AI/ML","Communication","Data Processing"],"complexity":"medium","use_cases":["Academic paper research","Scholarly data summarization","Telegram bot automation","URL content scraping"],"estimated_setup_minutes":80,"required_services":["Telegram API","Google Gemini API","Decodo API","Google Scholar API","arXiv API"],"key_features":["Natural Language Query Parsing","Scholarly Data Retrieval","Real-time Chat Integration","AI-powered Summarization","Automated URL Scraper"],"target_audience":["Researchers","Students","Academic users"]}


name: Automate Review Request via WhatsApp for Completed WooCommerce Order with Rapiwa
author_name: Rapiwa
author_username: rapiwa
categories: []
created_at: 2025-10-21T05:10:46.311Z
updated_at: 2025-10-21T05:10:46.311Z
url: https://n8n.io/workflows/9969
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  Who is this for?
  This workflow is designed for online store owners, customer-success teams, and marketing operators who want to automatically verify customers' WhatsApp numbers and deliver order updates or invoice links via WhatsApp. It is built around WooCommerce order WooCommerce Trigger (order.updated) but is easily adaptable to Shopify or other platforms that provide billing and line_items in the WooCommerce Trigger payload.

  What this Workflow Does / Key Features
  Listens for WooCommerce order events (example: order.updated) via a Webhook or a WooCommerce trigger.
  Filters only orders with status "completed" and maps the payload into a normalized object: { data: { customer, products, invoice_link } } using the Code node Order Completed check.
  Iterates over line items using SplitInBatches to control throughput.
  Cleans phone numbers (Clean WhatsApp Number code node) by removing all non-digit characters.
  Verifies whether the cleaned phone number is registered on WhatsApp using Rapiwa's verify endpoint (POST https://app.rapiwa.com/api/verify-whatsapp).
  If verified, sends a templated WhatsApp message via Rapiwa (POST https://app.rapiwa.com/api/send-message).
  Appends an audit row to a "Verified & Sent" Google Sheet for successful sends, or to an "Unverified & Not Sent" sheet for unverified numbers.
  Uses Wait and batching to throttle requests and avoid API rate limits.

  Requirements
  HTTP Bearer credential for Rapiwa (example name in flow: Rapiwa Bearer Auth).
  WooCommerce API credential for the trigger (example: WooCommerce (get customer))
  Running n8n instance with nodes: WooCommerce Trigger, Code, SplitInBatches, HTTP Request, IF, Google Sheets, Wait.
  Rapiwa account and a valid Bearer token.
  Google account with Sheets access and OAuth2 credentials configured in n8n.
  WooCommerce store (or any WooCommerce Trigger source) that provides billing and line_items in the payload.

  How to Use — step-by-step Setup
  1) Credentials
     Rapiwa: Create an HTTP Bearer credential in n8n and paste your token (flow example name: Rapiwa Bearer Auth).
     Google Sheets: Add an OAuth2 credential (flow example name: Google Sheets).
     WooCommerce: Add the WooCommerce API credential or configure a Webhook on your store.


  3) Configure Google Sheets
     The exported flow uses spreadsheet ID: 1S3RtGt5xxxxxxxXmQi_s (Sheet gid=0) as an example. Replace with your spreadsheet ID and sheet gid.
     Ensure your sheet column headers exactly match the mapping keys listed below (case and trailing spaces must match or be corrected in the mapping).

  5) Verify HTTP Request nodes
     Verify endpoint: POST https://app.rapiwa.com/api/verify-whatsapp — sends { number } (uses HTTP Bearer credential).
     Send endpoint: POST https://app.rapiwa.com/api/send-message — sends number, message_type=text, and a templated message that uses fields from the Clean WhatsApp Number output.

  Google Sheet Column Structure
  The Google Sheets nodes in the flow append rows with these column keys. Make sure the spreadsheet headers 
  A Google Sheet formatted like this ➤ sample

  | Name           | Number        | Email             | Address                                  | Product Title               | Product ID | Total Price   | Invoice Link                                                                                                  | Delivery Status | Validity   | Status    |
  |----------------|---------------|-------------------|------------------------------------------|-----------------------------|------------|---------------|--------------------------------------------------------------------------------------------------------------|-----------------|------------|-----------|
  | Abdul Mannan | 8801322827799 | contact@spagreen.net   | mirpur dohs                             | Air force 1 Fossil 1:1 - 44 | 238        | BDT 5500.00   | Invoice link | completed       | verified   | sent      |
  | Abdul Mannan | 8801322827799 | contact@spagreen.net   | mirpur dohs h#1168 rd#10 av#10 mirpur dohs dhaka | Air force 1 Fossil 1:1 - 44 | 238        | BDT 5500.00   | Invoice link | completed       | unverified | not sent  |

  Important Notes
  Do not hard-code API keys or tokens; always use n8n credentials.
  Google Sheets column header names must match the mapping keys used in the nodes. Trailing spaces are common accidental problems — trim them in the spreadsheet or adjust the mapping.
  The IF node in the exported flow compares to the string "true". If the verify endpoint returns boolean true/false, convert to string or boolean consistently before the IF.
  Message templates in the flow reference $('Clean WhatsApp Number').item.json.data.products[0] — update templates if you need multiple-product support.

  Useful Links
  Dashboard:** https://app.rapiwa.com
  Official Website:** https://rapiwa.com
  Documentation:** https://docs.rapiwa.com

  Support & Help
  WhatsApp**: Chat on WhatsApp
  Discord**: SpaGreen Community
  Facebook Group**: SpaGreen Support
  Website**: https://spagreen.net
  Developer Portfolio**: Codecanyon SpaGreen

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

workflow_json_compressed:
  [encoded data, 6940 characters]

metadata_json:
  {"categories":["E-commerce","Communication","Customer Support"],"complexity":"medium","use_cases":["verify customer phone numbers","send order updates via WhatsApp","automated invoice distribution"],"estimated_setup_minutes":15,"required_services":["WooCommerce","Rapiwa"],"key_features":["triggered on order update","AI-assisted verification logic","integrated WhatsApp messaging"],"target_audience":["e-commerce owners","customerSuccess managers","marketing operators"]}


name: Automate HVAC service scheduling with AI agent, Google Calendar and Gmail
author_name: Bhuvanesh R
author_username: bhuvanesh
categories: []
created_at: 2025-10-21T09:41:32.806Z
updated_at: 2025-10-21T09:41:32.806Z
url: https://n8n.io/workflows/9974
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:20
description:
  Instant, automated scheduling. This AI Scheduling Agent manages real-time appointments, availability checks, and rescheduling across Google Calendar and Sheets, eliminating human hold times.

  🎯 Problem Statement

  Traditional call center or online booking systems often lack the flexibility to handle complex, multi-step customer requests like rescheduling, checking dynamic availability across multiple time slots, or handling context-aware conversational booking. This leads to friction, missed bookings, and high administrative overhead for service companies like HVAC providers.

  ✨ Solution

  This workflow deploys a sophisticated AI Scheduling Agent that acts as a virtual receptionist. It uses the Language Model's (LLM) "tool-use" capability to intelligently execute complex, sequential business logic (e.g., check availability before booking, find existing events before rescheduling) and manages the entire lifecycle of a service appointment, from initial inquiry to final confirmation.

  ⚙️ How It Works (Multi-Step Execution)

  Trigger: A customer request (e.g., from an external voice or text platform) hits the Webhook Trigger with intent details (e.g., tool\_request: 'reschedule\_appointment').
      
  Agent Logic: The Receptionist Agent uses a strict system prompt and its internal tools to formulate an execution plan. It maintains conversational state via the simple-memory node.
      
  Tool Execution (Example: Reschedule): The Agent executes a predefined sequence of private tools:
      
      find\_old\_event: Locates the existing booking ID using the customer's email.
          
      check\_calendar: Verifies the proposed new time is available (2-hour window).
          
      reschedule\_appointment: Updates the calendar event.
          
      log\_lead: Updates the central Google Sheet.
          
  Synchronous Response: The Agent sends a confirmation or follow-up question via the respond\_to\_webhook node.
      
  Asynchronous Confirmation: The log\_lead action triggers a secondary workflow that composes a professional email via a second LLM (Anthropic) and sends it to the customer via Gmail, followed by an internal alert via Google Chat.
  🛠️ Setup Steps

  Credentials:
      
      AI/LLM: Configure credentials for the Language Model used (OpenAI or Gemini) for the core Agent.
          
      Google Services: Set up OAuth2 credentials for Google Calendar (for booking/checking), Google Sheets (for logging), and Gmail (for customer confirmation).
          
  Google Calendar: Specify the technician's calendar ID (bhuvaneshx13@gmail.com in the template) in all Calendar nodes.
      
  Google Sheets: Create a new Google Sheet to serve as the Lead Log and update the Document ID and Sheet Name in the log\_lead and log\_lead\_trigger nodes.
      
  Tool Configuration: Review and customize the Agent's system prompt in the Receptionist node to align time zone rules (currently Asia/Kolkata - IST) and business hours (9:00 AM to 6:00 PM) with your operations.
  ✅ Benefits

  Increased Efficiency: Fully automates complex scheduling and rescheduling, freeing up human staff.
      
  Contextual Service: AI handles multi-turn conversations and adheres to strict business rules (e.g., 2-hour slots, maximum tool usage).
      
  Data Integrity: Ensures all bookings are immediately logged to Google Sheets, maintaining a centralized record (CRM).
      
  Professional Flow: Provides immediate confirmation to the customer via email and instant notification to the internal team via chat.
  🚀 Other Use Cases

  The underlying multi-step, tool-execution pattern is highly versatile and can be adapted for any service industry requiring complex, rules-based scheduling:

  Real Estate:** Scheduling property viewings (Check agent availability → Book viewing → Send directions).

  HVAC Services:** Managing maintenance and repair visits (Diagnose issue type → Match with qualified technician → Check part availability → Schedule visit → Send service confirmation).
      
  Medical/Dental:** Booking patient appointments (Check insurance eligibility → Check doctor availability → Book → Send pre-visit forms).
      
  Legal Services:** Intake for consultations (Collect client issue → Check specialist availability → Book → Send retainer agreement).
      
  Automotive Repair:** Scheduling service bays (Check bay and mechanic availability → Book → Update internal service board).

nodes_used:
  ["n8n-nodes-base.webhook","@n8n/n8n-nodes-langchain.toolThink","n8n-nodes-base.respondToWebhook","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.googleSheetsTrigger","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","@n8n/n8n-nodes-langchain.anthropic","n8n-nodes-base.gmail","n8n-nodes-base.wait","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.googleCalendarTool","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.googleChat","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE62YWW8juRHHv4qgZ9HL+/BTHG+CDIKNF+vBzsNgIPAoWg23ugWpPd6J4e+eoiRbV3ssKX6yJbHZvyrW8S8+Das0vBx+vuGTX2HyB3NVahf0ajgaTqHzw8unYdUsOt9E+FTWGa2jjVyYTJVOlLoQWEhKgBFaCKlsYFJLbgLz4KKGyHAd0056bx1THPftYDqrfQfXc0iLW+geZtctfgMd4Au6+QM8j4aNnwK+7eoT+b19BFw4+NefV9eD2ziB9FBXzd3g6g6abvBYdZPBbw91V5HbDmaDz21bD/7xF8SHrmqb8jJ/txhefv2GW7YJyr9PK4N5jFknzYkX1BLpBRAbbPlodAIFNLgCuwZ5hDBp2/txN6/u7mBeNv4xKz80tiHLnUnwC7hYr8PfZ+2iWjJcfqUjxjgSrH9c+lFmYMoLRrTQisjgNL45KSIC5SGASIL5soufI0AHcyR/Qr/A0jS4weMYXmZfL2BF8ieuWL6Mj4a+fvQ/FjcP3eyh+9WXM1wufB6tLU+Sg9HZE65TxlcDJ/jCSIB7662NUgm2sbybVM39xt6/ocG/bIyufXMXJ75qLjr0/Of12i3bldEjzuW3Q1N2sNkrnZBRZeYUycpqImW2JGQTCbMYa4o6FfkW3RwWs7ZJ464db1zffzTrpZ/bL31nxIx+Oaafg17IjSOT0NwzTZT1gcjsKfEBAMlNdA7D3WizQV1UJcjJFKbt/McRDl0t/PtDzjD/UjWpfdwlltIe5dkL8QrsuBMyU0GydpFImyJx2QUSjeRSKy2c9hvgmxk0V58G1xPfDX5DuPoI6Hpali+frHZxuT0Sl7/iauN4iNQRUApxDWAo6EiJS8pGkIZSLja4f0CEWXlZteiOIPWlfuwiGitH9D3ADV4SAimkJypzPH7FHXEQHeEmGS8lj1gPN3hYueL9OPoamuTfLiB3bXtXw/V6WSlnu4zuyHzaOnVGUzJCOhKDAax0keGr8NQzaHSvCz4Kt+Gs27txDT69Q3g7AegWh3zK8ZEU76aRvNCvfBiQ+JRQJBk8XGlYIj57Q4JgNHrFbGRwyPduKd7hfF27nUAUM17ZE2oTF8wZzhMpVRJP3GeMRSkI9Q64jcrItEWaMWnHbZ3G8H0VaueduBXoUWlPOnERkA0TJ0WJFZ5lLEwJ3Rq4194YlyC7nRq6aqsw9rNZWzXd9P/hZYLxU0NUaYxKbQThMmIqGR2IVVQRqk00KuXIzFYlLXKhXcDAD6a+OqYq+aabzNtZFfc8ixWUSfluym8CwNKgBQ2GGMMMtk6ViXWZkSisAOpQBdGt5hSwy6BUGce2ydV86l8kSb9b17Zse5KXCF0BbmsHLZnTWMKxMTJMGOqBOGslEVFheIpknQ492mG3jF1shTWLnjnGsCNEDBeFJc1hSBNDtfaac6qM2lj1xVdvB8fj6sd9J2un92wAzHljQBDPJcqvgm+looT7wJPB/7Sw79nAtmzAYuw9BjmhwWNqFmXjPIoaKhwLQVONvtkqxkXP1h8T7vLYxrYJd6m5ZIJSQqPAMHJJYEWhRe1YZ6RlLIW8G0Yfg8rEyc3DooLPESMiWwwzqVGY+UANcSIxC4Kh0NEb1Nuuivc/Bv9pO3iTcrFcs16yRUdK+8VoPkjHIeZPV+y+HA7fTs3EqM2cAmFYNLDmASM2IygLYGIO3KDa7QVlJ5NySUdE0AM/HgeKWZ28kBikVsgivzGPOWDPs0JTVL6cW9oLyk8GLR6VTJ/HmZNyyaOwDbqcvMIGHYKRJHFAERKlkVL0coqzHHo+p3UqSakJpaqUMECBiK4lJkQUPT45z3wvpzw9RBkOCeeHaGTBYjXH3mZNqVEChYQTmQilFJZ6MMH1k6rzSBk97G3HkUoIkuE5kwiRE8kzRkHmnAgRtAsQgpSql1Sfl/bnk1oqMg7OiRgFOEdrL0igqHyiixSHGgE2xF5Sc3qUKj1iwpwZpigRTNaYRBxyQlBtiQucEaAYpyh/FGW2F9SeDKqxI5Vafx5oCKgPwWiSnUItJhSqAW8CqgvNIuiEMs30grrzQLU+t5BGBZwl1AxgcTz0yRPLcMzRWLgU0Jxi3kqnKSwWOPONO/DT9zoojrB7nZOWsz9UMVYlHq3A7ojeQd2KosmWYdAy7vCcZfZZvqtiNiqYcukzGBQtAnfDIyRWs0CAcWaVcTJy6G9h9PS0c3pEzvU8BqzQgQGKtyIYjcaki8Zh66VUYoYYCP2FjJ3ebJlGAXk2qcHpiXIUBDFYDGavNfGoW4hjNODIhp+j6yc9vdtyWnx6cnfA1T521ffNhd4Cug7nhuWjXTWF/7bN8jJ0Uflf/t3W9+VOb4Qatq5h/ntbV/FHuaFs5/e5bh8X/5y301t8+c1js5x44eU29Gae8IvL4XdWKL6vCJZh7C2ECE4QwCkGJQkqcofSFPs9oLxNgglVUh7NaCCWrZZoy0EA/+LgUsz/+rS8Yn0z1ZbLRkMciuGv4SV9/vat+GJ5Y4ib+GpcbhB39um/0XlZub/V68XFh+y2s7rPyJ/dPPaaunv/t4J8+XAM5uvF4e62e8NwH+rP59Be2L3bqg9x6d59yIfsuX8v32d+/469Zh+MWh8amT+lfOtSY59z9PrE7iDea8/hFe7KoHI18oApuv7uGMt2HzmIl8OB+kNc1xu6W+5bLnrjAusDAJ6f/wfb/engHxsAAA==

metadata_json:
  {"categories":["AI/ML","Communication"],"complexity":"medium","use_cases":["automate service booking","intelligent scheduling","handle customer appointment requests"],"estimated_setup_minutes":30,"required_services":["Google Calendar","Google Sheets","Anthropic"],"key_features":["real-time availability checks","context-aware conversational booking","automated rescheduling"],"target_audience":["HVAC technicians","service managers","admin staff"]}


name: Automated customer support & feedback triage with Gemini, Jotform, Gmail, Jira
author_name: Zain Khan
author_username: zain
categories: []
created_at: 2025-10-21T12:03:22.394Z
updated_at: 2025-10-21T12:03:22.394Z
url: https://n8n.io/workflows/9976
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:21
description:
  AI-Powered Customer Feedback: Triage and Insight-Driven Chat

  This n8n workflow creates a two-phase system for handling customer feedback received via a Jotform submission. The first agent quickly triages the issue, and the second agent engages in a persistent, conversational exchange over email to collect the information necessary for a resolution.

  Phase 1: Triage and Initial Action (AI Agent)

  This phase is triggered by a new submission on the Jotform. The goal is to immediately categorize the feedback and take the appropriate initial action.

  Jotform Trigger: The workflow starts instantly when a user submits your designated feedback form.
  AI Agent (Triage): This agent (powered by Google Gemini) is tasked with two primary jobs:
      Sentiment Analysis and Response Drafting: It reads the feedback (q6_typeA6) and the user's name (q3_name.first).
          If Positive: It uses the Send a message in Gmail tool to send a concise, appreciative thank you note.
          If Negative: It uses the Send a message in Gmail tool to send an initial, empathetic response acknowledging the issue and stating that a team member will follow up with questions. It also uses the Create an issue in Jira Software tool to log the bug or issue immediately.
      Data Structuring: It uses the Structured Output Parser to extract key data points, most importantly the threadId of the initial email, which is crucial for the follow-up conversation agent.

  Phase 2: Conversational Insight Gathering (AI Agent (Chat))

  This phase takes over for all negative feedback, engaging the customer in a back-and-forth exchange to collect essential details required for the development or support team.

  Gmail Trigger: This node is set to poll for new, unread emails (which are expected to be replies from the customer).
  Simple Memory: This node is vital for the conversational aspect. It is configured to use the unique email threadId as its session key, allowing the AI Agent to remember the entire history of the conversation (previous questions asked and details provided) across multiple emails.
  AI Agent (Chat): This is the 2nd agent and the core of the conversational process.
      Role: It acts as a dedicated feedback assistant.
      Goal: Its instruction is to reply and ask for specific, missing information needed for the ticket, such as: what device they were using, if they know the steps to reproduce the issue, and to confirm that the team will send a free coupon for credits as a thank you for their help.
      Tool: It uses the Reply to a message in Gmail tool to continue the conversation directly within the original email thread.
      Resolution: The agent is trained to look for confirmation that all necessary information has been provided. Once it determines the issue details are complete, it will send a final thank you email and automatically use the Jira tool to summarize and update the existing Jira issue with the new insights, closing the loop on the data collection process.

  Requirements

  To implement and run this automated customer feedback workflow, the following accounts and credentials are required:

  1. Automation Platform

  n8n Instance:** A running instance of n8n (Cloud or self-hosted) to host and execute the workflow.
  Sign up for n8n using: https://n8n.partnerlinks.io/pe6gzwqi3rqw

  2. Service Credentials

  You must set up and connect the following credentials within your n8n instance:

  Google Gemini API Key:* Required to power both *AI Agent** nodes for sentiment analysis and conversational follow-up.
  Gmail OAuth2/API Key:** Required for:
      The Send a message in Gmail tool (for initial replies).
      The Gmail Trigger (to detect new replies).
      The Reply to a message in Gmail tool (for the ongoing conversation).
  Jotform API Key:* Required for the *Jotform Trigger** node to instantly receive and process new form submissions.
  Sign up for Jotform using: https://www.jotform.com/?partner=zainurrehman
  Jira Software Credentials:* Required for the *Create an issue in Jira Software* tool (for the first agent) and the *Jira Tool** (for the second agent to update the ticket).

  3. External Configurations

  Jotform Setup:** A live Jotform must be configured with specific fields to capture the user's name, email, and the feedback text.
  Jira Setup:* You need a designated *Jira Project* and a defined *Issue Type** for the workflow to create and update tickets.

nodes_used:
  ["n8n-nodes-base.jotFormTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.gmailTrigger","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.gmailTool","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.gmailTool","n8n-nodes-base.set","n8n-nodes-base.jiraTool","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["AI/ML","Customer Support"],"complexity":"complex","use_cases":["Triage customer feedback","Automate support responses","Generate action items for Jira","Manage multi-step engagement"],"estimated_setup_minutes":45,"required_services":["Google Gemini","JotForm","Gmail","Jira"],"key_features":["AI-powered categorization","Conversational email engagement","Automated Jira ticket creation","Multi-step workflow orchestration"],"target_audience":["support team leads","customer success managers","developers"]}


name: Match Resumes to Jobs Automatically with Gemini AI and Decodo Scraping
author_name: Fahmi Fahreza
author_username: fahmiiireza
categories: []
created_at: 2025-10-21T12:51:02.856Z
updated_at: 2025-10-21T12:51:02.856Z
url: https://n8n.io/workflows/9980
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:20
description:
  Match Resumes to Jobs Automatically with Gemini AI and Decodo Scraping

  Sign up for Decodo HERE for Discount

  This automation intelligently connects candidate profiles to job opportunities. It takes an intake form with a short summary, resume link, and optional LinkedIn profile, then enriches the data using Decodo and Gemini. The workflow analyzes skills, experience, and role relevance, ranks top matches, and emails a polished HTML report directly to your inbox—saving hours of manual review and matching effort.

  Who’s it for?

  This template is designed for recruiters, hiring managers, and talent operations teams who handle large candidate volumes and want faster, more accurate shortlisting. It’s also helpful for job seekers or career coaches who wish to identify high-fit openings automatically using structured AI analysis.

  How it works

  Receive an intake form containing a candidate’s resume, summary, and LinkedIn URL.
  Parse and summarize the resume with Gemini for core skills and experience.
  Enrich the data using Decodo scraping to gather extra profile details.
  Merge insights and rank job matches from Decodo’s job data.
  Generate an HTML shortlist and email it automatically through Gmail.

  How to set up

  Connect credentials for Gmail, Google Gemini, and Decodo.
  Update the Webhook path and test your form connection.
  Customize variables such as location or role preferences.
  Enable Send as HTML in the Gmail node for clean reports.
  Publish as self-hosted if community nodes are included.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.switch","@decodo/n8n-nodes-decodo.decodo","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.merge","@n8n/n8n-nodes-langchain.agent","@decodo/n8n-nodes-decodo.decodoTool","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.gmail","n8n-nodes-base.webhook","@n8n/n8n-nodes-langchain.informationExtractor","@n8n/n8n-nodes-langchain.googleGemini","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, 6720 characters]

metadata_json:
  {"categories":["HR","Recruitment","AI/ML"],"complexity":"medium","use_cases":["match resumes to jobs","analyze candidate profiles","generate job fit reports"],"estimated_setup_minutes":15,"required_services":["Gemini AI","Decodo"],"key_features":["resume scraping","skill extraction","job matching using AI","automated reporting"],"target_audience":["recruiters","HR managers","hiring managers"]}


name: Weekly SEO Watchlist Audit to Google Sheets with Gemini and Decodo
author_name: Fahmi Fahreza
author_username: fahmiiireza
categories: []
created_at: 2025-10-21T12:53:21.626Z
updated_at: 2025-10-21T12:53:21.626Z
url: https://n8n.io/workflows/9982
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:21
description:
  Weekly SEO Watchlist Audit to Google Sheets (Gemini + Decodo)

  Sign up for Decodo HERE for Discount

  Automatically fetches page content, generates a compact SEO audit (score, issues, fixes), and writes both a per-URL summary and a normalized “All Issues” table to Google Sheets—great for weekly monitoring and prioritization.

  Who’s it for?
  Content/SEO teams that want lightweight, scheduled audits of key pages with actionable next steps and spreadsheet reporting.

  How it works
  Weekly trigger loads the Google Sheet of URLs.
  Split in Batches processes each URL.
  Decodo fetches page content (markdown + status).
  Gemini produces a strict JSON audit via the AI Chain + Output Parser.
  Code nodes flatten data for two tabs.
  Google Sheets nodes append Summary and All Issues rows.
  Split in Batches continues to the next URL.

  How to set up
  Add credentials for Google Sheets, Decodo, and Gemini.
  Set sheet_id and Sheet GIDs in the Set node.
  Ensure input sheet has a URL column.
  Configure your Google Sheets tabs with proper headers matching each field being appended (e.g., URL, Decodo Score, Priority, etc.).
  Adjust schedule as needed.
  Activate the workflow.

nodes_used:
  ["n8n-nodes-base.noOp","n8n-nodes-base.googleSheets","n8n-nodes-base.splitInBatches","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.scheduleTrigger","@decodo/n8n-nodes-decodo.decodo","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6600 characters]

metadata_json:
  {"categories":["Marketing","SEO","Data Processing"],"complexity":"medium","use_cases":["schedule SEO audits","generate actionable fixes","track issues over time","export data to spreadsheets"],"estimated_setup_minutes":15,"required_services":["Google Sheets","Google Gemini API","Decodo"],"key_features":["weekly scheduling","LLM content analysis","structured output","multi-sheet reporting","issue prioritization"],"target_audience":["SEO specialists","content marketers","data analysts"]}


name: Analyze Trustpilot & Sitejabber sentiment with Decodo + Gemini to Sheets
author_name: Fahmi Fahreza
author_username: fahmiiireza
categories: []
created_at: 2025-10-21T14:27:47.676Z
updated_at: 2025-10-21T14:27:47.676Z
url: https://n8n.io/workflows/9985
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:21
description:
  Analyze Trustpilot & Sitejabber sentiment with Decodo + Gemini to Sheets

  Sign up for Decodo HERE for Discount

  This template scrapes public reviews from Trustpilot and Sitejabber with a Decodo tool, converts findings into a flat, spreadsheet-ready JSON, generates a concise sentiment summary with Gemini, and appends everything to Google Sheets. It’s ideal for reputation snapshots, competitive analysis, or lightweight BI pipelines that need structured data and a quick narrative.

  Who’s it for?
  Marketing teams, growth analysts, founders, and agencies who need repeatable review collection and sentiment summaries without writing custom scrapers or manual copy/paste.

  How it works
  A Form Trigger collects the Business Name or URL.
  Set (Config Variables) stores business_name, spreadsheet_id, and sheet_id.
  The Agent orchestrates the Decodo tool and enforces a strict JSON schema with at most 10 reviews per source.
  Gemini writes a succinct summary and recommendations, noting missing sources with: “There’s no data in this website.”
  A Merge node combines JSON fields with the narrative.
  Google Sheets appends a row.

  How to set up
  Add Google Sheets, Gemini, and Decodo credentials in Credential Manager.
  Replace (YOUR_SPREADSHEET_ID) and (YOUR_SHEET_ID) in Set: Config Variables.
  In Google Sheets, select Define below and map each column explicitly.
  Keep the parser and agent connections intact to guarantee flat JSON.
  Activate, open the form URL, submit a business, and verify the appended row.

nodes_used:
  ["@decodo/n8n-nodes-decodo.decodoTool","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.googleGemini","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","n8n-nodes-base.formTrigger","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.set","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6384 characters]

metadata_json:
  {"categories":["Data Processing","Marketing","Communication"],"complexity":"medium","use_cases":["scrape online reviews","analyze customer sentiment","generate AI summaries","export data to spreadsheets"],"estimated_setup_minutes":45,"required_services":["Trustpilot","Sitejabber","Google Sheets","Google Gemini API"],"key_features":["automated review scraping","AI-driven sentiment analysis","structured output formatting","real-time summary generation"],"target_audience":["marketing managers","customer support teams","data analysts"]}


name: AI-Powered Product Video Generator (Foreplay + Gemini + Sora 2)
author_name: Fahmi Fahreza
author_username: fahmiiireza
categories: []
created_at: 2025-10-21T14:48:34.856Z
updated_at: 2025-10-21T14:48:34.856Z
url: https://n8n.io/workflows/9986
scraped_at: 2026-05-02 08:04:48
metadata_generated_at: 2026-05-02 08:36:21
description:
  AI-Powered Product Video Generator (Foreplay + Gemini + Sora 2)

  Sign Up For Foreplay HERE

  Automatically generate personalized, cinematic-quality product videos using Foreplay’s ad data, Google Gemini AI for creative prompts, and Sora 2 for text-to-video generation.

  Who’s it for?
  Perfect for marketers, brand managers, or creators who want to produce quick, high-quality video ads without manual scripting or editing.

  How it works
  Fetch product data and related competitor videos from Foreplay.
  Use Gemini AI to generate creative text-to-video prompts.
  Send the prompt and image to Kie.ai to generate a short, cinematic product video.
  Save the finished video automatically to Google Drive.

  How to set up
  Connect your Foreplay, Google Drive, Gemini, and Kie.ai credentials.  
  Set your product image folder's permission (Google Drive) as public.  
  Add your API keys inside the Set Workflow Credentials node.  
  Then run the workflow manually to generate your first video ad!

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.googleDrive","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.set","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.switch"]

workflow_json_compressed:
  [encoded data, 8004 characters]

metadata_json:
  {"categories":["Marketing","AI/ML"],"complexity":"medium","use_cases":["Generate personalized product videos","Automate video ad production","Create cinematic ad content","Integrate foreplay analytics with video generation"],"estimated_setup_minutes":30,"required_services":["Foreplay","Google Gemini","Sora 2","Google Drive"],"key_features":["Text-to-video generation integration","Creative prompt generation via AI","Competitive data retrieval","Automated video ad workflow","Personalized cinematic output"],"target_audience":["Marketers","Brand managers","Content creators"]}


name: Auto-Create TikTok Videos with VEED.io AI Avatars, ElevenLabs & GPT-4
author_name: Dr. Firas
author_username: drfiras
categories: []
created_at: 2025-10-21T20:50:20.762Z
updated_at: 2025-10-21T20:50:20.762Z
url: https://n8n.io/workflows/10000
scraped_at: 2026-05-02 08:04:48
metadata_generated_at: 2026-05-02 08:36:21
description:
  💥 Viral TikTok Video Machine: Auto-Create Videos with Your AI Avatar

  🎯 Who is this for?
  This workflow is for content creators, marketers, and agencies who want to use Veed.io’s AI avatar technology to produce short, engaging TikTok videos automatically.  
  It’s ideal for creators who want to appear on camera without recording themselves, and for teams managing multiple brands who need to generate videos at scale.

  ⚙️ What problem this workflow solves
  Manually creating videos for TikTok can take hours — finding trends, writing scripts, recording, and editing.  
  By combining Veed.io, ElevenLabs, and GPT-4, this workflow transforms a simple Telegram input into a ready-to-post TikTok video featuring your AI avatar powered by Veed.io — speaking naturally with your cloned voice.

  🚀 What this workflow does
  This automation links Veed.io’s video-generation API with multiple AI tools:
  Analyzes TikTok trends via Perplexity AI  
  Writes a 10-second viral script using GPT-4  
  Generates your voiceover via ElevenLabs  
  Uses Veed.io (Fabric 1.0 via FAL.ai) to animate your avatar and sync the lips to the voice  
  Creates an engaging caption + hashtags for TikTok virality  
  Publishes the video automatically via Blotato TikTok API  
  Logs all results to Google Sheets for tracking

  🧩 Setup
  Telegram Bot
     Create your bot via @BotFather
     Configure it as the trigger for sending your photo and theme

  Connect Veed.io
     Create an account on Veed.io  
     Get your FAL.ai API key (Veed Fabric 1.0 model)  
     Use HTTPS image/audio URLs compatible with Veed Fabric  

  Other APIs
     Add Perplexity, ElevenLabs, and Blotato TikTok keys  
     Connect your Google Sheet for logging results  

  🛠️ How to customize this workflow
  Change your Avatar:* Upload a new image through Telegram, and *Veed.io** will generate a new talking version automatically.  
  Modify the Script Style:** Adjust the GPT prompt for tone (educational, funny, storytelling).  
  Adjust Voice Tone:* Tweak *ElevenLabs** stability and similarity settings.  
  Expand Platforms:** Add Instagram, YouTube Shorts, or X (Twitter) posting nodes.  
  Track Performance:** Customize your Google Sheet to measure your most successful Veed.io-based videos.

  🧠 Expected Outcome
  In just a few seconds after sending your photo and theme, this workflow — powered by Veed.io — creates a fully automated TikTok video featuring your AI avatar with natural lip-sync and voice.  
  The result is a continuous stream of viral short videos, made without cameras, editing, or effort.

  ✅ Import the JSON file in n8n, add your API keys (including Veed.io via FAL.ai), and start generating viral TikTok videos starring your AI avatar today!

  🎥 Watch This Tutorial



  📄 Documentation: Notion Guide

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

nodes_used:
  ["n8n-nodes-base.telegramTrigger","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.perplexity","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.googleSheets","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.telegram","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.telegram","@blotato/n8n-nodes-blotato.blotato","@blotato/n8n-nodes-blotato.blotato","@blotato/n8n-nodes-blotato.blotato","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-nodes-base.merge"]

workflow_json_compressed:
  [encoded data, 9820 characters]

metadata_json:
  {"categories":["Marketing","Communication","Data Processing"],"complexity":"medium","use_cases":["automated TikTok video creation","AI avatar content generation","social media scaling"],"estimated_setup_minutes":20,"required_services":["Veed.io","ElevenLabs","OpenAI (GPT-4)","Telegram"],"key_features":["AI text-to-speech synthesis","virtual influencer automation","multi-step video assembly"],"target_audience":["social media managers","content creators","marketing agencies"]}


name: Track Competitor SEO Keywords with Decodo + GPT-4.1-mini + Google Sheets
author_name: Ranjan Dailata
author_username: ranjancse
categories: []
created_at: 2025-10-21T23:04:45.122Z
updated_at: 2025-10-21T23:04:45.122Z
url: https://n8n.io/workflows/10002
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:21
description:
  This workflow automates competitor keyword research using OpenAI LLM and Decodo for intelligent web scraping.

  Who this is for

  SEO specialists, content strategists, and growth marketers who want to automate keyword research and competitive intelligence.

  Marketing analysts managing multiple clients or websites who need consistent SEO tracking without manual data pulls.

  Agencies or automation engineers using Google Sheets as an SEO data dashboard for keyword monitoring and reporting.

  What problem this workflow solves

  Tracking competitor keywords manually is slow and inconsistent.

  Most SEO tools provide limited API access or lack contextual keyword analysis.

  This workflow solves that by:

  Automatically scraping any competitor’s webpage with Decodo.
  Using OpenAI GPT-4.1-mini to interpret keyword intent, density, and semantic focus.
  Storing structured keyword insights directly in Google Sheets for ongoing tracking and trend analysis.

  What this workflow does

  Trigger — Manually start the workflow or schedule it to run periodically.
  Input Setup — Define the website URL and target country (e.g., https://dev.to, france).
  Data Scraping (Decodo) — Fetch competitor web content and metadata.
  Keyword Analysis (OpenAI GPT-4.1-mini) 

     Extract primary and secondary keywords.
     Identify focus topics and semantic entities.
     Generate a keyword density summary and SEO strength score.
     Recommend optimization and internal linking opportunities.
  Data Structuring — Clean and convert GPT output into JSON format.
  Data Storage (Google Sheets) — Append structured keyword data to a Google Sheet for long-term tracking.

  Setup

  Prerequisites

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

  n8n account with workflow editor access
  Decodo API credentials
  OpenAI API key
  Google Sheets account connected via OAuth2

  Make sure to install the Decodo Community node.



  Create a Google Sheet

     Add columns for: primary_keywords, seo_strength_score, keyword_density_summary, etc.
     Share with your n8n Google account.

  Connect Credentials

     Add credentials for:

       Decodo API credentials - You need to register, login and obtain the Basic Authentication Token via Decodo Dashboard 
       OpenAI API (for GPT-4o-mini)
       Google Sheets OAuth2

  Configure Input Fields

     Edit the “Set Input Fields” node to set your target site and region.

  Run the Workflow

     Click Execute Workflow in n8n.
     View structured results in your connected Google Sheet.

  How to customize this workflow

  Track Multiple Competitors**
    → Use a Google Sheet or CSV list of URLs; loop through them using the Split In Batches node.

  Add Language Detection**
    → Add a Gemini or GPT node before keyword analysis to detect content language and adjust prompts.

  Enhance the SEO Report**
    → Expand the GPT prompt to include backlink insights, metadata optimization, or readability checks.

  Integrate Visualization**
    → Connect your Google Sheet to Looker Studio for SEO performance dashboards.

  Schedule Auto-Runs**
    → Use the Cron Node to run weekly or monthly for competitor keyword refreshes.

  Summary

  This workflow automates competitor keyword research using:

  Decodo** for intelligent web scraping
  OpenAI GPT-4.1-mini** for keyword and SEO analysis
  Google Sheets** for live tracking and reporting

  It’s a complete AI-powered SEO intelligence pipeline ideal for teams that want actionable insights on keyword gaps, optimization opportunities, and content focus trends, without relying on expensive SEO SaaS tools.

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

workflow_json_compressed:
  [encoded data, 4384 characters]

metadata_json:
  {"categories":["Marketing","AI/ML"],"complexity":"medium","use_cases":["automate competitor keyword research","extract analytics data from websites","generate keyword insights using AI","track SEO performance in spreadsheets"],"estimated_setup_minutes":5,"required_services":["GPT-4.1-mini (OpenAI)","Decodo","Google Sheets"],"key_features":["LLM-powered data extraction","web scraping integration","competitive intelligence automation","Spreadsheet-based reporting"],"target_audience":["SEO specialists","content strategists","growth marketers"]}


name: Automate Facebook Page Token Renewal with Data Tables Storage
author_name: Đỗ Thành Nguyên
author_username: nathando
categories: []
created_at: 2025-10-22T11:31:10.436Z
updated_at: 2025-10-22T11:31:10.436Z
url: https://n8n.io/workflows/10038
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  Get Long-Lived Facebook Page Access Token with Data Table
  &gt; Set up n8n self-hosted via Tino.vn VPS — use code VPSN8N for up to 39% off (affiliate link).

  Good to Know

  This workflow automatically solves the common issue of Facebook Page Access Tokens expiring. It proactively renews your Page Tokens and stores them in an n8n Data Table.

  It runs every two months, ensuring your Page Access Tokens remain valid. This guarantees seamless and uninterrupted automation for all your Facebook API integrations.

  How It Works

  The workflow performs the following steps to keep your tokens up to date:

  Schedule Trigger: The workflow runs on a set schedule — every two months by default.
  Set Parameters: It initializes the required credentials: client_id, client_secret, a short-lived user_access_token, and the app_scoped_user_id (all obtained from Facebook Developer Tools).
  Get Long-Lived User Token: It exchanges the short-lived User Access Token for a long-lived one.
  Get Page Tokens: Using the long-lived User Token, it fetches all pages you manage and their corresponding Page Access Tokens.
  Update Data Table: For each page, it extracts the access_token, name, and id, then performs an Upsert operation to update or insert rows in your n8n Data Table, ensuring the stored tokens are always current.

  How to Use

  Import: Import this JSON file into your n8n instance.
  Configure Credentials: Open the Set Parameters node and replace the placeholder values for client_id, client_secret, user_access_token, and app_scoped_user_id with your actual credentials from Facebook.
  Configure Data Table: Open the Upsert row(s) node.

     Select or create an n8n Data Table to store your tokens.
     Make sure the column mapping (token, name_page, id_page) matches your table schema.
  Activate: Save and activate the workflow. It will now run automatically based on your configured schedule.

  Requirements

  n8n instance :**
  &gt; Set up n8n self-hosted via Tino.vn VPS — use code VPSN8N for up to 39% off (affiliate link).

  Facebook App:** A Facebook Developer App to generate the following credentials:

    client_id and client_secret
    A short-lived user_access_token
    app_scoped_user_id
  Data Table:** An n8n Data Table configured with columns to store token information (e.g., token, name_page, id_page).

  Customizing This Workflow

  Change Schedule:* To modify how often tokens are renewed, edit the *Schedule Trigger* node. You can change the interval from *2 months* to *1 month**, or schedule it for a specific day.
  Filter Pages:* If you only want to store tokens for specific pages, insert a *Filter* node right after *Split Out. Use the page name or ID to filter before sending data to **Upsert row(s).
  Alternative Storage:* Instead of an n8n Data Table, you can replace the *Upsert row(s)* node with another option (e.g., Google Sheets, a database, or a *Set** node) to store tokens elsewhere.

nodes_used:
  ["n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.set","n8n-nodes-base.dataTable","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE8VZ627byBV+lYGyRRJBI/EyJIcGgsJ2YsfOJnFi+VJnDWM4F4kxRSq8WNYGBvYRFkWBAv3T9lfRvkJ/bl+kfYI+Qs9QF1KW5KzSFvtLvJw593O+c6jPjYHMWWPrcyOMs5zFXB6IxlYjcKjlGJQom9oBsyl1rYAZgRN40ne4YxoeIwYnUnhMcY/aniU84him6dqMSttutBq5HAwjlk/4WY7tNO5ajTgRMmtsfQBx+rFpMpdarouVJzkm3HGxb1se5kQJQxLiUeUCq5gNJFAfyxwdsRRucplqCeOhfhzTGJd8ccAy2c5kDu+GSRbmYRKDLM8yWhYxLuHh7HCmDU6GmkBfgmIsy8JePJBxXr5buJ1pG5jKDSgzseCWg0lgSuwzZmODg66OxaQlZKUt4lEI56/g6FzVLE/DuAf3Nywq9APXMYltuoZBqU1sH1w0leUz16aezzC3HR8TnwnsK/CR6XNfEnC5EO6yrEzytDR/nTwaSMNgFoSXGyY3BOXMZh7o71PHsX23UsD1PZNRYmIpHImJ8F0cCBZgUzLJLeGYnPNKgSKT6RXjXGbZVZ5cy/gBHZ692N4+fCe7xqd+QXeOBnuHn15+erX//bejw2HMjmRPvL+9/ljw7fR86FzsjhJ3t7d39rYf0V1y+N7cyS92ds/kTv9ih7DDo7O3N++zXbe78xv27tsXlI5EkMgsOr1VtwdqfPwyO+/Ss7P9vd7JK/n6+rk6/17F5wNJxjcXO2d7z0++P81Oz7df+86hnZjp6SG3DcXYuSN6Z+pgm7/sGQfyxXBwffLxlXl7fLHzbmTkw9uQ76Tb+xfb+8/3z0X09rTyG/cccJhjYNeSDBMpDRwAQ+woz+eKCJN4tSRhw+FVxpOhFFelCx9MFsvwqU9Nz/Asi1KDVEI9xzFdyzQhUVwQ6gYKUwtSxrIdS3kGNRzTqoRGSdy72ihinz+jbz5mSdwOEjFu10+hu7vG3eXd3eTwKZRWWXR2m1QeoYRw7rnYZZ4NHiEcBw5TWAg7MLjtQw+oF/kwCnP0tsjXF7immBDUqhwsbYFTlqo8jHlUiNLXUfQ278t0L5SRyOB01QBmVDthzNJxY0uxKJNgk9Kk3eR4JhF6gHaAYNAy75tszg12gkApSxBsBAaUjukT7HsKuprJCDd87nHPqwx+IcDeuU4/s6c5hKy0duOepiQTBvd8HHgM+oxgFDPBKeYulYy6BjGZqqXrhvny4fHcX48vl/Nm3uwocT3Oy/Q1MLF8EwMuOKCTEAZRFoHUrpQofzYWrk8tCHUDL6DcgganPIqJETBMXaGwwTxFXMPxAs4qoQ8W5hqRofgZ1aGgyQoqBXZMwBNiBR5mvkMwsyGNAG8NIWilxskQyjZHaTJ6kj1dmy5afpcFkbwHhLa7Mml4EhWDSR1MLfrcmIS4Xvr3o9cC/a+GrLfYICY2T/RdflsFoZHxvhywKhGrA8t+FiHUPIO6zNNCthqpHCQ3UkzLVN8z8TaOxrUHn4owrVFMGbypEmgmSkjFiih/zXLen9f9VKWZff93hSpBD6mzrur+x8rMxKxSBVJnAJAFcl8nZU8FojCWOzJKRg39Dmjh5e4soT7AAZbrSTDvJrtJfAPJ2wX1s7lsPnk46X/QaSdG1RpwVGVpLMJpd4OkuZbL3oNnp0uQNa/CqX7difsADXYrjhoMZMomhdIoyirTPpgVkh5iPzeurtJo5ubBxAFRmOW1TpAPXp0mZ3vJ+adeePoyP4BXnEGmi/cyA2ee6PONzjBNPkqeZ52L7FwmJ6TYP+l3g5uu6miBuRaYdb7AapbLNG4s9ZcKijw3MIVDFaCQcKHJUYp9X8IEyyxmu64NA3ttGjnW7ItIom4a9noPzdhTwoqu1mYsz1o5b6dwYIK18AQcVoaxRFgQMEjivK/jMLk4mNNYK/qn2bbmFlLbZDZsH1gyE0Yf4QQwp1oSS196piNd2FBq2HGch/x6jN4kuVxvXEkzJanZhWFOb5meu6p/Jmljy201RqHIoVhgPbJajb4Me32YGWBWK/M8B+QFaY8eoeNcDpH5Xdxs7sNKUy0KLbQ4yDeb6AMMLPLyST/Ph9lWpyPkDdQapGrWVozLIEmu2zwZdKAos6ffxXOWS9Pdz2eVJ0mUdeTtEIySaafOdXla3ZivkEHR60w0KxXrPH1gkuIq4I4HK1agAgvA0fZgJggMTKmwbd92Ld9eHVzz66ILY/K66NqbRddCM6/paRtFIbRkNPMH0v0KTePygPlCCOUoA+Z4DpsXCTwHU84JljzgsGTY8MNXmm99nfmU0CXzNzHaLo1+k4wQzNlob2bt0dxa1GcZ0gkVSLhJZSxH4BYWCzQKowgFEkFSADShMC7JNBvdEtGkJ7ZRtx9m8FIl6aBs1iVVeRYAI9EMiiEcAA6jPnAHaEHjpCip0iIGteD4KEmvFQBW+0Hf+8oWRkC1xw1IPQEzoq+nY+VzWJYDk/pBbaVaF2hdJugecN+LiK6b9wDJMru/0Rik5bjLfbQoQWRWbr2UDfuLlXZj2W2jk7Ai73fuTey1lSeV2RAu5f1rVUTR+/m9Brs73YAzGYt3hUznc8YnfXO0oFldT+jtU9+AhtDRSuMroFTBlbzlfRb35FQ57fnpifqXkxUzdtUwH1/ORvrFk/PvIA+cntAscVhWbNUevNRf10z6pI5URJqucjh2Awl7sGv7kFE2wSbUNKwbngVodS+jYLhYbBqbZxG0tP8miwZSp1BS6KXxl0mfexn89d8k6rEgkvrU08umzQVUN1GYeS7HjuOYngNgwyzvy9VdtfHN46K/Sq6Py7MvBkab/+TxwifRx0/bIcza7cm6toTV4JZ6LOFIP9G+eLb/ovsLxRY9FNwnj7/cVRdM/qpE8Ew3UIRhQ5gAsZw7MGtYsH47RBHqmtyx6UqItTeHWB3yVfPjFGL1N505wvqeu4Cw6N9//MMPqNncDpIiL+F1FxY7AMtmcwvgDRC4W8c2BNc8ZUojYTBGH5rNf/z4z7//Hoh++lPcR296xfinvwFWV2NbvwjaIsmh8fVjeCtjnWtPWyXvRwDRCOAkmYIuS2HNy2GDKaGbTxQB8IXdT2hZK3l9WRj61w+/QwxlQ4gzElKEvETyPEHZgKX53LishaaeqSnVKnWJE8whEgg2LFHwPLwJ8zHKxhnkSNbWU8Aj7cnf/hmKJtPJAAIQK10KHGOwCLZPFAoJY8oozPtI3kpeTNhPfYaCIoRVFSQwoOYsqumQQWBYjoI0FNAYIFhhWg4uLdSVkYRSHrQQJMtE1e0DVI7EMEHDRgQ2SjaAGSdDkicLGoPCf/krei5hIB/raSZFySjWfNDsLxt0EzLt924YJ+2bGJ0eHde9nU8ed26GGYZjv2ZKheKZTenU4ym0BAHqfuM6nbFkkFItXWKo9GSzCdze0DegJkxdMF7peDSbtv8rlCgFT5tPNL8o1K6Mwvj6aRPUXjFYXZb5XPp42maqT71wM2ChLhLdGyab9crvoiVVC1ZIIW8bW8bdpV7r65SrOK35aLaS1+J/TKu4bTLqrRSxqE5NxESB+zv4Kh3W/BO2UtyaQWIT01bh3HpZDzNYac7yN/+N2Ndcv9asB0apFbLu7v4D6rvaxBkdAAA=

metadata_json:
  {"categories":["Social Media Management","API Integration","Data Processing"],"complexity":"medium","use_cases":["renew Facebook Page access tokens","store tokens in database","schedule token refresh tasks","prevent API authentication issues"],"estimated_setup_minutes":15,"required_services":["Facebook Graph API","n8n Data Table"],"key_features":["automatic token renewal","error handling","scheduled execution","persistent storage"],"target_audience":["social media managers","developers","ops engineers"]}


name: Automate Video Story Publishing to Facebook Page using Google Drive and Sheets
author_name: Đỗ Thành Nguyên
author_username: nathando
categories: []
created_at: 2025-10-23T02:34:17.108Z
updated_at: 2025-10-23T02:34:17.108Z
url: https://n8n.io/workflows/10067
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:21
description:
  Automated Facebook Page Story Video Publisher (Google Drive → Facebook → Google Sheet)
  &gt; Recommended: Self-hosted via tino.vn/vps-n8n?affid=388 — use code VPSN8N for up to 39% off.

  This workflow is an automated solution for publishing video content from Google Drive to your Facebook Page Stories, while using Google Sheets as a posting queue manager.

  What This Workflow Does (Workflow Function)

  This automation orchestrates a complete multi-step process for uploading and publishing videos to Facebook Stories:

  Queue Management: Every 2 hours and 30 minutes, the workflow checks a Google Sheet (Get Row Sheet node) to find the first video whose Stories column is empty — meaning it hasn’t been posted yet.
  Conditional Execution: An If node confirms that the video’s File ID exists before proceeding.
  Video Retrieval: Using the File ID, the workflow downloads the video from Google Drive (Google Drive node) and calculates its binary size (Set to the total size in bytes node).
  Facebook 3-Step Upload: It performs the Facebook Graph API’s three-step upload process through HTTP Request nodes:

     Step 1 – Initialize Session: Starts an upload session and retrieves the upload_url and video_id.
     Step 2 – Upload File: Uploads the binary video data to the provided upload_url.
     Step 3 – Publish Video: Finalizes and publishes the uploaded video as a Facebook Story.
  Status Update: Once completed, the workflow updates the same row in Google Sheets (Update upload status in sheet node) using the row_number to mark the video as processed.

  Prerequisites (What You Need Before Running)

  1. n8n Instance

  &gt; Recommended: Self-hosted via tino.vn/vps-n8n?affid=388 — use code VPSN8N for up to 39% off.

  2. Google Services

  Google Drive Credentials:** OAuth2 credentials for Google Drive to let n8n download video files.
  Google Sheets Credentials:** OAuth2 credentials for Google Sheets to read the posting queue and update statuses.
  Google Sheet:** A spreadsheet (ID: 1RnE5O06l7W6TLCLKkwEH5Oyl-EZ3OE-Uc3OWFbDohYI) containing:

    File ID — the video’s unique ID in Google Drive.
    Stories — posting status column (leave empty for pending videos).
    row_number — used for updating the correct row after posting.

  3. Facebook Setup

  Page ID:** Your Facebook Page ID (currently hardcoded as 115432036514099 in the info node).
  Access Token:* A *Page Access Token** with permissions such as pages_manage_posts and pages_read_engagement.
    This token is hardcoded in the info node and again in Step 3. Post video.

  Usage Guide and Implementation Notes

  How to Use

  Queue Videos: Add video entries to your Google Sheet. Each entry must include a valid Google Drive File ID. Leave the Stories column empty for videos that haven’t been posted.
  Activate: Save and activate the workflow. The Schedule Trigger will automatically handle new uploads every 2 hours and 30 minutes.

  Implementation Notes

  ⚠️ Token Security:* Hardcoding your *Access Token* inside the info node is *not recommended**. Tokens expire and expose your Page to risk if leaked.
    👉 Action: Replace the static token with a secure Credential setup that supports token rotation.

  Loop Efficiency:* The *“false”** output of the If node currently loops back to the Get Row Sheet node. This creates unnecessary cycles if no videos are found.
    👉 Action: Disconnect that branch so the workflow stops gracefully when no unposted videos remain.

  Status Updates:* To prevent re-posting the same video, the final Update upload status in sheet node must update the *Stories** column (e.g., write "POSTED").
    👉 Action: Add this mapping explicitly to your Google Sheets node.

  Automated File ID Sync:** This workflow assumes that the Google Sheet already contains valid File IDs.
    👉 You can build a secondary workflow (using Schedule Trigger1 → Search files and folders → Append or update row in sheet) to automatically populate new video File IDs from your Google Drive.

  ✅ Result

  Once active, this workflow automatically:

  pulls pending videos from your Google Sheet,
  uploads them to Facebook Stories,
  and marks them as posted — all without manual intervention.

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleDrive","n8n-nodes-base.set","n8n-nodes-base.googleDrive","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5044 characters]

metadata_json:
  {"categories":["content_publishing","social_media_automation","media_management"],"complexity":"medium","use_cases":["publish videos to Facebook Story","manage content queue in Sheets","sync Drive files to social media"],"estimated_setup_minutes":25,"required_services":["Google Drive","Google Sheets","Facebook Pages API"],"key_features":["scheduled posting trigger","file-based automation queue","status tracking in spreadsheet"],"target_audience":["social media managers","content marketers","small business owners"]}


name: Find Domain-Based Gmail Addresses for Outreach with EmailListVerify & Google Sheet
author_name: EmailListVerify
author_username: emaillistverify
categories: []
created_at: 2025-10-23T03:25:32.259Z
updated_at: 2025-10-23T03:25:32.259Z
url: https://n8n.io/workflows/10068
scraped_at: 2026-05-02 08:04:50
metadata_generated_at: 2026-05-02 08:36:21
description:
  Who is this template for?
  This template is designed for link building. When you reach out to some small blogs it is common for the owner to have an address like DomainName@gmail.com.

  This workflow will find such emails for you. 

  What problem does this workflow solve?
  Get from a list of domain names to a list of email addresses. This is perfect to prepare a cold outreach campaign for link building.

  This workflow allows you to find email addresses with any extension. I recommend searching for Gmail as a starting Point. But you can also use workflow to check for other email providers.

  Pro-tip: Check the email provider used in the geography you target:
  Lapost.net for France
  Seznam.cz for Czechia

  What this workflow does
  This workflow will:
  Generate email candidates based on the domain name and root you are providing
  Check if those email addresses are valid using EmailListVerify

  ##Requirement
  This template uses:
  Google Sheet to handle input and output data
  EmailListVerify to discover email (from $0.05 per email)

  Setup (10 minutes)
  1: Make a copy of the GoogleSheet template
  2: In "[Input] pattern" sheet write the email extension you want to check. Gmail is a no-brainer. Depending on the location you target, you might want to include local email providers like laposte.net for France.
  3: In "[Input] domain" put the domain for which you want to find email addresses. 
  4: Add your EmailListVerify API key to setting to the 3rd step
  5: Update Google Sheet node to point to your copy of the template
  6: Trigger the workflow

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

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

metadata_json:
  {"categories":["Marketing"],"complexity":"medium","use_cases":["find domain-based emails","prepare outreach campaigns","link building research"],"estimated_setup_minutes":20,"required_services":["EmailListVerify","Google Sheets"],"key_features":["domain pattern matching","email verification","sheet-to-list transformation","custom node logic"],"target_audience":["marketers","seo specialists","outreach coordinators"]}


name: Automate a 'Chat with your PDF' Bot on Telegram with Google Gemini & Pinecone
author_name: Intuz
author_username: intuz
categories: []
created_at: 2025-10-23T07:08:33.118Z
updated_at: 2025-10-23T07:08:33.118Z
url: https://n8n.io/workflows/10077
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:20
description:
  This n8n template from Intuz provides a complete solution to automate a powerful, AI-driven 'Chat with your PDF' bot on Telegram.

  It uses Retrieval-Augmented Generation (RAG) to allow users to upload documents, which are then indexed into a vector database, enabling the bot to answer questions based only on the provided content.

  Who's this workflow for?
  Researchers & Students
  Legal & Compliance Teams
  Business Analysts & Financial Advisors
  Anyone needing to quickly find information within large documents

  How it works
  This workflow has two primary functions: indexing a new document and answering questions about it.

  1. Uploading & Indexing a Document:
  A user sends a PDF file to the Telegram bot.
  n8n downloads the document, extracts the text, and splits it into small, manageable chunks.
  Using Google Gemini, each text chunk is converted into a numerical representation (an "embedding").
  These embeddings are stored in a Pinecone vector database, making the document's content searchable.
  The bot sends a confirmation message to the user that the document has been successfully saved.

  2. Asking a Question (RAG):
  A user sends a regular text message (a question) to the bot.
  n8n converts the user's question into an embedding using Google Gemini.
  It then searches the Pinecone database to find the most relevant text chunks from the uploaded PDF that match the question.
  These relevant chunks (the "context") are sent to the Gemini chat model along with the original question.
  Gemini generates a new, accurate answer based only on the provided context and sends it back to the user in Telegram.

  Key Requirements to Use This Template

  1. n8n Instance & Required Nodes:
  An active n8n account (Cloud or self-hosted).
  This workflow uses the official n8n LangChain integration (@n8n/n8n-nodes-langchain). If you are using a self-hosted version of n8n, please ensure this package is installed.

  2. Telegram Account:
  A Telegram bot created via the BotFather, along with its API token.

  3. Google Gemini AI Account:
  A Google Cloud account with the Vertex AI API enabled and an associated API Key.

  4. Pinecone Account:
  A Pinecone account with an API key.
  You must have a vector index created in Pinecone. For use with Google Gemini's embedding-001 model, the index must be configured with 768 dimensions.

  Setup Instructions
  1. Telegram Configuration:
  In the "Telegram Message Trigger" node, create a new credential and add your Telegram bot's API token.
  Do the same for the "Telegram Response" and "Telegram Response about Database" nodes.

  2. Pinecone Configuration:
  In both "Pinecone Vector Store" nodes, create a new credential and add your Pinecone API key.
  In the "Index" field of both nodes, enter the name of your pre-configured Pinecone index (e.g., telegram).

  3. Google Gemini Configuration:
  In all three Google Gemini nodes (Embeddings Google Gemini, Embeddings Google Gemini1, and Google Gemini Chat Model), create a new credential and add your Google Gemini (Palm) API key.

  4. Activate and Use:
  Save the workflow and toggle the "Active" switch to ON.
  To use: First, send a PDF document to your bot. Wait for the confirmation message. Then, you can start asking questions about the content of that PDF.

  Connect with us
  Website: https://www.intuz.com/n8n-workflow-automation-templates
  Email: getstarted@intuz.com
  LinkedIn: https://www.linkedin.com/company/intuz
  Get Started: https://n8n.partnerlinks.io/intuz

  For Custom Workflow Automation
  Click here- Get Started

nodes_used:
  ["@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","n8n-nodes-base.stopAndError","@n8n/n8n-nodes-langchain.chainRetrievalQa","@n8n/n8n-nodes-langchain.retrieverVectorStore","@n8n/n8n-nodes-langchain.vectorStorePinecone","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.stopAndError","@n8n/n8n-nodes-langchain.vectorStorePinecone","n8n-nodes-base.limit","@n8n/n8n-nodes-langchain.embeddingsGoogleGemini","@n8n/n8n-nodes-langchain.embeddingsGoogleGemini","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.telegramTrigger","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, 5880 characters]

metadata_json:
  {"categories":["AI/ML","Communication"],"complexity":"medium","use_cases":["Chat with uploaded documents","Answer questions from text","Automate document Q&A"],"estimated_setup_minutes":30,"required_services":["Telegram","Google Gemini","Pinecone"],"key_features":["Retrieval-Augmented Generation (RAG)","Document indexing","Vector database integration","Chatbot automation"],"target_audience":["researchers","students","analysts"]}


name: Content Farming v4 - Blog Automation for Wordpress using ChatGPT 5 and Gemini
author_name: Jay Emp0
author_username: jay-emp0
categories: []
created_at: 2025-10-23T08:11:15.791Z
updated_at: 2025-10-23T08:11:15.791Z
url: https://n8n.io/workflows/10079
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:20
description:
  AI Powered Blog Automation Workflow for WordPress and Twitter - v4 Revolution

  &gt;  Watch the Youtube Tutorial video


  This is the most advanced AI-powered blog content generation and distribution workflow ever built for the n8n automation platform. Version 4 introduces groundbreaking improvements including GPT-5 model integration, 50-70% cost reduction, intelligent internal linking, automatic FAQ generation, and enterprise-grade content validation. It's designed for solo founders, creators, indie hackers, marketers, SEO consultants, or lean startup teams who want to dominate their niche with high-quality, search-optimized articles that drive traffic and conversions.

  &gt; No technical experience ? use Ghost.Blog



  Running a blog is essential to drive traffic, build authority, and rank on Google, but it's time consuming and expensive to manage. This workflow turns your blog into a self-optimizing content engine that generates, enhances, validates, and publishes articles every day using a team of autonomous AI agents powered by the latest GPT-5 models. If you want to boost your site's visibility, improve your internal linking structure, and promote content across multiple channels like WordPress, Twitter, and Dev.to, this is the most powerful solution available.

  Important links

  ✨ V3 workflow on n8n - Previous version
  📚 See articles generated with V4 - Live examples from this workflow
  📊 Google Sheets Configuration Template - Copy and customize for your blog
  🛒 V4 Available Now: Contact us for pricing and access
  🔄 V3 Upgrade Path: Existing V3 customers get discounted V4 upgrade

  Before You Start

  To get the most out of this workflow, prepare the following:

  Copy the Google Sheets Template** - Make a copy here and fill in your:
    Content categories with WordPress IDs
    Brand customization data
    Brand customization data
  Prepare your WordPress site** with existing content for internal linking (the more posts, the better)
  Set up Yoast SEO plugin** (optional but recommended for maximum SEO integration)
  Know your audience** - Developers? Founders? Investors? Enterprises?

  How It Works

  Step 1**: Topic Discovery \+ Web Search \+ Vectorization
  Step 2**: Topic Generation with Advanced Semantic Clustering
  Step 3**: Article Intelligence + Keyword Extraction
  Step 4**: Content Generation (Enhanced Multi-Agent Loop with Memory)
  Step 5**: Blog Title Optimization with CTR Scoring
  Step 6**: Yoast SEO Metadata Generation
  Step 7**: AI Image Generation with Gemini (Gemini node/API)
  Step 8**: WordPress Draft Creation with Internal Links
  Step 9**: Multi-Platform Distribution (Twitter, Dev.to)

  Read the complete technical architecture and setup guide

  Google Sheets Configuration (NEW in V4)

  V4 introduces centralized configuration via Google Sheets, making it easy to manage multiple blogs and customize your content strategy without editing the workflow.

  📊 Configuration Template Structure

  Make a copy of the template here

  The template contains 2 sheets:

  Sheet 1: category
  Define your content pillars and map them to WordPress categories:

  Sheet 2: data
  Customize your brand and workflow behavior:

  Sheet 3: rss feed
  List out websites you would like to use as reference

  Why Google Sheets?

  ✅ No workflow editing needed - Update categories and brand settings without touching n8n
  ✅ Multi-site management - One sheet per blog, easily switch between configurations
  ✅ Team collaboration - Share with your content team for easy updates
  ✅ Version control - Google Sheets tracks all changes automatically
  ✅ Centralized control - Manage all content pillars from one place

  Clone the Google Sheets Configuration Example

  See Technical Setup.md for complete Google Sheets integration instructions.

  What's New in V4? Revolutionary Upgrades from V3

  1. GPT-5 Model Integration (MASSIVE Performance Boost)

  Version 4 leverages OpenAI's latest GPT-5 model family for unprecedented quality and efficiency:

  GPT-5-nano**: Ultra-fast reasoning for decision-making tasks
  GPT-5-mini**: Standard content generation with 3x speed improvement
  GPT-4.1-mini**: Title optimization and metadata
  GPT-4o**: Complex multi-step reasoning for content writing

  Impact: 40-50% faster execution, improved coherence, better SEO optimization

  2. 50-70% Cost Reduction on Images

  V3**: Leonardo AI ($0.10-0.15 per image)
  V4**: Gemini Flash 2.5 Nano Banana  ($0.03 per image)
  Bonus**: Brand mascot (cat-themed) images for higher engagement and memorability
  Quality**: Consistent professional quality with improved WordPress rendering (no more broken/weird images)

  Savings: $300-500 per month for high-volume blogs

  3. Intelligent Internal Linking System

  The Game-Changer for SEO:

  V4 automatically fetches your existing WordPress posts and intelligently weaves internal links throughout your content:

  Fetches posts with Yoast SEO metadata (og_url, og_title)
  Content Writer Agent uses MongoDB Memory to track link usage
  Maximum 3 inbound links per article (configurable)
  Smart placement in relevant paragraphs
  Memory prevents duplicate link usage across sections

  Impact: Dramatically improved site structure, better crawlability, higher page authority distribution

  4. Automatic FAQ Schema Generation

  Every article includes a professionally styled FAQ section:

  5 targeted questions** based on search intent
  Custom HTML/CSS accordion** with black background and lime green accents
  First FAQ item expanded by default
  Optimized for Google Featured Snippets
  Direct WordPress Custom HTML block compatibility

  Impact: 3-5x higher chance of featured snippet ranking, improved dwell time

  5. Advanced Link Validation System

  Zero broken links, guaranteed:

  New "check link status" MCP tool validates every URL before insertion
  Content Writer Agent instructed: "Test all the urls you want to add to the article is valid or not before writing. If it's not valid Replace it or Remove that link"
  Automatic fallback to alternative sources
  Explicit ban on placeholder URLs (example.com, placeholder.com)

  Impact: Perfect link hygiene, improved user experience, better SEO

  6. Dual Vector Database Architecture

  Optimized for performance and cost:

  V3**: Single collection for all data (expensive, slower)
  V4**: Separated architecture:
    news articles - Full metadata storage
    news chunks - Vectorized text for semantic search
  Deduplication with SHA256 content fingerprints
  Automatic cleanup operations
  Improved query performance (50% faster)

  Savings: 40-60% storage cost reduction

  7. Enhanced Agent System with Memory

  9 Specialized AI Agents (upgraded from 3):

  Topic Generation Agent - Semantic clustering with GPT-5-mini
  Article Intelligence Agent - Entity extraction, fact gathering
  Task Definition Agent - Content structure planning
  Content Writer Agent (GPT-4o) - Section generation with MCP tools:
     Web Search (outbound links)
     Image Generator (Gemini Flash 2.5 Nano Banana)
     Chart Generator (QuickChart)
     Link Validator
     Think Tool (reasoning)
     Memory Tool (tracks inbound link usage)
  Quality Check Agent - SEO validation and scoring
  Blog Title Generator - CTR-optimized titles
  Metadata Generator - Yoast SEO integration
  Markdown to HTML Agent - Content conversion
  Image Prompt Agent - Featured image generation

  Memory System: MongoDB Chat Memory with 25-message context window ensures consistency across agent interactions

  8. Direct Yoast SEO Integration

  Automatic yoast_description and yoast_keyword injection
  WordPress REST API PUT requests to update meta fields
  Focus keyword optimization
  Meta description targeting

  Impact: Seamless SEO workflow, no manual Yoast configuration needed

  9. Brand Integration in Conclusions

  Every article includes your customized brand signature and call-to-action in the conclusion:

  10. Smarter Content Quality Rules

  Flesch Reading Ease**: 60+ (college reading level)
  Sentence length**: Under 20 words average
  Transition words**: 30% minimum
  Active voice**: Mandatory preference
  Paragraph length**: 3-5 sentences maximum
  Word count**: 1200 words (optimized from V3's 1500 for better engagement)
  Visual content**: Exactly 1 image + 1 table per article
  No back-to-back visuals**: Images/tables separated by text

  11. Enhanced Slug and Title Optimization

  Slug Generation:
  Must include main keyword
  Maximum 5 words
  Regex validated: ^[a-z0-9]+(?:-[a-z0-9]+)*$

  Title Optimization:
  Preference for question format ("How to...", "What are...")
  Maximum 10 words
  Scored on 4 metrics:
    Emotional Impact (1-10)
    Clarity & Relevance (1-10)
    SEO Strength (1-10)
    Clickability (1-10)
  Highest average score wins

  What makes this flow unique?

  This isn't just automation. It's AI orchestration at scale. You get a full-scale, enterprise-grade content team simulated by multi-agent communication with persistent memory.

  Multi-Agent Architecture with Memory

  Unlike simple AI workflows that use a single prompt, V4 uses 9 specialized agents that collaborate through shared memory and JSON state:

  Task Manager** defines objectives and assigns sections
  Content Generator** (GPT-4o) equipped with 6 MCP tools
  Quality Control** validates SEO metrics, readability, and structure
  Memory System** ensures no duplicate links or repetitive content

  Each agent operates on specific content blocks, reducing token usage by 40% while improving output quality.

  MCP Tools for Professional Content

  The Content Writer Agent has access to enterprise-grade tools:

  Web Search Tool - Real-time internet search for factual support and outbound links

  Image Generation - Gemini Flash 2.5 Nano Banana (brand mascot cat images)



  Chart Generator - QuickChart for data visualization

  Table Generator - Structured HTML tables

  Link Validator - Real-time URL health checking

  Think Tool - Allows agents to reason before acting

  Memory Tool - Tracks inbound link usage to prevent duplicates

  Example Article Generated by V4

  See the complete article structure with all V4 features in action:

  Revenue Potential & Monetization Use Cases

  This workflow can generate substantial revenue if deployed strategically.

  💸 Monetization Strategies

  Affiliate Blog Empire**
    Generate 10-20 long-form articles daily optimized for affiliate products, SaaS tools, or service reviews. With intelligent internal linking, each new article strengthens your entire site's authority. Insert CTAs and affiliate links to Amazon, Gumroad, Impact, or commission-based platforms.

  Lead Generation Machine**
    Target high-intent SEO keywords (e.g., "best CRM for freelancers", "how to automate Instagram"). V4's FAQ schema increases featured snippet chances by 3-5x. Capture emails via lead forms and nurture through ConvertKit or Substack—all automated.

  Agency/Client Work**
    White-label this workflow for SEO clients. Charge $500-2000/month per client for automated content generation. Your costs: ~$150/month. Profit margin: 70-90%. Scale to 10 clients = $5k-20k MRR.

  Niche Authority Sites**
    Build topical authority sites in lucrative niches (fintech, healthtech, SaaS, Web3). V4's internal linking builds a content web that Google rewards. Monetize via programmatic ads, sponsored content, or exits ($30-50k per site).

  📈 Expected Traffic Results

  Based on V3 real-world data and V4 improvements:

  Daily traffic increase**: 30-50 visitors/day (50% improvement over V3)
  Monthly cost**: ~$150 (50% reduction from V3's $250)
  Content output**: 10-15 SEO-rich posts/day
  Time to first 1k monthly visitors**: 2-3 months
  Featured snippet chances**: 3-5x higher with FAQ schema



  With V4's GPT-5 models, FAQ generation, internal linking, and link validation, expect higher engagement, lower bounce rate, better SERP visibility, and significantly improved conversion rates.

  Cost Comparison: V3 vs V4

  V3 Monthly Costs
  OpenAI API (GPT-4): ~$100
  Leonardo AI: ~$20
  MongoDB Atlas: Free (M0)
  n8n hosting: ~$20
  Total**: ~$140-150/month

  V4 Monthly Costs
  OpenAI API (GPT-5 family): ~$60-80 (40% reduction)
  Gemini Flash 2.5 Nano Banana: ~$10 (50% reduction)
  MongoDB Atlas: Free (M0)
  n8n hosting: ~$20
  Total**: ~$90-110/month

  V4 Savings: $40-50/month (35% cost reduction) while producing higher quality content

  ROI: If generating 10 articles/day at market rate of $50/article = $15k/month value for $100/month cost

  Need Help or Customization?

  Need to customize this workflow for your niche? Or need help setting it up? We offer:

  Free Setup Support**: Email assistance for V4 purchasers
  Custom Integration**: Tailored modifications for your tech stack
  Enterprise Deployment**: Multi-site, white-label solutions
  Training & Consulting**: 1-on-1 workflow optimization sessions

  ⭐ Read Customer Reviews (V3 reviews - V4 reviews coming soon)
  ✍️ Write to us: tools@emp0.com
  ⭐ Join AI + Automation Discord

  Join the community

  Other free n8n workflows
  GitHub repository
  Join AI + Automation Discord
  Official website

  Changelog: V3 to V4 Revolution

  What's Changed?

  ✅ Upgraded to GPT-5 - 40-50% cost reduction + 3x speed improvement + better reasoning across all agents
  ✅ Switched to Gemini Flash 2.5 Nano Banana for image generation - 50-70% cheaper than Leonardo AI
  ✅ Google Sheets category tracking - Centralized content pillar management for easier configuration across multiple sites
  ✅ Fixed weird and broken images inside blog posts - improved rendering and WordPress compatibility
  ✅ Brand mascot images (cat-themed) to make content more catchy and engaging
  ✅ Separated news vector database into news articles and news chunks collections to reduce storage size by 40-60%
  ✅ Auto-delete news chunks after article generation to keep storage costs minimal
  ✅ MongoDB chat history integration - seamless agent coordination and memory for tracking inbound link usage
  ✅ WordPress data fetching to automatically add intelligent inbound links (max 3 per article)
  ✅ Removed redundant content blocks - cleaner article structure and better readability
  ✅ Direct Yoast SEO field integration - sends yoast_description and yoast_keyword to WordPress via REST API
  ✅ Optimized quality check loops - reduced iterations to increase accuracy and decrease token costs
  ✅ Link validator tool - checks if links are broken before insertion, guaranteeing zero 404s
  ✅ Reduced scheduler nodes - fewer execution counts for cheaper costs on n8n Cloud (optimized for cost efficiency)

  V3 Limitations (All Solved in V4)

  ❌ No internal linking → weak site structure
  ❌ Expensive Leonardo AI → high image costs
  ❌ No FAQ sections → missed featured snippets
  ❌ Basic GPT-4 models → slower, more expensive
  ❌ No link validation → occasional broken links
  ❌ Single vector collection → high storage costs
  ❌ No memory system → inconsistent agent behavior
  ❌ Generic image prompts → lower engagement
  ❌ Broken/weird images → poor WordPress rendering
  ❌ Manual category management → hard to scale
  ❌ Redundant content blocks → bloated articles
  ❌ Too many scheduler nodes → expensive n8n Cloud costs

  Comparison: V2 vs V3 vs V4

  | Feature | V2 (Free) | V3 ($29) | V4 (Available Now) |
  |---------|-----------|----------|------------------|
  | AI Models | GPT-4 | GPT-4, GPT-4o | GPT-5, GPT-4.1, GPT-4o |
  | Word Count | 600-800 | 1500 | 1200 (optimized) |
  | Images | None | Leonardo AI | Gemini Flash 2.5 (50% cheaper) |
  | Tables/Charts | None | Yes | Yes |
  | Outbound Links | Limited | Yes | Yes (validated) |
  | Internal Links | None | None | Yes (intelligent) |
  | FAQ Section | None | None | Yes (schema optimized) |
  | Link Validation | None | None | Yes |
  | Memory System | None | None | Yes |
  | Yoast Integration | None | Basic | Advanced |
  | Vector DB | None | Single collection | Dual collection |
  | Monthly Cost | $20 | $150 | ~$100 |
  | Articles/Day | 5-10 | 10-15 | 10-15 |
  | SEO Quality | Basic | Advanced | Enterprise |
  | Featured Snippets | Low chance | Medium chance | 3-5x higher |

  Technical Requirements

  n8n instance** (Cloud or self-hosted on Railway/Hostinger)
  For n8n Cloud, the standard plan ($20/month) is sufficient — V4 reduces scheduler nodes and execution frequency.
  OpenAI API** account with GPT-5 access
  MongoDB Atlas** account (free M0 tier sufficient to start)
  WordPress* site with REST API enabled with *Yoast SEO plugin** (optional but recommended)
  Google account** (for Google Sheets categories)
  Twitter Developer** account (for Twitter distribution) OPTIONAL
  Dev.to** account (for cross-posting) OPTIONAL

  See Technical Setup.md for complete installation guide.

nodes_used:
  ["n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.rssFeedRead","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.aggregate","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.splitOut","n8n-nodes-base.mongoDb","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.mongoDb","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.mongoDb","n8n-nodes-base.mongoDb","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","n8n-nodes-base.code","n8n-nodes-base.mongoDb","n8n-nodes-base.mongoDb","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.vectorStoreMongoDBAtlas","n8n-nodes-base.splitInBatches","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.crypto","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.vectorStoreMongoDBAtlas","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.if","n8n-nodes-base.splitInBatches","n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.toolThink","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.mongoDb","n8n-nodes-base.code","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.mongoDb","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.mongoDb","n8n-nodes-base.mongoDb","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-base.wordpress","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.twitter","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.mongoDb","n8n-nodes-base.code","n8n-nodes-base.mongoDb","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.mongoDb","n8n-nodes-base.wordpress","n8n-nodes-base.mongoDb","n8n-nodes-base.code","n8n-nodes-base.mongoDb","n8n-nodes-base.code","n8n-nodes-base.mongoDb","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.mongoDb","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.mongoDb","n8n-nodes-base.mongoDb","n8n-nodes-base.mongoDb","n8n-nodes-base.mongoDb","n8n-nodes-base.aggregate","n8n-nodes-base.mongoDb","n8n-nodes-base.wordpress","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.code","n8n-nodes-base.mongoDb","n8n-nodes-base.code","n8n-nodes-base.limit","n8n-nodes-base.mongoDb","n8n-nodes-base.code","n8n-nodes-base.mongoDb","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.if","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.mongoDb","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.executeWorkflow","n8n-nodes-base.mongoDb","n8n-nodes-base.mongoDb","n8n-nodes-base.mongoDb","@n8n/n8n-nodes-langchain.memoryMongoDbChat","n8n-nodes-base.googleSheets","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.mongoDb","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets"]

workflow_json_compressed:
  [encoded data, 12036 characters]

metadata_json:
  {"categories":["Content Creation","Marketing"],"complexity":"medium","use_cases":["automate blog posts","generate social media content","distribute content across platforms"],"estimated_setup_minutes":30,"required_services":["n8n","OpenAI","Google","MongoDB","WordPress"],"key_features":["GPT-5 integration","cost reduction","internal linking","FAQ generation","content validation"],"target_audience":["bloggers","creators","content marketers"]}


name: Document RAG & Chat Agent: Google Drive to Qdrant with Mistral OCR
author_name: DIGITAL BIZ TECH
author_username: dbt
categories: []
created_at: 2025-10-24T01:10:25.155Z
updated_at: 2025-10-24T01:10:25.155Z
url: https://n8n.io/workflows/10096
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:20
description:
  Knowledge RAG & AI Chat Agent: Google Drive to Qdrant

  Description

  This workflow transforms a Google Drive folder into an intelligent, searchable knowledge base and provides a chat agent to query it.  
  It’s composed of two distinct flows:  
  An ingestion pipeline to process documents.  
  A live chat agent that uses RAG (Retrieval-Augmented Generation) and optional web search to answer user questions.  

  This system fully automates the creation of a “Chat with your docs” solution and enhances it with external web-searching capabilities.

  Quick Implementation Steps

  Import the workflow JSON into your n8n instance.  
  Set up credentials for Google Drive, Mistral AI, OpenAI, and Qdrant.  
  Open the Web Search node and add your Tavily AI API key to the Authorization header.  
  In the Google Drive (List Files) node, set the Folder ID you want to ingest.  
  Run the workflow manually once to populate your Qdrant database (Flow 1).  
  Activate the workflow to enable the chat trigger (Flow 2).  
  Copy the public webhook URL from the When chat message received node and open it in a new tab to start chatting.

  What It Does

  The workflow is divided into two primary functions:

  1. Knowledge Base Ingestion (Manual Trigger)  
  This flow populates your vector database.  

  Scans Google Drive:** Lists all files from a specified folder.  
  Processes Files Individually:** Downloads each file.  
  Extracts Text via OCR:* Uses *Mistral AI OCR API** for text extraction from PDFs, images, etc.  
  Generates Smart Metadata:** A Mistral LLM assigns metadata like document_type, project, and assigned_to.  
  Chunks & Embeds:* Text is cleaned, chunked, and embedded via *OpenAI’s text-embedding-3-small** model.  
  Stores in Qdrant:** Text chunks, embeddings, and metadata are stored in a Qdrant collection (docaiauto).  

  2. AI Chat Agent (Chat Trigger)  
  This flow powers the conversational interface.  

  Handles User Queries:** Triggered when a user sends a chat message.  
  Internal RAG Retrieval:* Searches *Qdrant Vector Store** first for answers.  
  Web Search Fallback:* If unavailable internally, the agent offers to perform a *Tavily AI web search**.  
  Contextual Responses:** Combines internal and external info for comprehensive answers.

  Who's It For

  Ideal for:

  Teams building internal AI knowledge bases from Google Drive.  
  Developers creating AI-powered support, research, or onboarding bots.  
  Organizations implementing RAG pipelines.  
  Anyone making unstructured Google Drive documents searchable via chat.

  Requirements

  n8n instance** (self-hosted or cloud).  
  Google Drive Credentials** (to list and download files).  
  Mistral AI API Key** (for OCR & metadata extraction).  
  OpenAI API Key** (for embeddings and chat LLM).  
  Qdrant instance** (cloud or self-hosted).  
  Tavily AI API Key** (for web search).

  How It Works

  The workflow runs two independent flows in parallel:

  Flow 1: Ingestion Pipeline (Manual Trigger)

  List Files: Fetch files from Google Drive using the Folder ID.  
  Loop & Download: Each file is processed one by one.  
  OCR Processing:  
     Upload file to Mistral  
     Retrieve signed URL  
     Extract text using Mistral DOC OCR  
  Metadata Extraction: Analyze text using a Mistral LLM.  
  Text Cleaning & Chunking: Split into 1000-character chunks.  
  Embeddings Creation: Use OpenAI embeddings.  
  Vector Insertion: Push chunks + metadata into Qdrant.  

  Flow 2: AI Chat Agent (Chat Trigger)

  Chat Trigger: Starts when a chat message is received.  
  AI Agent: Uses OpenAI + Simple Memory to process context.  
  RAG Retrieval: Queries Qdrant for related data.  
  Decision Logic:  
     Found → Form answer.  
     Not found → Ask if user wants web search.  
  Web Search: Performs Tavily web lookup.  
  Final Response: Synthesizes internal + external info.

  How To Set Up

  1. Import the Workflow
  Upload the provided JSON into your n8n instance.

  2. Configure Credentials
  Create and assign:

  Google Drive** → Google Drive nodes  
  Mistral AI** → Upload, Signed URL, DOC OCR, Cloud Chat Model  
  OpenAI** → Embeddings + Chat Model nodes  
  Qdrant** → Vector Store nodes  

  3. Add Tavily API Key
  Open Web Search node → Parameters → Headers  
  Add your key under Authorization (e.g., tvly-xxxx).  

  4. Node Configuration
  Google Drive (List Files):** Set Folder ID.  
  Qdrant Nodes:** Ensure same collection name (docaiauto).  

  5. Run Ingestion (Flow 1)
  Click Test workflow to populate Qdrant with your Drive documents.  

  6. Activate Chat (Flow 2)
  Toggle the workflow ON to enable real-time chat.  

  7. Test
  Open the webhook URL and start chatting!

  How To Customize

  Change LLMs:** Swap models in OpenAI or Mistral nodes (e.g., GPT-4o, Claude 3).  
  Modify Prompts:** Edit the system message in ai chat agent to alter tone or logic.  
  Chunking Strategy:** Adjust chunkSize and chunkOverlap in the Code node.  
  Different Sources:** Replace Google Drive with AWS S3, Local Folder, etc.  
  Automate Updates:* Add a *Cron** node for scheduled ingestion.  
  Validation:** Add post-processing steps after metadata extraction.  
  Expand Tools:** Add more functional nodes like Google Calendar or Calculator.

  Use Case Examples

  Internal HR Bot:** Answer HR-related queries from stored policy docs.  
  Tech Support Assistant:** Retrieve troubleshooting steps for products.  
  Research Assistant:** Summarize and compare market reports.  
  Project Management Bot:** Query document ownership or project status.

  Troubleshooting Guide

  | Issue | Possible Solution |
  |------------|------------------------|
  | Chat agent doesn’t respond | Check OpenAI API key and model availability (e.g., gpt-4.1-mini). |
  | Known documents not found | Ensure ingestion flow ran and both Qdrant nodes use same collection name. |
  | OCR node fails | Verify Mistral API key and input file integrity. |
  | Web search not triggered | Re-check Tavily API key in Web Search node headers. |
  | Incorrect metadata | Tune Information Extractor prompt or use a stronger Mistral model. |

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

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

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

nodes_used:
  ["@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.vectorStoreQdrant","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterCharacterTextSplitter","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.vectorStoreQdrant","@n8n/n8n-nodes-langchain.lmChatMistralCloud","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.splitInBatches","n8n-nodes-base.set","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 12920 characters]

metadata_json:
  {"categories":["AI/ML"],"complexity":"medium","use_cases":["Create searchable knowledge bases","Build document chat agents","Query RAG systems","Ingest Google Drive documents","Implement AI document assistants"],"estimated_setup_minutes":120,"required_services":["Google Drive API","Qdrant","Mistral API"],"key_features":["Document processing and ingestion","OCR via Mistral","RAG with Qdrant vector store","Live chat agent integration","Optional web search capability"],"target_audience":["AI developers","knowledge managers","admins"]}


name: AI Website Scraper & Company Intelligence
author_name: DIGITAL BIZ TECH
author_username: dbt
categories: []
created_at: 2025-10-24T01:38:47.520Z
updated_at: 2025-10-24T01:38:47.520Z
url: https://n8n.io/workflows/10097
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:20
description:
  AI Website Scraper & Company Intelligence

  Description

  This workflow automates the process of transforming any website URL into a structured, intelligent company profile.  
  It's triggered by a form, allowing a user to submit a website and choose between a "basic" or "deep" scrape.

  The workflow extracts key information (mission, services, contacts, SEO keywords), stores it in a structured Supabase database, and archives a full JSON backup to Google Drive.  
  It also features a secondary AI agent that automatically finds and saves competitors for each company, building a rich, interconnected database of company intelligence.

  Quick Implementation Steps

  Import the Workflow: Import the provided JSON file into your n8n instance.
  Install Custom Community Node:  
     You must install the community node from:  
    https://www.npmjs.com/package/n8n-nodes-crawl-and-scrape
  FIRECRAWL  N8N Documentation
    https://docs.firecrawl.dev/developer-guides/workflow-automation/n8n


  Install Additional Nodes:  
     n8n-nodes-crawl-and-scrape and n8n-nodes-mcp fire crawl mcp   .
  Set up Credentials:  
     Create credentials in n8n for  FIRE CRAWL API,Supabase, Mistral AI, and Google Drive.
  Configure API Key (CRITICAL):  
     Open the Web Search tool node.  
     Go to Parameters → Headers and replace the hardcoded Tavily AI API key with your own.
  Configure Supabase Nodes:  
     Assign your Supabase credential to all Supabase nodes.  
     Ensure table names (e.g., companies, competitors) match your schema.
  Configure Google Drive Nodes:  
     Assign your Google Drive credential to the Google Drive2 and save to Google Drive1 nodes.  
     Select the correct Folder ID.
  Activate Workflow:  
     Turn on the workflow and open the Webhook URL in the “On form submission” node to access the form.

  What It Does

  Form Trigger
  Captures user input: “Website URL” and “Scraping Type” (basic or deep).

  Scraping Router
  A Switch node routes the flow:
  Deep Scraping →** AI-based MCP Firecrawler agent.  
  Basic Scraping →** Crawlee node.

  Deep Scraping (Firecrawl AI Agent)
  Uses Firecrawl and Tavily Web Search.
  Extracts a detailed JSON profile: mission, services, contacts, SEO keywords, etc.

  Basic Scraping (Crawlee)
  Uses Crawl and Scrape node to collect raw text.  
  A Mistral-based AI extractor structures the data into JSON.

  Data Storage
  Stores structured data in Supabase tables (companies, company_basicprofiles).
  Archives a full JSON backup to Google Drive.

  Automated Competitor Analysis
  Runs after a deep scrape.
  Uses Tavily web search to find competitors (e.g., from Crunchbase).
  Saves competitor data to Supabase, linked by company_id.

  Who's It For

  Sales & Marketing Teams:** Enrich leads with deep company info.  
  Market Researchers:** Build structured, searchable company databases.  
  B2B Data Providers:** Automate company intelligence collection.  
  Developers:** Use as a base for RAG or enrichment pipelines.

  Requirements

  n8n instance** (self-hosted or cloud)
  Supabase Account:** With tables like companies, competitors, social_links, etc.
  Mistral AI API Key**
  Google Drive Credentials**
  Tavily AI API Key**
  (Optional) Custom Nodes:  
    n8n-nodes-crawl-and-scrape  
  How It Works

  Flow Summary
  Form Trigger: Captures “Website URL” and “Scraping Type”.
  Switch Node:  
     deep → MCP Firecrawler (AI Agent).  
     basic → Crawl and Scrape node.
  Scraping & Extraction:  
     Deep path: Firecrawler → JSON structure.  
     Basic path: Crawlee → Mistral extractor → JSON.
  Storage:  
     Save JSON to Supabase.  
     Archive in Google Drive.
  Competitor Analysis (Deep Only):  
     Finds competitors via Tavily.  
     Saves to Supabase competitors table.
  End: Finishes with a No Operation node.

  How To Set Up

  Import workflow JSON.
  Install community nodes (especially n8n-nodes-crawl-and-scrape from npm).
  Configure credentials (Supabase, Mistral AI, Google Drive).
  Add your Tavily API key.
  Connect Supabase and Drive nodes properly.
  Fix disconnected “basic” path if needed.
  Activate workflow.
  Test via the webhook form URL.

  How To Customize

  Change LLMs:** Swap Mistral for OpenAI or Claude.  
  Edit Scraper Prompts:** Modify system prompts in AI agent nodes.  
  Change Extraction Schema:** Update JSON Schema in extractor nodes.  
  Fix Relational Tables:** Add Items node before Supabase inserts for arrays (social links, keywords).  
  Enhance Automation:** Add email/slack notifications, or replace form trigger with a Google Sheets trigger.

  Add-ons

  Automated Trigger:** Run on new sheet rows.  
  Notifications:** Email or Slack alerts after completion.  
  RAG Integration:** Use the Supabase database as a chatbot knowledge source.

  Use Case Examples

  Sales Lead Enrichment:** Instantly get company + competitor data from a URL.  
  Market Research:** Collect and compare companies in a niche.  
  B2B Database Creation:** Build a proprietary company dataset.

  WORKFLOW IMAGE 

  Troubleshooting Guide

  | Issue | Possible Cause | Solution |
  |-------|----------------|-----------|
  | Form Trigger 404 | Workflow not active | Activate the workflow |
  | Web Search Tool fails | Missing Tavily API key | Replace the placeholder key |
  | FIRECRAWLER / find competitor fails | Missing MCP node | Install n8n-nodes-mcp |
  | Basic scrape does nothing | Switch node path disconnected | Reconnect “basic” output |
  | Supabase node error | Wrong table/column names | Match schema exactly |

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

   Contact: rajeet.nair@digitalbiz.tech  
   For more such offerings, visit us: https://www.digitalbiz.tech

nodes_used:
  ["n8n-nodes-base.supabase","@n8n/n8n-nodes-langchain.lmChatMistralCloud","n8n-nodes-mcp.mcpClientTool","n8n-nodes-mcp.mcpClientTool","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.supabase","n8n-nodes-crawl-and-scrape.crawleeNode","n8n-nodes-base.formTrigger","n8n-nodes-base.switch","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.supabase","n8n-nodes-base.supabase","@n8n/n8n-nodes-langchain.lmChatMistralCloud","@n8n/n8n-nodes-langchain.informationExtractor","@n8n/n8n-nodes-langchain.lmChatMistralCloud","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-mcp.mcpClientTool","@n8n/n8n-nodes-langchain.lmChatMistralCloud","n8n-nodes-mcp.mcpClientTool","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.toolHttpRequest","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.convertToFile","n8n-nodes-base.stickyNote","n8n-nodes-base.convertToFile","n8n-nodes-base.googleDrive","n8n-nodes-base.supabase","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 8924 characters]

metadata_json:
  {"categories":["AI/ML","Data Processing","Internet Research"],"complexity":"medium","use_cases":["extract","profile companies","scrape websites","collect SEO keywords"],"estimated_setup_minutes":15,"required_services":["MistralAI","Supabase","Google Drive"],"key_features":["structured data extraction","JSON backups","two-level scraping modes","contact enrichment"],"target_audience":["developers","data analysts","market researchers"]}


name: AI-Powered Invoice Reminder & Payment Tracker for Finance & Accounting
author_name: Oneclick AI Squad
author_username: oneclick-ai
categories: []
created_at: 2025-10-24T07:41:05.638Z
updated_at: 2025-10-24T07:41:05.638Z
url: https://n8n.io/workflows/10111
scraped_at: 2026-05-02 08:04:48
metadata_generated_at: 2026-05-02 08:36:22
description:
  Streamline invoice management with this automated n8n workflow. Triggered daily at 9 AM, it fetches pending invoices, filters overdue ones, uses AI to generate personalized reminders, and sends them to clients. It also tracks payments via webhooks, updates statuses, and provides daily summaries to the finance team, ensuring efficient cash flow oversight.

  Key Features  
  Daily checks at 9 AM ensure timely invoice tracking.  
  AI generates personalized reminders and payment confirmations.  
  Real-time webhook integration for payment updates.  
  Daily summaries and activity logs enhance financial visibility.  

  Workflow Process  
  Schedule Daily Check** runs every day at 9 AM to initiate the workflow.  
  Fetch Pending Invoices** queries the database for unpaid invoices.  
  Filter Overdue Invoices** separates overdue invoices based on due dates.  
  Calculate Reminder Logic** applies smart logic for reminder timing and urgency.  
  Prepare AI Prompt** formats data into a tailored prompt for AI.  
  AI Agent for Generate Email** uses AI to create personalized reminder emails.  
  Format Email** styles the email with HTML for a professional look.  
  Send Email Reminder** delivers the reminder to clients.  
  Update Reminder Status** logs the sent reminder in the database.  
  Create Activity Log** generates a manual log for auditing.  
  Save Input Log** archives raw input data for analysis.  
  Generate Daily Summary** creates a report of daily metrics.  
  Send Summary to Finance Team** emails the summary to the team.  
  Webhook Payment Received** captures payment confirmations via POST.  
  Update Payment Status** updates the invoice status to "paid" in the database.  
  Webhook Response** sends an acknowledgment to the payment gateway.  
  Webhook Logic Filtering** validates webhook data.  
  Prepare AI Prompt (in payment branch)** formats payment data for AI.  
  Chat Memory Tool (in payment branch)** maintains context for AI.  
  Generate Email (in payment branch)** creates a payment confirmation email.  
  Send Payment Confirmation** emails the confirmation to the client.  

  Setup Instructions  
  Import the workflow into n8n and configure database credentials (e.g., Google Sheets or SQL) for "Fetch Pending Invoices."  
  Set up the AI service (e.g., OpenAI GPT) with an API key for email generation.  
  Configure Gmail API Key for sending emails and Slack (if integrated) for team alerts.  
  Test the workflow by adding overdue invoices and simulating a payment webhook.  
  Adjust reminder logic and thresholds (e.g., 7 days overdue) as needed.  

  Prerequisites  
  Database access (e.g., Google Sheets OAuth2 or SQL credentials)  
  OpenAI API key for AI email generation  
  Gmail API Key for email notifications  
  Payment gateway webhook integration (e.g., Stripe)  
  Structured invoice data format  

  Database Structure:  
  Create a table/sheet with columns:  
     Invoice ID  
     Client Name  
     Amount  
     Due Date  
     Status  
     Reminder Sent  
     Payment Date  

  Modification Options  
  Adjust the "Schedule Daily Check" to a different time (e.g., 8 AM IST).  
  Customize "Calculate Reminder Logic" for escalation (e.g., multiple reminders).  
  Modify AI prompts for branded or localized email content.  
  Integrate with accounting software (e.g., QuickBooks) for real-time data.  
  Enhance "Generate Daily Summary" with custom financial metrics.  

  Discover more workflows – Get in touch with us

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.postgres","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.emailSend","n8n-nodes-base.postgres","n8n-nodes-base.set","n8n-nodes-base.postgres","n8n-nodes-base.code","n8n-nodes-base.emailSend","n8n-nodes-base.webhook","n8n-nodes-base.postgres","n8n-nodes-base.respondToWebhook","n8n-nodes-base.emailSend","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","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, 7656 characters]

metadata_json:
  {"categories":["Accounting"],"complexity":"medium","use_cases":["Automate invoice follow-ups","Generate payment reminders","Track payment status"],"estimated_setup_minutes":30,"required_services":["Webhook Handler","Database (PostgreSQL/MySQL)","AI/ML (OpenAI/Claude)","Email API","SMS Gateway"],"key_features":["Scheduled daily invoice checks","AI-powered personalized invoicing","Real-time payment status updates","Daily finance summaries"],"target_audience":["Finance Managers","Accountants","Finance Teams"]}


name: Automated Nicereply feedback routing to MS Teams by team and sentiment
author_name: Easy8
author_username: easy8
categories: []
created_at: 2025-10-24T08:28:52.589Z
updated_at: 2025-10-24T08:28:52.589Z
url: https://n8n.io/workflows/10113
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:21
description:
  Auto-Routing Nicereply Feedback to Microsoft Teams by Team and Sentiment

  Automatically collect client feedback from Nicereply, analyze sentiment, and send it to the right Microsoft Teams channels — smartly split by team, tone, and comment presence.

  About this Workflow

  This workflow pulls customer satisfaction feedback from Nicereply, filters out irrelevant or test entries, and evaluates each item based on the team it belongs to and the sentiment of the response (Great, OK, Bad). It automatically routes the feedback to Microsoft Teams — either as a summary in a channel or a direct message — depending on the team's role and whether a comment is included.

  Perfect for support, delivery, consulting, and documentation teams that want to stay in the loop with customer sentiment. It ensures that positive feedback reaches the teams who earned it, and that negative feedback is escalated quickly to leads or management.

  Use Cases
  Send daily customer feedback directly to the responsible teams in MS Teams  
  Automatically escalate negative responses to leads or managers  
  Avoid clutter by filtering out unimportant or test entries  
  Keep internal teams motivated by sharing only the most relevant praise

  How it works
  Schedule Trigger  
    Starts the workflow on a set schedule (e.g., daily at 7:00 AM)

  Get Feedback  
    Pulls customer feedback from Nicereply using survey ID

  Split Out  
    Processes each feedback entry separately

  Edit Feedbacks  
    Renames or adjusts fields for easier filtering and readability

  Change Survey ID  
    Maps internal survey identifiers for accurate team routing  
    (Survey ID can be found in Nicereply: Settings &gt; Surveys &gt; [Survey] &gt; ID)

  Filter  
    Excludes old responses

  Code Node  
    Tag unknown clients 

  Change Happiness Value  
    Converts score into “Great”, “OK”, or “Bad” for routing logic

  Without Comment  
    Checks if feedback includes a text comment or not

  Send Feedback Without Comment  
     Routes simple feedback (no comment) to MS Teams based on team + score

  Send Feedback With Comment  
     Routes full feedback with comment to MS Teams for closer review

  Feedback Routing Logic

  Each team receives only what’s most relevant:  
  Support, Docs, Consulting* get only *Great** feedback to boost morale  
  Team Leads* receive *OK and Bad** feedback so they can follow up  
  Management* is only alerted to *Bad** feedback for critical response

  These rules can be freely customized. For example, you may want Support to receive all responses, or Management only when multiple Bad entries are received. The structure is modular and easily adjustable.

  How to Use

  Import the workflow  
    Load the .json file into your Easy Redmine automation workspace

  Set up connections  
    Nicereply API key or integration setup  
    Microsoft Teams integration (chat and/or channel posting)  

  Insert your Survey ID(s)  
    You’ll find these in the Nicereply admin panel under Survey settings

  Customize team logic  
    Adjust survey-to-team mappings and message routing as needed

  Edit Teams message templates  
    Modify message text or formatting based on internal tone or content policies

  Test with real data  
    Run manually and verify correct delivery to MS Teams

  Deploy and schedule  
    Let it run on its own to automate the feedback cycle

  Requirements

  Nicereply account with active surveys  
  Microsoft Teams account with permissions to post to channels or send chats   

  Optional Enhancements

  Add AI to summarize long comments  
  Store feedback history in external DB  
  Trigger follow-up tasks or alerts for repeated Bad scores  
  Localize messages for multilingual feedback systems  
  Integrate additional tools like Slack, Easy Redmine, etc.

  Tips for a Clean Setup

  Keep team routing logic in one place for easy updates  
  Rename all nodes clearly to reflect their function (e.g., Change Happiness Value)  
  Add logging or alerting in case of failed delivery or empty feedback pull  
  Use environment variables for tokens and survey IDs where possible

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.filter","n8n-nodes-base.microsoftTeams","n8n-nodes-base.splitOut","n8n-nodes-base.microsoftTeams","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.switch","n8n-nodes-base.switch","n8n-nodes-base.switch","n8n-nodes-base.switch","n8n-nodes-base.microsoftTeams","n8n-nodes-base.microsoftTeams","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.aiTransform","n8n-nodes-base.aiTransform","n8n-nodes-base.code"]

workflow_json_compressed:
  [encoded data, 6656 characters]

metadata_json:
  {"categories":["Marketing","Customer Service"],"complexity":"medium","use_cases":["automate feedback routing","analyze customer sentiment","route messages to teams channels"],"estimated_setup_minutes":45,"required_services":["Nicereply","Microsoft Teams"],"key_features":["sentiment analysis","team-based routing","automated filtering","real-time notifications"],"target_audience":["customer service managers","marketing teams","operations managers"]}


name: Automate Facebook Reels Publishing with Google Sheets and Drive
author_name: Đỗ Thành Nguyên
author_username: nathando
categories: []
created_at: 2025-10-24T12:42:23.756Z
updated_at: 2025-10-24T12:42:23.756Z
url: https://n8n.io/workflows/10122
scraped_at: 2026-05-02 08:04:49
metadata_generated_at: 2026-05-02 08:36:21
description:
  Publish a Reel on a Facebook Page
  🧠 Good to Know
  &gt;  Set up n8n self-hosted instance using https://tino.vn/vps-n8n?affid=388
  &gt;  Use the code ==VPSN8N== for up to 39% off.

  This workflow automatically uploads and publishes Facebook Reels using data from Google Sheets and video files stored in Google Drive. It runs on a schedule (every 30 minutes by default) and can be fully customized for your posting routine.

  ⚙️ How It Works

  Google Sheets provides the content data — video file ID, caption, and optional links.
  Google Drive hosts the actual video file (.mp4 format).
  The workflow initializes an upload session with the Facebook Graph API, uploads the video, and publishes it as a Reel on your Page.
  Finally, it updates your Google Sheet and adds a comment under the published Reel with your affiliate or product link.

  How to Use

  Open the template Google Sheet or make a copy:
     👉 Template Sheet

  Fill out each row with:

     File ID → the ID of your video file from Google Drive
     File name → optional
     Caption → your post caption
     Link Share → optional
     Link post → leave empty (it will be filled after posting)

  Ensure your video file:

     .mp4 format
     shared folder on Google Drive that’s accessible to your connected account

  Add your Facebook Page ID and Page Access Token to the “info” node.
     (Learn how to get these here: Facebook Reels Workflow Guide)

  📋 Requirements

  n8n instance (Self-hosted recommended):**

    Set up a self-hosted instance using https://tino.vn/vps-n8n?affid=388
    Use the code VPSN8N for up to 39% off.

  Facebook Page** with publishing permissions
  Page Access Token** (with pages_manage_posts, pages_read_engagement)
  Google Drive* and *Google Sheets** account connected to n8n
  Video files in .mp4 format, under the 1GB upload limit

  🎨 Customizing This Workflow

  Change schedule:* Adjust the *Schedule Trigger** node (e.g., every 2 hours or only during business hours).
  Track post links:** Add a node to fetch the permalink_url from the Graph API and update it in your sheet.
  Auto-comment control:** Modify or remove the “Create comment post” node to suit your campaign style.
  Improve security:* Replace hardcoded tokens with *n8n credentials, **secrets, or a Data Table lookup.

  This structure keeps your automation scalable, secure, and easy to adapt for multi-page or multi-brand use.

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

workflow_json_compressed:
  [encoded data, 5392 characters]

metadata_json:
  {"categories":["Marketing","Communication"],"complexity":"medium","use_cases":["Schedule Facebook posts","Upload video reels","Pull content from spreadsheets"],"estimated_setup_minutes":25,"required_services":["Facebook","Google Sheets","Google Drive"],"key_features":["Scheduled publishing","Video automation","Integration with spreadsheets"],"target_audience":["Social media managers","Content creators","Marketing teams"]}


name: Nested PDF Analysis with Mistral AI & OneDrive for Document Summarization
author_name: Jordan Hoyle
author_username: jordanhoyle
categories: []
created_at: 2025-10-24T17:26:08.778Z
updated_at: 2025-10-24T17:26:08.778Z
url: https://n8n.io/workflows/10132
scraped_at: 2026-05-02 08:04:48
metadata_generated_at: 2026-05-02 08:36:20
description:
  Description
  Automate the discovery and analysis of PDF files across a deeply nested OneDrive folder structure. This workflow recursively searches folders, filters for new or updated PDFs, extracts text, and uses a Mistral AI agent to generate a concise Executive Summary, Key Findings, and Structured Metadata (Date, Location, etc.), storing all insights into a n8n Data Table for easy access and further automation.

  Key Features & How It Works
  Scheduled Trigger & Recursive Folder Search:

  The workflow runs automatically (scheduled for 8 PM in this template) to monitor a specified main folder on OneDrive.

  It performs a deep, multi-level search (up to 8 layers) across subfolders to ensure no documents are missed.

  Smart Deduplication & Filtering:

  It checks new files against an internal n8n Data Table using the Compare Datasets node, ensuring only new or unique PDF files are processed, saving AI credits and processing time.

  A size check is also included, preventing attempts to process excessively large files.

  AI-Powered Document Intelligence (Mistral LLM):

  For each new PDF, the workflow extracts the text and passes it to a Mistral AI model for dual-stream analysis:

  Overview Agent: Generates an impartial, professional Executive Summary, a list of Key Findings & Data Points, and the document's Scope/Context.

  Document Information Agent: Extracts crucial metadata, including the single most relevant date, location (City/State/Country), and professional information (Name, Title, Organization).

  Structured Output and Archiving:

  AI outputs are meticulously validated and reformatted into a clean JSON object using Structured Output Parsers.

  The complete analysis, along with the original file name and path, is then logged as a new row in an n8n Data Table.

  Setup Notes
  OneDrive Folder: You must specify the exact name of your main folder in the 'Search for Main Folder' node.

  Data Table: Ensure your n8n Data Table exists with the required columns: Summary, Key_Findings, Scope, Date, Location, File_Name, and Path.

  Deep Folder Structure: The current configuration supports up to 8 levels of subfolders. If your files go deeper, you may need to add more "Get items in a folder" and "If" nodes.

  AI Customization: Review the AI agent prompts and the structured output schemas to customize the fields you want to extract or the summary style you require.

  Extend This Workflow
  The final output is organized data. You can easily extend this workflow to:

  Send daily/weekly digest emails with new summaries.

  Sync the extracted data to a Google Sheet, Airtable, or other database.

  Add a secondary AI agent to perform follow-up actions based on the "Key Findings."

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.microsoftOneDrive","n8n-nodes-base.microsoftOneDrive","n8n-nodes-base.microsoftOneDrive","n8n-nodes-base.microsoftOneDrive","n8n-nodes-base.microsoftOneDrive","n8n-nodes-base.microsoftOneDrive","n8n-nodes-base.merge","n8n-nodes-base.microsoftOneDrive","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.lmChatMistralCloud","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.splitInBatches","n8n-nodes-base.dataTable","n8n-nodes-base.dataTable","n8n-nodes-base.microsoftOneDrive","n8n-nodes-base.microsoftOneDrive","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.compareDatasets","n8n-nodes-base.splitInBatches","n8n-nodes-base.splitInBatches","n8n-nodes-base.microsoftOneDrive","n8n-nodes-base.extractFromFile","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.agent","@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.merge","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["Data Processing","AI/ML","DevOps"],"complexity":"complex","use_cases":["Summarize PDF documents","Search nested folder structures","Extract metadata from files","Track document updates","Generate executive summaries"],"estimated_setup_minutes":45,"required_services":["Mistral AI","Microsoft OneDrive","n8n Data Table"],"key_features":["Recursive folder traversal","File change detection","PDF text extraction","AI-driven summarization","Structured metadata generation"],"target_audience":["document analysts","data治理 specialists","automation engineers"]}


name: Generate AI Videos from Text or Images with Sora 2/Pro & GPT-5 Enhancement
author_name: Daniel Nkencho
author_username: daniel-automates
categories: []
created_at: 2025-10-25T00:30:00.564Z
updated_at: 2025-10-25T00:30:00.564Z
url: https://n8n.io/workflows/10139
scraped_at: 2026-05-02 08:04:48
metadata_generated_at: 2026-05-02 08:36:22
description:
  Harness OpenAI's Sora 2 for instant video creation from text or images using fal.ai's API—powered by GPT-5 for refined prompts that ensure cinematic quality. This template processes form submissions, intelligently routes to text-to-video (with mandatory prompt enhancement) or image-to-video modes, and polls for completion before redirecting to your generated clip.

  📋 What This Template Does
  Users submit prompts, aspect ratios (9:16 or 16:9), models (sora-2 or pro), durations (4s, 8s, or 12s), and optional images via a web form. For text-to-video, GPT-5 automatically refines the prompt for optimal Sora 2 results; image mode uses the raw input. It calls one of four fal.ai endpoints (text-to-video, text-to-video/pro, image-to-video, image-to-video/pro), then loops every 60s to check status until the video is ready.
  Handles dual modes: Text (with GPT-5 enhancement) or image-seeded generation
  Supports pro upgrades for higher fidelity and longer clips
  Auto-uploads images to a temp host and polls asynchronously for hands-free results
  Redirects directly to the final video URL on completion

  🔧 Prerequisites
  n8n instance with HTTP Request and LangChain nodes enabled
  fal.ai account for Sora 2 API access
  OpenAI account for GPT-5 prompt refinement

  🔑 Required Credentials

  fal.ai API Setup
  Sign up at fal.ai and navigate to Dashboard → API Keys
  Generate a new key with "sora-2" permissions (full access recommended)
  In n8n, create "Header Auth" credential: Name it "fal.ai", set Header Name to "Authorization", Value to "Key [Your API Key]"

  OpenAI API Setup
  Log in at platform.openai.com → API Keys (top-right profile menu)
  Click "Create new secret key" and copy it (store securely)
  In n8n, add "OpenAI API" credential: Paste key, select GPT-5 model in the LLM node

  ⚙️ Configuration Steps
  Import the workflow JSON into your n8n instance via Settings → Import from File
  Assign fal.ai and OpenAI credentials to the relevant HTTP Request and LLM nodes
  Activate the workflow—the form URL auto-generates in the trigger node
  Test by submitting a sample prompt (e.g., "A cat chasing a laser"); monitor executions for video output
  Adjust polling wait (60s node) for longer generations if needed

  🎯 Use Cases
  Social Media Teams**: Generate 9:16 vertical Reels from text ideas, like quick product animations enhanced by GPT-5 for professional polish
  Content Marketers**: Animate uploaded images into 8s promo clips, e.g., turning a static ad graphic into a dynamic story for email campaigns
  Educators and Trainers**: Create 4s explainer videos from outlines, such as historical reenactments, using pro mode for detailed visuals
  App Developers**: Embed as a backend service to process user prompts into Sora 2 videos on-demand for creative tools

  ⚠️ Troubleshooting
  API quota exceeded**: Check fal.ai dashboard for usage limits; upgrade to pro tier or extend polling waits
  Prompt refinement fails**: Ensure GPT-5 credential is set and output matches JSON schema—test LLM node independently
  Image upload errors**: Confirm file is JPG/PNG under 10MB; verify tmpfiles.org endpoint with a manual curl test
  Endless polling loop**: Add an IF node after 10 checks to timeout; increase wait to 120s for 12s pro generations

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.formTrigger","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.switch","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.switch","n8n-nodes-base.httpRequest","n8n-nodes-base.form","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi"]

workflow_json_compressed:
  [encoded data, 10312 characters]

metadata_json:
  {"categories":["AI/ML","Content Creation"],"complexity":"medium","use_cases":["Generate cinematic videos from text prompts","Transform input images into video clips","Automate AI video editing workflows","Deploy custom video generation APIs"],"estimated_setup_minutes":25,"required_services":["fal.ai"],"key_features":["Dynamic prompt optimization","Multi-modal input acceptance","Real-time status polling","Aspect ratio customization"],"target_audience":["content creators","video editors","developers"]}


name: Send WooCommerce Discount Coupons to Customers via WhatsApp Using Rapiwa API
author_name: Rapiwa
author_username: rapiwa
categories: []
created_at: 2025-10-25T03:47:51.211Z
updated_at: 2025-10-25T03:47:51.211Z
url: https://n8n.io/workflows/10140
scraped_at: 2026-05-02 08:04:51
metadata_generated_at: 2026-05-02 08:36:21
description:
  Who is this for?
  This workflow is ideal for WooCommerce store owners who want to automatically send promotional WhatsApp messages to their customers when new coupons are created. It’s designed for marketers and eCommerce managers looking to boost engagement, streamline coupon sharing, and track campaign performance effortlessly through Google Sheets.

  Overview
  This workflow listens for WooCommerce coupon creation events (coupon.created) and uses customer billing data to send promotional WhatsApp messages via the Rapiwa API. The flow formats the coupon data, cleans phone numbers, verifies WhatsApp registration with Rapiwa, sends the promotional message when verified, and logs each attempt to Google Sheets (separate sheets for verified/sent and unverified/not sent).

  What this Workflow Does
  Listens for new coupon creation events in WooCommerce via the WooCommerce Trigger node
  Retrieves all customer data from the WooCommerce store
  Processes customers in batches to control throughput
  Cleans and formats customer phone numbers for WhatsApp
  Verifies if phone numbers are valid WhatsApp accounts using Rapiwa API
  Sends personalized WhatsApp messages with coupon details to verified numbers
  Logs all activities to Google Sheets for tracking and analysis
  Handles both verified and unverified numbers appropriately

  Key Features
  Automated coupon distribution: Triggers when new coupons are created in WooCommerce
  Customer data retrieval: Fetches all customer information from WooCommerce
  Phone number validation: Verifies WhatsApp numbers before sending messages
  Personalized messaging: Includes customer name and coupon details in messages
  Dual logging system: Tracks both successful and failed message attempts
  Rate limiting: Uses batching and wait nodes to prevent API overload
  Data formatting: Structures coupon information for consistent messaging

  Google Sheet Column Structure
  A Google Sheet formatted like this ➤ sample
  The workflow uses a Google Sheet with the following columns to track coupon distribution:

  | name        | number        | email                                               | address1  | couponCode | couponTitle    | couponType | couponAmount | createDate          | expireDate          | validity   | status   |
  | ----------- | ------------- | --------------------------------------------------- | --------- | ---------- | -------------- | ---------- | ------------ | ------------------- | ------------------- | ---------- | -------- |
  | Abdul Mannan | 8801322827799 | contact@spagreen.net     | mirpur-DOHS | 62dhryst   | eid offer 2025 | percent    | 20.00        | 2025-09-11 06:08:02 | 2025-09-15 00:00:00 | unverified | not sent |
  | Abdul Mannan  | 8801322827799 | contact@spagreen.net | mirpur-DOHS | 62dhryst   | eid offer 2025 | percent    | 20.00        | 2025-09-11 06:08:02 | 2025-09-15 00:00:00 | verified   | sent     |

  Requirements
  n8n instance with the following nodes: WooCommerce Trigger, Code, SplitInBatches, HTTP Request, IF, Google Sheets, Wait
  WooCommerce store with API access
  Rapiwa account with API access for WhatsApp verification and messaging
  Google account with Sheets access
  Customer phone numbers in WooCommerce (stored in billing.phone field)

  Important Notes
  Phone Number Format**: The workflow cleans phone numbers by removing all non-digit characters. Ensure your WooCommerce phone numbers are in a compatible format.
  API Rate Limits**: Rapiwa and WooCommerce APIs have rate limits. Adjust batch sizes and wait times accordingly.
  Data Privacy**: Ensure compliance with data protection regulations when sending marketing messages.
  Error Handling**: The workflow logs unverified numbers but doesn't have extensive error handling. Consider adding error notifications for failed API calls.
  Message Content**: The current message template references the first coupon only (coupons[0]). Adjust if you need to handle multiple coupons.

  Useful Links
  Dashboard:** https://app.rapiwa.com
  Official Website:** https://rapiwa.com
  Documentation:** https://docs.rapiwa.com

  Support & Help
  WhatsApp**: Chat on WhatsApp
  Discord**: SpaGreen Community
  Facebook Group**: SpaGreen Support
  Website**: https://spagreen.net
  Developer Portfolio**: Codecanyon SpaGreen

nodes_used:
  ["n8n-nodes-base.if","n8n-nodes-base.wait","n8n-nodes-base.splitInBatches","n8n-nodes-base.wooCommerceTrigger","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.wooCommerce","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-rapiwa.rapiwa","n8n-nodes-rapiwa.rapiwa"]

workflow_json_compressed:
  [encoded data, 6892 characters]

metadata_json:
  {"categories":["Marketing","E-commerce"],"complexity":"medium","use_cases":["automate promotional communications","drive customer engagement","manage coupon campaigns","send bulk WhatsApp messages","sync customer data"],"estimated_setup_minutes":20,"required_services":["WooCommerce","WhatsApp Chat API","Google Sheets"],"key_features":["triggered by coupon creation events","customizable message templates","customer billing data extraction","batched message delivery"],"target_audience":["store owners","marketers","e-commerce managers"]}


