# templates

name: TrustPilot SaaS Product Review Tracker with Bright Data & OpenAI
author_name: Ranjan Dailata
author_username: ranjancse
categories: []
created_at: 2025-05-21T13:08:26.837Z
updated_at: 2025-05-21T13:08:26.837Z
url: https://n8n.io/workflows/4280
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who this is for
  The TrustPilot SaaS Product Review Tracker is designed for product managers, SaaS growth teams, customer experience analysts, and marketing teams who need to extract, summarize, and analyze customer feedback at scale from TrustPilot.

  This workflow is tailored for:

  Product Managers** - Monitoring feedback to drive feature improvements

  Customer Support & CX Teams** - Identifying sentiment trends or recurring issues

  Marketing & Growth Teams** - Leveraging testimonials and market perception

  Data Analysts** - Tracking competitor reviews and benchmarking

  Founders & Executives** - Wanting aggregated insights into customer satisfaction

  What problem is this workflow solving?
  Manually monitoring, extracting, and summarizing TrustPilot reviews is time-consuming, fragmented, and hard to scale across multiple SaaS products. 

  This workflow automates that process from unlocking the data behind anti-bot layers to summarizing and storing customer insights enabling teams to respond faster, spot trends, and make data-backed product decisions.

  This workflow solves:

  The challenge of scraping protected review data (using Bright Data Web Unlocker)

  The need for structured insights from unstructured review content

  The lack of automated delivery to storage and alerting systems like Google Sheets or webhooks

  What this workflow does
  Extract TrustPilot Reviews: Uses Bright Data Web Unlocker to bypass anti-bot protections and pull markdown-based content from product review pages

  Convert Markdown to Text: Leverages a basic LLM chain to clean and convert scraped markdown into plain text

  Structured Information Extraction: Uses OpenAI GPT-4o via the Information Extractor node to extract fields like product name, review date, rating, and reviewer sentiment

  Summarization Chain: Generates concise summaries of overall review sentiment and themes using OpenAI

  Merge & Aggregate Output: Consolidates individual extracted records into a structured batch output

  Outbound Data Delivery:

  Google Sheets – Appends summary and structured review data

  Write to Disk – Persists raw and processed content locally

  Webhook Notification – Sends a real-time alert with summarized insights

  Pre-conditions

  You need to have a Bright Data account and do the necessary setup as mentioned in the "Setup" section below.
  You need to have an OpenAI Account.

  Setup
  Sign up at Bright Data.
  Navigate to Proxies & Scraping and create a new Web Unlocker zone by selecting Web Unlocker API under Scraping Solutions.
  In n8n, configure the Header Auth account under Credentials (Generic Auth Type: Header Authentication).

  The Value field should be set with the
  Bearer XXXXXXXXXXXXXX. The XXXXXXXXXXXXXX should be replaced by the Web Unlocker Token.
  In n8n, Configure the Google Sheet Credentials with your own account. Follow this documentation - Set Google Sheet Credential
  In n8n, configure the OpenAi account credentials.
  Ensure the URL and Bright Data zone name are correctly set in the Set URL, Filename and Bright Data Zone node.
  Set the desired local path in the Write a file to disk node to save the responses.

  How to customize this workflow to your needs

  Target Multiple Products : 

  Configure the Bright Data input URL dynamically for different SaaS product TrustPilot URLs

  Loop through a product list and run parallel jobs for each

  Customize Extraction Fields : 

  Update the prompt in the Information Extractor to include:

  Review title
  Response from company
  Specific feature mentions
  Competitor references

  Tune Summarization Style

  Change tone**: executive summary, customer pain-point focus, or marketing quote extract

  Enable sentiment aggregation** (e.g., 30% negative, 50% neutral, 20% positive)

  Expand Output Destinations

  Push to Notion, Airtable, or CRM tools using additional webhook nodes

  Generate and send PDF reports (via PDFKit or HTML-to-PDF nodes)

  Schedule summary digests via Gmail or Slack

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

workflow_json_compressed:
  [encoded data, 5556 characters]

metadata_json:
  {"categories":["automation","data extraction","data processing","integration"],"complexity":"complex","use_cases":["Scrape protected TrustPilot reviews at scale","Extract structured fields (date, rating, sentiment) from unstructured review text","Generate concise summaries and sentiment themes","Append insights to Google Sheets and send real-time webhook alerts","Persist raw and processed data to disk for auditing or downstream analysis"],"estimated_setup_minutes":45,"required_services":["Bright Data (Web Unlocker)","OpenAI (GPT-4o / API)","Google Sheets account/credentials","Webhook endpoint (for notifications)","Local filesystem access (for write-to-disk node)"],"key_features":["Bypass anti-bot protections with Bright Data Web Unlocker","Convert markdown review content to cleaned plain text","Information extraction via OpenAI to produce structured fields (product, date, rating, sentiment)","LLM-based summarization of themes and overall sentiment","Aggregate and merge individual records into batch output for storage/analysis and alerts to webhooks or Google Sheets"],"target_audience":["Product managers","SaaS growth & marketing teams","Customer support / CX analysts / teams /data analysts"]}


name: Real Estate Intelligence Tracker with Bright Data & OpenAI
author_name: Ranjan Dailata
author_username: ranjancse
categories: []
created_at: 2025-05-21T13:33:31.376Z
updated_at: 2025-05-21T13:33:31.376Z
url: https://n8n.io/workflows/4281
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  Who this is for
  The Real Estate Intelligence Tracker is a powerful automated workflow designed for real estate analysts, investors, proptech startups, and market researchers who need to collect and analyze structured data from real estate listings across the web at scale.

  This workflow is tailored for:

  Real Estate Analysts** - Tracking property prices, locations, and market trends

  Investment Firms** - Sourcing high-opportunity listings for portfolio decisions

  PropTech Developers** - Automating listing insights for SaaS platforms

  Market Researchers** - Extracting insights from competitive housing data

  Growth Teams** - Monitoring geographic property trends and pricing fluctuations

  What problem is this workflow solving?
  Collecting structured real estate listing data from property websites is difficult due to bot protections and unstructured HTML content. Manual data collection is slow and error-prone, and traditional scrapers often get blocked or miss context.

  This workflow solves:

  Automated bypass of anti-bot protection using Bright Data Web Unlocker

  Conversion of unstructured HTML content into clean text using a Markdown-to-text LLM pipeline

  Structured extraction of key listing data like price, location, property type, and features using OpenAI

  Aggregation and delivery of insights to Google Sheets, local storage, and webhook-based alerts

  What this workflow does

  Convert to Text: Transforms scraped HTML/markdown into clean text using a Basic LLM Chain

  Structured Data Extraction: Uses OpenAI GPT-4o with the Information Extractor node to parse property attributes (price, address, area, type, etc.)

  Aggregate & Merge: Combines data from multiple pages or listings into a cohesive structure

  Outbound Data Handling:

  Google Sheets** – Appends the structured real estate data for further analysis

  Save to Disk** – Persists structured JSON/text data locally

  Webhook Notification** – Sends data alerts or summaries to any third-party platform

  Pre-conditions

  You need to have a Bright Data account and do the necessary setup as mentioned in the "Setup" section below.
  You need to have an OpenAI Account.

  Setup
  Sign up at Bright Data.
  Navigate to Proxies & Scraping and create a new Web Unlocker zone by selecting Web Unlocker API under Scraping Solutions.
  In n8n, configure the Header Auth account under Credentials (Generic Auth Type: Header Authentication).

  The Value field should be set with the
  Bearer XXXXXXXXXXXXXX. The XXXXXXXXXXXXXX should be replaced by the Web Unlocker Token.
  In n8n, Configure the Google Sheet Credentials with your own account. Follow this documentation - Set Google Sheet Credential
  In n8n, configure the OpenAi account credentials.
  Ensure the URL and Bright Data zone name are correctly set in the Set URL, Filename and Bright Data Zone node.
  Set the desired local path in the Write a file to disk node to save the responses.

  How to customize this workflow to your needs

  Target Multiple Sites or Locations

  Update the Bright Data URL node dynamically with a list of regional real estate websites

  Loop through different city/state filter URLs

  Customize Extracted Fields

  Modify the Information Extractor prompt to extract fields like:

  Property size, number of bedrooms/bathrooms

  Days on market

  Nearby amenities or schools

  Agent contact details

  Integrate with More Destinations

  Add nodes to export data to Notion, Airtable, HubSpot, or your custom database

  Generate automated reports using PDF generators and email them

  Data Quality and Logging

  Add validation checks (e.g., missing price or address)

  Save intermediate files (markdown, raw HTML, JSON output) to disk for audit purposes

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.informationExtractor","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.googleSheets","n8n-nodes-base.function","n8n-nodes-base.readWriteFile","n8n-nodes-base.merge","n8n-nodes-base.aggregate","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5412 characters]

metadata_json:
  {"categories":["automation","integration","data processing","web scraping","data extraction"],"complexity":"complex","use_cases":["Large-scale collection of real estate listing data","Market research and trend monitoring","Sourcing investment opportunities","Feeding PropTech platforms with structured listing data","Automated alerts and reporting for growth teams"],"estimated_setup_minutes":45,"required_services":["Bright Data (Web Unlocker)","OpenAI (GPT-4o / Information Extractor)","Google Sheets","Webhook endpoint (optional third-party integrations)","Local disk/storage for file output"],"key_features":["Anti-bot bypass using Bright Data Web Unlocker","HTML/Markdown to clean text conversion via LLM chain","Structured field extraction (price, address, type, features) using OpenAI","Aggregation and merging of multiple listings/pages","Export to Google Sheets, save to disk, and webhook notifications"],"target_audience":["Real estate analysts","Investment firms","PropTech developers / SaaS teams building listing features"]}


name: Automatically Delete Spam Emails in Gmail on Schedule
author_name: Bao Duy Nguyen
author_username: duynb
categories: []
created_at: 2025-05-21T14:19:52.816Z
updated_at: 2025-05-21T14:19:52.816Z
url: https://n8n.io/workflows/4285
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who is this for?
  If you hate SPAM emails or don't want to clean them up frequently.

  What problem is this workflow solving?
  It automatically deletes SPAM emails for you, so you don't have to. Save a bit of your time.

  What this workflow does
  You can specify when to execute the workflow: daily, weekly, or monthly.

  Setup
  Select the preferred execution time
  Configure credentials for Gmail OAuth2

  How to customize this workflow to your needs
  There's no need. It just works!

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE71VXW/cNhD8KwTTR9EQJYoiBfTBsNMgBZIYsVM0tY2CH6s7xjzqIlG+XAz994I6fyW+Om0f+iZAy9mZ4e7wBjuLG3z89e2ZoWeWMhFd/f4DzvAKosLNDXZhiCoYeJ3qoOZSUCGY5KWlpZYWdK1NpbimlVUtF6WQZQ3U2qqQbVG0haGMW6FraRQwnOEIq7VXEY56sMMpxHF91K3WHiJY3MR+hCnDQa0AN/hwjN1KRWeU91tkIRWh05PDNwhWyvkhoanFgJvzm52M7afjj7Ftf1En21/9R3OE76HuuuIMmx5UBHsYcYOLvKhIXpGCnlHWUNqUxYGg5R84w+Pa/rhsusxw6Cw84qBYq0qoclJpXhIGXBJZgyZVyTSldQ5a6QdeZ71bLKBHKqLTMVi1RStng1ssYxK3XaeaIAKZmxCtBjgYzBLs6OH2KM7wuhtcdF3AzTkpeJ6RIr/M8Fr1agUR+iFdYz962F1nhP5a+Zlw68AnzhuAqwFPl9O0a/ob9MOMRw+KKbsVVggOlSkZoUJpwrhVRFPBiGmVbmvJdUHtg7Djvbe1V9Ai/f5WBr1XsQG97LqrefoY13kLeUuMyXPCpGRElJwRmTNhhBAgocXfC1/BMKjFbnx/vrlBP30aunDgLJomnOFuDb3aNcW7AcPTPCIWQnTKzxAzwXeHY1wWs4XzqH1l7rN5Vf1Oh2rjF6cPyl+laqSM6cYQ8RNLiwN6b6muq4pVFEjdmpIwU2qiOZeES1vnuSlFq9gjYIhIef9fPSV7PTWsZlRaIEUtDGG5pURVVhEjGWW2bIU0/ImnrfN3n15p8K9tWgCciOHL6VtXFxAPfaLSQxz7kL7v1vz/stmY0khbcqIKDoTVRhOta0ZKRfOi1lJy82hyT6MzV1v0tpvT4m92cK65LXnscSWSyfzp/pnOdz1u6gxvnI1L3JQsz/AS5lVvijzPsOlChJDy5sULtDf7tt3YP75+1AXU9vB5hBCRVoMbLsJFOFu6Aanb811AG+c96seAeljP0ee3KW8UWqs+OjN61aPoVoBid9cojdn3zRI0fhIQ9yYLXjOpdEsoN4IwlnMiS8mILgpVCqYZCLnXZPrvXS5EnlH2D0ym1bMmN+vOhfjnuG7Qh5Pjw7OX6M3Li3AKHkxEmyWEZEm8jei4BLTp+qvWd5s9PlxmWJnorgE3rfIDZHiAGF1YzMzgC5gx0X/XW+hxg69pwrjenZ83sWW1LdpCEiFtTlhNJVGs1qSqNCtBMMZ5ejhMFwKYBDUD7wuFlHrKJafOb+bn6Qd5PBdn2AULX3CTT5dph595mfbhPxtOexpM01/NYjEzewgAAA==

metadata_json:
  {"categories":["automation","email management","productivity"],"complexity":"simple","use_cases":["Automatic spam deletion","Scheduled inbox maintenance","Reduce manual email cleanup"],"estimated_setup_minutes":5,"required_services":["Gmail (OAuth2)"],"key_features":["Run on a schedule (daily/weekly/monthly)","Automatically delete messages in Gmail Spam folder","Minimal configuration required","Unattended operation"],"target_audience":["General users","Busy professionals","Non-technical users who want automated email cleanup"]}


name: Automate SAP Business Partner Analysis with OpenAI GPT-4o & Gmail Reporting
author_name: Ghufran Ridhawi
author_username: ghufran-ridhawi
categories: []
created_at: 2025-05-21T16:26:23.739Z
updated_at: 2025-05-21T16:26:23.739Z
url: https://n8n.io/workflows/4287
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who is this for?
  This workflow is intended for micro businesses, SAP users, companies, users or owners who need system simplicity in SAP. In micro businesses, SAP users or individuals, there must be the task of manually inputting a lot of data or here in partner businesses in SAP, the reality is that it is very time consuming and tiring, especially since we have to arrange it first or click one by one and send it. This is also a form of community service in n8n and n8n companies, as well as dedication to small businesses using SAP, SAP users, companies or owners who use SAP so that reality is no longer tiring and is able to answer existing reality problems automatically.

  How it works?
  Easy explanation:

  The First Manual Trigger Node is used when clicking to start the program running. It's like starting by clicking the button first.

  After that the HTTP Request will be sent to the next node, here containing SAP.

  After that, each function will program and process it into clean data.

  Then after that it will be sent to Gmail via the Gmail node. The AI ​​Agent will carry out the task of reporting, analyzing and sending it via Gmail, here using model Open AI.

  You can immediately see the data thoroughly, because the data has been processed. If you want to process it again, just direct the AI ​​system to process it again.

  And all duties and responsibilities have been completed

  Very practical and easy, plus its automatic nature. I'm sure you can understand it wisely. 

  Set up instructions
  Complete what is in the nodes as stated in the notes column.

  Because the other nodes have been set up neatly, what you have to set up is, first, you have to connect the Gmail and Open AI "Credential Accounts" only.

  After that, enter the email address you want to send or receive in the Gmail node parameters.

  Well, it's very simple.

  Everything is organized wisely, so you just follow the notes or setup instructions provided, or you can add other things according to your specific purpose and congratulations you are ready to use it.

  Requirements
  As a reminder:

  It must be arranged in nodes, what your business description looks like, also according to the conditions of your small business, so that the AI ​​Agent matches your business knowledge base. Must have (if not, make sure you are registered) in each "Credential Account" by following the guide on how to do it n8n the guide is very complete. Don't forget to save, and make sure the workflow is active and don't forget about "Account Credentials".

  How to customize this workflow to your needs

  You can directly organize your business knowledge base in these nodes, so that according to your business in its field and what services it sells or has or here is your business partner, you can then carry out tasks and answer them.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.gmail"]

workflow_json_compressed:
  H4sIAAAAAAAAE6WX224bNxCGX0XgVQtoUh6GJ13VCZIiRdMESREECIxiSA6VRaWVql0FCQy9e7GKa9nR2rHsu5V2+O/HGf7k8EI0RcxEVFHVV/OzvPjw/P3T9e9iKpbck5hdiKbtemozvxziKCmvZfCyDk/JoUSuKUllJbLX1lVVZOZaasDkC6oSnaGIWJ22Br2Yip6X6wX1/GzDpXvH/Xb9bLVcL7jnImb9Zsu7qWhpyWIm3p29mTzddk3LXTd5Q5u+5c3kpzP94efJi9Xm6tUgSvNOzD6eT0W7Kjw8XnybmM9KRpkRjLIM6I2DVFIFMi6pbLXxlsXhgz1t+kHu63r42YYW9nqQqOMnS2q3tPhr08znvBFTsV51Td+sWjH7CEbLaXDyfCrWtKEl97zpxOxi903rPW+6faDaTS/BciKdq/NgE2fAQAmo2AyYSykxDbh0DYzbMvltSc1i8m67XNLm662U8yHqJp0/FS4FF5wxAZIKOCBFiNI5MFnZ7JTXNqgD3NnLydmc22uJ+7UN7S8HrgW18/yJmvYJXcZdg3Mop0rjj+mexCs+VxRLkhFYywRYKAI5T6ACuVxKKqmYA9/rNbdnLyfPPlE/ebUqvLgH6GI5hO9HNiO8eB9efcUbMhvJliFmUoClEEQbFFhnkw9W2uTkgff5l35DuZ+85W676LtbK51XhW+yqXCvQh/AfK2ch8w5igpQqgghyAyGg0SjYioRD2AvVpsl9ZPn+3X4dFVuX4QjaO5+ZT6wxSSTsd5DTU4Bsh2Wo/YQjYzJ2WK41OOk/cgex2R4P3ccwCiRC7EaKFllwEgIFDGAVWiy41qR7PU9pcn/fJ38uer5VqhuH3MZcmNbCXLq5RGbyKu2H5w0E+J2F9cUTHXGA1sqgNJFiOgdkNEBteeqtRzlVKeDKnwEKBfJrhoEydkBktKQbClAJmhJ2pEpOAqqTwZV8hGcVH3CGBCqTgZQk4EUcgW05KXP1jo3nlBzMqd5TD5tqpFtrhCV1YCIBkIJBjDKGKxSJmga5cQHcSp5bOv7gXodtObqQXKtwyHoIeTBWEzV51A1FzUKak8GtY9xEppSKpUAyiUFGJyHRJ5BkpE21ZAypVFO9yDOhycUSyZCqYD90EvYmoGcdMDJYfImIKUwbvnTl+h+c1LuwTkNLGtMGnSwEVBrhiCVg+BJ1xSpVJ3HUU93PbjH2MkjR0a2wDYXQCclDDUHV2x1MuToynXbn725le9T36/f8r9b7vrvAU89uGOxzDUCMpchexGSUQhYKmJWRUkuo+3jH013e4c70jsOp+O92rPd+VRQ7pvPLGaVFh1PRcd937Tzfab5C+ftoPl6U3gjZuKzGlL++dv4/eWicmDSCUE74wCtJwiD35ypXFAalDWK6VCzlvMgtRce8j27EEtqBtyPF/sbwF1d1D5yKpq28Bcxk7vz8930svMf07lRz9GxV/3vXRhHfcmo1PfQY4p3dGF3av5PMDrJO+4X4/n6bkWNiR7fC0aljufzA8KbS3hU87jln10Iav4eGvwtzfnyvzthj8JvfmS3+w+Zmv71PA8AAA==

metadata_json:
  {"categories":["automation","integration","data processing","reporting","ai"],"complexity":"medium","use_cases":["Automatically extract and clean SAP Business Partner data","Generate analysis and insights with OpenAI (GPT-4o)","Send formatted reports via Gmail (on-demand/manual trigger)","Reduce manual data-entry and partner-reporting tasks","Customize business knowledge base for tailored analyses"],"estimated_setup_minutes":20,"required_services":["SAP (HTTP API / endpoint access)","OpenAI (GPT-4o)","Google / Gmail account (Gmail API)","n8n instance with node access"],"key_features":["Manual trigger to start workflow","HTTP request to pull SAP partner data","Data cleaning/processing via code nodes","AI-driven analysis and reporting using OpenAI (lmChatOpenAi / agent)","Email delivery of reports through Gmail node','Easy customization of business knowledge base and node parameters"],"target_audience":["Micro businesses using SAP","SAP users and administrators","Small business owners wanting automation and reporting shortcuts (non-technical)  | operations/finance teams seeking faster partner analysis and reporting"]}


name: Convert RSS News to AI Avatar Videos with Heygen & GPT-4o
author_name: David Olusola
author_username: dae221
categories: []
created_at: 2025-05-21T17:52:54.270Z
updated_at: 2025-05-21T17:52:54.270Z
url: https://n8n.io/workflows/4288
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  🎬 Automated News-to-Video Workflow (n8n + Heygen + GPT-4o)

  📄 Overview:

  This n8n workflow turns news from an RSS feed (e.g., CNN) into short, AI-generated avatar videos using Heygen. It:

  Fetches news from an RSS feed.
  Logs headlines to Google Sheets.
  Uses GPT-4o or Google Gemini to generate a 30–60 sec script.
  Sends the script to Heygen to create an avatar video.
  Monitors and retrieves the final video.
  Logs video metadata (title, link, etc.) to Google Sheets.

  🎯 Ideal for content creators, marketers, or media pages repurposing written news into video content at scale.

  ⚙️ Setup Guide (No Sensitive Info)

  🔑 1. Heygen API

  Paid Heygen plan required.
  Add your API key in the Setup Heygen node:

      "heygen_api_key": "your_key_here"
    Optional: Set "avatar_id" and "voice_id" as desired.

  💡 2. AI Model: GPT-4o or Gemini

  GPT-4o**: Use OpenAI’s node or HTTP request with your API key.
  Gemini**: Link your Google Cloud project and connect the Gemini node using OAuth2 credentials.

  📥 3. RSS Feed

  Add an RSS node (e.g., CNN).
  Extract title, link, and content.

  📊 4. Google Sheets + Drive

  Connect via OAuth2:

    "Google Sheets account 2"
    "Google Drive account 2"
  Replace sheet IDs in:

    Log news to sheets
    Log video URL and title to sheets

  📹 5. Create Video (Heygen)

  Send a POST request to Heygen's API using the generated script, avatar, and voice ID.

  ⏳ 6. Monitor Status

  Poll the status endpoint until video is ready.
  Capture the download link.

  🧾 7. Log Final Output

  Save video metadata to a Google Sheet for publishing or archiving.

  Set up video: Link in Workflow 

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.rssFeedRead","n8n-nodes-base.manualTrigger","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.limit","n8n-nodes-base.googleDrive","n8n-nodes-base.code","n8n-nodes-base.limit","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.lmChatOpenAi"]

workflow_json_compressed:
  H4sIAAAAAAAAE6WX3W7bRhbHX4XgxV7xeOf7Q1dNE2y2QLdu46B7ERjFmZkzMhGK1JK01cAw0MfYfb0+yYKyY8kWFSvNnSAe/Oc353tuyzqVi7I5b/Mv3//Cz+33P77jF7qsyhWNWC5uy7odRmwj/TDZCcZYNIpZHgVzShpmgtfRSOt1CMx6GxVn0jBlmdZotDPKO3JaB28ox7IqR1qtGxzpdU9puKDxev26W60bGimVi7G/pruqbHFF5aJ89QP83G2op1T8RJuhGLvi1zpRV7yllnocu77Y1ONV8U/6tKS2+Fvx9uf3qpvOwOVQLj5cVmXbJZp+3t7f0zIuUqYMNkgNKoYIwVsGXsiUkGRM1pd75xevltSOk+Kn9fTPd61r/966Fra60GC7jFdYt2f4YLfuhnqsu7ZcfADuGau0Y5dVucYeVzRSP5SL27t7uV+pH7aW/MzdVQ+AlLnIkgVwMntQwmvwGT0E52NSJjqW0g7wYqzjx0/FT91IO8YdXsCBzoatzYPJPp5gilWgDvDK2LXjdJtFWR6gPoIyZaV2XkKKKYPy2YJnmIFxLpjLKK1ns6D860k5Z99AGkJgmpgAky0H5ZQCZEqAzoGM4sJZEWZJ5V8gZYZV/jDkJ/qUZ2WYcGCl4qCMI3DWOfA6oWc6YbB2R/ru4qJ4R5iOUvbD8A+i9GDzBNMaVglzQmbu4LwV3CmdgAKPU2Z6cCgtRIwmZ8coot7B/fuK2iI2dfxYt8vizz/++56Gsdh0/cfcdJs///jfUeoVttfYvO/r5ZL6g4pSp3E/UnNHMmCQwMgTqIgBXCYLLhsbkAfpKe9RYz0eBdvcf9zn0eZzgW8oXHXdx22TTF4xZYQAhsyAQqPBa08QMCWVk7PKTJ56yfNVic0GPw3n1+P6enyDUzvO2Az0eDlrRdZOK+ApGVCCLITsEwThlUMjvaK9GnxLY/HqBkfs77vo0YtejeP6Hf3nmobn95WnNTR1Jh4ZkwpJM87Be2dAJZchcIYQPPckjTWc047xdU840rdiuq/HJCucdj6CdSqCij4C2sBB2oQqpYRMyb0mMY2th7FzvEnQwUCYOu4JYPJMPYJFDJZhimBlyKBIB3AoImCmLJx3MoW9BH7Tbdqmw1Tc/EXXia/2XExRM68ckM4ICpOBwLIBTNbjNAfIux3gj/XqCyXWPHx94jRxYq96JNJKykBCgWSGg0pegU8kQSarEXkgxXCvLLpu2VDxpq9vjg/R5dbos02qBwzN533lCa5wp0V411aDZhKDAuWkAiWTBh9EAuuEtFxHzWivPtbYD1REXG+PO0Ybu3QwmPRpqbeLa5Ao0FKGyLQGlZSHYH0ET4Q2kvMBw7O4Hh/ts4E17CsDy6TjKmoORgo5FSmD4EIClVFnwsyd3UNqumXRPqyNwxXROLwQ3ovPRk8olTiJUp3pvSUOEw+Wg5Q5gmKWQRBRQdLemhh8Stbsua5b3pdrcd03BbapGOuxoW/FZpU9pZB31EYSScwZVHABFAoDwRGD5JJTSluRzF6n2fT1SMUQ+3p9yn7crF5f4Xi+pvZV/RzVOVY5dsIyIu4uqxLjOFXh/SisyoHGsW6X2yWLfqd4Pcme94n6clHe8GnburlX2M5mloyySTkQDhMo5gJ4HwwwbZLxTKaI0wMgdm1LcZLaCm/3gsVtucJ6Qv5wu31XfHGmbk2rsm4T/V4u2N3l5V310P3mhA6fGscF+KzCl9J9VuvxyDm1I41mVuhxEZ0Tet4YZhWezNM5lS/uBbOST/JzcVti/duUjde4pH91iZoXvH9g/lz/qYPmmOeXhFnYZ2N7NtNmx9Ss2kFSzukd2xSeK1a7SJ7ep2axZhL0aMK8IDWXDnNaT/f5WamXHypzwodvrxnxu7v/A1cdbIheEQAA

metadata_json:
  {"categories":["automation","content-creation","AI/ML","media-integration"],"complexity":"medium","use_cases":["Automatically convert news articles into short videos","Scale social media/video content repurposing","Automated publishing & archiving of video summaries","Rapid prototyping of avatar-led news clips"],"estimated_setup_minutes":45,"required_services":["Heygen (paid plan)","OpenAI GPT-4o or Google Gemini (Google Cloud)","Google Sheets (OAuth2)","Google Drive (OAuth2)","RSS feed provider (e.g., CNN)","n8n automation platform"],"key_features":["Fetches items from an RSS feed","Generates 30–60s video scripts with an LLM","Creates avatar videos via Heygen API (avatar/voice selection)","Polls Heygen for processing status and retrieves final video","Logs headlines and video metadata to Google Sheets/Drive for tracking"],"target_audience":["Content creators","Social media managers","Digital marketers/media teams repurposing content at scale\",\"Automation engineers/tech-savvy creators"]}


name: Automate Business Lead Scraping from Apify to Google Sheets with Data Cleaning
author_name: David Olusola
author_username: dae221
categories: []
created_at: 2025-05-21T18:47:26.249Z
updated_at: 2025-05-21T18:47:26.249Z
url: https://n8n.io/workflows/4295
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  🚀 Automated Lead Scraper Workflow (Apify + n8n + Google Sheets)

  🧠 What It Does

  This n8n workflow automates the process of scraping leads using Apify, cleaning the extracted data, and exporting it to Google Sheets—ready for use in outreach, prospecting, or CRM pipelines.

  🔄 Workflow Steps

  ✅ Start – Manually triggers the workflow.
  🧩 Set Variables – Stores required Apify credentials:

     APIFY_TOKEN: Your Apify token.
     APIFY_TASK_ID: The Apify task to run.
  🕸️ Run Apify Scraper – Launches the scraper and fetches the dataset.
  🧹 Clean Data – Processes scraped results to:

     ✂️ Strip non-numeric characters from phone numbers.
     ✉️ Format emails (lowercase + trimmed).
  📊 Export to Google Sheets – Appends clean data to your spreadsheet:

     🏢 company name → from title
     📞 phone → cleaned number
     📍 address → from scraped info

  🛠️ Requirements

  🕷️ Apify Account

    A valid APIFY_TOKEN
    An existing Apify task (APIFY_TASK_ID)

  📗 Google Sheets Access

    OAuth2 credentials set up in n8n (e.g., "Google Sheets account 2")

  🚦 How to Use

  ⚙️ Open the Variables node and plug in your Apify credentials.
  📄 Confirm the Google Sheets node points to your desired spreadsheet.
  ▶️ Run the workflow manually from the Start node.

  📥 Output

  A ready-to-use sheet of cleaned lead data containing:

  Company names
  Phone numbers
  Addresses

  💼 Perfect For:

  Sales teams doing outbound prospecting
  Marketers building lead lists
  Agencies running data aggregation tasks

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

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

metadata_json:
  {"categories":["automation","integration","data processing"],"complexity":"medium","use_cases":["Outbound sales prospecting","Building/maintaining lead lists","CRM enrichment and import","Agency data aggregation for clients","Marketing contact list generation"],"estimated_setup_minutes":15,"required_services":["n8n (cloud or self-hosted instance)","Apify (account with APIFY_TOKEN and an existing APIFY_TASK_ID)","Google account with Google Sheets access and OAuth2 credentials","Destination Google Spreadsheet"],"key_features":["Runs Apify scraper task and retrieves dataset","Cleans and normalizes scraped fields (phones, emails)","Maps scraped fields to columns (company, phone, address)","Appends cleaned records to Google Sheets","Configurable via Set/Variables node for tokens and task ID"],"target_audience":["Sales teams","Marketers","Agencies and data aggregation teams"]}


name: Extract and Structure Thai Documents to Google Sheets using Typhoon OCR and Llama 3.1
author_name: Jaruphat J.
author_username: jaruphatj
categories: []
created_at: 2025-05-22T02:34:50.107Z
updated_at: 2025-05-22T02:34:50.107Z
url: https://n8n.io/workflows/4300
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  ⚠️ Note: This template requires a community node and works only on self-hosted n8n installations. It uses the Typhoon OCR Python package and custom command execution. Make sure to install required dependencies locally.

  Who is this for?

  This template is for developers, operations teams, and automation builders in Thailand (or any Thai-speaking environment) who regularly process PDFs or scanned documents in Thai and want to extract structured text into a Google Sheet.

  It is ideal for:
  Local government document processing
  Thai-language enterprise paperwork
  AI automation pipelines requiring Thai OCR

  What problem does this solve?

  Typhoon OCR is one of the most accurate OCR tools for Thai text. However, integrating it into an end-to-end workflow usually requires manual scripting and data wrangling.

  This template solves that by:
  Running Typhoon OCR on PDF files
  Using AI to extract structured data fields
  Automatically storing results in Google Sheets

  What this workflow does

  Trigger: Run manually or from any automation source
  Read Files: Load local PDF files from a doc/ folder
  Execute Command: Run Typhoon OCR on each file using a Python command
  LLM Extraction: Send the OCR markdown to an AI model (e.g., GPT-4 or OpenRouter) to extract fields
  Code Node: Parse the LLM output as JSON
  Google Sheets: Append structured data into a spreadsheet

  Setup

  1. Install Requirements

  Python 3.10+
  typhoon-ocr: pip install typhoon-ocr
  Install Poppler and add to system PATH (needed for pdftoppm, pdfinfo)

  2. Create folders

  Create a folder called doc in the same directory where n8n runs (or mount it via Docker)

  3. Google Sheet

  Create a Google Sheet with the following column headers:

  | book\_id | date | subject | detail | signed\_by | signed\_by2 | contact | download\_url |
  | -------- | ---- | ------- | ------ | ---------- | ----------- | ------- | ------------- |

  You can use this example Google Sheet as a reference.

  4. API Key

  Export your TYPHOON_OCR_API_KEY and OPENAI_API_KEY in your environment (or set inside the command string in Execute Command node).

  How to customize this workflow

  Replace the LLM provider in the Basic LLM Chain node (currently supports OpenRouter)
  Change output fields to match your data structure (adjust the prompt and Google Sheet headers)
  Add trigger nodes (e.g., Dropbox Upload, Webhook) to automate input

  About Typhoon OCR

  Typhoon is a multilingual LLM and toolkit optimized for Thai NLP. It includes typhoon-ocr, a Python OCR library designed for Thai-centric documents. It is open-source, highly accurate, and works well in automation pipelines. Perfect for government paperwork, PDF reports, and multilingual documents in Southeast Asia.

nodes_used:
  ["n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.executeCommand","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.readWriteFile","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","integration","data processing","OCR","AI"],"complexity":"complex","use_cases":["Automated extraction of structured fields from Thai PDFs/scanned documents","Local government paperwork digitization","Enterprise Thai-language document processing","Feeding parsed document data into reporting or downstream automation"],"estimated_setup_minutes":45,"required_services":["n8n (self-hosted) with community node support","Typhoon OCR (typhoon-ocr Python package)","Python 3.10+ and ability to run local commands","Poppler (pdftoppm, pdfinfo) installed and on PATH","LLM provider (OpenAI / OpenRouter or compatible model)","Google Sheets API / Google account"],"key_features":["Run Typhoon OCR on local PDF files","Use an LLM to extract structured fields from OCR markdown","Execute custom Python/command-line OCR steps from n8n","Parse LLM output as JSON and map fields","Append structured results to Google Sheets automatically"],"target_audience":["Developers","Operations / DevOps teams","Automation builders / RPA engineers"]}


name: Monitor SEO Keyword Rankings with LLaMA AI & Apify Google SERP Scraping
author_name: Gegenfeld
author_username: gegenfeld
categories: []
created_at: 2025-05-22T03:27:43.959Z
updated_at: 2025-05-22T03:27:43.959Z
url: https://n8n.io/workflows/4301
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who is this template for?

  This SEO Keyword Monitoring workflow template is perfect for SEO professionals, digital marketing agencies, website owners, and content strategists who need to track their search rankings and get actionable insights when they're not performing well. Whether you're managing multiple client sites, monitoring your own brand's visibility, or conducting competitive analysis, this automation provides comprehensive rank tracking with AI-powered recommendations.

  What problem does this workflow solve?

  Manual keyword rank tracking is time-consuming and often provides limited actionable insights. SEO professionals typically struggle with:

  Manually checking search rankings across different countries and languages
  Identifying why a website isn't ranking for target keywords
  Getting specific, actionable recommendations for SEO improvements
  Tracking competitor performance and market positioning
  Scaling rank monitoring across multiple keywords and domains
  Generating professional reports for clients or stakeholders

  What this workflow does

  This n8n workflow automates comprehensive SEO keyword monitoring with intelligent analysis and reporting. It tracks your rankings in Google search results and provides AI-powered insights when your site isn't performing as expected.

  Here's what it includes:

  Multi-language web form** that accepts keyword, domain, country (24 options), and language (12 options)
  Intelligent localization** that converts country/language selections into proper API codes
  Real-time Google SERP scraping** using Apify's Google Search API (up to 100 results per query)
  Automated rank detection** that checks if your domain appears in the search results
  Dual email reporting system:**
    Success reports: Beautiful HTML tables showing your rankings, competitor positions, titles, URLs, and descriptions
    AI-powered improvement reports: When your site doesn't rank, an AI agent (LLaMA 70B) analyzes the search results and provides specific, actionable SEO recommendations
  Professional email formatting** with HTML markup for easy sharing with clients or teams

  Setup

  Getting started is straightforward:

  Connect your Apify account

  Sign up for a free Apify account 🡥
  Get your Personal API Token from Settings → API & Integrations
  Replace YOUR_API_TOKEN in the HTTP Request node with your actual token

  Configure the AI model

  The workflow uses Groq AI with LLaMA 70B by default
  Connect your Groq account or replace with OpenAI, Claude, or another LLM
  The AI agent analyzes search results and provides tailored SEO recommendations

  Set up email delivery / data export

  Configure the Mailjet nodes with your email credentials
  Or replace with Gmail, Outlook, SMTP, or other email providers
  Or replace with/add Google Sheets, Airtable, Notion or similar service, for data storage
  Set your sender and recipient email addresses

  Test the workflow

  Click "Test workflow" to access the web form
  Enter a keyword, domain, country, and language
  Check your email for either ranking results or AI-powered recommendations

  Activate the workflow

  Turn on the trigger so you can access the form anytime
  Share the form URL with team members or clients

  How to customize this workflow

  This template is highly flexible and can be adapted for various SEO monitoring needs:

  Scale up monitoring:** Add loops to track multiple keywords simultaneously
  Alternative outputs:* Replace email nodes with *Google Sheets, **Airtable, or Notion for data storage
  Team notifications:* Connect to *Slack, **Discord, or Microsoft Teams for instant alerts
  Scheduled monitoring:* Add *cron triggers** for daily, weekly, or monthly automated checks
  Enhanced analysis:** Integrate additional AI models for deeper competitive analysis
  Custom reporting:** Modify the HTML templates to match your brand or client requirements
  Data persistence:* Add *database connections** to store historical ranking data
  Competitor tracking:** Expand the logic to monitor multiple domains for the same keywords

  Key features

  24 country support:** Track rankings in major markets worldwide
  12 language options:** Monitor multilingual SEO performance
  AI-powered insights:** Get specific recommendations when rankings are low
  Professional reporting:** HTML-formatted emails ready for client delivery
  Competitor analysis:** See who's ranking above you with full SERP data
  Scalable architecture:** Easy to extend for enterprise-level monitoring

  This workflow transforms manual rank checking into an intelligent, automated system that not only tracks your performance but actively helps you improve it with AI-driven recommendations. Developed by Gegenfeld 🡥 and codecope 🡥 in Berlin, Germany.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.formTrigger","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatGroq","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.mailjet","n8n-nodes-base.mailjet","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE52W227bRhCGX4XgNcfdw+xJV3UDJzXaNEFktCgCo9jDrMxaIhWSjpMYfveCsmvJNpXYvhEEafbfb2Z2DldlncpZGRfzt68j/2se/n5fn5u+rMoVDb6cXZV10w++iXQ82qFJwilvpHBJKjTESAelEzlC6VLknnl0UScrTBBSMC1cVigZi2gIeVmVA63WSz/Qq45SP6fhYv2qXa2XNFAqZ0N3QddV2fgVlbPybdvUQ9sV86N3xW/09bLtUvHBN+d1s+iLy3o4Kw6PYd1eUkepeNO2iyUVc/JdPCsO3x8X89j5dd0sxkv9oi9nH0+rsmkTjV+vbhzPjJmIpMEowwClEBAij6CSUtmaEIQaoW+Bfj05eV98oE8X1A+j6tf1+GtjG9jIQvA9HZwNw3prs277eqjbppx9BMlYBUKx06pc+86vaKCuL2dX1zdSf1LXbyzxQFxXt4BOceJGcNBOc0AlBDibEmBwRhiWOOqwBZwPvttPlttuddLViwV1D8gM3pFdUjhr2/ObdGvDJKKFlIQF1NaDJaMhKJUsYshmc/l3nRE7zmQpgmFGQs4bPSbAe1IQPLMyKIVB4taZ39vol/U32utPbBM9cESJp4V4hwlNUkkhOC4NYPRhfAEKiLGQ0AufldwyHee9NHW+z8LxiSi7AUqOpyg5kNEaMFoFLiUPObJsbPA2aruFOUr1ULyuaZn6vVQ9PXyF9mlY8gDvsJIlyol5cBQFYEoZnI0eUtJ8rBDphdhivenaT8Xh8Rbp58Y2P225lr5ZxDNfNwfL1aszP4z29xkRbcXFDxH5HWDQZCSXCuKYOkxZgg2IQBhsUqhIGrVTJUfvisMFNcMTEP2t3Q6d1KwCzn6Md2DvAJkk4lFoINQWUHAOwekMGFKIpJySWe8AUpOK10Qp+HheHK18vdyb4PHPfx8meVPPT0G8AyTHlVJag5HKAGbJIDDuIOssnBGCcsgPAD9Qf7EcihMflvQiSKkrwOdAWm6Y8ImDlDGO/YOBV2iAGE/WCqtp0xBuIX+5qJfpBu8ZLQSlfRLVtmgpkJdOO1A6R0DjFHgTMxiNwaRILIV7LbqO51+LP9qBcH/VboxGm/twbpPXx5VRxrYZxoc6K8v94dM6Ja4TQhZJAKLnYIO0gEYrHQ3XGdMkqHwZKL4UNFnjjEAJInsJGDKB5TyARp1QG0cOcRJUPRsU7NgPjX4haTbBZK0QdPJ8dDiBZS6C5VZYg17ea9g7pOKFpC9OfkBymxZpkDKgMBYChgTcBGmc986H6eTz55NupvBLQ5ocKu91BieUBmQpQ8CsIWrrDIs5ekmToM/mlMgqgc/EPK1KH4f6M5Wz7Jc9VWVPwzCupONR+kLxYpR/1yXqyln5mY8an2/Ob5Yq7XV0OTHAxDkgIw4+ughSkTHBOyH9OApi2zQUR6mN8HEeP1e+HsE/Xm322H09bmNVlXWT6Es5Y9en1fbAxOx7ZH56Xd1uklNXPl7LJgX+3wJmV6Wv/xkH6oVf0Ns20fKe3ATQI/uH2ncIU3zTS/q0k3d3Twl9dwpP6u1mY6/i98bmpOrumjeluruTTgrci8iUwuQiOSF1ff0fo+tewzAOAAA=

metadata_json:
  {"categories":["automation","integration","seo","analytics","ai"],"complexity":"medium","use_cases":["Automated keyword rank monitoring","AI-powered SEO improvement recommendations","Competitive SERP analysis","Multilingual/multi-country rank tracking","Client-ready reporting and alerts"],"estimated_setup_minutes":30,"required_services":["Apify Google Search API (SERP scraping)","Groq with LLaMA 70B or alternative LLM (OpenAI, Claude)","Email provider for delivery (Mailjet, Gmail/SMTP/Outlook)"],"key_features":["Multi-language web form (keyword, domain, country, language)","Country/language localization to API codes","Real-time Google SERP scraping (Apify) up to 100 results","Automated rank detection for target domain","AI agent analysis providing actionable SEO recommendations (LLaMA) when rankings are low"],"target_audience":["SEO professionals","Digital marketing agencies","Website owners / webmasters / content strategists\",\"Growth/analytics teams"]}


name: Airtable Base Backups to S3
author_name: Autonomous Work
author_username: autonomouswork
categories: []
created_at: 2025-05-22T04:33:58.776Z
updated_at: 2025-05-22T04:33:58.776Z
url: https://n8n.io/workflows/4302
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  This workflow exports every table in a base as its own CSV, saves the files in a time-stamped folder in Amazon S3, pings you on Slack, and optionally prunes older copies. You get an automated weekly backup that is easy to inspect or re-import as needed. You can easily swap the S3 node for the storage provider of your choice.

  ++How it works++

  Weekly Backup
  Schedule trigger fires weekly
  Sets and formats the week ex. [2025-W12]
  Create a folder in S3 bucket with the week
  Loops through all tables in Airtable base creating CSVs and uploading to the new path
  Slack message is sent on completion

  Monthly Prune
  Schedule trigger fires weekly
  Sets a cut-off date 4 weeks in the past
  Lists folders in S3
  Deletes all folders &gt; 4 weeks old

  ++Setup Steps++

  Clone workflow
  Swap credentials for Airtable, AWS, and Slack
  	Ensure AWS credential has appropriate IAM policy to manage bucket & objects
  Set workflow to "Active" 

nodes_used:
  ["n8n-nodes-base.airtable","n8n-nodes-base.splitInBatches","n8n-nodes-base.set","n8n-nodes-base.airtable","n8n-nodes-base.convertToFile","n8n-nodes-base.awsS3","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.awsS3","n8n-nodes-base.awsS3","n8n-nodes-base.awsS3","n8n-nodes-base.set","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.slack","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.aggregate"]

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

metadata_json:
  {"categories":["backup","integration","automation","data export"],"complexity":"medium","use_cases":["Automated scheduled backups of Airtable bases","Disaster recovery and archival of table data","Auditing or periodic snapshots for compliance","Easily re-importable CSV exports for data migration","Team notifications on backup completion"],"estimated_setup_minutes":20,"required_services":["Airtable","Amazon S3 (AWS)","Slack","AWS IAM (appropriate bucket/object permissions)"],"key_features":["Exports each Airtable table to its own CSV","Creates time-stamped folders in S3 (e.g., 2025-W12)","Weekly scheduled backup trigger","Optional pruning routine to delete folders older than 4 weeks","Slack notification on completion or errors (configurable alerting/communication channelable to other providers)"],"target_audience":["IT administrators","DevOps","Data engineers/analysts who manage Airtable data backups and exports"]}


name: Track Google Search Rankings with Bright Data, Google Sheets & Gmail
author_name: Daniel Shashko
author_username: tomax
categories: []
created_at: 2025-05-22T10:43:11.946Z
updated_at: 2025-05-22T10:43:11.946Z
url: https://n8n.io/workflows/4310
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  This workflow automates daily or manual keyword rank tracking on Google Search for your target domain. Results are logged in Google Sheets and sent via email using Bright Data's SERP API.

  Requirements:  
  n8n (local or cloud) with Google Sheets and Gmail nodes enabled  
  Bright Data API credentials  

  Main Use Cases

  Track Google search rankings for multiple keywords and domains automatically
  Maintain historical rank logs in Google Sheets for SEO analysis
  Receive scheduled or on-demand HTML email reports with ranking summaries
  Customize or extend for advanced SEO monitoring and reporting

  How it works

  The workflow is divided into several logical steps:

  1. Workflow Triggers
  Manual:** Start by clicking 'Test workflow' in n8n.
  Scheduled:** Automatically triggers every 24 hours via Schedule Trigger.

  2. Read Keywords and Target Domains
  Fetches keywords and domains from a specified Google Sheets document.
  The sheet must have columns: Keyword and Domain.

  3. Transform Keywords
  Formats each keyword for URL querying (spaces become +, e.g., seo expert → seo+expert).

  4. Batch Processing
  Processes keywords in batches so each is checked individually.

  5. Get Google Search Results via Bright Data
  Sends a request to Bright Data's SERP API for each keyword with location (default: US).
  Receives the raw HTML of the search results.

  6. Parse and Find Ranking
  Extracts all non-Google links from HTML.
  Searches for the target domain among the results.
  Captures the rank (position), URL, and total number of results checked. Saves timestamp.

  7. Save Results to Google Sheets
  Appends the findings (keyword, domain, rank, found URL, check time) to a “Results” sheet for history.

  8. Generate HTML Report and Send Email
  Builds an HTML table with current rankings.
  Emails the formatted table to the specified recipient(s) with Gmail.

  Setup Steps

  Google Sheets:
     Create a sheet named “Results”, and another with Keyword and Domain columns.
     Update document ID and sheet names in the workflow’s config.

  Bright Data API:
     Acquire your Bright Data API token.
     Enter it in the Authorization header of the 'Getting Ranks' HTTP Request node.

  Gmail:
     Connect your Gmail account via OAuth2 in n8n.
     Set your destination email in the 'Sending Email Message' node.

  Location Customization:
     Modify the gl= parameter in the SERP API URL to change country/location (e.g., gl=GB for the UK).

  Notes

  This workflow is designed for n8n local or cloud environments with suitable connector credentials.
  Customize batch size, recipient list, or ranking extraction logic per your needs.
  Use sticky notes in n8n for further setup guidance and workflow tips.

  With this workflow, you have an automated, repeatable process to monitor, log, and report Google search rankings for your domains—ideal for SEO, digital marketing, and reporting to clients or stakeholders.

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

workflow_json_compressed:
  [encoded data, 4988 characters]

metadata_json:
  {"categories":["automation","integration","data processing","SEO"],"complexity":"medium","use_cases":["Automated daily or on-demand Google keyword rank tracking","Maintain historical ranking logs in Google Sheets for SEO analysis","Send scheduled HTML email ranking reports to clients or stakeholders","Monitor multiple keywords and domains with location-specific SERP checks","Extendable workflow for advanced SEO monitoring and alerts"],"estimated_setup_minutes":20,"required_services":["n8n (cloud or self-hosted)","Bright Data SERP API (API token)","Google Sheets (Google account)","Gmail (Google OAuth2 for sending email)"],"key_features":["Scheduled (daily) and manual triggers","Reads keywords/domains from Google Sheets","Formats keywords for SERP queries and processes in batches","Requests Google SERP HTML via Bright Data and parses results","Identifies domain rank, result URL, and timestamp; records total checked results"],"target_audience":["SEO specialists","Digital marketers","Agencies reporting to clients or stakeholders」「Developers/automation engineers setting up SEO workflows"]}


name: Reliable AI Agent Output Without Structured Output Parser - w/ OpenAI & Switch
author_name: Dataki
author_username: dataki
categories: []
created_at: 2025-05-22T13:42:19.414Z
updated_at: 2025-05-22T13:42:19.414Z
url: https://n8n.io/workflows/4316
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  This workflow serves as a solid foundation when you need an AI Agent to return output in a specific JSON schema, without relying on the often-unreliable Structured Output Parser.

  What It Does
  The example workflow takes a simple input (like a food item) and expects a JSON-formatted output containing its nutritional values.

  Why Use This Instead of Structured Output Parser?

  The built-in Structured Output Parser node is known to be unreliable when working with AI Agents.

  While the n8n documentation recommends using a “Basic LLM Chain” followed by a Structured Output Parser, this alternative workflow completely avoids using the Structured Output Parser node.  
  Instead, it implements a custom loop that manually validates the AI Agent's output.

  This method has proven especially reliable with OpenAI's gpt-4.1 series (gpt-4.1, gpt-4.1-mini, gpt-4.1-nano), which tend to produce correctly structured JSON on the first try, as long as the System Prompt is well defined.
  In this template, gpt-4.1-nano is set by default.

  How It Works

  Instead of using the Structured Output Parser, this workflow loops the AI Agent through a manual schema validation process:

  A custom schema check is performed after the AI Agent response.
  A runIndex counter tracks the number of retries.
  A Switch node:
    If the output does not match the expected schema, it routes back to the AI Agent with an updated prompt asking it to return the correct format. The process allows up to 4 retries to avoid infinite loops.
    If the output does match the schema, it continues to a Set node that serves as chat response (you can customize this part to fit your use case).


  This approach ensures schema consistency, offers flexibility, and avoids the brittleness of the default parser.

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

workflow_json_compressed:
  [encoded data, 7436 characters]

metadata_json:
  {"categories":["automation","ai/llm","data validation","integration"],"complexity":"medium","use_cases":["Enforce a specific JSON schema for LLM outputs","Extract structured data (e.g., nutritional values) from text prompts","Build reliable LLM-driven APIs or webhooks that require strict output","Pre-process/validate data for downstream ETL or storage","Create chatbots or agents that must return machine-readable responses"],"estimated_setup_minutes":10,"required_services":["n8n","OpenAI API (gpt-4.1 series including gpt-4.1-nano)"],"key_features":["Manual schema validation loop for LLM responses (no Structured Output Parser)","Retry logic with runIndex counter and Switch node (up to 4 retries)","Works reliably with gpt-4.1 series (gpt-4.1-nano default)","Customizable prompts and Set node for final chat response","Uses memory buffer and agent/chat nodes for contextual interactions"],"target_audience":["Developers","Automation engineers","Data engineers/analysts building reliable LLM integrations"]}


name: Classify Lead Sentiment with Google Gemini and Send WhatsApp Responses via Typeform & Supabase
author_name: Danielle Gomes
author_username: daniellegomes
categories: []
created_at: 2025-05-22T14:21:49.503Z
updated_at: 2025-05-22T14:21:49.503Z
url: https://n8n.io/workflows/4322
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Automatically classify incoming leads based on the sentiment of their message using Google Gemini, store them in Supabase by category, and send tailored WhatsApp messages via the official WhatsApp Cloud API.

  ✅ Use Case:
  This workflow is ideal for sales, onboarding, and customer support teams who want to:

  Understand the tone and urgency of each lead

  Prioritize hot leads instantly

  Send smart, automatic WhatsApp replies based on user sentiment

  🧠 How it works:
  Capture lead via a Typeform webhook

  Clean and structure the data (name, email, message, etc.)

  Run sentiment analysis using Google Gemini to classify the message as:

  Positive → Hot Lead

  Neutral → Warm Lead

  Negative → Cold Lead

  Store lead data in Supabase under the corresponding category

  Merge data to unify flow paths

  Send WhatsApp message using the official WhatsApp Cloud API, with a custom reply for each sentiment result

  🔧 Tools used:
  Typeform (incoming data)

  Google Gemini (AI-based sentiment classification)

  Supabase (database)

  WhatsApp Cloud API (response automation)

  🏷 Tags:
  AI, Sentiment Analysis, Lead Qualification, Supabase, WhatsApp, Gemini, Typeform, CRM, Automation, Customer Engagement

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.webhook","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.sentimentAnalysis","n8n-nodes-base.supabase","n8n-nodes-base.supabase","n8n-nodes-base.supabase","n8n-nodes-base.merge","n8n-nodes-base.whatsApp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE7VX224juRH9FYKbhxmg6fSFfRMQIIYHuzGQmfXGRvIwNoJqslpippvskGx7NF4B+Yf8Yb4kYEu2ZEm2Z2cS6KVBFavqnLrynvbogc7uqdLOgxZ4LumM8jLJUsHjGoGLVmRVCoXgVZEXooIsb3IJXCQtlNhWdVpVacNTLngKWEGcNymNqMd+6MDjmUXpLtGPw5nphw49SjrzdsRVRDX0SGf0zwiSXKL2qkftyS8jdKpVaIMWmDs6+3gTUW0khs97qoKHWHKJqQAmM0wYr+uGVXUmWF2mTVM0sgYZ00cLPxkz75D8hL3SipwtwJP3RmIXLCyHIPFHXenf60qzyQ7rQM/FApQ+6fogvlawvk8jOhinvDKazj6WRRzlVXwT0QEs9OjRusCnGYJA+Fyt1lb+itZNd5JVtEERJw1vqqJhVVlXjMc5sjoTNcurKmkzmZYy3UHxFxSobpF8wDsycfbmajlga2z/dgtki6EBhyd32CyM+fTU54zHUVYEnzd/T0FPY54WVVqyMuGSceAVg6YqGYcsTYqiyBuJdB/mAH5BZ7RDkGxrawd8RBfeD+/RL0wwcvHz5RXdJyR9JKThcVwKkbAiy1LGU5kxKGXCklQ2dSOyvEWxJeTC4gAW12S8Aw/P0uDQP6UgLx4o+OqwZSf80U+ZlpxnRcPavC0YF0nGal5J1iaYtlWaYpXv+HnWgXOqXe4k+ZtNLhpLjF+gJaBIH1Ly7VfkpHtQc6qhWzrl9lKyehVbRJUeRn+Fnz2d0T/c3//uH87oj9e0R+dgjtf0hvz6K9me6nDa7x1bdINxHq7pzWp1rQ/iuk30JEvTLClb1jaiYBxqyaAsOGsLKYqqKSFOmy1fl95YJH8yfors80EdBwgfT9EnSV5EySH8VUSFRRmog27i4+H+6aCmDhgc3TpBX6jbKi8gL7FmXKYJ41AKVkvJWR3LXLZ5nfOi2ofzAUdvoftmSEci+r+ElMgMmpqnrCjajHFoWwa8QFYKEfMYy7aQBxE6M538Zjz5/xdPGldZXdcJK5KyYJxXOaurFlkik6oCkedpm+xUqOkbpb+mk/Ro5/twsvJoeKge+wbteag0R2fZYUPZutsCB5HmCctiyBmHhrOqkRnLeZwVTZXEBd/NKNSS/G0B3p0OA3m/rtnnZ8BGcM/rvC6OTIEmqdqiyTlL02mwVjVrmrZiWZyIpMFS5kVxMAXMgBbWeqlDHfIBpJwsQfejwk6+MggTwes445KJskXG26RlIKBhcQIJthi3vOS72afEpyX5YPzzoN0ksxHZgc3SNI4SfhisOyXDKONVHNEFqvnC01kRxxEVRnvUoU/+8AN5blch//nXv8ljn1damF7pOQlz0ZHRhe/TcwJaEotDtyS3Ch4DeK3D73JhrCfv0AmrpkY9u9anozc9eCWg65ZEPKhfa22t6QmQhx2ABNiSGE0ex8PG8JPt54Ssa9cvsCdKk8tNhZFmSQR4nBu7JG8WxkdErztWRITp5NvJ+RBcMqB1IbDqC+5k4TQMtMMHuH6BxLStEgq6rdRZZ0ZJTi/OTwLmH8eu24N8tVCO3Bn7qe3MHVlgNziyNCP558T0A/b1tuq7ZXAbwhT88mBzi9604UBZshlqk8mwPK11hM1BwOBHi5L4hTXjfLHL56YqwqWrBT4oIcqRwRqBLrAdOFmbR3mMbfJm684mfEpMlTIjF1NS3mL0OBqMJR9wDuHwbTD7DgfUMig1esJm0Y2dj6bvACI440I45ZNQjlqinYRgGKwZrAKPpIMGu/3QGruObjB3+kxkd5C7bVa9El/iDRFGt8r2xIbFdfATW4M1t0oiaRFlA2Ki91widKQ1ljjo0BGP0LuIGN0YsBP+dtQaOxetk3AchlArIUMc8WGbvwPtg8XBKmOVV19wE+THovBGY0RGO0ctlhNu1POw0wREHd5id/LC/oKVTOMyK1jNk5pxniODJs2ZlEUGZRHnok2P9qfkNzeoooqjMj3sT0/a0IU1/eCJG+fowj1yrR+bz7EieIxhg6GswL2cfbOpJdFja+FqdU2Prno3EQURLtNZC53DiDr0Xun55D1+RjEGT3+2Ei2d0dsk6Lhd3z/fzHVhtEbxsKXu74Gze9qDChx9vJ/egy8P7kk2LLoSP9NZvLq5WUUHi8t36UzXOg/lj2l9ZWYf9fbwgXPU3297XrzAz5Nd9bsoStZqn32Az+4pqL+Hp80Ic9ycfT+2A537OF96Sx8D/MJT8yiPv83vo/nyzCPowFy0f+f4S+P1e0fW+SPYVqv/AvUhexI1EgAA

metadata_json:
  {"categories":["automation","integration","data processing","AI & NLP","customer engagement"],"complexity":"medium","use_cases":["Automatic lead sentiment classification","Prioritizing and routing hot leads","Sending personalized WhatsApp follow-ups","Storing and segmenting leads in a database for CRM workflows","Faster onboarding and customer support triage"],"estimated_setup_minutes":45,"required_services":["Typeform (webhook)","Google Gemini (AI sentiment classification)","Supabase (database)","WhatsApp Cloud API (messaging)"],"key_features":["Capture leads via Typeform webhook","Clean and structure incoming form data","AI-based sentiment analysis with Google Gemini","Map sentiment to categories (Hot/Warm/Cold)","Persist leads in Supabase under sentiment categories`,`Merge and unify flow paths for downstream actions`,"],"target_audience":["sales teams","customer success / support","marketing / growth teams`,`automation engineers / developers`"]}


name: Find, Scrape & Analyze Twitter Posts by Name with Bright Data & Gemini
author_name: Gleb D
author_username: glebd
categories: []
created_at: 2025-05-22T16:00:13.479Z
updated_at: 2025-05-22T16:00:13.479Z
url: https://n8n.io/workflows/4325
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  This n8n workflow template automates the process of collecting and analyzing Twitter (X) posts for any public profile, then generates a clean, AI-powered summary including key metrics, interests, and activity trends.

  🚀 What It Does
  Accepts a user's full name and date range through a public form.
  Automatically finds the person’s X (formerly Twitter) profile using a Google search.
  Uses Bright Data to retrieve full post data from the X.com profile.
  Extracts key post metrics like views, likes, reposts, hashtags, and mentions.
  Uses Google Gemini (PaLM) to generate a personalized summary: tone, themes, popularity, and sentiments.
  Stores both raw data and the AI summary into a connected Google Sheet for further review or team collaboration.

  🛠️ Step-by-Step Setup
  Deploy the public form to collect full name and date range.
  Build a Google search query using the name to find their X profile.
  Scrape the search results via Bright Data (Web Unlocker zone).
  Parse the page content using the HTML node.
  Use Gemini AI to extract the correct X profile URL.
  Pull full post data via Bright Data dataset snapshot API.
  Transform post data into clean structured fields:
  date_posted, description, hashtags, likes, views,
  quoted_post.date_posted, quoted_post.description,
  replies, reposts, quotes, and tagged_users.profile_name.
  Analyze all posts using Google Gemini for interest detection and persona generation.
  Save results to a Google Sheet: structured post data + AI-written summary.
  Show success or fallback messages depending on profile detection or scraping status.

  🧠 How It Works: Workflow Overview
  Trigger: When user submits form
  Search & Match: Google search → HTML parse → Gemini filters matching X profile
  Data Gathering: Bright Data → Poll for snapshot completion → Fetch post data
  Transformation: Extract and restructure key fields via Code node
  AI Summary: Use Gemini to analyze tone, interests, and trends
  Export: Save results to Google Sheet
  Fallback: Display custom error message if no X profile found

  📨 Final Output
  A record in your Google Sheet with:
    Clean post-level data
    Profile-level engagement summary
    An AI-written overview including tone, common topics, and post popularity

  🔐 Credentials Used
  Bright Data account** (for search & post scraping)
  Google Gemini (PaLM)** or Gemini Flash via - 
  OpenAI/Google Vertex API
  Google Sheets (OAuth2) account** (for result storage)

  ⚠️Community Node Dependency
  This workflow uses a custom community node:
  n8n-nodes-brightdata
  Install it via UI (Settings → Community Nodes → Install).

nodes_used:
  ["n8n-nodes-base.html","n8n-nodes-base.formTrigger","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.form","n8n-nodes-base.if","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.form","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-brightdata.brightData","n8n-nodes-base.code","n8n-nodes-base.wait","n8n-nodes-base.if","n8n-nodes-brightdata.brightData","n8n-nodes-brightdata.brightData","n8n-nodes-brightdata.brightData","n8n-nodes-base.if","n8n-nodes-base.wait"]

workflow_json_compressed:
  [encoded data, 5328 characters]

metadata_json:
  {"categories":["automation","integration","data processing","web scraping","AI"],"complexity":"complex","use_cases":["Public social profile monitoring","Influencer or competitor research","Reputation and sentiment analysis","Content trend and topic extraction","Team reporting and collaboration via Google Sheets"],"estimated_setup_minutes":45,"required_services":["Bright Data (Web Unlocker / dataset snapshot)","Google Gemini (PaLM) or Gemini Flash API (or alternative LLM like OpenAI/Vertex)","Google Sheets (OAuth2)","Google Search (public result scraping)","n8n community node: n8n-nodes-brightdata"],"key_features":["Public form input for name and date range","Automated Google search to locate X profile","Bright Data scraping of X.com profile and snapshot polling","HTML parsing and structured field extraction (date, description, hashtags, likes, views, replies, reposts, quotes, tagged users)","LLM analysis via Gemini for tone, interests, sentiment and persona generation','Stores raw post data and AI summaries in Google Sheets','Fallback handling and success/error messages"],"target_audience":["Marketers and social media managers","Data analysts and researchers","Journalists and investigators doing public-profile research (legally compliant) note: only public profiles should be used)  ','Recruiters and talent sourcers','Growth/product teams monitoring public activity']} Note: All outputs must comply with platform and legal scraping terms. Continuous monitoring requires adherence to site and API policies. }]}{"]}


name: Auto-Scrape TikTok User Data via Dumpling AI and Segment in Airtable
author_name: Yang
author_username: yang
categories: []
created_at: 2025-05-22T20:36:01.997Z
updated_at: 2025-05-22T20:36:01.997Z
url: https://n8n.io/workflows/4326
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who is this for?

  This workflow is for social media agencies, influencer marketers, and brand managers who need to automatically qualify TikTok creators based on their follower metrics. It’s especially useful for teams managing influencer outreach campaigns or building talent databases.

  What problem is this workflow solving?

  Manually tracking TikTok user stats is time-consuming and inconsistent. This automation instantly pulls TikTok profile data and only saves creators who meet a defined follower threshold. It removes manual vetting, reduces spreadsheet work, and makes influencer qualification scalable.

  What this workflow does

  This workflow uses Airtable as the trigger, Dumpling AI to scrape TikTok profile information, and a logic condition to check if the profile has more than 100k followers. Qualified profiles are updated with full metrics and stored back in Airtable.

  Setup

  Airtable Setup
     Create a table with a field named Tik tok username
     Connect your Airtable account to n8n using a Personal Access Token
     Set up a trigger to run when a new TikTok username is added

  Dumpling AI
     Sign up at Dumpling AI
     Create a Dumpling AI credential in n8n using your API key
     The HTTP node sends the TikTok handle to Dumpling’s /get-tiktok-profile endpoint

  Configure Filter
     The IF node checks if followerCount is greater than or equal to 100000

  Airtable Update
     If qualified, the record is updated with:
       ID (TikTok ID)
       followerCount
       followingCount
       heartCount
       videoCount
  How to customize this workflow to your needs

  Change the follower count threshold to fit your campaign (e.g. 10K, 500K, 1M)
  Add fields like engagement rate, niche tags, or scraped bio
  Chain additional steps like sending approved creators to your CRM or triggering outreach messages
  Add another filter to exclude private or inactive accounts

nodes_used:
  ["n8n-nodes-base.airtableTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE+1azW7kuBF+FYIbZHYNqUetltQ/wB5sz8yOd+fHsduzyU4bC4ostbgtkRqSao/XaCDnXHPKKe+WJ8gjBKTUv247M05mgSD2wbDEYtXHqo/Foso3mDM8wiYvzv6QfXh79ub757/GP5bYwyUYgkc3mAttiKBwYuVIl0BMB4wmNIkh6UfZkPaGUZ8Fgx5JKe1HQ8jCOEpYlg2zKMuCLoOIJaSXQJpBgj1soKwKYuBYAdPnYOrqWJZVAQYYHhlVw8LDgpSAR/iwNtI/p4pUgMZ8NpYzdKFBoWfEEDTnBD2ry6rgYooOTxARDJ3DtARhEBfokCtD0gKsRTLVePT+0sNCMrB/3jSrzrIwyqIk8Xu9OPCjMB766YBGfjeMwzgbZFlG7fwWzY/E0BxlUqE3cLXE85IIVoDetXhd2RliIHxn0k+Jhg5pBcaKT6egsIcrqbnhUuDRez9JAs8fBJcerogiJRhQ2vrfTrW+v8E//6yKxkUeLiWzFjjDHp6TorYPeGHXmhafIV7JohjzEpwlbqB0zmmlYQ7q+jUXtQG8uLTKG+AvOBTWfWM+Q0bOUK1BOR95mNQmB2E4Jc2y8GrNcgbisOJWhjG3aFI4Rdb0YuFhqoDZqaRwYG5NHLVBezk4fTc7ml6cHtOLPD87XgdoGQB0Ckpb/eiQUtAaOR2IUCprYbA1ZgP0DpR2ILsLr9UdZL3uMOoTvxtHxI+GQegPaRr5LEp7wbA/jHvDDUJ8B2ZJg1MlM17AXmbeyYfcmOoMPtSgzQ4Xomg/F2obUWzn6dHTp6SqOqy1Q3iHyvIpqfjTeffpFIxv+MzImV81yJoNnUu7ytO352PsYVlZc879Hv5FS3Ek2TUe4W9vJgKhCc4dtSd4hCb45gb9zop0Mhey9092Y//kEi0WEzwRi4lA2MMaBGv0NQTUFVCeXbcmrKp9bJmCAMXp8YoKY+s4b/n+sDb5uHGl9cFLIAyUfYlv82dHYMmes1cvfj2k351BpWL4409H62iKgbhNjagTrsiRkm5A6ZD4DBj4URd6/jAI+/6wl9Ggnwa9IQnW6tBxDnSGeIZeyKKQV6DQsaUf4hp1g2CGpEKvpbo7W/BshxRhuJ8UW3GkUjS7a2cIz5dLCj1cQGbeLbOAhynRcA7CWprDMmDODaTgbBkbbRSnxnlalikXxEhlN7iwOWXT7DK7EjKkSUQHPsRD5kfZgPhpNkx9CJMoCPtpNuzHjoagGl03K0/UZeryYzPWcsNmoW3s365oqQ0xupO1nm4cvVhgDys+zZfy3cD+LC5vRTnciDIJ4jiJo9An/SzxIwiJP+zGkd/PBkmYdXvZIGPrKF9UjBhAZ0ClYuiKmxwdEc3pMi+cW1z/9kDYDnTg+d07zoE70nrBXQaZb4aU5sDOQNeFudhOGq3NNl1Up+fz8x/YYRL044/fH+9MfdOscgza2Fzmtkh7xnxxKE9NWpQfpr88v5qenCWquvjpDnAu5XcbYhZ12dK9AXCDT55tEcXmqw5nDTlcwN3Y108+9XR/8k3HnpMdp22pKAeijGPdHla6wUZuzhnIu+TWg43wFps/je3NKy6m989ZCjSTbh3j/5lP7j0hbJQ0zaEk6zzhipJ2g9gkI6bYw4zrqiCr40NBKee2QMxIod0zYW9FsTH+oeZqQ6Cd33LEmWCQkbowr+2ilpVmC2FPJfNgQKsX9yLaY3EbXzuLEnEEFxrYWO4DfvLsy0N1Nh4CbpvA3q3s/l/GuWvu4ZBXG+g3wrxh7yGgN7LPFwe8ZeshYDdS4BcHu2XrIWDJnBiiXhHVXNdauEQpcn0P2uXj54HdsfU5cC89XJKq4mL6ujmFGWRcwBEU8soW/lbUcaw9Ht/b1V16mBh7GTdjeSzFHJSxtbVeG2teNpe0sTxv0kszuti5PmwWarWrifaU5L/hlS7srC91rJckYRInfhr2wI+GLPEHZBD7AR0mSQikF4TxvRXdYVFs1XPoMwu6KPAey7n/+3Jua3/fWkMzOs7rMn2s/h6rv8fq77H6e6z+/iervweifSz/vlD5F7O0x0g/9Ek0SP0o7Q/9NA0Hfr8XAAvjcBgFydriueF0do3eSHP3l1ntZFqRzS+0A9vCiZLbxd4VZ/YbdD8JbHFhP0niUc8+UCkMuLP6q6++Qv/8+1//sttRaNpfCv1+dd6iF7wwoJradKPPMBETMc65RldSzbJCXiFDZqARQbaKQzJbqm5bAuji7JVGmZLlWrVtooFQnOagkcmhRLW22jfM/OPPf9NIW1Tu+fSkg04MovZrt0ZAaL7U/0SjZVJGLk6eUy9FcY1MLjU0KyilAmRyIhBBGgwyuQKdy4Khr6Ez7aBu4AVB8A0iCpAmc2CICyOdsP3qvMZuY+PKlQ81KXjGnWRW1CAoKN2x7jk4eCmvEDfORXp0cDAR3Q46ODg3tqZ7TURNiuJ6dHCA/iRr1La7rB/WPi1bIWQkSmHKhRte+aNS0hK0MxGhVbzRInrFxWzH3dbQiUE2Vei7g+P0y1pRWK+1KbQnoufQNx3S59b3S9rsksOaOgfBXFStcot/N6pXkDYrAWUDa0UyMOuIoqaMnIjImn3+0ShCzU5/wxq60A170HPGDWoyCLIbyGrkWtr2rxvf5sd6uQpMrQQwxIghnYmIrb2W9u0KbfTQeDMyjlh2Q3FRg3ZMaHHrXaY1nFqZt0tKnCfJ3GHcDJC1sWbUSqOjo5HKsWwPG5vfFkRjxa8r2/KRtVF2k3RWu5VrVIHKgBonnSoimPYQmYKgHLRnZ5VEzVwyQVe5RFdEGIuS1EaWxLbPLB8bjNdLHlEFtquiUQqZXbezamMta9OZNBe/7SaoPRFo0wJqjwANxl4UXQqDj0Brm+jeKuYuMHN3R2vbSu6fA/rpMI6yIPR7YdD1o4gN/DTtBj6wIOgladrvQtsrEkBXjalP7aKObnBJuM2z729cI/9BTTanwsNcMPiIR8Hi0va1P1nNPgyf2QK6BcC7V9U93x72LuWT/0lh31I+u6G9B8Ji8S/yt6mOUyIAAA==

metadata_json:
  {"categories":["automation","integration","data processing","social media management"],"complexity":"medium","use_cases":["Automatically qualify TikTok creators by follower count","Build and maintain an influencer/talent database","Filter and enrich new TikTok handles before outreach","Automate data entry of social metrics into Airtable","Trigger downstream CRM or outreach workflows for qualified creators"],"estimated_setup_minutes":20,"required_services":["n8n","Airtable","Dumpling AI (TikTok scraping)"],"key_features":["Scrapes TikTok profile data via Dumpling AI","Conditional filter on followerCount (default ≥100k)","Updates Airtable records with full metrics (ID, followerCount, followingCount, heartCount, videoCount)","Configurable follower threshold and add-on fields (engagement, tags, bio)","Easily extensible to send qualified creators to CRM or outreach tools"],"target_audience":["Social media agencies","Influencer marketers","Brand managers and talent teams','Growth marketers"]}


name: Auto-Generate Blog & AI Image from YouTube Videos with Dumpling AI & GPT-4o
author_name: Yang
author_username: yang
categories: []
created_at: 2025-05-22T21:00:31.600Z
updated_at: 2025-05-22T21:00:31.600Z
url: https://n8n.io/workflows/4327
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who is this for?

  This template is designed for content creators, marketing teams, educators, or media managers who want to repurpose video content into written blog posts with visuals. It's ideal for anyone looking to automate the process of transforming YouTube videos into professional blog articles and custom images.

  What problem is this workflow solving?

  Creating written content from video material is time-consuming and manual. This workflow solves that by automating the entire pipeline: from detecting new YouTube video uploads to transcribing the audio, turning it into an engaging blog post, generating a matching visual, and saving both in Airtable. It saves hours of work while keeping your blog or social feed active and consistent.

  What this workflow does

  This automation listens for new YouTube videos added to a Google Drive folder, extracts the full transcript using Dumpling AI, and sends it to GPT-4o to generate a blog post and image prompt. Dumpling AI then turns the prompt into a 16:9 visual. The blog and visual are saved into Airtable for easy publishing or curation.

  Setup

  Google Drive Trigger
     Create a folder in Google Drive and upload your YouTube videos there.
     Link this folder in the "Watch Folder for New YouTube Videos" node.
     Enable polling every minute or adjust as needed.

  Download & Prepare the Video
     The video is downloaded and converted into base64 format by the next two nodes:  
       Download Video File and Convert Downloaded Video to Base64.

  Transcription with Dumpling AI
     The base64 video is sent to Dumpling AI’s extract-video endpoint.
     You must have a Dumpling AI account and an API key with access to this endpoint: Dumpling AI Docs

  Generate Blog Content with GPT-4o
     GPT-4o takes the transcript and generates:
       A human-like blog post
       A descriptive prompt for AI image generation
     Make sure your OpenAI credentials are configured.

  Generate the Visual
     The prompt is passed to Dumpling AI’s generate-ai-image endpoint using model FLUX.1-pro.
     The result is a clean 1024x576 image.

  Save to Airtable
     Blog content is stored under the Content field in Airtable.
     The image prompt is also added to the Attachments column as a visual reference.
     Ensure Airtable base and table are preconfigured with the correct field names.

  How to customize this workflow to your needs

  Change the GPT prompt to alter the tone or format of the blog post (e.g., add bullet points or SEO tags).
  Modify the Dumpling AI prompt to generate different image styles.
  Add a scheduler or webhook trigger to run at different intervals or through other integrations.
  Connect this output to Ghost, Notion, or your CMS using additional nodes.

  🧠 Sticky Note Summary

  Part 1: Transcription & Blog Prompt
  Watches a Google Drive folder for new video uploads.
  Downloads and encodes the video.
  Transcribes full audio with Dumpling AI.
  GPT-4o writes a blog post and descriptive image prompt.

  Part 2: Image Generation & Airtable Save
  Dumpling AI generates a visual from the image prompt.
  Blog content is saved to Airtable.
  The image prompt is patched into the Attachments field in the same record.

  ✅ Use this if you want to automate repurposing YouTube videos into blog content with zero manual work.

nodes_used:
  ["n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.googleDrive","n8n-nodes-base.extractFromFile","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.httpRequest","n8n-nodes-base.airtable","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4432 characters]

metadata_json:
  {"categories":["content automation","integration","AI-driven content creation"],"complexity":"complex","use_cases":["Repurpose YouTube videos into blog posts","Automate content production and publishing pipelines","Generate custom AI images to accompany articles","Create searchable/archived transcripts for videos","Quickly populate CMS or Airtable with ready-to-publish content"],"estimated_setup_minutes":30,"required_services":["Google Drive","Dumpling AI (extract-video, generate-ai-image)","OpenAI (GPT-4o)","Airtable"],"key_features":["Watches Google Drive folder for new videos","Downloads and encodes video to base64","Transcribes full video audio via Dumpling AI","Generates human-like blog post and AI image prompt with GPT-4o","Creates a 16:9 image using Dumpling AI FLUX.1-pro model (1024x576)"],"target_audience":["Content creators","Marketing teams","Educators and course creators`,`Media managers and social teams`,`Developers/automation engineers"]}


name: Scrape TikTok Profile & Transcript with Dumpling AI and Save to Google Sheets
author_name: Yang
author_username: yang
categories: []
created_at: 2025-05-22T21:47:28.961Z
updated_at: 2025-05-22T21:47:28.961Z
url: https://n8n.io/workflows/4328
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who is this for?

  This workflow is built for marketers, researchers, and content analysts who need to monitor TikTok content, analyze user data, or track trends across influencers. It's useful for agencies that manage creators or want to keep an organized record of profile performance and video content for reporting or outreach.

  What problem is this workflow solving?

  Instead of manually checking TikTok profiles or watching videos to understand performance or content, this workflow automates everything. It extracts both profile statistics and full video transcripts, then logs them in Google Sheets for easy access, filtering, and segmentation.

  What this workflow does

  The automation watches for new TikTok video URLs added to a Google Sheet. When a new row is detected:

  It extracts the username from the URL.
  Sends the username to Dumpling AI to get full profile data (followers, likes, videos).
  Sends the video URL to Dumpling AI to extract the full transcript.
  Appends all this information back into the same sheet.

  Everything happens automatically after a new URL is added to the sheet.

  Setup

  Google Sheets Trigger  
     Connect your Google account and select the spreadsheet where TikTok links will be added.  
     The workflow will trigger on each new row.
     Example sheet column: USERNAME Video

  Extract Username  
     This Set node uses RegEx to extract the username (handle) from the TikTok video URL.
     No need to change anything unless TikTok URL formatting changes.

  Dumpling AI Profile Scraper  
     Go to Dumpling AI  
     Sign in and retrieve your API key  
     Create an agent using the get-tiktok-profile endpoint  
     Paste your API key into the httpHeaderAuth field in n8n

  Dumpling AI Transcript Scraper  
     Also uses Dumpling AI  
     Make sure the endpoint get-tiktok-transcript is enabled in your Dumpling account  
     Connect using the same API key

  Save to Google Sheets  
     The final node appends data back to your original Google Sheet  
     Required columns: USERNAME Video, Username, Follower count, Following Count, heart count, Video Count, Transcript

  How to customize this workflow to your needs

  Add a filter node to only save profiles with a minimum follower count  
  Add sentiment analysis for the transcript using OpenAI  
  Connect Airtable or Notion instead of Google Sheets  
  Use GPT to summarize or classify transcripts for research

  ⚠️ Notes

  Requires a Dumpling AI account and API key  
  Make sure Google Sheets API is connected and has the correct permissions  
  TikTok usernames must start with @ for RegEx to work

nodes_used:
  ["n8n-nodes-base.googleSheetsTrigger","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","integration","data processing","social media","analytics"],"complexity":"medium","use_cases":["Monitor TikTok creators and trends","Automate collection of profile metrics","Extract and store video transcripts for analysis","Maintain a searchable log for reporting or outreach","Feed transcripts into NLP pipelines (summaries, sentiment)"],"estimated_setup_minutes":15,"required_services":["Google Sheets (Google API)","Dumpling AI (API with get-tiktok-profile and get-tiktok-transcript endpoints)","TikTok (public video URLs)"],"key_features":["Triggers on new Google Sheet rows containing TikTok URLs","Regex extraction of TikTok username from URL","Calls Dumpling AI to fetch profile statistics (followers, likes, video count)","Calls Dumpling AI to extract full video transcript","Appends profile data and transcript back to the original Google Sheet for easy filtering and reporting"],"target_audience":["Marketers","Researchers","Content analysts and strategists (agencies) who track creators/influencers Social media managers and growth teams"]}


name: Extract Product Info from Webpage Screenshots using Dumpling AI and GPT-4o
author_name: Yang
author_username: yang
categories: []
created_at: 2025-05-22T22:11:09.830Z
updated_at: 2025-05-22T22:11:09.830Z
url: https://n8n.io/workflows/4329
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  Who is this for?

  This workflow is perfect for eCommerce teams, market researchers, and product analysts who want to track or extract product information from websites that restrict scraping tools. It’s also useful for virtual assistants handling product comparison tasks.

  What problem is this workflow solving?

  Many eCommerce and retail sites use dynamic content or anti-bot protections that make traditional scraping methods unreliable. This workflow bypasses those issues by taking a screenshot of the full page, using OCR to extract visible text, and summarizing product information with GPT-4o—all fully automated.

  What this workflow does

  This workflow monitors a Google Sheet for new URLs. Once a new link is added, it performs the following steps:

  Trigger on New URL in Sheet – Watches for new rows added to a Google Sheet.
  Screenshot URL via Dumpling AI – Sends the URL to Dumpling AI’s screenshot endpoint to capture a full-page image of the product webpage.
  Save Screenshot to Drive Folder – Uploads the screenshot to a specific Google Drive folder for reference or logging.
  Extract Text from Screenshot with Dumpling AI – Uses Dumpling AI’s image-to-text endpoint to pull all visible content from the screenshot.
  Extract Product Info from Screenshot Text with GPT-4o – Sends the extracted raw text to GPT-4o, prompting it to identify structured product information such as product name, price, ratings, deals, and purchase options.
  Split Each Product Entry – Splits the GPT response (an array of product objects) so each product becomes an individual item for saving.
  Save Products info to Google Sheet – Appends each product’s structured details to a separate sheet in the same spreadsheet.

  Setup

  Google Sheet
     Create a Google Sheet with at least two sheets:  
       Sheet1 should contain a header row with a column labeled URL.
       Sheet2 should contain headers: Product Name, price, purchased, ratings, deal, buyingOptions.
     Connect your Google account in both the trigger and final write-back node.

  Dumpling AI
     Sign up at Dumpling AI
     Create an API key and use it for both HTTP modules:
       Screenshot URL via Dumpling AI
       Extract Text from Screenshot with Dumpling AI
     The screenshot endpoint used is https://app.dumplingai.com/api/v1/screenshot.

  Google Drive
     Create a folder for storing screenshots.
     In the Save Screenshot to Drive Folder node, select the correct folder or provide the folder ID.
     Make sure permissions allow uploading from n8n.

  OpenAI
     Provide an API key for GPT-4o in the Extract Product Info from Screenshot Text with GPT-4o node.
     The prompt is structured to return structured product listings in JSON format.

  Split & Save
     Split Each Product Entry takes the array of product objects from GPT and makes each one a separate execution.
     Save Products info to Google Sheet writes structured fields into Sheet2 under:  
       Product Name, price, purchased, ratings, deal, buyingOptions.

  How to customize this workflow

  Adjust the GPT prompt to return different product fields (e.g., shipping info, product categories).
  Use a filter node to limit which types of products get written to the final sheet.
  Add sentiment analysis to analyze review content if available.
  Replace Google Drive with Dropbox or another file storage app.

  Notes

  Make sure you monitor your API usage on both Dumpling AI and OpenAI to avoid rate limits.
  This setup is great for snapshot-based extraction where scraping is blocked or unreliable.

nodes_used:
  ["n8n-nodes-base.googleSheetsTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.splitOut","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4816 characters]

metadata_json:
  {"categories":["automation","data extraction","integration"],"complexity":"medium","use_cases":["Extract product details from pages that block traditional scraping","Competitor price and deal monitoring","Market research and product cataloging","Virtual assistant product comparison","Archiving product page screenshots for audits"],"estimated_setup_minutes":20,"required_services":["Google Sheets","Google Drive","Dumpling AI (screenshot & image-to-text endpoints)","OpenAI (GPT-4o)","n8n"],"key_features":["Watches Google Sheet for new URLs and triggers workflow","Takes full-page screenshots via Dumpling AI to bypass anti-scraping","Performs OCR on screenshots to extract visible text","Uses GPT-4o to parse and return structured product JSON","Saves screenshots to Google Drive for reference/logging"],"target_audience":["eCommerce teams","Market researchers","Product analysts/data analysts tracking products and pricing trends"]}


name: Automated Resume Job Matching Engine with Bright Data MCP & OpenAI 4o mini
author_name: Ranjan Dailata
author_username: ranjancse
categories: []
created_at: 2025-05-23T00:01:02.829Z
updated_at: 2025-05-23T00:01:02.829Z
url: https://n8n.io/workflows/4330
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  Notice
  Community nodes can only be installed on self-hosted instances of n8n.

  Who this is for
  The Automated Resume Job Matching Engine is an intelligent workflow designed for career platforms, HR tech startups, recruiting firms, and AI developers who want to streamline job-resume matching using real-time data from LinkedIn and job boards.

  This workflow is tailored for:

  HR Tech Founders** - Building next-gen recruiting products

  Recruiters & Talent Sourcers** - Seeking automated candidate-job fit evaluation

  Job Boards & Portals** - Enriching user experience with AI-driven job recommendations

  Career Coaches & Resume Writers** - Offering personalized job fit analysis

  AI Developers** - Automating large-scale matching tasks using LinkedIn and job data

  What problem is this workflow solving?
  Manually matching a resume to job description is time-consuming, biased, and inefficient. Additionally, accessing live job postings and candidate profiles requires overcoming web scraping limitations.

  This workflow solves:

  Automated LinkedIn profile and job post data extraction using Bright Data MCP infrastructure

  Semantic matching between job requirements and candidate resume using OpenAI 4o mini

  Pagination handling for high-volume job data

  End-to-end automation from scraping to delivery via webhook and persisting the job matched response to disk

  What this workflow does

  Bright Data MCP for Job Data Extraction
  Uses Bright Data MCP Clients to extract multiple job listings (supports pagination)

  Pulls job data from LinkedIn with the pre-defined filtering criteria's

  OpenAI 4o mini LLM Matching Engine
  Extracts paginated job data from the Bright Data MCP extracted info via the MCP scrape_as_html tool.

  Extracts textual job description information via the scraped job information by leveraging the Bright Data MCP scrape_as_html tool.

  AI Job Matching node handles the job description and the candidate resume compare to generate match scores with insights

  Data Delivery
  Sends final match report to a Webhook Notification endpoint

  Persistence of AI matched job response to disk 

  Pre-conditions

  Knowledge of Model Context Protocol (MCP) is highly essential. Please read this blog post - model-context-protocol
  You need to have the Bright Data account and do the necessary setup as mentioned in the Setup section below.
  You need to have the Google Gemini API Key. Visit Google AI Studio
  You need to install the Bright Data MCP Server @brightdata/mcp
  You need to install the n8n-nodes-mcp

  Setup

  Please make sure to setup n8n locally with MCP Servers by navigating to n8n-nodes-mcp
  Please make sure to install the Bright Data MCP Server @brightdata/mcp  on your local machine.
  Sign up at Bright Data.
  Navigate to Proxies & Scraping and create a new Web Unlocker zone by selecting Web Unlocker API under Scraping Solutions.
  Create a Web Unlocker proxy zone called mcp_unlocker on Bright Data control panel.
  In n8n, configure the OpenAi account credentials.
  In n8n, configure the credentials to connect with MCP Client (STDIO) account with the Bright Data MCP Server as shown below.

  Make sure to copy the Bright Data API_TOKEN within the Environments textbox above as API_TOKEN=&lt;your-token&gt;.
  Update the Set input fields for candidate resume, keywords and other filtering criteria's.
  Update the Webhook HTTP Request node with the Webhook endpoint of your choice.
  Update the file name and path to persist on disk.

  How to customize this workflow to your needs

  Target Different Job Boards

  Set input fields with the sites like Indeed, ZipRecruiter, or Monster

  Customize Matching Criteria
  Adjust the prompt inside the AI Job Match node

  Include scoring metrics like skills match %, experience relevance, or cultural fit

  Automate Scheduling
  Use a Cron Node to periodically check for new jobs matching a profile

  Set triggers based on webhook or input form submissions

  Output Customization
  Add Markdown/PDF formatting for report summaries

  Extend with Google Sheets export for internal analytics

  Enhance Data Security
  Mask personal info before sending to external endpoints

nodes_used:
  ["n8n-nodes-base.splitInBatches","n8n-nodes-base.manualTrigger","n8n-nodes-mcp.mcpClient","n8n-nodes-base.set","n8n-nodes-mcp.mcpClient","n8n-nodes-base.splitOut","n8n-nodes-mcp.mcpClient","@n8n/n8n-nodes-langchain.informationExtractor","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.function","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.readWriteFile","@n8n/n8n-nodes-langchain.informationExtractor","@n8n/n8n-nodes-langchain.lmChatOpenAi"]

workflow_json_compressed:
  [encoded data, 5628 characters]

metadata_json:
  {"categories":["automation","integration","data processing","web scraping","AI/machine learning"],"complexity":"complex","use_cases":["Automated resume-to-job semantic matching","Aggregating and scraping job postings (LinkedIn and other boards)","Recruiter/talent sourcer candidate-job fit evaluation","Enriching job boards with AI-driven recommendations","Automating pipeline from scraping to webhook delivery and disk persistence"],"estimated_setup_minutes":90,"required_services":["Bright Data MCP (Web Unlocker zone & proxies)","n8n self-hosted with n8n-nodes-mcp installed","Bright Data MCP Server (@brightdata/mcp) running locally","OpenAI (4o mini) credentials or compatible LLM endpoint","(Optional) Google Gemini API Key (mentioned in setup)","Webhook endpoint for notifications","Local filesystem access for persistence"],"key_features":["Bright Data MCP-based scraping with pagination support","scrape_as_html extraction and structured job data parsing","Semantic matching using OpenAI 4o mini (LLM Matching node)","Customizable matching prompts and scoring metrics","Batch processing and pagination handling with splitInBatches node support」「Webhook delivery of final match reports and disk persistence of results"],"target_audience":["HR tech founders","Recruiters & talent sourcers","Job board operators and portals」「Career coaches & resume writers」「AI developers and data engineers integrating scraping+LLM workflows"]}


name: 🧾 Automated Invoice Processing with Mistral OCR + GPT-4o-mini
author_name: Badr
author_username: b4dr
categories: []
created_at: 2025-05-23T00:02:23.416Z
updated_at: 2025-05-23T00:02:23.416Z
url: https://n8n.io/workflows/4331
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Automate the management of your invoices with this intelligent, end-to-end AI-powered workflow.

  This advanced n8n workflow combines Mistral AI's powerful OCR capabilities with OpenAI's GPT-4o-mini to automatically extract, structure, and process invoice data with exceptional accuracy and minimal setup.

  🔍 Key Features

  ✅ Advanced Document Processing - Leverages Mistral's state-of-the-art OCR technology specifically optimized for complex document formats

  ✅ AI-Powered Data Structuring - Uses OpenAI's GPT-4o-mini to intelligently identify and organize invoice elements 

  ✅ Multi-Page Support - Seamlessly processes invoices of any length with precise page handling

  ✅ Fully Automated Workflow - From detection to structured data in seconds, with zero manual intervention

  ✅ Custom JSON Schema - Extracts comprehensive invoice data including vendor details, line items, and financial summaries

  📋 Extracted Data Includes

  Vendor & customer information

  Invoice numbers, dates, and payment terms

  Line items with descriptions, quantities, and prices

  Financial totals and transaction breakdowns

  User accounts and query details

  🔧 Implementation Details

  This workflow demonstrates how to:

  Monitor Google Drive for new invoice uploads

  Convert documents to Base64 for API processing

  Make authenticated calls to Mistral's specialized OCR API

  Process and combine multi-page document text

  Use AI agents with customized system prompts for data extraction

  Parse unstructured text into standardized JSON schemas

  🚀 Getting Started

  Sign up for a Mistral AI account: https://console.mistral.ai/

  Configure your OpenAI API key for GPT-4o-mini access

  Set up your Google Drive credentials

  Import this workflow and run!

  💡 Real-World Use Cases

  Finance Teams: Automate invoice processing and approval workflows

  Accounting Departments: Extract data for bookkeeping systems

  Expense Management: Process vendor invoices with minimal manual effort

  Document Management: Convert physical or PDF invoices into structured data

  Business Intelligence: Analyze spending patterns across vendors and categories

  Take your document processing to the next level by combining specialized OCR technology with advanced AI language models!

  #invoice-processing #ocr #mistral-ai #openai #gpt4o #document-extraction #ai-automation #finance-automation

nodes_used:
  ["n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.set","n8n-nodes-base.summarize","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.extractFromFile"]

workflow_json_compressed:
  H4sIAAAAAAAAE52WX0/jOBTFv0rk55p1Ysex87RsGUasxB8NaPcBodW1fV0iGqebuDCzVb/7KgVaKC3NzHvuPb97cn3sBakxAikXpApdhGDxzJGSiEJJ45lPlWWoUGeWy9RhDmmuLBgv0DBjuNE2TTnTqWG58D6TyHMNLNNkRCLWsylEHLfoumuM89m4qWdTjOhIGds5LkckNA47Ut4uSNWruoIpmStBtcwNFbIw1IicU4GCay5BGINkRALUSErytWkmU0xO2uoRk5u2mkywLZMLfErOwmNTWUxOMKKNVRN6nB+zviioQFeq1ECHR5NVj1WLlw5kRGZNV62qyttUsRHNBLsbkRm0UGPEtiPlYvnc8C9su9WH6XL0MgMDz4wESQtERYV3hoJShnIFBlya51pmu2cok5PmKUwbcK8DDMF+zyvYMF6+5kXmc8wdozqHnAqwGdUOM6p1jiJ36JXlG96/m/bBT5un5KSx8xpDhE/t7WJlH35cNHELk6qMjWjOPnAS24SIIZKSkP0ea5N6ZFpSbllKhZWcqtwDtbkQPJOKGfVmT86rLrYwTS7H35Ljq7My+fI9tmBjcoPf4170+xhn3/DfOXbxPbsSwywWR9ka2DEhuDNAM6NTKoqcUeWEoBoFTzPFpBbpBvgEIiTXs2kVY7/RPfcVTLDbb3P/7eV8CzRlv7C8KKT2kvJCGSocQ6oM5FQ6l1lVgMkcbDhPK5y6VzebtlxRJufQPrjm6ZOlwG1Qng3c2iOxRvW+SIUtLNVGMipYIahijFNg3ljQTnuutyw9nkxanMAKddzUpgp4yNh5XUNb/be1vmk+cAfSo423IjOC9UmQCc6pYJmgCqWm0muHqZZaF2+Aj8+S4wmGWCbXsZ3bOG9xE2sQYYP8e1Dhtw33FMLE3kMVjqCv3wIv5FBwvQYH1LnNvKZeGU6FSSXtw59a5q3lgsvcmnfgX8KkClgmX69uqGhoXYVqAO60Ht9DvJxhOK62qOXK7gHQmxMHTqae64I6nXEqVNpfJcpSXkgUmKnCQrGB/vP68iK5grbrz9urzWvjB8A38zibx+cO6zq3NYb++TGMzTKfoqECPVAhuaVGSU+lt8pDIQsh3WaMcRMesY1J9TLBaTXFJDbJH9ChFHu3HJ9P8Gnb1H3Fe2o5dNWXd6M+vcPzjbsK8z27UC4IVP/05s1hgueNwykpb28Xq+fAT+3+hzYjUgWH30nJlnd3y9H+KC0XpIYqvNMdmmerwm2lz2+ZXXKHY36n0IGfvEtp4A24U+5Acu6SG/7/dioe+A17rRwQ7zv1DrzBdukNPWg79Q6EzfPpeBsov3443nXZ5jjY6c3kH4w69ODe5drQx+4O15bL/wH13bL8qQwAAA==

metadata_json:
  {"categories":["automation","document-processing","ocr","ai-integration","finance"],"complexity":"complex","use_cases":["Automated invoice extraction and indexing","Accounts payable automation and approval workflows","Expense management and reconciliation","Feeding structured invoice data into ERP/Accounting systems","Business intelligence on vendor spend"],"estimated_setup_minutes":30,"required_services":["Mistral AI (OCR API)","OpenAI (GPT-4o-mini)","Google Drive (or equivalent file storage)","n8n instance with HTTP/Webhook access"],"key_features":["Mistral OCR for high-accuracy, multi-page document text extraction","GPT-4o-mini for intelligent data structuring and schema mapping","Automated Google Drive monitoring for new invoice uploads","Base64 conversion and multi-page aggregation","Custom JSON schema extraction for vendor, line-items, totals, and terms"],"target_audience":["Finance teams","Accounting departments","Automation/DevOps engineers implementing workflows in n8n\",\"Data engineers and analysts working with document data"]}


name: TradingView Signal Extractor with Gmail, Google Sheets & Telegram Notifications
author_name: Dhrumil Patel
author_username: itechdp
categories: []
created_at: 2025-05-23T07:57:01.872Z
updated_at: 2025-05-23T07:57:01.872Z
url: https://n8n.io/workflows/4334
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  Stay ahead in your trading game with this powerful n8n automation workflow. Designed for real-time efficiency, this setup continuously scans your Gmail inbox for trading alerts from TradingView and ensures you never miss a signal.

  Every minute, this workflow will:

  📩 Check Gmail for new messages using a trigger.
  🔍 Identify emails coming specifically from TradingView.
  📊 Extract key trading signals like BUY or SELL along with the company name.
  🕒 Capture the exact date and time of the alert.
  📄 Log all extracted signals neatly into a Google Sheet for easy tracking and analysis.
  📲 Instantly notify you on Telegram with a custom message so you can act fast.

  Perfect for traders who want an automated assistant to handle alerts, record them for analysis, and provide timely updates — all without lifting a finger.

nodes_used:
  ["n8n-nodes-base.code","n8n-nodes-base.gmail","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.dateTime","n8n-nodes-base.dateTime","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.gmailTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","integration","data processing"],"complexity":"medium","use_cases":["Real-time trading alert monitoring","Automated logging of trade signals for analysis/backtesting","Instant mobile notifications of BUY/SELL alerts","Centralized archival of TradingView emails in a spreadsheet"],"estimated_setup_minutes":20,"required_services":["Gmail (Google account)","Google Sheets","Telegram (bot/token)","TradingView (email alerts configured)"],"key_features":["Periodic Gmail trigger (every minute)","Filter emails from TradingView","Parse BUY/SELL signal and company name from email content","Capture alert timestamp","Append structured entries to Google Sheets row-by-row for tracking/analysis ￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼](Note: ensure Google Sheets columns match parsed fields)"],"target_audience":["Retail traders and investors","Trading analysts and researchers","Algo traders building simple signal pipelines ￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼"]}


name: Automatically update n8n version
author_name: Weilun
author_username: lun
categories: []
created_at: 2025-05-23T08:39:54.420Z
updated_at: 2025-05-23T08:39:54.420Z
url: https://n8n.io/workflows/4335
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  🔄 n8n Workflow: Check and Update n8n Version

  This workflow automatically checks if the local n8n version is outdated and, if so, creates a file to signal an update is needed.

  🖥️ Working Environment

  Operating System:** Ubuntu 24.04  
  n8n Installation:** Docker container

  📁 Project Directory Structure
  n8n/
  ├── check_update.txt
  ├── check-update.sh
  ├── compose.yml
  ├── update_n8n.cron

  🧾 File Descriptions

  check_update.txt

  Contains a single word:

  true: Update is needed  
  false: No update required

  check-update.sh

  #!/bin/bash
  PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

  if grep -q "true" /home/sysadmin/n8n/check_update.txt; then
  Place your update logic here
      echo "Update needed - please insert update logic"
      echo true &gt; /home/sysadmin/n8n/check_update.txt
  fi
  Purpose:

  Checks the contents of check_update.txt
  If it contains true, executes update logic (currently a placeholder)
  Resets check_update.txt to true
  update_n8n.cron

  SHELL=/bin/sh
  10 5 * * * /bin/sh /home/sysadmin/n8n/check-update.sh
  Purpose:

  Runs the check-update.sh script daily at 5:10 AM
  Uses /bin/sh as the shell environment

  🧩 n8n Workflow Breakdown

  1. Schedule Trigger 🕓
  Purpose:** Triggers the workflow every day at 5:00 AM  
  Node Type:** Schedule Trigger

  2. Get the latest n8n version 🌐
  Purpose:** Fetches the latest version of n8n from npm  
  Endpoint:** https://registry.npmjs.org/n8n/latest  
  Node Type:** HTTP Request

  3. Get Local n8n version 🖥️
  Purpose:** Retrieves the currently running n8n version  
  Endpoint:** http://192.168.100.18:5678/rest/settings  
  Node Type:** HTTP Request

  4. If 🔍
  Purpose:** Compares the local and latest versions  
  Condition:** If not equal → update is needed

  5. SSH1 🧾
  Purpose:** Writes the result to a file on the host via SSH  
  Logic:**

  echo "{{ $('If').params.conditions ? 'false' : 'true' }}" &gt; check_update.txt
  Effect: Updates check_update.txt with "true" if an update is needed, "false" otherwise.

  🛠️ Setting up Crontab on Ubuntu
  1.  Register the cron job with:
  crontab update_n8n.cron
  2.  Verify that your cron job is registered:
  crontab -l
  ✅ Result

  5:00 AM** – n8n workflow checks versions and writes result to check_update.txt  
  5:10 AM** – Cron runs check-update.sh to respond to update flag

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.ssh","n8n-nodes-base.httpRequest","n8n-nodes-base.if"]

workflow_json_compressed:
  H4sIAAAAAAAAE6VW/W/bNhD9VwRiQDdAlEWJ1BfQDVnrNVm7pshH0aINghN5stXKkiJSSTpD//tAy3Hsxt4K7BfDII/37j2+O2pJSkUyEn34ePPu67uX+bE+az5EAXHJAg2QbEnKWhuoJZ7YOCHDXKg8jJkAERccVZwWqHwBMhYi4ULFLM0hRJlImccq5WECoUoEChFJVhCXGFy0FRh80aHS52j69kWzaCs0qEhmuh4Hl9SwQJKRvlVg0KmT2rnFTpdNbc/DTJPs05VL6kah/bscOfA4CVIZRZQXcUp5WDAKSVpQCFgYyyTK89Anm9yv0DhvGgnV9+m/tXa7Tmq6yk9z0OjNjWnP8KZHbYhL2kaXxoZnnyhLfJcGkX/lkhY6WKDBTlvd+q4iGbEHs8mEpYHHosRjvu+xJBNRnEw61Gai0Ziynmnikqa1Oe3ZwSXQmznWppQwApEZ1tiV0qpm16G6sIW6D+tHvZlfjKVbyN8ROuzsIhlcIjeHVpV9F5Ct9fv7tTp6NT2NuB9d/Dk100etxmDn4+nl2fXF6evp2+vj6dnUASmbvjZkGEbZ3q9FzLgXDO46K2IMkUKgcS4iysNA0jRPChphrhI/QhaK9BHpXM5R9RU6F105m2F38EL0OvAxbvtSouDApXR9haOpDXa3UK3cY8YcR+a46TuSieHqCSO2xUhgxNH3C+pzP6Q8ilKap8CoZIVMQwgSxeMtRufH7DALPd+tPOQHCpd3ajw+IS6RzWIBtV14jnLeOJ/Jcun81HZ4+7ZR6DW9aXtzUiu8d35zCqg0OpljW8sZhs/E+dWRc5Rfr8f28sy92WMSrefvQOu7plMbhyzE5Ye7vy7z6Ru4rN7e/bHD0nkIP+wLttEQuB8yJlPK4pxRzjChSawEVUkkJQY8TFW826tmjo4dG9r8z4bl/n82rM4mkw5npTbdN69uF1+013SziVV/LGGnW0nRV9UZ6rapNZJspfcT6lv28VUMSSwpRyYpj9Kc5gKQBioOeVzEEkTySP2kOEixLHaZHbLOzlyRTa3KTeVbJG43lbqkwsK8h6q3oNZuoPEcawt0i+OMXrODqlQPA0qbrpSjk5pFXtZgms7edK3ILuzDvIZAsSiFkMYAAeVRIWiu8oAWvhIh+IzlQq6Exm7MtXwQwkLVs83eiF83ZnrTW/cOuwye2+b4+dlhEz37xSsNLrwvuqm99ZozDMQlXTmb7+ZZxSgw8BD4oipt7J6ZEXiBS6C6g2/6dNWRL8G+qKM/rlwCclvPzUOQLQneo+wtrdNOoRXxlllSa8TVQ+znQvh+DBS4lJQLCTT1gdFESo4szv2C4ah7jXJzySeF/V1Aaf3yabl6QZ/MqNW2S0o7P0jmD1fuD0deDe7TEb4P8Uc6em/2/c/2PojtzjmY6kANh0r+lw+GPRDD8A/OTpDpXgkAAA==

metadata_json:
  {"categories":["automation","system administration","devops","integration"],"complexity":"medium","use_cases":["Detect when n8n release is newer than local installation","Trigger/flag host-side update logic via file-based signaling","Automate routine version checks on schedule","Integrate n8n workflow checks with host cron-driven update scripts"],"estimated_setup_minutes":15,"required_services":["npm registry (https://registry.npmjs.org)","n8n REST API endpoint on host (e.g. http://<host>:5678/rest/settings)","SSH access to host filesystem","Host cron service (crontab)","Docker (if n8n runs in container)"],"key_features":["Scheduled daily check for latest n8n version","Fetch latest npm package metadata via HTTP","Query local n8n version via REST API","Compare versions and decide if update is needed","Write a flag file on host via SSH to signal update script/crontab"],"target_audience":["Sysadmins","DevOps / Platform engineers","n8n operators and maintainers"]}


name: Webhook-enabled AI PDF analyzer
author_name: n8n Team
author_username: n8n-team
categories: []
created_at: 2025-05-23T09:04:13.777Z
updated_at: 2025-05-23T09:04:13.777Z
url: https://n8n.io/workflows/4336
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who this template is for

  This template is for researchers, students, professionals, or content creators who need to quickly extract and summarize key insights from PDF documents using AI-powered analysis.

  Use case

  Converting lengthy PDF documents into structured, digestible summaries organized by topic with key insights. This is particularly useful for processing research papers, reports, whitepapers, or any document where you need to quickly understand the main topics and extract actionable insights without reading the entire document.

  How this workflow works

  Document Upload: Receives PDF files through a POST endpoint at /ai_pdf_summariser
  File Validation: Checks that the PDF is under 10MB and has fewer than 20 pages to meet API limits
  Content Extraction: Extracts text content from the PDF file
  AI Analysis: Uses OpenAI's GPT-4o-mini to analyze the document and break it down into distinct topics
  Insight Generation: For each topic, generates 3 key insights with titles and detailed explanations
  Format Response: Converts the structured data into markdown format for easy reading
  Return Results: Provides the formatted summary along with document metadata (file hash)

  Set up steps

  Configure OpenAI API: Set up your OpenAI credentials for the GPT-4o-mini model
  Deploy Webhook: The workflow automatically creates a POST endpoint at /ai_pdf_summariser
  Test Upload: Send a PDF file to the endpoint using a multipart/form-data request
  Adjust Limits: Modify the file size (10MB) and page count (20) validation limits if needed based on your requirements
  Customize Prompts: Update the system prompt in the Information Extractor node to change how topics and insights are generated

  The workflow includes comprehensive error handling for file validation failures (400 error) and processing errors (500 error), ensuring reliable operation even with problematic documents.

nodes_used:
  ["n8n-nodes-base.noOp","n8n-nodes-base.respondToWebhook","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.extractFromFile","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.set","n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.crypto","n8n-nodes-base.webhook","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi"]

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

metadata_json:
  {"categories":["automation","document processing","data processing","AI/ML","integration"],"complexity":"medium","use_cases":["Summarize research papers, reports, and whitepapers into topic-organized summaries","Quickly extract key insights for literature reviews or academic research","Create digestible summaries for content creation or briefing materials","Automate document triage and highlight actionable findings","Generate markdown-formatted summaries for publishing or note-taking"],"estimated_setup_minutes":15,"required_services":["OpenAI API (GPT-4o-mini)","n8n instance (self-hosted or n8n.cloud) to host the webhook"],"key_features":["POST webhook endpoint (/ai_pdf_summariser) for PDF uploads","File validation (max 10MB, max 20 pages) with 400 errors on failure","Text extraction from PDF","AI-driven topic segmentation and analysis using GPT-4o-mini","Generates 3 key insights per topic with titles and explanations per topic node configuration options to modify prompts and limits)\""],"target_audience":["researchers","students","professionals (analysts, consultants, policy researchers, etc.)\""]}


name: N8N Contact Form Workflow
author_name: Akhil Varma Gadiraju
author_username: akhilv7
categories: []
created_at: 2025-05-23T09:19:42.519Z
updated_at: 2025-05-23T09:19:42.519Z
url: https://n8n.io/workflows/4337
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  📬 N8N Contact Form Workflow: Capture, Notify via Email, and Redirect with Confirmation/Error Handling

  This n8n workflow facilitates contact form submissions through a customizable form that sends an email notification to support and redirects users based on the submission outcome. It is ideal for embedding a functional "Contact Us" form on websites with automated email notifications.

  ✨ Features

  Collects first name, last name, email, company name, and a message
  Sends formatted email notification to the support team
  Displays success or error confirmation to the user
  Customizable UI and form behavior
  Error fallback handling with user-friendly feedback

  🧩 Nodes Overview

  1. On form submission (Trigger)
  Type:** formTrigger
  Displays the contact form to users and triggers the workflow on submission.

  2. Send Email to Support
  Type:** emailSend
  Sends an HTML email to a support address with the form details.
  Uses an SMTP credential for sending.

  3. If Email Sent
  Type:** if
  Checks if the email was sent successfully using the existence of messageId.

  4. Confirmation Form
  Type:** form
  Displays a “Thank You” HTML message after a successful submission.

  5. Redirect Form
  Type:** form
  Redirects the user to a specified URL (e.g., LinkedIn profile).

  6. Form (Error)
  Type:** form
  Displays an error message if email delivery fails.

  7. NoOp Nodes
  End (Success)* and *End (Error)** to mark flow terminations cleanly.

  ⚙️ Customization Options

  Change the form fields, title, or descriptions in the formTrigger node.
  Update the email body or subject in the emailSend node.
  Redirect to a different URL by editing the Redirect Form node.
  Modify success and error UI with HTML content in the Confirmation Form and Form.

  🧠 Use Cases

  Website "Contact Us" form integration
  Lead generation forms for businesses
  Customer service inquiry collection
  Feedback or support ticket system

  🚀 How to Use

  Import this workflow into your n8n instance.
  Configure SMTP credentials for the emailSend node.
  Publish the formTrigger endpoint (e.g., /contact-us) publicly or embed in your website.
  Test submission and confirm email delivery and redirects.

  🔐 Notes

  Ensure SMTP credentials are correctly configured in n8n.
  Make sure your n8n webhook URLs are reachable from your website or frontend.

  Made with ❤️ using n8n by Akhil.

nodes_used:
  ["n8n-nodes-base.formTrigger","n8n-nodes-base.form","n8n-nodes-base.form","n8n-nodes-base.if","n8n-nodes-base.emailSend","n8n-nodes-base.form","n8n-nodes-base.noOp","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","integration","web forms","communication"],"complexity":"simple","use_cases":["Website contact-us form integration","Lead generation form submission","Customer service inquiry collection","Feedback or support ticket intake","Basic form-to-email notifications"],"estimated_setup_minutes":15,"required_services":["n8n instance (self-hosted or n8n.cloud)","SMTP / email provider (SMTP credentials)","Website or frontend to publish/embed the form / public webhook endpoint"],"key_features":["Collects name, email, company, and message fields","Sends formatted HTML email notifications via SMTP","Displays success or error confirmation to users","Redirects users after successful submission","Customizable form UI and email content in n8n nodes"],"target_audience":["Developers implementing site forms","Website owners and operators","Customer support teams receiving inquiries"]}


name: N8N Backup Flow to Nextcloud (7-Day Retention)
author_name: Joachim Hummel
author_username: jhummel
categories: []
created_at: 2025-05-23T09:21:20.581Z
updated_at: 2025-05-23T09:21:20.581Z
url: https://n8n.io/workflows/4338
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  This workflow automates the daily backup of all your n8n workflows to a designated folder in Nextcloud. It ensures that you always have the last 7 days of backups available while automatically deleting older ones to save space.


  🔧 Features

      Scheduled Trigger: Runs automatically once per day (can be executed manually as well).

      Directory Management: Creates the /N8N-Backup directory in Nextcloud if it doesn't already exist.

      Backup Collection: Retrieves all workflows from the n8n instance.

      JSON Conversion: Converts each workflow into a JSON file.

      Upload to Nextcloud: Saves each backup file into the specified backup directory.

      Retention Control: Keeps only the latest 7 backups and deletes the rest from Nextcloud.

  📌 Notes

      Make sure to manually create the /N8N-Backup directory in your Nextcloud account before using this flow.

      Update the Backup Path node if you wish to change the upload directory.

      Ideal for teams using n8n with self-hosted instances and requiring offsite backup via Nextcloud.

  🔒 Requirements

      n8n instance with access to the Nextcloud node.

      Valid credentials for your Nextcloud account with API access.


  Update: 08/11/2025 “Backup Flows to Nextcloud” – Import format fixed

  Summary:
  The workflow now exports one clean JSON object per workflow (no arrays, no backup/meta fields), so files can be imported 1:1 via the n8n UI.

  What changed:

      Switched from “Convert to File” to a Set node that builds the JSON in binary data.

      Enabled filters.include = "all" on Get many workflows to include nodes, connections, settings, pinData, and tags.

      Sanitized filenames and removed IDs/metadata that can break UI imports.

      Fixed Nextcloud path and binary property mapping (data).

  Verification:

      Generated multiple backups and imported each via UI (“Import from file”) without errors.

      Each file begins with { (single object) and loads with full workflow structure.

  Notes:

      Keep “Binary Property” set to data in the Nextcloud node.

      Filenames are sanitized to avoid special-character issues.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.n8n","n8n-nodes-base.splitInBatches","n8n-nodes-base.sort","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.nextCloud","n8n-nodes-base.nextCloud","n8n-nodes-base.nextCloud","n8n-nodes-base.code","n8n-nodes-base.nextCloud","n8n-nodes-base.code"]

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

metadata_json:
  {"categories":["automation","backup","integration","cloud-storage"],"complexity":"medium","use_cases":["Daily automated backups of n8n workflows to Nextcloud","Offsite disaster recovery and versioned workflow retention","Exporting workflows for migration or manual import","Keeping a rolling 7-day backup history to save space"],"estimated_setup_minutes":15,"required_services":["Nextcloud (WebDAV/API access with valid credentials)","n8n instance with Nextcloud node enabled"],"key_features":["Scheduled daily trigger (manual run supported)","Creates/uses /N8N-Backup directory in Nextcloud","Exports each workflow as a single clean JSON object (UI-importable)","Sanitizes filenames and strips problematic IDs/metadata","Uploads binary JSON files to Nextcloud (binary property = data)"],"target_audience":["n8n self-hosted administrators","DevOps/operations teams","Automation engineers and workflow authors','Small teams needing offsite backups"]}


name: Generate Qualified Leads from LinkedIn with Apify, GPT- 4, and Airtable
author_name: Javier Hita
author_username: javierhita
categories: []
created_at: 2025-05-23T09:34:15.179Z
updated_at: 2025-05-23T09:34:15.179Z
url: https://n8n.io/workflows/4340
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who is this for?

  This workflow is perfect for sales teams, business development professionals, recruitment agencies, and fractional CFO service providers who need to identify and qualify companies actively hiring. Whether you're prospecting for new clients, building a database of potential customers, or researching market opportunities, this automated solution saves hours of manual research while delivering high-quality, AI-analyzed leads.

  What problem is this workflow solving?

  Finding qualified prospects in the finance sector is time-consuming and often inefficient. Traditional methods involve:
  Manually browsing LinkedIn job postings for hours
  Difficulty distinguishing between genuine opportunities and recruitment spam
  Inconsistent lead categorization and qualification
  Risk of contacting the same companies multiple times
  Lack of structured data for sales team follow-up

  This workflow automates the entire lead generation process, from data collection to AI-powered qualification, ensuring you focus only on the most promising opportunities.

  What this workflow does

  This comprehensive lead generation system performs six key functions:

  Automated LinkedIn Job Scraping: Uses Apify's reliable LinkedIn Jobs Scraper to extract detailed job postings for finance positions, including company information, job descriptions, and contact details.

  Smart Data Processing: Removes duplicates, filters companies by size, and structures data for consistent analysis across all leads.

  Intelligent Lead Categorization: Compares new leads against your existing database to optimize processing and avoid duplicate work.

  AI-Powered Qualification: Leverages OpenAI's GPT-4 Mini to analyze each lead and determine:
     Company Category: Consumer companies, Fractional CFO services, Recruiting agencies, or Other
     Finance Role Validation: Confirms the position is genuinely finance-related
     Seniority Level: Entry, Mid, Senior, Director, or C-Level classification
     Job Summary: Concise description for quick sales team review

  Automated Database Management: Stores qualified leads in Airtable with comprehensive profiles, preventing duplicates while maintaining data integrity.

  Lead Scoring & Routing: Prioritizes leads based on processing status and qualification results for efficient sales team follow-up.

  Setup

  Prerequisites

  You'll need accounts for three services:

  Airtable** (Free tier supported) - For lead storage and management
  Apify** (14-day free trial available) - For LinkedIn job scraping
  OpenAI** (Pay-per-use) - For AI-powered lead analysis

  Step 1: Create Required Credentials

  Apify API Credential
  Sign up for an Apify account at apify.com
  Navigate to Settings → Integrations → API tokens
  Create a new API token
  In n8n, create a new Apify API credential with your token

  OpenAI API Credential
  Create an account at platform.openai.com
  Generate an API key in the API section
  In n8n, create a new OpenAI credential with your key

  Airtable Personal Access Token
  Go to airtable.com/create/tokens
  Create a personal access token with the following scopes:
     data.records:read
     data.records:write
     schema.bases:read
  In n8n, create a new Airtable Personal Access Token credential

  Step 2: Set Up Airtable Base

  Create a new Airtable base with the following structure:

  Table Name: Qualified Leads

  Required Fields:
  Company Name (Single line text)
  Job Title (Single line text) 
  Is Finance Job (Checkbox)
  Seniority Level (Single select: Entry, Mid, Senior, Director, C-Level)
  Company Category (Single select: Consumer, Recruiting, Fractional CFO, Other)
  Job Summary (Long text)
  Company LinkedIn (URL)
  Job Link (URL)
  Posted Date (Date)
  Location (Single line text)
  Industry (Single line text)
  Company Employees (Number)

  Step 3: Configure the Workflow

  Import the Workflow: Copy the JSON and import it into your n8n instance
  Update Credentials: Replace placeholder credential IDs with your actual credential IDs in:
     "Scrape LinkedIn Jobs" node (Apify credential)
     "OpenAI GPT-4 Mini" node (OpenAI credential) 
     "Save to Airtable" and "Get Existing Leads" nodes (Airtable credential)
  Configure Airtable Connection: Update the base ID and table ID in both Airtable nodes
  Set Search Parameters: In the "Edit Variables" node, configure:
     linkedinUrls: Your target LinkedIn job search URLs
     maxEmployees: Maximum company size filter (default: 200)
     batchSize: Processing batch size for API efficiency (default: 5)

  Step 4: Test the Workflow

  Start with a small test by setting count: 50 in the HTTP Request node
  Use a specific LinkedIn job search URL (e.g., "CFO jobs in New York")
  Execute the workflow manually and verify results in your Airtable base
  Review the AI categorization accuracy and adjust prompts if needed

  How to customize this workflow to your needs

  Targeting Different Roles
  Modify the LinkedIn search URLs in the "Edit Variables" node to target different positions:
  "https://www.linkedin.com/jobs/search/?keywords=Controller"
  "https://www.linkedin.com/jobs/search/?keywords=Finance%20Director"  
  "https://www.linkedin.com/jobs/search/?keywords=VP%20Finance"

  Adjusting Company Size Filters
  Change the maxEmployees parameter to focus on different company segments:
  Startups: 1-50 employees
  SMBs: 51-500 employees  
  Enterprise: 500+ employees

  Customizing AI Analysis
  Enhance the GPT-4 prompt in the "AI Lead Analyzer" node to include:
  Industry-specific criteria
  Geographic preferences
  Technology stack requirements
  Company growth stage indicators

  Integration Options
  Extend the workflow by adding:
  Slack notifications** for new qualified leads
  Email alerts** for high-priority prospects
  CRM integration** (Salesforce, HubSpot, Pipedrive)
  Lead enrichment** with additional data sources

  Scheduling Automation
  Set up the workflow to run automatically:
  Daily**: For active prospecting campaigns
  Weekly**: For ongoing market research
  Monthly**: For periodic database updates

  Performance & Cost Optimization

  API Efficiency**: The workflow processes leads in batches to optimize API usage
  Smart Deduplication**: Avoids re-processing existing leads to reduce costs
  Configurable Limits**: Adjust batch sizes and employee count filters based on your needs
  Expected Costs**: Approximately $0.05-$0.20 per 100 analysed leads (OpenAI costs)

  Troubleshooting

  Common Issues:
  Rate Limiting**: Increase delays between API calls if you encounter rate limits
  Data Quality**: Review LinkedIn search URLs for relevance to your target market
  AI Accuracy**: Adjust prompts if categorisation doesn't match your criteria
  Airtable Errors**: Verify field names match exactly between workflow and base structure

  Support Resources:
  Apify LinkedIn Scraper Documentation
  OpenAI API Documentation
  Airtable API Reference

  Transform your lead generation process with this powerful, AI-driven workflow that delivers qualified prospects ready for immediate outreach.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.removeDuplicates","n8n-nodes-base.set","n8n-nodes-base.airtable","n8n-nodes-base.code","n8n-nodes-base.switch","n8n-nodes-base.filter","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.airtable","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5956 characters]

metadata_json:
  {"categories":["lead generation","integration","data processing","automation","sales enablement"],"complexity":"medium","use_cases":["Automated LinkedIn lead scraping for finance roles","AI-powered lead qualification and prioritization","Building and maintaining a deduplicated lead database","Recruitment market research and prospecting","Targeted outreach list creation for sales teams"],"estimated_setup_minutes":45,"required_services":["Apify (LinkedIn Jobs Scraper)","OpenAI (GPT-4 Mini)","Airtable"],"key_features":["Automated LinkedIn job scraping","Duplicate removal and company-size filtering","AI classification: company category, finance-role validation, seniority, job summary","Batch processing for API efficiency and rate-limit management","Automated storage and deduplication in Airtable with lead scoring/routing options"],"target_audience":["Sales teams","Business development professionals","Recruiters and staffing agencies/fractional CFO providers','Growth/marketing teams"]}


name: AI-Powered MIS Agent
author_name: Kumar Shivam
author_username: shivam840708
categories: []
created_at: 2025-05-23T11:19:07.764Z
updated_at: 2025-05-23T11:19:07.764Z
url: https://n8n.io/workflows/4341
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  The AI-powered MIS Agent is an intelligent, automated system built using n8n that streamlines email-based data collection and document organization for businesses. It classifies incoming emails, extracts and processes attachments or Drive links, and routes them to the correct destination folders in Google Drive. Additionally, it provides advanced file operations like cleaning, merging, joining, and transforming data.

  Advantages
  📥 Automated Email and File Management
  Detects and processes emails containing attachments or Drive links, ensuring seamless classification and routing of business-critical files.

  🧠 AI-Based Classification
  Uses LLMs (like GPT-4o Mini) to classify emails into categories such as Daily Sales, Customer Info, and Address based on their content.
  📂 Smart File Routing and Upload
  Recognizes whether a file is a direct attachment or a Google Drive link, extracts the file ID if necessary, and uploads it to predefined folders.
  📊 Powerful Data Operations
  Supports operations like append, join, group by, aggregation, and standardization of data directly from spreadsheets using Python and Pandas within the workflow.

  🔁 Scheduled and Triggered Automation
  Supports scheduled runs and real-time email triggers, making it highly reliable and timely.

  🔧 Fully Modular and Scalable
  Easily expandable with more logic, new folders, or different workflows. Clean architecture and annotations make maintenance simple.

  How It Works
  Email Trigger
  The system uses a Gmail trigger to monitor incoming emails with specific labels or attachments.

  Classification
  An LLM-based text classifier identifies the purpose of the email (e.g., sales data, address list, customer details).

  Conditional Logic
  Regex-based conditions check if the email contains Google Drive links or attachments.

  File Handling
  If it's a Drive link, it extracts the file ID and copies it to the correct folder. If it's an attachment, it uploads directly.

  Scheduled Data Management
  Periodically moves or logs files from predefined folders using a schedule trigger.

  Data Cleaning and Processing
  Performs data cleaning and transformation tasks like replacing missing values, standardizing formats, and joining datasets based on criteria provided by the user.

  Final Output
  Cleaned and processed files are saved in designated folders with their public links shared back through the system.

  Set Up Steps
  Configure Nodes:
  Gmail Trigger: Detects relevant incoming emails.

  Text Classifier: Uses OpenAI model to categorize email content.

  Regex Conditions: Determine whether a link or attachment is present.

  Google Drive Operations: Upload or copy files to categorized folders.

  Python Nodes: Handle data manipulation using Pandas.

  Google Sheets Nodes: Extract, clean, and write structured data.

  LLM-based Chat Models: Extract and apply cleaning configurations.

  Connect Nodes:
  Seamlessly connect Gmail inputs, classification, file processing, and data logic.

  Output links or processed files are uploaded back to Drive and ready to share.

  Credentials:
   Ensure OAuth credentials for Gmail, Google 
   Drive, and OpenAI are correctly set.

  Ideal For
  Sales & CRM teams managing large volumes of email-based reports.

  Data teams needing structured pipelines from unstructured email inputs.

  Businesses looking to automate classification, storage, and transformation of routine data.

  Testing and Additional customization

  If you want to test this bot capability 
    before purchasing the workflow.
    ask me on my mail 
    kumar.shivam19oce@gmail.com
    I will share the chat url and the links of 
    associated google drives to see the result
    once you are satisfied then we are good to 
    go.
    I have just kept $1 for testing purposes 
    because of paid open ai .
    

   -If there is any customization needed like charts and other request like adding databases feel free to let me know i can do it accordingly.

  This is the first version i will come with more advancements based on the request and responses.

  Use it and let me know on kumar.shivam19oce@gmail.com

nodes_used:
  ["n8n-nodes-base.gmailTrigger","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.gmail","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.textClassifier","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","n8n-nodes-base.wait","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.convertToFile","n8n-nodes-base.googleDrive","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.convertToFile","n8n-nodes-base.googleDrive","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.textClassifier","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.googleSheetsTool","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.toolCalculator","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.vectorStorePinecone","n8n-nodes-base.stickyNote","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.postgres","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.postgresTool","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.switch","n8n-nodes-base.code","n8n-nodes-base.switch","n8n-nodes-base.convertToFile","n8n-nodes-base.googleDrive","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger"]

workflow_json_compressed:
  [encoded data, 33608 characters]

metadata_json:
  {"categories":["automation","integration","data processing","AI classification","document management"],"complexity":"complex","use_cases":["Automated ingestion and classification of incoming emails and attachments","Routing and organizing files into Google Drive folders based on content","Cleaning, merging, aggregating and transforming spreadsheet data (ETL)","Scheduled archival or batch processing of files","Generating and sharing public links to processed files"],"estimated_setup_minutes":90,"required_services":["Gmail (Google Workspace) API","Google Drive API","Google Sheets API","OpenAI (or compatible LLM) API","n8n host with Code/Python node (Pandas) support"],"key_features":["Gmail trigger to detect labeled emails, attachments, or Drive links","LLM-based text classifier for email categorization","Regex-based branching to detect attachments vs Drive links","Automatic extraction of Drive file IDs and copying/uploading to target folders","Python (Pandas) nodes for advanced data cleaning, joining, aggregation and transformation, driven by LLM-configured rulessheets/configs (via Sheets nodes or prompts)"],"target_audience":["Sales & CRM teams processing recurring reports","Data teams and analysts needing structured ETL from emails","Operations or admin teams managing document intake and filing workflows"]}


name: Auto-Post LinkedIn Updates from Spreadsheet Topics using GPT-4o
author_name: Amit Mehta
author_username: amitswba
categories: []
created_at: 2025-05-23T12:58:58.513Z
updated_at: 2025-05-23T12:58:58.513Z
url: https://n8n.io/workflows/4344
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  How it works:
  This workflow automates the entire LinkedIn content distribution process — from AI-powered post creation to auto-posting on both personal LinkedIn profiles and LinkedIn groups, using GPT-4o and Google Sheets as the content source and control panel.

  Auto-generates professional LinkedIn posts from spreadsheet topics using GPT-4o.
  Posts to your LinkedIn profile and multiple groups.
  Updates status to avoid duplicate posting.
  Fully customizable and reusable with your spreadsheet.

  Set up Steps
  Create and Upload the Spreadsheet
  	Name it: Linkedin Post
  	Sheet1 (for post topics): Columns: ID | Linkedin Post Title | Status
  	Add post titles under Linkedin Post Title
  	Set Status to Pending
  	Create new sheet name as "Groups" (for group distribution): Column: GroupIds
  	Add LinkedIn Group IDs, one per row

  Connect Google Sheets Nodes
  	Connect your Google account to these nodes:
  		Linkedin Post topic (Reads post topics)
  		Get group id (Reads LinkedIn groups)
  		Update Status (Writes back the status after posting)

  Configure GPT-4o (OpenAI)
  	Add your OpenAI API key in the Linkedin Post creator node
  	This node will generate high-quality content from your topic titles

  Connect LinkedIn Account
  	Add your LinkedIn credentials in the Linkedin user detail node
  	Ensure appropriate permissions to post on profile and groups

  Activate the Workflow : Once live, the workflow will:
  	Monitor the Google Sheet for Pending posts.
  	Generate content via GPT-4o.
  	Post to:
  		Your LinkedIn Profile
  		Each LinkedIn Group listed in the Groups sheet
  	Update the post Status to Posted

  Customization Tips
  Want to personalize this template?
  Change AI tone or style in the OpenAI node prompt
  Add a scheduler node if you'd like to post at fixed intervals
  Use a Slack or Telegram approval step before posting
  Integrate analytics tools to track post performance

  Suggested Sticky Notes for Workflow

  | Node or Section        | Sticky Note Content                                                         |
  | ---------------------- | --------------------------------------------------------------------------- |
  | Linkedin Post topic  | Reads the topic titles and statuses from Sheet1                          |
  | OpenAI (GPT-4o)      | Generates content using topic title — you can modify the tone/prompt here |
  | Linkedin user detail | Your personal LinkedIn credentials — required to post                     |
  | Group loop           | Iterates through LinkedIn Group IDs and posts the content                |
  | Update Status        | Updates spreadsheet so the topic isn't re-posted                         |

nodes_used:
  ["n8n-nodes-base.limit","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.googleSheetsTrigger","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets"]

workflow_json_compressed:
  [encoded data, 4144 characters]

metadata_json:
  {"categories":["automation","integration","social media","data processing"],"complexity":"medium","use_cases":["Automate LinkedIn post creation from a spreadsheet","AI-powered copywriting for social posts (GPT-4o)","Post to personal profile and multiple LinkedIn groups","Prevent duplicate posting via status updates in sheet","Batch or scheduled content distribution with optional approval step"],"estimated_setup_minutes":20,"required_services":["Google Sheets","OpenAI (GPT-4o) API","LinkedIn account/API"],"key_features":["Generates LinkedIn posts from sheet topics using GPT-4o","Posts to personal profile and iterates through multiple LinkedIn groups","Marks items as Posted to avoid duplicates","Central control panel in Google Sheets (topics + Group IDs)","Customizable AI prompt, tone, and scheduling/approval hooks"],"target_audience":["Social media managers","Content marketers","Small business owners and entrepreneurs handling their own social channels」「Developers/automation engineers setting up integrations"]}


name: Switch Between Work and Personal Contexts with GPT-4.1 and iPhone Automation
author_name: Praveena
author_username: pankstr
categories: []
created_at: 2025-05-23T13:21:56.394Z
updated_at: 2025-05-23T13:21:56.394Z
url: https://n8n.io/workflows/4345
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  Purpose
  The purpose of this automation is to help context switch from office to some side projects or passion gigs so you can be free of distracting thoughts and re-set your perspective.

  Benefits

  Anyone who works full time and also does something on the side (perhaps a side gig/being a mom/just follow your passion project)

  What you need
  N8N (lol)
  Any LLM API Key (I used OpenAI 4.1)
  IPhone (automations and shortcuts)

  Template Setup 
  Setup LLM API key.
  Import template file to new workflow.
  On Iphone create a new shortcut as per video. 
  Create automation steps. 

  Resources
  Youtube

nodes_used:
  ["n8n-nodes-base.webhook","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.code"]

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

metadata_json:
  {"categories":["automation","personal productivity","mobile integration","AI"],"complexity":"medium","use_cases":["Switch between work and personal contexts","Reduce distractions and reset perspective","Automate iPhone-triggered context switches","Generate context-aware prompts/notes via LLM","Support side projects or passion work routines"],"estimated_setup_minutes":20,"required_services":["n8n instance","LLM API (e.g., OpenAI GPT-4.1) and API key","iPhone with Shortcuts / Automations","Public webhook or HTTP endpoint (for iPhone → n8n communication)"],"key_features":["Uses an LLM to craft context-switch prompts and guidance","iPhone Shortcut + automation integration to trigger the workflow","Uses stickyNote nodes to surface or save notes","Structured output parsing for predictable responses","Compact workflow (8 nodes) with HTTP/Webhook entrypoint"],"target_audience":["knowledge workers with side projects","freelancers and makers","parents juggling work and personal tasks who use iPhone automations"]}


name: Validate Auth0 JWT Tokens using JWKS or Signing Cert
author_name: Jimleuk
author_username: jimleuk
categories: []
created_at: 2025-05-23T16:10:27.657Z
updated_at: 2025-05-23T16:10:27.657Z
url: https://n8n.io/workflows/4347
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  &gt; Note: This template requires a  self-hosted community edition of n8n. Does not work on cloud.

  Try It Out
  This n8n template shows how to validate API requests with Auth0 Authorization tokens.

  Auth0 doesn't work with the standard JWT auth option because:
  1) Auth0 tokens use the RS256 algorithm.
  2) RS256 JWT credentials in n8n require the user to use private and public keys and not secret phrase.
  3) Auth0 does not give you access to your Auth0 instance private keys.


  The solution is to handle JWT validation after the webhook is received using the code node.

  How it works
  There are 2 approaches to validate Auth0 tokens: using your application's JWKS file or using your signing cert.
  Both solutions uses the code node to access nodeJS libraries to verify the token.
  JWKS**: the JWK-RSA library is used to validate the application's JWKS URI hosted on Auth0
  Signing Cert**: the application's signing cert is imported into the workflow and used to verify token.
  In both cases, when the token is found to be invalid, an error is thrown. However, as we can use error outputs for the code node, the error does not stop the workflow and instead is redirected to a 401 unauthorized webhook response.
  When token is validated, the webhook response is forwarded on the success branch and the token decoded payload is attached.

  How to use
  Follow the instructions as stated in each scenario's sticky notes.
  Modify the Auth0 details with that of your application and Auth0 instance.

  Requirements
  Self-hosted community edition of n8n
  Ability to install npm packages
  Auth0 application and some way to get either the JWK url or signing cert.

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.code","n8n-nodes-base.respondToWebhook","n8n-nodes-base.code","n8n-nodes-base.respondToWebhook","n8n-nodes-base.webhook","n8n-nodes-base.noOp","n8n-nodes-base.noOp","n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["integration","security","webhook","developer tools"],"complexity":"medium","use_cases":["Authenticate incoming webhook/API requests with Auth0 JWTs","Validate RS256 tokens using JWKS or a signing certificate","Protect n8n workflows/endpoints with Auth0-issued tokens","Return 401 responses for invalid tokens and forward valid requests","Attach decoded token payload to downstream workflow steps"],"estimated_setup_minutes":30,"required_services":["Auth0 (application & JWKS URL or signing certificate)","Self-hosted n8n (Community Edition)","Ability to install npm packages (e.g., jwks-rsa / JWT libraries)"],"key_features":["Validate RS256 Auth0 JWTs using JWKS URI","Alternative validation using imported signing certificate","Uses n8n Code node to call Node.js JWT/JWKS libraries","Non-blocking error outputs to send 401 webhook responses","On success forwards request and attaches decoded payload"],"target_audience":["Developers","Backend engineers","Security engineers / DevSecOps teams"]}


name: Bright Data-Powered Competitive Price Lookup and Report Generator
author_name: Gleb D
author_username: glebd
categories: []
created_at: 2025-05-23T18:15:36.897Z
updated_at: 2025-05-23T18:15:36.897Z
url: https://n8n.io/workflows/4348
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-30 08:33:37
description:
  This n8n workflow automates the collection, enrichment, and analysis of e-commerce product listings using Bright Data and AI, then delivers an HTML email report with the most competitive offers.

  🚀 What It Does

  Pulls product titles from a Google Sheet.
  For each product, searches a Bright Data marketplace dataset (Google Shopping) for available listings.
  Extracts relevant fields: price, title, seller name, and listing URL.
  Sends this data to Google Gemini for AI-powered Markdown report generation.
  Converts Markdown to HTML and styles the output for better email rendering.
  Sends an email report for each product with the top 20 most affordable offers.

  🛠️ Step-by-Step Setup

  Load product list from Google Sheets.
  For each product title, run a Bright Data filter request (case-sensitive match).
  Poll the snapshot status until it is ready.
  Retrieve snapshot content and clean the results with a Code node.
  Pass the results to Gemini (PaLM/Gemini Flash) for analysis and report generation in Markdown.
  Convert Markdown into styled HTML using Markdown + Code nodes.
  Send formatted email to a predefined recipient.
  Return to the loop and repeat for the next product.

  🧠 How It Works

  Loop Control: SplitInBatches handles product-by-product processing.
  Snapshot Handling: Snapshot status is polled every 30s until success/failure.
  AI Formatting: Gemini summarizes listings and formats content.
  Error Handling: Failed snapshots produce a warning message and resume the loop.

  📨 Final Output

  Each email contains:
  The product name
  A clean HTML of up to 20 sellers with lowest prices
  Links to listings
  AI-generated pricing summary

  🔐 Credentials Used

  Bright Data account
  Google Gemini (PaLM/Gemini Flash)
  Google Sheets (OAuth2)
  SMTP Email (emailSend node)

  ⚠️ Important Notes

   Item title search is case-sensitive. Typos or casing mismatches may result in no results.
  Requires n8n-nodes-brightdata community node to be installed.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.wait","n8n-nodes-brightdata.brightData","n8n-nodes-brightdata.brightData","n8n-nodes-brightdata.brightData","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.splitInBatches","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.emailSend","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.markdown","n8n-nodes-base.code","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4856 characters]

metadata_json:
  {"categories":["automation","e-commerce","market intelligence","data enrichment","reporting"],"complexity":"complex","use_cases":["Competitive price monitoring","Repricing and competitor benchmarking","Market research for product sourcing","Automated executive summaries and alerts","Catalog enrichment for listings"],"estimated_setup_minutes":45,"required_services":["Bright Data (Google Shopping dataset)","Google Sheets","Google Gemini (LM/AI)","Email service (Gmail/SMTP or n8n Communication integration)"],"key_features":["Pulls product list from Google Sheets","Searches Bright Data marketplace dataset (Google Shopping) per product","Extracts price, title, seller name, listing URL","Batches searches with splitInBatches and conditional logic","Enriches and formats results via code nodes and AI (Google Gemini) into Markdown/HTML report templates」「Delivers HTML email report highlighting most competitive offers"],"target_audience":["E‑commerce managers","Pricing analysts","Market researchers / growth marketers」「Data engineers automating data pipelines"]}


name: Clone Nested Folder Structures in Google Drive with Custom Naming
author_name: Jagged Frontiersman
author_username: jagged-frontiersman
categories: []
created_at: 2025-05-23T19:32:47.167Z
updated_at: 2025-05-23T19:32:47.167Z
url: https://n8n.io/workflows/4349
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:33
description:
  Google Drive Nested Folder Structure Cloner

  How it works
  Takes any Google Drive folder structure and creates an exact copy with custom naming
  Perfect for agencies, consultants, or anyone who needs identical folder structures for multiple projects
  Creates folder hierarchy only (no files are copied)
  Handles nested folders automatically with level-by-level processing

  Set up steps
  Get your source and destination folder IDs from Google Drive URLs
  Edit the 3 variables in the CONFIG node (takes 30 seconds)
  Connect your Google Drive credentials in n8n
  Run the workflow and watch it create your folder structure
  For deeply nested folders, run multiple times to process each level

  What you'll need
  Google Drive account with API access configured in n8n
  Read permissions on source folder, write permissions on destination folder

  Pro tips
  Create a "Templates" folder in Google Drive for your reusable structures
  The workflow intelligently skips folders that already exist
  Each run processes the next level down for nested structures
  Check the final report to see exactly what was created, skipped, or failed

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

workflow_json_compressed:
  H4sIAAAAAAAAE6WWzU7cMBDHX8Was4O84UMolwotH+VQQIBaqbAHk8xmLRw7tScLaLVSK/XUSw/tpVWlXvsIfZ6+QPsIlZMtsJCFXXr1eP7zy4xnJiMokCQkIyAsSi0Juw4zf4RUlV1blBoJM0jIVTjmYGSBkMCOtblGtunUENm21Rk6dkSuSqlyyLraGnQsYi+Vr6QGDiRzD8kJ5LVflAU/4NCvPaNCGpljgYaAg6zIFpKUNdDjYGyGwXMEKoMEyKk8RxeFY7imeTVAw1Kt0nNlcnYKx+iJXVh33tf24hRC/KsyXDTrpnb10Zn0uFRIU0l93GgCh9J6VQdOTtYFXxaix6GUThZI6Dwko3Gj9BKdr691xnwCllrTV/kdrl9fv/z++ZF19/e2d3dYxLYyRYwGyJbZUDolzzR6Js9snYt2xLQRvEUWz4cWX6PlSFGTaH+D9uf7p3dsB4ltaD0poJ8JMSAqD/FNhZ6mWVbmY1lZukmUInSS1BCj0tkUvbfuNtXn9+ygOX+U6n5q1hZNjR/YSmdR6lASTmG8ZUe1jXVr27OZFKp/5+EsytAEn1To1tv59mMSe5KIxavTEeuCx4uVp6+M1JHD0jqaei0f2HYwscN/pnmL0onno7jJiEOZFRgZe7smh1sbmy+2Zsb1pNLzq73GZbqP1++FDt1KYdokAI+2tMe01rom6dbn7DnqcmGcWAi+Ej8RaNIwyrRAHVzb2K7p24XB1v4HjJytwiwbWEuBbrpyx9PWhdE6T0paj4NHCgHru3iJaRUE913opQSGneBUlZkkzDaCSCzi1UisRvHycSdOhEiEWBJCvAYOw0Z3N3xsJwYOniSpdFOGxWkqrXmAMU1R6nj32zcZQSFV+KCTUb3WHu6r+i4HZTK8hESMe70xbx1MbboPDI8Zui3boB34oQE9i/m+ywzt2VO3Vfqxvd+amifs5NbgCwjNKP0DC7glYnjizZ9K11bh1YvxX7Sg0aW7CQAA

metadata_json:
  {"categories":["automation","integration","file management","productivity"],"complexity":"medium","use_cases":["Create reusable project or client folder templates in Google Drive","Onboarding new projects/clients with identical folder hierarchies","Rapidly provision folder structures for agencies or consultants","Maintain consistent folder organization across teams","Generate template-driven folder trees for recurring workflows"],"estimated_setup_minutes":10,"required_services":["n8n instance","Google Drive (Google Drive API / Google account with API access)"],"key_features":["Clones folder hierarchy only (no file copying)","Custom naming for destination folder structure","Handles nested folders with level-by-level processing","Skips folders that already exist","Configurable via three variables in a single CONFIG node (~30s to edit)"],"target_audience":["agencies","consultants","project managers / operations teams managing folders at scale"]}


name: Check dependencies before completing Awork tasks (Workaround)
author_name: Gregor
author_username: gregorg
categories: []
created_at: 2025-05-23T22:05:16.247Z
updated_at: 2025-05-23T22:05:16.247Z
url: https://n8n.io/workflows/4350
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:33
description:
  Awork currently does not support a check for open subtasks or open dependencies when setting a task status to done. This workflow offers you a simple workaround to add this functionality to Awork and notifies users when triggered. Multiple configuration options available.

  How it works
  Triggered via Awork Webhook call on status change of tasks
  If task is marked as done, subtasks and/or dependent tasks are checked for their status
  If unfinished tasks are found, a status rollback to previous status is performed and user gets notified 

  Set up steps
  Add webhook call to Awork
  Configure Awork API credentials
  Set up workflow configuration via setup node, e.g. user notification text, restrict to subtasks/dependency checks etc.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.filter","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.webhook","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.filter","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7740 characters]

metadata_json:
  {"categories":["automation","integration","project-management","notifications","workflow-enforcement"],"complexity":"complex","use_cases":["Prevent marking tasks done when subtasks/dependencies remain open","Enforce project workflow rules in Awork","Notify users when task completion is blocked","Automate status rollback to maintain data integrity","Customizable checks (subtasks vs dependencies) for teams"],"estimated_setup_minutes":20,"required_services":["Awork API (webhooks & REST)","Notification channel (email, Slack, or in-app messaging)"],"key_features":["Triggered by Awork webhook on task status change","Checks open subtasks and/or dependent tasks before allowing completion","Performs status rollback if unfinished dependencies found","Configurable notification text and scope (subtasks vs dependencies)","Multiple configuration options via setup node"],"target_audience":["Project managers","Team leads","Operations/PMO teams enforcing processes on Awork usage by teams/devs"]}


name: AI-Powered Multi-Social Media Post Automation: Google Trends & Perplexity AI
author_name: Gerald Denor
author_username: dominixai
categories: []
created_at: 2025-05-24T00:42:22.300Z
updated_at: 2025-05-24T00:42:22.300Z
url: https://n8n.io/workflows/4352
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  Overview
  This comprehensive n8n workflow automatically transforms trending Google search queries into engaging LinkedIn posts using AI. The system runs autonomously, discovering viral topics, researching content, and publishing professionally formatted posts to grow your social media presence.

  Workflow Description
  Automate your entire social media content pipeline - from trend discovery to publication. This workflow monitors Google Trends, selects high-potential topics, creates human-like content using advanced AI, and publishes across multiple social platforms with built-in tracking.

  Key Features
  Automated Trend Discovery**: Pulls trending topics from Google Trends API with customizable filters
  Intelligent Topic Selection**: AI chooses the most relevant trending topic for your niche
  Multi-AI Content Generation**: Combines Perplexity for research and OpenAI for content curation
  Human-Like Writing**: Advanced prompts eliminate AI detection markers
  LinkedIn Optimization**: Proper formatting with Unicode characters, emojis, and engagement hooks
  Multi-Platform Support**: Ready for LinkedIn, Twitter/X, and Facebook posting
  Automated Scheduling**: Configurable posting times (default: 6 AM & 6 PM daily)
  Performance Tracking**: Automatic logging to Google Sheets with timestamps and metrics
  Error Handling**: Built-in delays and retry mechanisms for API stability

  Technical Implementation

  Workflow Architecture
  Schedule Trigger: Automated execution at specified intervals
  Google Trends API: Fetches trending search queries with geographical filtering
  Data Processing: JavaScript code node filters high-volume keywords (30+ search volume)
  Topic Selection: OpenAI GPT-3.5 evaluates and selects optimal trending topic
  Content Research: Perplexity AI researches selected topic for current information
  Content Generation: Advanced prompt engineering creates LinkedIn-optimized posts
  Content Distribution: Multi-platform posting with platform-specific formatting
  Analytics Tracking: Google Sheets integration for performance monitoring

  Node Breakdown
  Schedule Trigger**: Configurable timing for automated execution
  HTTP Request (Google Trends)**: SerpAPI integration for trend data
  Set Node**: Structures trending data for processing
  Code Node**: JavaScript filtering for high-volume keywords
  OpenAI Node**: Intelligent topic selection based on relevance and trend strength
  HTTP Request (Perplexity)**: Advanced AI research with anti-detection prompts
  Wait Node**: Rate limiting and API respect
  Split Out**: Prepares content for multi-platform distribution
  LinkedIn Node**: Authenticated posting with community management
  Google Sheets Node**: Automated tracking and analytics
  Social Media Nodes**: Twitter/X, LinkedIn and Facebook ready for activation

  Use Cases
  Content Creators**: Maintain consistent posting schedules with trending content
  Marketing Agencies**: Scale content creation across multiple client accounts
  Business Development**: Build thought leadership with timely industry insights
  Personal Branding**: Establish authority by commenting on trending topics
  SEO Professionals**: Create content around high-search-volume keywords

  Configuration Requirements

  API Integrations
  SerpAPI**: Google Trends data access
  Perplexity AI**: Advanced content research capabilities
  OpenAI**: Content curation and topic selection
  LinkedIn Community Management API**: Professional posting access
  Google Sheets API**: Analytics and tracking

  Authentication Setup
  LinkedIn OAuth2 community management credentials
  Google Sheets OAuth2 integration
  HTTP header authentication for AI services

  Customization Options
  Industry Targeting**: Modify prompts for specific business verticals
  Posting Schedule**: Adjust timing based on audience activity
  Content Tone**: Customize voice and style through prompt engineering
  Platform Selection**: Enable/disable specific social media channels
  Trend Filtering**: Adjust search volume thresholds and geographic targeting
  Content Length**: Modify character limits for different platforms

  Advanced Features
  Anti-AI Detection**: Sophisticated prompts create human-like content
  Rate Limit Management**: Built-in delays prevent API throttling
  Error Recovery**: Robust error handling with retry mechanisms
  Content Deduplication**: Prevents posting duplicate content
  Engagement Optimization**: LinkedIn-specific formatting for maximum reach

  Performance Metrics
  Time Savings**: Eliminates 10+ hours of weekly content creation
  Consistency**: Maintains regular posting schedule without manual intervention
  Relevance**: Content always based on current trending topics
  Engagement**: Optimized formatting increases social media interaction
  Scalability**: Single workflow manages multiple platform posting

  Installation Notes
  Import JSON workflow file into n8n instance
  Configure all required API credentials
  Set up Google Sheets tracking document
  Test workflow execution with manual trigger
  Enable schedule trigger for automated operation

  Best Practices
  Monitor API usage to stay within rate limits
  Regularly update prompts based on content performance
  Review and adjust trending topic filters for your niche
  Maintain backup of workflow configuration
  Test content output before enabling automation

  Support & Updates
  Comprehensive setup documentation included
  Configuration troubleshooting guide provided
  Regular workflow updates for API changes
  Community support through n8n forums

  Tags
  social-media content-automation linkedin ai-generation google-trends perplexity openai marketing trend-analysis content-creation

  Compatibility
  n8n Version: 1.0+
  Node Requirements: Standard n8n installation
  External Dependencies: API access to listed services
  Hosting: Compatible with cloud and self-hosted n8n instances

nodes_used:
  ["n8n-nodes-base.twitter","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.linkedIn","n8n-nodes-base.googleSheets","n8n-nodes-base.splitOut","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6424 characters]

metadata_json:
  {"categories":["automation","social-media","content-creation","ai-integration","marketing"],"complexity":"complex","use_cases":["Automated social media publishing from trends","Scaling content creation for agencies","Personal branding and thought leadership","SEO-driven content generation","Multi-platform campaign management"],"estimated_setup_minutes":60,"required_services":["SerpAPI (Google Trends)","Perplexity AI","OpenAI (GPT-3.5+)","LinkedIn Community Management API","Google Sheets API","Twitter/X API","Facebook Graph API","n8n hosting"],"key_features":["Automated trend discovery with geo and volume filters","AI topic selection and relevance scoring","Multi-AI pipeline: Perplexity research + OpenAI generation","Multi-platform formatting and posting (LinkedIn, X, Facebook)","Configurable scheduling and rate-limit/wait nodes with retries and error handling`,`Performance logging to Google Sheets (timestamps & metrics)`,`Anti-AI-detection prompt engineering for human-like writing`,`Content deduplication and platform-specific optimization"],"target_audience":["Content creators","Marketing agencies","Social media managers/consultants`,`Business owners and founders`,`SEO professionals"]}


name: Legal Case Research Extractor, Data Miner with Bright Data MCP & Google Gemini
author_name: Ranjan Dailata
author_username: ranjancse
categories: []
created_at: 2025-05-24T04:29:07.388Z
updated_at: 2025-05-24T04:29:07.388Z
url: https://n8n.io/workflows/4354
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Notice
  Community nodes can only be installed on self-hosted instances of n8n.

  Who this is for
  The Legal Case Research Extractor is a powerful automated workflow designed for legal tech teams, researchers, law firms, and data scientists focused on transforming unstructured legal case data into actionable, structured insights.

  This workflow is tailored for:

  Legal Researchers automating case law data mining

  Litigation Support Teams handling large volumes of case records

  LawTech Startups building AI-powered legal research assistants

  Compliance Analysts extracting case-specific insights

  AI Developers working on legal NLP, summarization, and search engines

  What problem is this workflow solving?
  Legal case data is often locked in semi-structured or raw HTML formats, scattered across jurisdiction-specific websites. Manually extracting and processing this data is tedious and inefficient.

  This workflow automates:

  Extraction of legal case data via Bright Data's powerful MCP infrastructure

  Parsing of HTML into clean, readable text using Google Gemini LLM

  Structuring and delivering the output through webhook and file storage

  What this workflow does

  Input

  Set the Legal Case Research URL node is responsible for setting the legal case URL for the data extraction.

  Bright Data MCP Data Extractor

  Bright Data MCP Client For Legal Case Research node is responsible for the legal case extraction via the Bright Data MCP tool - scrape_as_html

  Case Extractor

  Google Gemini based Case Extractor is responsible for producing a paginated list of cases

  Loop through Legal Case URLs

  Receives a collection of legal case links to process

  Each URL represents a different case from a target legal website

  Bright Data MCP Scraping

  Utilizes Bright Data’s scrape_as_html MCP mode

  Retrieves raw HTML content of each legal case

  Google Gemini LLM Extraction

  Transforms raw HTML into clean, structured text

  Performs additional information extraction if required (e.g., case summary, court, jurisdiction etc.)

  Webhook Notification

  Sends extracted legal case content to a configurable webhook URL

  Enables downstream processing or storage in legal databases

  Binary Conversion & File Persistence

  Converts the structured text to binary format

  Saves the final response to disk for archival or further processing

  Pre-conditions

  Knowledge of Model Context Protocol (MCP) is highly essential. Please read this blog post - model-context-protocol
  You need to have the Bright Data account and do the necessary setup as mentioned in the Setup section below.
  You need to have the Google Gemini API Key. Visit Google AI Studio
  You need to install the Bright Data MCP Server @brightdata/mcp
  You need to install the n8n-nodes-mcp

  Setup
  Please make sure to setup n8n locally with MCP Servers by navigating to n8n-nodes-mcp
  Please make sure to install the Bright Data MCP Server @brightdata/mcp  on your local machine.
  Sign up at Bright Data.
  Create a Web Unlocker proxy zone called mcp_unlocker on Bright Data control panel.
  Navigate to Proxies & Scraping and create a new Web Unlocker zone by selecting Web Unlocker API under Scraping Solutions.
  In n8n, configure the Google Gemini(PaLM) Api account with the Google Gemini API key (or access through Vertex AI or proxy).
  In n8n, configure the credentials to connect with MCP Client (STDIO) account with the Bright Data MCP Server as shown below.



  Make sure to copy the Bright Data API_TOKEN within the Environments textbox above as API_TOKEN=&lt;your-token&gt;

  How to customize this workflow to your needs

  Target New Legal Portals
  Modify the legal case input URLs to scrape from different state or federal case databases


  Customize LLM Extraction
  Modify the prompt to extract specific fields: case number, plaintiff, case summary, outcome, legal precedents etc.

  Add a summarization step if needed

  Enhance Loop Handling
  Integrate with a Google Sheet or API to dynamically fetch case URLs

  Add error handling logic to skip failed cases and log them

  Improve Security & Compliance
  Redact sensitive information before sending via webhook

  Store processed case data in encrypted cloud storage

  Output Formats
  Save as PDF, JSON, or Markdown

  Enable output to cloud storage (S3, Google Drive) or legal document management systems

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-mcp.mcpClient","n8n-nodes-base.function","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-mcp.mcpClient","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.splitInBatches","n8n-nodes-mcp.mcpClient","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.httpRequest","n8n-nodes-base.readWriteFile","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.wait"]

workflow_json_compressed:
  [encoded data, 4412 characters]

metadata_json:
  {"categories":["automation","integration","data extraction","AI/NLP","legal_tech"],"complexity":"complex","use_cases":["Automated legal case scraping and structuring","Building searchable legal research databases","Litigation support and case summarization","Compliance monitoring and precedent extraction","Feeding legal NLP/ML pipelines with structured case data"],"estimated_setup_minutes":120,"required_services":["Bright Data (MCP, Web Unlocker proxy zone)","Google Gemini / Google AI Studio (or Vertex AI) API key","Self‑hosted n8n with community nodes enabled","Bright Data MCP Server (@brightdata/mcp) and n8n-nodes-mcp"],"key_features":["Scrapes raw HTML of legal cases via Bright Data MCP (scrape_as_html)","Uses Google Gemini LLM to parse HTML into clean, structured text and extract fields (summary, court, jurisdiction, etc.)","Paginates and loops through collections of case URLs","Sends results to configurable webhook for downstream processing","Converts structured text to binary and persists files to disk (PDF/JSON/Markdown output options)"],"target_audience":["Legal researchers","Litigation support teams","Law firms and compliance analysts in-house teams (legal ops) ] , Legal tech startups, AI developers and data scientists"]}


name: Automate Your LinkedIn Engagement with AI-Powered Comments! 💬✨
author_name: Rish
author_username: b2brish
categories: []
created_at: 2025-05-24T11:05:17.810Z
updated_at: 2025-05-24T11:05:17.810Z
url: https://n8n.io/workflows/4357
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Tutorial Video

  This n8n workflow is your ultimate tool for smart LinkedIn interaction, leveraging the power of AI to generate witty comments and engage with posts via the Unipile API. Perfect for community managers, marketers, or anyone looking to scale their professional presence with intelligent automation!

  How It Works:
  Trigger by Chat Message: Simply send a chat message (e.g., from Telegram) containing a LinkedIn post ID. 📨

  Extract Post ID with LLM: An intelligent Large Language Model (LLM) precisely extracts the LinkedIn post ID from your message, ready for action. 🧠

  Get Post Details: The workflow fetches all the juicy details of the target LinkedIn post from Unipile. 📥

  AI-Crafted Comment: An OpenAI LLM, acting as your personal AI & startup expert, generates a unique, witty, and cheeky comment tailored to the post's content. No boring, generic replies here! ✒️🤖

  Publish & React: The generated comment is then published to the LinkedIn post via Unipile, and a reaction (like a 'like' or 'upvote') is automatically added to boost engagement. 👍💬

  Confirmation to Telegram: Get instant feedback! A confirmation message is sent back to your Telegram, showing the post URL and the exact comment that was shared. ✅

  Why You'll Love This Template:
  Intelligent Engagement: Move beyond simple replies with AI-powered comments that resonate on a professional platform.

  Time-Saving Automation: Automate repetitive LinkedIn tasks and free up your schedule for more strategic activities.

  Scalable: Easily adapt and expand this workflow for various professional engagement types.

  Customizable: Tweak the LLM prompts to match your professional brand's voice and desired tone.

  Get Started:
  Unipile API Key: Secure your UNIPILE_API_KEY and set it as an environment variable in n8n.

  Unipile Account ID: The account_id (e.g., PXAEQeyiS2iSkSJCRuNcvg) is currently hardcoded within the HTTP Request nodes. For a production setup, consider making this dynamic or using n8n credentials if Unipile offers them.

  OpenAI Credentials: Ensure your OpenAI API key is configured as an n8n credential.
  Telegram Integration: Configure the Trigger: Chat Message Received node and the Telegram: Send Confirmation node with your Telegram Bot Token and Chat ID. The confirmation node is currently disabled; enable it to receive notifications.

  Ready to supercharge your LinkedIn engagement? Give it a try! 🚀

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.toolThink","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE6WX227cNhCGX0XQRZECOy4Pw9NeNUiKIEDSFk7aXgRGMSSHayG7krurNAkMv3sh+bze9crutSjON8P/Hw7P6xX3VM/P66bd9NQmfpvrec2GyAVvKdqAVmDwvmQrsUibdc4+ReVM0sJmZ7IlLz1LTEEEJzU6neqLWd12mTf1/NN53QxbZk3CqZQgKGcBS7AQ0CcoKgUtgsixqHpWt7Tiel7/0TZnzZLn1Rvuq9+7TV+95p6a5aae1f33s2FJ61sYY0CkDR+d9v3ZMf/zhTd9PavPuk3TN11bzz8pL2agUZzM6jNa04p7Xm/q+fnF5U5/8nozLsQjdTG7gpVOaGGkhoiJAF1MEJkJissSbWYlyeyAfdWtVtz2VdeOzE9nlQOsfBpr1gVNQASVtAc0xgBx8GBKtiGHUHSkW9bfzrh9+XZevTqlvnrfZV5WL66x33DLaxpQfrxF/7n17U+3/EtqF+mUmvZouRr2GPdr7mdhvJjZgznIOzk4YWOQPgAaioDGeQi2IEQVk/HGR+Pv5PBx3SwWvL5OgjcbWnB1zImbfzlPQE+n1F9tcp8c3CAWNcJ/5XjadZ9HP6BRmTEKQJsVYFYJImUPMWdRSkxaB6wP5itv8qXAphjJoFIZzJATeEkaVOKC0ZCWIj1+ZqMn3r6ufvnWryn9/zMDpcRMiiedGpaihWAESTYBquCBGDWQ4eDIUxAodrjkZc6Xlj7mS/Jn+MSjmMFhjd31CWqSSlgPXnsEzIOnfcwQnI2knTDo4i3tu3fv59fFra6KPU1ZTftuudou7iirw76WR/aGt6igRUQJDoMF5IzgQzYgBTsh0Lro1BbvlYH5uhFNAKbF5bo7tE5Na5jyKNw2TCHYe+tBaZEBsVggbzUotCpHQxjkXQPzkhdrWs2rD9zm6lXXlma9oke10F/9s9XctRUzQLVtWCWH64oKRI8CEL2HIJIBZmlIx8RJ8GHD3oqHkifibECIoAE5IlCJDKi1RiuVIAxbh3HMpWlvjqJ68fG0aT837WKKT/uuW47r72cblJhNOJcbam+8to4YRAwMKKKDaK0FHbKLyaI2YxWuqH/tep5Xf3Xrz2XZfa1e8yatm7MhdPVD9YH7L2d7D2fTN+nz92GDLeEPV4F+2FXq1LX9ILx5Xe/HV5mYXPYgvU+AXCJQEAqE1BRlIFly2ca/auvP5fWDUY16JjAmF7OMDLZIDShlhihNBpnIWE3C2PSg3g8b+dOptRioHypjGnWgrIwUGbwfVIJDG/dZQVJOcmS0Mott6slj2T5mOfjWPVcZZI1TwThIOlvAoAUEawwYlAItRZeDeoi8rzlORLbDneOeqw2XMqNnD1bHURsSvJMOsvfWyigVF7eNPHWe3FvkscrSPxM5aWcMFw3KKQdogh6qXAAtpRRElC7kbeTpl/te6Mv759kelLpYhQTRJAMYrAQyisBZ6bMQLBP6bejpt9A+aKVGcTzVgiez4XvLY6XG5Tvnjvl5vaJmiPPpfHxXTXshjf/M6qbN/K2ei4uTk4vZnkHh0Qh7ZbgzwN7fHo3xiG4ej/Ig/V1hDkxHj0d4iLYrxKSZZv+J7J8W5uc1NX8PE8FTUrr+ZTvYgbfT3uLtHYV3pjT1lXmZ2zD3fKEFjwufmOT9f6dw7Ho5TeLYW4IDGBcX/wHTaMfJZhEAAA==

metadata_json:
  {"categories":["automation","social media","AI-powered engagement","integration"],"complexity":"medium","use_cases":["Automate LinkedIn comments and reactions","Scale professional/community engagement","Social media growth and marketing automation","AI-generated, brand-aligned responses"],"estimated_setup_minutes":30,"required_services":["Unipile API (account and API key)","OpenAI API (or compatible LLM)","Telegram Bot (bot token and chat ID)","n8n instance/environment"],"key_features":["Trigger from chat message (e.g., Telegram)","LLM extracts LinkedIn post ID from free text","Fetch LinkedIn post details via Unipile","AI-crafted witty/brand-aligned comments","Publish comment and add reaction through Unipile API set-up"],"target_audience":["Community managers","Social media marketers","Growth/engagement teams and founders looking to scale presence on LinkedIn (non-technical to technical)"]}


name: Auto-Delete SPAM, Social, and Promotions Emails in Gmail
author_name: Khairul Muhtadin
author_username: khmuhtadin
categories: []
created_at: 2025-05-24T11:22:05.573Z
updated_at: 2025-05-24T11:22:05.573Z
url: https://n8n.io/workflows/4358
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who is this for?
  This workflow is perfect for Gmail users who want a tidy inbox without manual effort. It’s especially great for those overwhelmed by SPAM, social media updates, or promotional emails and want them automatically removed regularly.

  What problem is this workflow solving?
  Unwanted emails like SPAM, social notifications, and promotions can clutter your Gmail inbox, making it hard to focus on what matters. Manually deleting them is repetitive and time-consuming. This workflow automates the cleanup, keeping your inbox streamlined.

  What this workflow does
  Every 3 days, this workflow deletes emails from Gmail’s SPAM, Social, and Promotions categories. It uses n8n’s Gmail node to fetch these emails, merges them into a single list, splits out individual email IDs, and deletes each one. The scheduled process ensures consistent inbox maintenance.

  Setup
  Set up valid Gmail OAuth2 credentials in n8n.
  Import the "Clean My Mail" workflow into your n8n instance.
  Confirm the Gmail nodes target SPAM, CATEGORY_SOCIAL, and CATEGORY_PROMOTIONS labels.
  Adjust the "Run Every 3 Days (Trigger)" node’s schedule if needed.
  Activate the workflow to begin automated cleaning.

  How to customize this workflow to your needs
  Change the Gmail node labels to target other categories or custom labels.
  Adjust the schedule frequency in the trigger node.
  Add filters to spare specific emails from deletion.
  Extend functionality with nodes for archiving or notifications.

  made by:* khmuhtadin
  Need a custom? contact me on LinkedIn or Web

nodes_used:
  ["n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.merge","n8n-nodes-base.splitOut","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE9VY3W7kthV+FYYpkl1AdEiK+hugKBx7ux2kzizWRorF2igo8nBGsYYaSJSdgTFArnq7aJuivSlyU6C3vczz7Askj1CQGq/H47H3p+lFrkYjkeccft/5+aQrXGk8wnqcHx2O9796/uz5+Gi/+AJHeA5O4tEVrmznpFUw9usUTxOaFbFJhaAF0yqnpiwoNZDGQuRSMyPKLBOU5hqKlOY0FTrNeCFMHtNM4Qg7mC9q6eCgBd0dg+sXB818UYMDjUeu7WEVYSvngEf4oAZp0dESHcmq9lvltMOjl2cRto0Gf3k1hJ/LgjPBKGGJpESUFEjBqCCsMEYyrROmKX5j9hC8N7Rf18Fw5y0vF/6JzS0JpkkpO9ibzge/i6arXNVYPHoZcxollJ5F+BLKWdOcB1hKBqnM85QYKoGIrJBE8kSROJNpqYsyVWni7chWzsFB23lg59B1cjrg+uurK/Srr7vG7lUarVY4ws0CWjk4xToEjFcRVi1osK6SdTARApzs927GA1UBiwVjx5ksv36Rf6H158XNuZ/61Ugq1fTW4dVqOPZX0HbBDd9jq2hthJbUACs4SUFqIihjpBRpQbJCy9zkNI6NuTG8r7/uOzcH6+7HsnOVOl9+2Ti4DSjJBI0Y94jehuey0m6GRwmlEZ5BNZ05PPJrsWqsA+vwCH/8Mfrp+7/+Gw0HC7l0atkeOpLngLq+BSTrev00hIL6DtCFrCuNpNVINdaCcqDXawYk0QbIe6eW76GTBg0UIF0ZAy1YhyDsUNLBtGkr6CIkAwrIzQDVsoS6Q5VFINVsI4LRqUUIEfTpU3AhuONn+0eDre5T9PpPfxm2jsL9O2sbVcn61rKD/ZMnTyfPX/zxeHIw3v/99o5nbTNvPNDd7l3Pnk+OJifjyZfHpxZv58NNNpQCuJKCkjhPKBFZbkiZ5ZqUac5EnMQyzeVNNhwHptGa6vfMBsY5jeL03nSI04104HfS4fWr/6BjNQPd16DRSVtNp9CeWoJOZlWHLpv23NTNJWp72yHZu2YuXaVkXS8RXEC7RDHSculZJ+hF0yMlLVIzaacQaK2sg/ZC1p5Y//8Urz2gJ2H3yawFQIdy2Z3iQDdyDer6yqFl07fIAmhv+wGkeVKWPGWMxCzPPdIlkSrVhMegU85KoRO6E2n2AVDnDyIt+INI//T9d9+iI2ingD5Bz1pYyBbQ+LAbwPbYhIfXQKhmXlYWOtRC19euQ6Zt5iFHXQBts0gf+eSP1ukebSTx40DMKT5e1JVDk95dW+/8jW4ovapzqGuGwhuKdHwYiCwBLdpGQdeBRpXV1UWle8/9w5SwuIiNEYyU0mgi4kyRPMsMKaGAlCtGC7WbEv7elMT0f2Pk73/+8YdXaD3enoSmckPH9tS7xm7obN26CaG+q+zUI1m1aD2hPK0B+cOmL2sgagbq/E6fa+sKWtQ5WHQ+7eVF47usUpXvpaHEgidvvZovmtbJ6y76lppQZVlKw3LCCxBEyCIjecoEibUBUKAFl9kNAc97u67GOFQierSu0cf307FuGOuFW2VSpNcT/zYpbV/DoI+GphDUiO8e4zc34tXZnSnL9vibk4FScSoyTUzOFBEpTUhu0pRwKTLNaZlpDTcn+y04NRsGxsDt++gWkggaxXxbuMgyKYw0CaG65ESUOiZS0YJAUpQJmCyTjN0RLqaqry9DAoy1l2LYR4bPVrelyxTcfu1jacH1rfXX1yLv/6xlIizrS7nsJr1b9O5QejU7eF4bF5LnuWacUFMKIoSUpFCCES64kiBMonV6B/3Qkz4U/7vCkUld0KzISckTTkSepESahJFMiDIVCfCM3xWO9+C/pQV+SVSYNDFJIg2J40wQwY0mRW6AcGV0ImKaZTLZpuLNWPhQNtJ8mw1quNDKJESrBIiIi4TIAhTRVLFMlwZkaPXvx8aNxvolMZKUzFAuEt/+FBEqzomMVUHyRCQmy+M8jzeK42CY7mG4BHZAv42VuVcH24rknlZr+3kJ7dguetf5rrp1nnjjxcUUGaPMMJIUHIjgRULK2DAi05jLRLIkSdjGtA5C4slaJXTo0cQCWkCLKgfzBwaG3zbp3e3wxe7gm0XQLnh0tYqwqaDWJ83xtYGRj/r+0ZfrOBFAJaGaMyKESEleJjmJdZ5CmZhS5Xqn9og/TA5mO+JXTd20eJRF7yhDXv/jb+h3sIyQ85LbNU2Nwu+gAUwL8NGpPbVj40UxmskLQNIuUddPp9AFqCJkAHQp1XmEmhaFt6pLaa1EnVyiWYVef/udX1IHa8g1L9ug9prenT2aObfoRp99dj6b9zMndWX3VDP3yvHU/mEw0i+8/EDzJVLSGPCJG6T5b9DLz/slmgOSSDXGANyYK/vlHORw1xvcsP/YH/n1P//14w+vvJOTmbTnHfoEzeRisXzzlmGnH+1UOWcRlspVFzAUYIQ7cH51wB6+AdV7TCathhaP8AXzJi6G7aFnxYJneSxiAqC41xCcFNTkJKVaKCPjUsX+TX39qrvOxLufQPz3CFn5RHh55tvUXbGxseIqfH95x7oPmyJcWQ3f4BFdbZq/NU1/Hgds08GdGfHz+OCDjwc27vLzrs1mJ2APyNpdvh7Qitvmo+1NuyXO27bdP453nuctYOw60/2f7XZ4WK3+CxVJpM7aFAAA

metadata_json:
  {"categories":["automation","email management","productivity","integration"],"complexity":"simple","use_cases":["Automatically delete SPAM, Social, and Promotions emails","Periodic inbox cleanup to reduce clutter","Maintain focus by removing low-priority messages","Automate mailbox maintenance for busy users","Base workflow to extend with archiving or notifications"],"estimated_setup_minutes":10,"required_services":["n8n instance","Gmail (Google account with OAuth2 credentials)"],"key_features":["Scheduled run (every 3 days by default)","Targets Gmail labels: SPAM, CATEGORY_SOCIAL, CATEGORY_PROMOTIONS","Fetches and merges email lists, splits IDs, and deletes messages","Configurable schedule and label selection","Easy to extend with filters, archiving, or notifications"],"target_audience":["Gmail users overwhelmed by promotional/social/spam emails","Busy professionals and productivity-focused users","n8n users wanting automated inbox maintenance','Non-technical users comfortable importing n8n workflows"]}


name: AI-Powered Post-Sales Call Automated Proposal Generator
author_name: Gerald Denor
author_username: dominixai
categories: []
created_at: 2025-05-24T13:32:44.312Z
updated_at: 2025-05-24T13:32:44.312Z
url: https://n8n.io/workflows/4359
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:32
description:
  AI-Powered Proposal Generator - Sales Automation Workflow

  Overview

  This n8n workflow automates the entire proposal generation process using AI, transforming client requirements into professional, customized proposals delivered via email in seconds.

  Use Case
  Perfect for agencies, consultants, and sales teams who need to generate high-quality proposals quickly. Instead of spending hours writing proposals manually, this workflow captures client information through a web form and uses GPT-4 to generate contextually relevant, professional proposals.

  How It Works
  Form Trigger - Captures client information through a customizable web form
  OpenAI Integration - Processes form data and generates structured proposal content
  Google Drive - Creates a copy of your proposal template
  Google Slides - Populates the template with AI-generated content
  Gmail - Automatically sends the completed proposal to the client

  Key Features
  AI Content Generation**: Uses GPT-4 to create personalized proposal content
  Professional Templates**: Integrates with Google Slides for polished presentations
  Automated Delivery**: Sends proposals directly to clients via email
  Form Integration**: Captures all necessary client data through web forms
  Customizable Output**: Generates structured proposals with multiple sections

  Template Sections Generated
  Proposal title and description
  Problem summary analysis
  Three-part solution breakdown
  Project scope details
  Milestone timeline with dates
  Cost integration

  Requirements
  n8n instance** (cloud or self-hosted)
  OpenAI API key** for content generation
  Google Workspace account** for Slides and Gmail
  Basic n8n knowledge** for setup and customization

  Setup Complexity
  Intermediate - Requires API credentials setup and basic workflow customization

  Benefits
  Time Savings**: Reduces proposal creation from hours to minutes
  Consistency**: Ensures all proposals follow the same professional structure
  Personalization**: AI analyzes client needs for relevant content
  Automation**: Eliminates manual copy-paste and formatting work
  Scalability**: Handle multiple proposal requests simultaneously

  Customization Options
  Modify AI prompts for different industries or services
  Customize Google Slides template design
  Adjust form fields for specific information needs
  Personalize email templates and signatures
  Configure milestone templates for different project types

  Error Handling
  Includes basic error handling for API failures and form validation to ensure reliable operation.

  Security Notes
  All credentials have been removed from this template. Users must configure their own:
  OpenAI API credentials
  Google OAuth2 connections for Slides, Drive, and Gmail
  Form webhook configuration

  This workflow demonstrates practical AI integration in business processes and showcases n8n's capabilities for complex automation scenarios.

nodes_used:
  ["n8n-nodes-base.googleSlides","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.googleDrive","n8n-nodes-base.gmail","n8n-nodes-base.formTrigger","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4672 characters]

metadata_json:
  {"categories":["automation","sales-automation","document-generation","ai-content-generation","integration"],"complexity":"medium","use_cases":["Automated post-call sales proposal generation","Agency/consultant proposal creation","Rapid client-facing deliverables after discovery calls","Scaling proposal production with consistent branding","Personalized follow-up emails with attached proposals"],"estimated_setup_minutes":45,"required_services":["n8n (cloud or self-hosted)","OpenAI (GPT-4) API key","Google Workspace (Drive, Slides, Gmail) with OAuth2","Web form provider or webhook endpoint to capture client data"],"key_features":["GPT-4 powered personalized proposal content","Creates and populates Google Slides proposal templates","Automated delivery via Gmail","Web form integration to capture client requirements","Structured outputs: title, problem analysis, solution, scope, milestones, costs and dates
  "],"target_audience":["Sales teams","Agencies","Consultants and freelancers who create proposals regularly"]}


name: Auto Update n8n to Latest Version with Coolify
author_name: Haqi Ramadhani
author_username: gemboran
categories: []
created_at: 2025-05-24T13:56:50.112Z
updated_at: 2025-05-24T13:56:50.112Z
url: https://n8n.io/workflows/4360
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  Automatically detect new n8n releases (stable or beta) from GitHub, update Coolify environment variables, and trigger deployments.

  Functionality  
  This workflow automates deployment of n8n releases to a Coolify instance. It supports two tracks:  
  Beta Releases: Checks GitHub every minute for prereleases, filters duplicates, updates the N8N_VERSION environment variable, and deploys.  
  Stable Releases (disabled by default): Checks the latest stable release hourly and deploys.  

  Key Features:  
  Deduplication**: Ensures no repeated deployments for the same release.  
  Version Parsing**: Extracts the semantic version (e.g., 1.34.0) from GitHub release names.  
  Coolify Integration**: Updates environment variables and triggers deployments via API.  

  Expected Outcomes  
  New n8n beta/stable releases detected via GitHub API.  
  Coolify environment variable N8N_VERSION updated to the latest version.  
  Automatic deployment triggered in Coolify.  

  Setup Guide  
  Replace Placeholders:  
     Update m8ccg8k44coogsk84swk8kgs in the Update ENV and Deploy nodes with your Coolify Application UUID.  

  Configure Credentials:  
     Add Coolify API credentials (httpHeaderAuth) with a valid API token in the headers.  

  Enable Triggers:  
     Toggle the Auto Update Latest Release node if stable releases are desired. Adjust schedule intervals as needed.  

  Test:  
     Run the workflow manually to validate API connections and version parsing.  

  SEO Keywords  
  Automated Deployment, n8n CI/CD, Coolify Integration, GitHub Release Monitoring, Environment Variable Management, Beta Release Automation.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.filter","n8n-nodes-base.limit","n8n-nodes-base.removeDuplicates","n8n-nodes-base.httpRequest","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.scheduleTrigger"]

workflow_json_compressed:
  H4sIAAAAAAAAE+1XW2/bNhT+KwYxLC0g2rpQNwPBlqa3YF2aplmGIQgCXo5sLrKoipSbwNB/HyjbsezIS9rtYQ97Mkwefed8584FKpQAjcZXCyQFGqMghCj1ohTzkPuYpDzBDCDDEdBIuCB4xDLkoILOAI3ROzCDc8iBakAOMvelPSySAreomFENw6kx5Tl8qUEb5KBSaWmkKtD4KvJdB3u+e+2gklZ0BgYqjcYLVFc5GiP7nR6PRrSUw4k005oNuZqNKiiVHlkdUtmfUbXUr0c5NUsdqrQaLFTjIA2F+FRDdY/GpqrBQV/sn7MthV31V4s1uRKqm5JOLLM5zWt75LmouW4aBxXKgD4p3ubq6xrXsr+ESrfkyNBvnJVLXZdn4NIEiziMMUkTF9NARJhnXurymLjUDzcu/a0U1MDgzenlt3vUcyPXwf5elx6ufcpVoVUOQ1ZTQ4uhFNbLo7k3omWZS05b/40Wi8HBLOF8ktwSwpWa6NuE6K+3ye1EHwyaZgTFXCMHzcBMlWV6dnRx/L4vAK+UePA/rc0UCrPSgsZoAgVUkh9XIOw5zS8sawcxJZ4Vp1u474ToNDm9uXxz/vnk4ymyIVgJLa83YoeLxeCHP7UqhlZgqMtcmhcHPx+8HOZUmxcvB03T/Vzqm7KCuYSvOxgZzTU8Fma1zMWNkbNdndYHj8VzaaCi+V7s68ZZu+moNtOLZVrYaL4HKqCyh6hxEH/wYesvK/AKaLUSGK8S8vdf/zC3x5Nf7j5EiuWfPm6S71ipXGb3Azx4lCEWfkfhGu9M33vzi5Ojk9O3xfzs0nsm3jeWEQlAkChysetxikkYZZh5kYdJHFLiZSEHwTeaX0OZq/vvKCE/+YclJFrNP9W1FIdPVdCPmao4HLaB3q2bZ9fJ/4kRB5DFHhYkzjAJQsCJxyMcpEx4KU/8jLKN5rcyN1DtTYxsfd3JCeK6Dg56UmIrXlwVQq7/d67QfG2076AcMnO5KnHkIE41fIbCaprDFlGaS7EOvDaV5KYNo5oxWVCjKjRGtBBoW+16iHtEcMK8CEdh6mNi64X6oY9p4lMaUMYpJW26QbXEWqy9wZTKgRYPl0sDrF3IQVoWkxxW5tuzZpvQpqeWFazGsm1fDqrkZLrhvRyhW/H0O/EMaRzEaUhwCCAwIRnDKYcUi9ANoiiKGQk6mfRBzqTZG858dbu7dvREc9ck78GgJHJDTiHCAYMEE4hTnFIW48yjgmXgcibIxqBzmKk5DF7Xy0kKeq9xVSu5JdixMyF7GtFW1nXDtMQ7MTDTnwGKk+LMjixV6zd3wOvlRw4SIOoSHsfMmr+cTDuhefBDSn1CSBRij7kUEz/gOAlIiKM0BI/FKQ1ir3c33O+C/X042VNz37cc/ve2QoA4i4LEw4lLfUxcnmIqshBHImWez3lGWGecHdVGDVar4Yd2z31y79Z8CqLO4aKSk0nb0oTUlOUg1rbttri+Xbyqc2j7eWGgmtO8dUUmIbccpqqu9DO5ex3uie9DCiTBnNlHhpu5mIUkw6nHkjjwSEQTv5/7KzD0O5h3mGKyJ7H6mD6f2nXbiQvgD21/2ZjGCzSj0iq2KaTEEx2ilXWQLATcobHbXNvNb7XLdKDa49Uk69Ow0xR7UTsPjT6I3QWqF6P7/vs3mG71jD7A3endi/JYax9U30OrF25v/vWh9ne9J3F3avoJ5L8Fbpq/AGl9ngvVDwAA

metadata_json:
  {"categories":["automation","deployment","integration","ci/cd"],"complexity":"medium","use_cases":["Automatically deploy new n8n releases to a Coolify-hosted instance","Monitor GitHub Releases (stable and prerelease/beta) and trigger deployments","Manage and update environment variables (N8N_VERSION) in Coolify","Prevent duplicate deployments for the same release","Implement lightweight continuous delivery for n8n using scheduled checks"],"estimated_setup_minutes":15,"required_services":["GitHub Releases API","Coolify (API access and application UUID)","n8n (workflow runner with HTTP credential support)"],"key_features":["Automatic detection of GitHub releases (stable and beta/prereleases)","Configurable schedule for beta (every minute) and stable (hourly) tracks","Deduplication to avoid repeated deployments for the same version","Semantic version parsing from GitHub release names","Updates Coolify environment variable N8N_VERSION and triggers deployment via API"],"target_audience":["Developers","DevOps engineers","Site Reliability Engineers (SREs) / system administrators managing n8n deployments"]}


name: Extract Details from Receipts via Telegram with Tesseract and Llama
author_name: Khairul Muhtadin
author_username: khmuhtadin
categories: []
created_at: 2025-05-24T14:19:39.715Z
updated_at: 2025-05-24T14:19:39.715Z
url: https://n8n.io/workflows/4361
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Tesseract - Money Mate Workflow Description

  Disclaimer: This template requires the n8n-nodes-tesseractjs community node, which is only available on self-hosted n8n instances. You’ll need a self-hosted n8n setup to use this workflow.

  Who is this for?
  This workflow is designed for individuals, freelancers, or small business owners who want an easy way to track expenses using Telegram. It’s ideal for anyone looking to digitize receipts—whether from photos or text messages—using free tools, without needing advanced technical skills.

  What problem does this workflow solve?
  Manually entering receipt details into a spreadsheet or app is time-consuming and prone to mistakes. This workflow automates the process by extracting information from receipt images or text messages sent via Telegram, categorizing expenses, and sending back a clear, formatted summary. It saves time, reduces errors, and makes expense tracking effortless.

  What this workflow does
  The workflow listens for messages sent to a Telegram bot, which can be either text descriptions of expenses or photos of receipts. If a photo is sent, Tesseract (an open-source text recognition tool) extracts the text. If text is sent, it’s processed directly. An AI model (LLaMA via OpenRouter) analyzes the input, categorizes it into expense types (e.g., Food & Beverages, Household, Transport), and creates a structured summary including store name, date, items, total, and category. The summary is then sent back to the user’s Telegram chat.

  Setup Instructions
  Follow these step-by-step instructions to set up the workflow. No advanced technical knowledge is required, but you’ll need a self-hosted n8n instance.

  Set Up a Self-Hosted n8n Instance:
     If you don’t have n8n installed, follow the n8n self-hosting guide to set it up. You can use platforms like Docker or a cloud provider (e.g., DigitalOcean, AWS).
     Ensure your n8n instance is running and accessible via a web browser.

  Install the Tesseract Community Node:
     In your n8n instance, go to Settings &gt; Community Nodes in the sidebar.
     Click Install a Community Node, then enter n8n-nodes-tesseractjs in the search bar.
     Click Install and wait for confirmation. This node enables receipt image processing.
     If you encounter issues, check the n8n community nodes documentation for troubleshooting.

  Create a Telegram Bot:
     Open Telegram and search for @BotFather to start a new bot.
     Send /start to BotFather, then /newbot to create your bot.
     Follow the prompts to name your bot (e.g., “MoneyMateBot”).
     BotFather will provide a Bot Token (e.g., 23872837287:ExampleExampleExample). Copy this token.
     In n8n, go to Credentials &gt; Add Credential, select Telegram API, and paste the token. Name the credential (e.g., “MoneyMateBot”) and save.

  Set Up OpenRouter for AI Processing:
     Sign up for a free account at OpenRouter.
     In your OpenRouter dashboard, generate an API Key under the API section.
     In n8n, go to Credentials &gt; Add Credential, select OpenRouter API, and paste the API key. Name it (e.g., “OpenRouter Account”) and save.
     The free tier of OpenRouter’s LLaMA model is sufficient for this workflow.

  Import and Configure the Workflow:
     Download the workflow JSON file (provided separately or copy from the source).
     In n8n, go to Workflows &gt; Import Workflow and upload the JSON file.
     Open the imported workflow (“Tesseract - Money Mate”).
     Ensure the Telegram Trigger and Send Expense Summary nodes use the Telegram credential you created.
     Ensure the AI Analyzer node uses the OpenRouter credential.
     Save the workflow.

  Test the Workflow:
     Activate the workflow by toggling the Active switch in n8n.
     In Telegram, find your bot (e.g., @MoneyMateBot) and send /start.
     Test with a sample input (see “Example Inputs” below).
     Check the n8n workflow execution panel to ensure data flows correctly.
     If errors occur, double-check credentials and node connections.

  Activate for Continuous Use:
     Once tested, keep the workflow active in n8n.
     Your bot will now process any text or image sent to it via Telegram.

  Example Inputs/Formats
  To help the workflow process your data accurately, use clear and structured inputs. Below are examples of valid inputs:

  Text Input Example:
  Send a message to your Telegram bot like this:
  Bought coffee at Starbucks, Jalan Sudirman, yesterday. Total Rp 50,000. 2 lattes, each Rp 25,000.
  Expected Output:
  hello [Your Name]

  Ini Rekap Belanjamu
  📋 Store: Starbucks
  📍 Location: Jalan Sudirman
  📅 Date: 2025-05-26
  🛒 Items:
  Latte: Rp 25,000
  Latte: Rp 25,000
  💸 Total: Rp 50,000
  📌 Category: Food & Beverages

  Image Input Example:
  Upload a photo of a receipt to your Telegram bot. The receipt should contain:
  Store name (e.g., “Alfamart”)
  Address (e.g., “Jl. Gatot Subroto, Jakarta”)
  Date and time (e.g., “27/05/2025 14:00”)
  Items with prices (e.g., “Bread Rp 15,000”, “Milk Rp 20,000”)
  Total amount (e.g., “Total: Rp 35,000”)

  Expected Output:
  hello [Your Name]

  Ini Rekap Belanjamu
  📋 Store: Alfamart
  📍 Location: Jl. Gatot Subroto, Jakarta
  📅 Date: 2025-05-27 14:00
  🛒 Items:
  Bread: Rp 15,000
  Milk: Rp 20,000
  💸 Total: Rp 35,000
  📌 Category: Household

  Tips for Images:
  Ensure the receipt is well-lit and text is readable.
  Avoid blurry or angled photos for better Tesseract accuracy.

  How to Customize This Workflow
  Change Expense Categories: In the **AI Categorizer node, edit the prompt to include custom categories (e.g., add “Entertainment” or “Utilities” to the list: Food & Beverages, Household, Transport).
  Modify Response Format: In the **Format Summary Message node, adjust the JavaScript code to change how the summary looks (e.g., add emojis, reorder fields).
  Save to a Database: Add a node (e.g., Google Sheets or PostgreSQL) after the **Format Summary Message node to store summaries.
  Support Other Languages: In the **AI Categorizer node, update the prompt to handle additional languages (e.g., Spanish, Mandarin) by specifying them in the instructions.
  Add Error Handling: Enhance the **Check Invalid Input node to catch more edge cases, like invalid dates.

  All Free, End-to-End
  This workflow is 100% free! It leverages:
  Telegram Bot API**: Free via BotFather.
  Tesseract**: Open-source text recognition.
  LLaMA via OpenRouter**: Free tier available for AI processing.

  Enjoy automating your expense tracking without any cost!

  Made by: khmuhtadin
  Need a custom? contact me on LinkedIn or Web

nodes_used:
  ["n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.telegramTrigger","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-tesseractjs.tesseractNode","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, 5956 characters]

metadata_json:
  {"categories":["automation","integration","OCR","expense-tracking","AI"],"complexity":"medium","use_cases":["Digitize paper receipts sent via Telegram","Automatically extract and structure expense data (store, date, items, total)","Categorize expenses using an LLaMA model","Send formatted expense summaries back to users over Telegram","Add optional persistence (e.g., Google Sheets, PostgreSQL) for bookkeeping"],"estimated_setup_minutes":45,"required_services":["Self-hosted n8n instance","n8n-nodes-tesseractjs community node (Tesseract OCR)","Telegram Bot (BotFather token)","OpenRouter API (LLaMA model / API key)"],"key_features":["Telegram trigger and reply for text or receipt images","Tesseract OCR node to extract text from receipt photos","LLaMA via OpenRouter to parse, categorize and structure expense data","Formatted summary sent back to the user's Telegram chat","Customizable prompts, categories, and summary formatting (JS node editable)"],"target_audience":["Individuals and freelancers who track expenses","Small business owners wanting simple receipt digitization","n8n self-hosted users looking for free OCR + AI workflow templates"]}


name: Generate and Publish SEO-Optimized Blog Posts to WordPress
author_name: Khairul Muhtadin
author_username: khmuhtadin
categories: []
created_at: 2025-05-24T15:15:09.681Z
updated_at: 2025-05-24T15:15:09.681Z
url: https://n8n.io/workflows/4362
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  BlogBlitz is a powerful n8n workflow that automates the creation and publishing of SEO-optimized blog posts to WordPress, saving you hours of manual content creation. Triggered on a schedule or via Telegram, it generates high-quality, 1,500–2,500-word articles complete with titles, slugs, meta descriptions, images, and more.

  🎯 Who is this for?

  Bloggers** who want fresh, consistent content.
  Content marketers** aiming for SEO efficiency.
  WordPress site owners** looking to automate blog publishing without sacrificing quality.

  🚨 Problem Solved

  Manually creating engaging, SEO-friendly content is time-consuming and requires writing expertise. BlogBlitz solves this by:

  Automating ideation, writing, formatting, and publishing.
  Generating images and SEO elements.
  Keeping your blog active and visible to search engines.

  ⚙️ What This Workflow Does

  | Feature               | Description                                                                                                                             |
  | --------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
  | Triggers          | - Runs every 3 hours via Schedule Trigger- Or on-demand via Telegram command: /generate                                   |
  | Generates Content | Uses OpenRouter to: - Select a category (Technology, AI, etc.)- Create a title, slug, focus keyphrase, and meta description |
  | Writes Articles   | OpenAI generates 1,500–2,500-word articles:- SEO-optimized- Structured with headings- Includes CTA                      |
  | Adds Visuals      | Generates realistic featured images with OpenAI and uploads them to WordPress                                                       |
  | SEO Features      | Generates:- Optimized slug- Focus keyphrase- Meta description                                                               |
  | Publishes         | Posts directly to WordPress:- With correct category- Featured image- Author ID                                          |
  | Notifies          | Sends publish alerts via Discord webhook and Telegram message                                                                   |

  🚀 Setup Instructions

  ✅ Requirements

  Self-hosted or cloud n8n instance
  Stable internet connection

  🔐 Credentials Needed

  WordPress API** (wp-json/wp/v2)
  OpenAI API** (text + image generation)
  OpenRouter API** (category & title generation)
  Telegram Bot API**
  Discord Webhook**

  🔧 WordPress Configuration

  Set up post categories:

    Technology [ID:3]
    AI [ID:4]
    Tech Fact [ID:7]
    Tech History [ID:8]
    Tech Tips [ID:9]
  Use admin user ID for publishing (default: 1)

  🧩 Node Setup

  Telegram Trigger** — Initiates workflow with /generate
  Schedule Trigger** — Runs workflow every 3 hours
  Edit Fields Node** — Centralizes variable setup (e.g., category IDs)
  OpenRouter Node** — Generates topic and meta info
  OpenAI Node** — Generates full article and image
  WordPress Node** — Publishes post
  Discord Node** — Sends publish alert
  HTTP Request Node** — Handles image upload or utility calls

  🛠️ Customization Tips

  | Feature           | How to Customize                                     |
  | ----------------- | ---------------------------------------------------- |
  | Categories    | Update category IDs in the WordPress Post Draft node |
  | Schedule      | Modify the interval in the Schedule Trigger      |
  | Tone & Style  | Adjust prompts in the LLM Chain node             |
  | Notifications | Add Slack, Email, or other channels                  |
  | Image Style   | Change OpenAI prompt for “vivid”, “natural”, etc.    |

  📦 Pre-Requirements

  n8n Instance** (Cloud/Self-hosted)
  Install: @n8n/n8n-nodes-langchain
  All required API credentials configured
  WordPress categories set
  Admin user ID available

  🔧 Nodes Used

  Telegram Trigger
  Schedule Trigger
  OpenRouter
  OpenAI
  WordPress
  Discord
  HTTP Request

  ✅ Test the Workflow

  Deploy and connect your n8n instance.
  Send /generate to your Telegram bot.
  Check your WordPress site for the newly published post!
  Made by: Khaisa Studio  
  Tag: youtube, summarizer, telegram, openai  
  Category: AI Automation, Video Tools
  Need a custom? contact me on LinkedIn or Web

nodes_used:
  ["@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.telegramTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.discord","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.wordpress","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.telegram"]

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

metadata_json:
  {"categories":["automation","content-generation","integration","seo"],"complexity":"complex","use_cases":["Automate creation of long-form, SEO-optimized blog posts","Scheduled or on-demand publishing to WordPress","Auto-generate SEO metadata (title, slug, meta description, focus keyphrase)","Generate and upload featured images","Send publish notifications via chat/webhook channels"],"estimated_setup_minutes":45,"required_services":["n8n instance (self-hosted or cloud)","WordPress API (wp-json/wp/v2)","OpenAI API (text + image generation)","OpenRouter API","Telegram Bot API","Discord Webhook","Stable internet connection"],"key_features":["Schedule trigger (every 3 hours) and Telegram on-demand trigger","Category, title, slug and meta generation via OpenRouter","1,500–2,500-word SEO-optimized article generation via OpenAI","Featured image generation and upload to WordPress","Direct publish to WordPress with category and author ID mapping\n(notifications via Discord/Telegram)"],"target_audience":["Bloggers","Content marketers/SEO specialists","WordPress site owners and managers"]}


name: 🤖💬 Conversational AI Chatbot with Google Gemini for Text & Image | Telegram
author_name: Alan Bajaña Granizo
author_username: thecrawlerzero
categories: []
created_at: 2025-05-24T20:40:13.992Z
updated_at: 2025-05-24T20:40:13.992Z
url: https://n8n.io/workflows/4365
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  🤖💬 Conversational AI Chatbot with Google Gemini for Text & Image | Telegram

  Overview 📋  
  Flexible and scalable chatbot template, designed mainly for Spanish conversations but capable of handling English and other languages. Integrates Google Gemini API for text and image generation, and Telegram for messaging. Supports multiple output types with potential for video, audio, and more.

  How It Works

  Modular Architecture & Extensibility ⚙️  
  Separate modules for data extraction, intent analysis, and adaptive response generation.  
  Easily extendable with additional tools, databases, or APIs.  

  Context & Memory Handling 🧠  
  Session-based volatile memory maintains conversation coherence.  
  Allows updates or modifications to previous images based on new requests (e.g., add a hat to a dog 🐶).  

  Intent Detection & Classification 🔍  
  Google Gemini accurately classifies user intent.  
  Two-step validation ensures context-aware, precise replies.

  Content Generation & Output ✍️🖼️  
  Generates text and images based on intent and context.  
  Designed for Telegram but adaptable to other platforms and media types (audio, video).

  Key Benefits ✅  
  Scalable, customizable, and production-ready architecture.  
  Supports multiple content formats: text, images, audio, and video.  
  Dynamic context and memory management for smooth, coherent conversations.  
  Native integration with Google Gemini and Telegram ensures reliable and seamless operation.  
  Suitable for diverse use cases and easy to extend with new tools or platforms.

  Use Cases 💼  
  Customer support virtual assistants.  
  On-demand multimedia content creation.  
  Marketing and user engagement bots.  
  AI conversational prototypes and pilots.

  Requirements 👨‍💻  
  n8n instance (self-hosted or cloud)  
  Google Gemini API credentials  
  Telegram bot setup (optional but recommended)

  Active member of the Polytechnic Artificial Intelligence Club (CIAP) at ESPOL.

nodes_used:
  ["n8n-nodes-base.set","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.chainLlm","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.switch","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.convertToFile","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.memoryManager","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.code","n8n-nodes-base.switch","n8n-nodes-base.telegramTrigger","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.set","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, 9940 characters]

metadata_json:
  {"categories":["conversational AI","integration","content generation","automation"],"complexity":"complex","use_cases":["Customer support virtual assistant","On-demand multimedia content generation (text & images)","Marketing and user engagement bots","AI conversational prototypes and pilots","Multilingual chatbots (Spanish-first, supports English and others)"],"estimated_setup_minutes":60,"required_services":["n8n (self-hosted or cloud)","Google Gemini API (credentials)","Telegram Bot (API token)"],"key_features":["Google Gemini-powered text and image generation","Session-based volatile memory for context coherence","Intent detection and two-step validation","Modular, extensible architecture (separate extraction, intent, response modules)","Supports multiple output formats and easy extension to audio/video"],"target_audience":["Developers building chatbots","Product teams and startup founders","Marketing and community managers (engagement/content creation)"]}


name: Automate Email & Calendar Management with Gmail, Google Calendar & GPT-4o AI
author_name: AOE Agent Lab
author_username: aoepeople
categories: []
created_at: 2025-05-24T22:05:58.327Z
updated_at: 2025-05-24T22:05:58.327Z
url: https://n8n.io/workflows/4366
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  Boost your productivity with this AI-powered email and calendar assistant:

  This AI-powered template has 2 workflows. It manages your Gmail inbox and Google Calendar, classifies emails with custom labels, and suggests replies and meeting times — all fully automated with OpenAI and n8n.


  Automatically analyze your Gmail inbox

  Suggest replies, priorities, and meeting times

  Checks your Google Calendar for conflicts and free slots

  Maintain conversation context using Thread History Vector Store

  The agent proactively acts using a Tools Agent architecture, with integrated memory and real-time tool invocation. It's perfect for busy professionals who want a personal assistant for communication and scheduling.

  Included features:

  ✅ Do actions on incoming mails 8like Labeling etc)
  ✅ Summarize and Assist fot the latest emails
  ✅ Draft replies and schedule meetings contextually
  ✅ Handle time zone conversion and MessageID referencing
  ✅ Context retention of last conversation history - using VectorStore

  📦 Requirements:

  Gmail + Google Calendar credentials via n8n credentials

  OpenAI API key

  n8n VectorStore nodes (or external integration like Pinecone, Qdrant, or Chroma)

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.noOp","n8n-nodes-base.gmailTool","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","n8n-nodes-base.gmail","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterTokenSplitter","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.gmailTool","n8n-nodes-base.gmailTool","n8n-nodes-base.gmailTool","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleCalendarTool","n8n-nodes-base.stickyNote","n8n-nodes-base.gmailTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.gmailTool","@n8n/n8n-nodes-langchain.toolVectorStore","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.textClassifier","@n8n/n8n-nodes-langchain.vectorStoreInMemory","@n8n/n8n-nodes-langchain.vectorStoreInMemory","@n8n/n8n-nodes-langchain.vectorStoreInMemory","n8n-nodes-base.stickyNote","n8n-nodes-base.dateTimeTool"]

workflow_json_compressed:
  [encoded data, 8256 characters]

metadata_json:
  {"categories":["automation","integration","productivity","scheduling","AI-assistant"],"complexity":"complex","use_cases":["Automated inbox management and labeling","Suggesting and drafting email replies using AI","Contextual meeting scheduling and conflict checking","Summarizing recent conversation threads","Maintaining conversation context with a vector store for follow-ups"],"estimated_setup_minutes":45,"required_services":["n8n (self-hosted or cloud)","Gmail (OAuth credentials)","Google Calendar (OAuth credentials)","OpenAI (GPT-4o API key)","n8n VectorStore nodes or external vector DB (Pinecone, Qdrant, Chroma) for thread history"],"key_features":["Automated analysis of incoming Gmail messages","Custom labeling and priority classification","AI-suggested replies and draft generation (GPT-4o)","Context-aware meeting time suggestions and calendar conflict checks","Thread History stored in VectorStore for context retention across conversations"],"target_audience":["Busy professionals and executives","Virtual assistants and schedulers","Small teams wanting automated communications workflows (sales, recruiting, support)"]}


name: AI Real Estate Agent: End-to-End Ops Automation (Web, Data, Voice)
author_name: Sam Yassine
author_username: samyassine
categories: []
created_at: 2025-05-25T01:59:42.452Z
updated_at: 2025-05-25T01:59:42.452Z
url: https://n8n.io/workflows/4368
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:32
description:
  This suite automates distinct aspects of real estate operations: incoming web lead qualification, scheduled/manual data research and content generation, and automated voice call outreach with lead qualification. It leverages AI (primarily OpenAI GPT-4o Mini via Langchain), data processing nodes, and integrations with external APIs and Google Workspace.

  Workflow 1: Incoming Web Lead Qualification & Scoring
  This workflow captures leads from a web source, validates their input, uses AI to classify intent and urgency, checks against a property database, scores the lead, and prepares a structured lead object.

  Tools & Services Used:

  AI Core & Processing: OpenAI (GPT-4o Mini via Langchain Agent and Chat Model nodes)
  Data Processing: n8n Set, If, Code nodes
  External API: HTTP Request node (for PropertyCheckAPI)
  Workflow Overview:
  Trigger:
  Incoming Web Lead Webhook (/incoming-lead): Captures new leads submitted via a web form.
  Lead Data Ingestion & Validation:
  Set & Rename Incoming Lead Fields: Standardizes input field names from the webhook.
  IF User Message Valid: Checks if the userMessage field is present and meets a minimum length.
  Clean User Message Text (Code): Pre-processes the user's message (e.g., removes extra spaces).
  AI-Powered Lead Analysis:
  AI Classify Lead Intent & Urgency (Langchain Agent): Analyzes the cleaned user message to determine the lead's primary intent (e.g., buying, selling, inquiry) and the urgency of their request.
  Powered by: LLM for Lead Intent/Urgency Classification (OpenAI Chat Model - GPT-4o Mini).
  Extract Intent & Urgency from AI Output (Set): Structures the AI's classification into distinct fields.
  Data Standardization & Enrichment:
  Standardize All Lead Data Fields (Code): Further standardizes all collected data points for consistency.
  Call Property Check API (HTTP Request): Sends lead/property details to an external API (https://api.example.com/property-check) to verify listing status or gather more information.
  Lead Scoring & Finalization:
  IF Property is Known Listing: Checks the API response to see if a matchFound was "true".
  Calculate Web Lead Score (Code): If a known listing (or based on other criteria), this node assigns a numerical or categorical score to the lead.
  Set Final Structured Web Lead Data (Set): Consolidates all original, processed, classified, and scored data into a final, comprehensive lead object.
  Workflow 2: Scheduled/Manual AI-Powered Data Research & Content Generation (Red Background)
  This workflow fetches data from external URLs, extracts information using AI, allows a sophisticated AI agent to perform research and generate analysis using various tools, and outputs results to Google Sheets, Google Docs, and potentially other AI processing steps.

  Tools & Services Used:
  Orchestration & Automation: n8n
  AI Core & Processing: OpenAI (GPT-4o Mini via Langchain Information Extractor, Langchain Agent, and direct OpenAI nodes)
  AI Tools: Langchain Calculator, Langchain SerpAPI
  Data Storage & Output: Google Sheets, Google Docs
  Data Input: HTTP Request node

  Workflow Overview:
  Triggers:
  Manual Trigger for Data Analysis Flow: Allows on-demand execution.
  Scheduled Trigger for Data Analysis Flow: Automates execution on a defined schedule.
  Data Ingestion & Initial Extraction:
  Fetch External Data for AI Analysis (HTTP Request): Retrieves content from a specified URL.
  AI Extract Information from Fetched Data (Langchain Information Extractor): Uses an AI model to extract structured data from the fetched content.
  Powered by: LLM for Data Information Extractor (OpenAI Chat Model - GPT-4o Mini).
  Advanced AI Analysis & Tasking:
  AI Agent for Research & Content Generation (Langchain Agent): Processes the extracted information to perform in-depth research, analysis, or content creation.
  Powered by: LLM for Research & Content AI Agent (OpenAI Chat Model - GPT-4o Mini).
  Utilizes Tools:
  Calculator Tool for AI Agent: For numerical calculations.
  SerpAPI Web Search Tool for AI Agent: For performing real-time web searches to gather additional context or verify information.
  Output & Dissemination:
  The AI Agent's output is routed to multiple destinations:
  Update Google Doc with AI Agent Analysis (Google Docs): Inserts the generated analysis/content into a Google Document.
  Split AI Agent Output Items (Split Out) -&gt; Log AI Analysis Data to Google Sheets (Google Sheets): If the agent produces multiple data items, they are split and logged individually into a Google Sheet.
  OpenAI: Generate Text from Agent (Output 1) & OpenAI: Generate Text from Agent (Output 2): These nodes likely take the agent's output for further specialized AI processing (e.g., summarization for different purposes, reformatting).
  Workflow 3: Automated Lead Outreach & Voice Call Qualification (Green Background)
  This workflow automates the initial contact with new leads via a voice call, uses AI to understand the lead's responses during the call, qualifies them, and logs the detailed interaction and a summary.
  Tools & Services Used:
  Orchestration & Automation: n8n
  AI Core & Processing: OpenAI (GPT-4o Mini via Langchain Agent and Chat Model nodes)
  Voice Services: ElevenLabs (Text-to-Speech via HTTP Request), Twilio (Place Call via HTTP Request)
  Data Storage & Output: Google Sheets
  Error Handling: n8n Execute Workflow Trigger
  Workflow Overview:
  Trigger:
  Webhook for Voice Call Lead (/new-lead): Captures new leads designated for an automated voice call.
  Call Preparation & Initiation:
  Set Initial Voice Call Lead Details: Extracts basic lead info (name, phone, property ref, email) from the webhook.
  Generate Voice Call Introduction Script (Function): Creates a personalized script for the call.
  ElevenLabs: Convert Intro Script to Voice (HTTP Request): Sends the script to ElevenLabs API to generate natural-sounding audio.
  Twilio: Initiate Voice Call to Lead (HTTP Request): Uses Twilio API to place the call and play the generated audio.
  AI-Powered Call Interaction Analysis:
  AI Agent: Extract Info from Voice Call (Langchain Agent): Processes the interaction from the call (e.g., a transcript of the lead's responses, or DTMF inputs if designed to capture them) to extract key qualification data like budget, timeline, and interest level.
  Powered by: LLM for Voice Call Info Extraction Agent (OpenAI Chat Model - GPT-4o Mini).
  Structure Extracted Voice Call Info (Function): Organizes the AI-extracted data into a structured JSON object.
  Lead Qualification & Data Logging:
  Set Lead Status Based on Call Interest: Updates the lead's status (e.g., "Interested" or "Not Interested") based on the AI's interpretation of the call.
  IF Lead Interested (from Voice Call): Branches the workflow based on lead status.
  If Interested:
  Assign Score to Interested Voice Lead (Function): Calculates a lead score based on budget, timeline, etc.
  Format Current Timestamp for Logging (DateTime): Generates a timestamp.
  Log Qualified Voice Lead to Google Sheets: Appends the detailed, qualified lead information to a 'Leads' Google Sheet.
  AI Agent: Generate Voice Call Lead Summary (Langchain Agent): Creates a concise summary of the entire lead interaction and qualification.
  Powered by: LLM for Voice Call Lead Summary Agent (OpenAI Chat Model - GPT-4o Mini).
  Log Voice Call Lead Summary to Google Sheets: Appends this summary to a separate 'LeadsSummary' Google Sheet.
  Error Handling (for Sheets Logging):
  IF Voice Lead Logging to Sheets Failed: Checks if the Google Sheets logging operation was unsuccessful.
  Error Trigger: Notify Admin of Sheets Failure (Execute Workflow Trigger): If logging fails, triggers a separate workflow to alert an administrator.

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.manualTrigger","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.splitOut","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.toolCalculator","@n8n/n8n-nodes-langchain.toolSerpApi","n8n-nodes-base.googleDocs","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.set","n8n-nodes-base.function","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.function","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.function","n8n-nodes-base.dateTime","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.googleSheets","n8n-nodes-base.webhook","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","integration","ai","voice","data processing"],"complexity":"complex","use_cases":["Web lead capture, validation and automated scoring","Scheduled or manual AI-powered market/property research and content generation","Automated outbound voice outreach with TTS and call qualification","Enrichment of lead records via external property APIs","Logging and reporting to Google Sheets / Google Docs for ops and tracking"],"estimated_setup_minutes":180,"required_services":["n8n","OpenAI (GPT-4o Mini via Langchain and Chat models)","Langchain (Agents, Information Extractor, Calculator, SerpAPI tool)","SerpAPI (web search tool)","Google Sheets (Google Workspace OAuth)","Google Docs (Google Workspace OAuth)","Twilio (voice call API)","ElevenLabs (text-to-speech API)","PropertyCheckAPI (or equivalent property verification API)","Public HTTP webhooks / hosted endpoints"],"key_features":["Incoming webhook lead ingestion and field standardization","AI classification of lead intent and urgency (Langchain + OpenAI)","Property verification/enrichment via external PropertyCheck API","Configurable lead scoring and final structured lead object","Scheduled and manual flows for AI research and multi-destination content output (Docs, Sheets, further AI nodes)"],"target_audience":["Real estate agents and brokerages","Marketing and lead operations teams","Automation/DevOps engineers implementing workflows in n8n and AI integrations"]}


