# templates

name: Upload & Rename Videos to Google Drive via Apps Script from URL
author_name: Joseph
author_username: mjomba
nodes_used: ["n8n-nodes-base.manualTrigger","n8n-nodes-base.googleDrive","n8n-nodes-base.httpRequest"]
categories: []
created_at: 2025-05-01T07:57:29.410Z
updated_at: 2025-05-01T07:57:29.410Z
url: https://n8n.io/workflows/3815
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  📄 Google Script Workflow: Upload File from URL to Google Drive (via n8n)

  🔧 Purpose:
  This lightweight Google Apps Script acts as a server endpoint that receives a file URL (from n8n), downloads the file, uploads it to your specified Google Drive folder, and responds with the file’s metadata (like Drive file ID and URL). This is useful for large video/audio files that n8n cannot handle directly via HTTP Download nodes.

  🚀 Setup Steps:

  1. Create a New Script Project

  Go to https://script.google.com
  Click “New Project”
  Rename the project to something like: DriveUploader

  2. Paste the Script Code

  Replace the default Code.gs content with the following (your custom script):

  function doPost(e) {
    const SECRET_KEY = 'your-strong-secret-here'; // Set your secret key here

    try {
      const data = JSON.parse(e.postData.contents);

      // 🔒 Check for correct secret key
      if (!data.secret || data.secret !== SECRET_KEY) {
        return ContentService.createTextOutput("Unauthorized")
          .setMimeType(ContentService.MimeType.TEXT);
      }

      const videoUrl = data.videoUrl;
      const folderId = 'YOUR_FOLDER_ID_HERE'; // Replace with your target folder ID
      const folder = DriveApp.getFolderById(folderId);

      const response = UrlFetchApp.fetch(videoUrl);
      const blob = response.getBlob();
      const file = folder.createFile(blob);
      file.setName('uploaded_video.mp4'); // You can customize the name

      return ContentService.createTextOutput(file.getUrl())
        .setMimeType(ContentService.MimeType.TEXT);
    } catch (err) {
      return ContentService.createTextOutput("Error: " + err.message)
        .setMimeType(ContentService.MimeType.TEXT);
    }
  }

  3. Generate & Set Up Secret Key
  To allow authorized post requests to your script only, we need to generate a secret key from aany reliable key generator. 
  You can head over to acte, click generate and copy the "Encryption key 256". 
  Paste it in the 'your-strong-secret-here' placeholder in your script then click save

    const SECRET_KEY = 'your-strong-secret-here'; // Set your secret key here;
  4. Replace Folder ID in Code

  Open the target Drive folder in your browser  
  The folder ID is the part of the URL after /folders/  
    Example:  
      https://drive.google.com/drive/u/0/folders/1Xabc12345678defGHIJklmn
    Paste that ID in the script:  
      var folderId = "1Xabc12345678defGHIJklmn";
  5. Set Up Deployment as Web App

  Click “Deploy” &gt; “Manage Deployments” &gt; “New Deployment”
  Under Select type, choose Web app
  Description: Upload from URL to Drive
  Execute as: Me
  Who has access: Anyone
  Click Deploy
  Authorize the script when prompted
  Copy the Web App URL

  📤 How to Use in n8n

  1. HTTP Request Node

  Method: POST
  URL: (your web app URL)
  Secret Key: (Secret Key set in script)
  Body Content Type: JSON
  Paste code:
  {
    "videoUrl": "https://example.com/path/to/your.mp4",
    "secret": "your-strong-secret-here"
  }
    videoUrl: The file download URL
    secret: The generated and set up secret key 

  2. Rename Node

  A simple drive update node to rename the file using the file drive url returned from the script.

workflow_json_compressed:
  H4sIAAAAAAAAE5VU227cNhT8FeKgj+KutLoL6IPdpkbRJE5sr/PgXSwo8miXjUSqFLVrQxCQz0h/L19SUHJzMRw0faNEnjNzZoYcQAoo4HRx9F+/OT/z375sI/M2AQ8atAyKAaTqLFMcf3fnypBHSSqqyI9DEYQVhgHneVaFPEkqFoggCX2/ZGnsx35SVsIPcubnQciRpwGyEEYPFGsQCli3tWaCHKVATawmwsgjkqNkZK/1vkbScSNbCx5Ytu+guNt6oLRAtxxm1mWWY5RHglZZLGjERExLv2Q0TvK8inMWZyKGz4DvDqgIryV/L9WefPrw8QY7S07avK9qffr04W8H9dC6oypTdMKiJetw0TDVs/rGyP0eDXjQ6k5aqRUUdzT0fY9G/taDlhnWoEXTQTGMc69bNN10MBi9R9J+EsR5WgVUxKmgURqGtOR5RUMW+qlfihjzr0hfoVuQWSwU5NbJ9V2is3K/OiW/pRlkz7KEStaTsQPsdqaGwpoePWi0cM17U4MHR1b37uvnYSA//dlptZicWpuajKPzU7cO5HFo3aJhMyj0rWDWEVF4Wk9r8Zus8fU82au+k3yehwSuDzcoUFnJ6onaV7NcnvX2sDpr5ZRHJ2Kd/cJXr17cvkgrfV6Vf3wR7GIOz1RHGOe6VxbGp3aEn+1IMauqII9oJcqURiFGlFUCaVmyKEkYz4UIv3S/RiXI+uqlC+zFjHE9xZQwtzG59F13Dta2V/hXj519EqLkeXecAQVs4EH3ZjfrsZtvxe6E5Y617a439Qbm23rQbp43l9c38MQU59q5Fg9QwLBRhGxgunVrV1uQDThiXbFc4j1r2hoXXDfLltnD0uqlw140bbQBby7tkBu0c6HbpJ01Wu3p/J8e0OAGNmoEDzpUYsadc9W1yGX18EjFsYKnxkSL1bj1gHHrMlxUrO5cIVor1X4SBe+R9264SyPQQAHHKT3HucP8SsVxVDIe0lUqVjTKM0ZzjBkt84wLzJHFufOUa6WQ/6vTD7wPxQANk86xu2F6i/53IqZyD6QSeA+FP263o/djLZ7D/o/H4RmwcfwHT7Zw6/EFAAA=

metadata_json:
  {"categories":["automation","integration","cloud-storage"],"complexity":"medium","use_cases":["Upload large video/audio files to Google Drive from a URL","Bypass n8n HTTP download size limits","Centralize downloaded assets into a Drive folder","Post-process or rename uploaded files in Drive via n8n"],"estimated_setup_minutes":15,"required_services":["Google Apps Script (Web App)","Google Drive","n8n"],"key_features":["Downloads file from URL server-side (Apps Script)","Uploads file to specified Google Drive folder","Secret-key based simple auth for the endpoint","Returns Drive file URL/ID for downstream nodes","Integrates with n8n Drive node to rename or update file metadata"],"target_audience":["n8n users","developers/automation engineers","content creators and podcasters handling large media files"]}


name: Multi-Platform Social Media Publisher with Blotato, GPT-4 Mini & Airtable
author_name: Max aka Mosheh
author_username: aiwithapex
categories: []
created_at: 2025-05-01T09:16:01.301Z
updated_at: 2025-05-01T09:16:01.301Z
url: https://n8n.io/workflows/3816
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  How it works  
  • Automates multi-platform social media posting (Instagram, YouTube, TikTok, etc.) using AI-generated content  
  • Integrates Airtable, n8n, and Blotato for full content scheduling and publishing  
  • Supports both image and video uploads with dynamic text and account routing

  Set up steps  
  • Takes ~15–30 minutes to set up depending on how many platforms you connect  
  • Requires Airtable personal access token and Blotato API key  
  • Uses sticky notes throughout the workflow to explain config, tokens, and troubleshooting clearly

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.airtable","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.formTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 11732 characters]

metadata_json:
  {"categories":["automation","social media","integration","content creation","AI"],"complexity":"complex","use_cases":["Multi-platform social media posting and scheduling","AI-generated captions, descriptions and post copy","Cross-posting and content repurposing (image & video)","Airtable-driven content calendar and routing","Automated account selection and publish routing"],"estimated_setup_minutes":20,"required_services":["Airtable (personal access token)","Blotato (API key) — handles platform publishing","OpenAI (GPT-4 Mini or compatible) for AI content","n8n instance (workflow host)","Target social platforms (Instagram, YouTube, TikTok) via Blotato"],"key_features":["Automates publishing across multiple platforms (Instagram, YouTube, TikTok, etc.)","AI-generated post text using GPT-4 Mini","Supports both image and video uploads","Airtable integration for scheduling, metadata and account routing","Dynamic text/account routing and conditional logic for platform-specific content variations/formatting"],"target_audience":["Social media managers","Content creators and influencers","Marketing teams and agencies managing multiple accounts / platforms"]}


name: Find & Verify Business Emails Automatically with OpenRouter, Serper & Prospeo
author_name: Naveen Choudhary
author_username: n8nstein
categories: []
created_at: 2025-05-01T09:50:42.047Z
updated_at: 2025-05-01T09:50:42.047Z
url: https://n8n.io/workflows/3817
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who is this template for?

  Growth teams, SDRs, recruiters, or anyone who routinely hunts for hard‑to‑find business emails and would rather spend time reaching out than guessing formats.

  What problem does this workflow solve?

  Manually piecing together email patterns, cross‑checking them in a verifier, and updating a tracking sheet is slow and error‑prone. This template automates the entire loop—research, guess, verify, and log—so you hit Start and watch rows fill up with ready‑to‑send addresses.

  What this workflow does

  Pull fresh leads – Grabs only the rows in your Google Sheet where Status = FALSE.
  Find the company pattern – Queries Serper.dev for snippets and feeds them to Gemini Flash (via OpenRouter) to spot the dominant email format.
  Build the address – Constructs a likely email for every first/last name.
  Verify in real time – Pings Prospeo by default (API) or lets you bulk‑clean in Sparkle.io.
  Write it back – Updates the sheet with pattern, email, confidence, verification status, and flips Status to TRUE.
  Loop until done – Runs batch‑by‑batch so you never hit API limits.

  🆓 Work free‑tier magic (up to \~2,500 contacts/month)

  | Service        | Free allowance                | How this template uses it                                                            |
  | -------------- | ----------------------------- | ------------------------------------------------------------------------------------ |
  | Serper.dev | 2,500 searches/mo             | Scrapes three public email snippets per domain to learn the pattern                  |
  | Sparkle.io | 10,000 bulk verifications/day | Manual upload‑download option—perfect to clean your first 2.5k emails at zero cost |
  | Prospeo    | 75 API calls/mo             | Built‑in if you prefer fully automated verification                                |

  Quick Sparkle workflow:

  Let the template generate emails.
  Export the “Email” column to CSV → upload to Sparkle.io.
  Download the results and paste the "verification\_status" back into the sheet (or add a small n8n import sub‑flow).

  Setup (5 minutes)

  Copy the Google Sheet linked in the sticky note and paste its ID into the Get Rows and Update Rows nodes.
  Add credentials for Google Sheets, Serper (X‑API‑KEY), OpenRouter, and optionally Prospeo.
  Hit Execute Workflow—that’s it.

  How to customise

  Prefer Sparkle for volume:** Skip the Prospeo node, export emails in one click, bulk‑verify in Sparkle, and re‑import results.
  Swap the search source:* Replace the *Get Email Pattern HTTP node with Bing, Brave, etc.
  Extend enrichment:* Add phone look‑ups or LinkedIn scrapers before the *Update Rows node.
  Auto‑run:** Replace the Manual Trigger with a Cron node so the sheet cleans itself every morning.

  Additional resources

  | Tool                                                                                                                              | Purpose                                   | Link                                                     |
  | --------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- | -------------------------------------------------------- |
  | Prospeo – API‑ready email verificationSpecial offer: 20 % free credits for the first 3 months on any plan using this link! | Real‑time, single‑call mailbox validation | prospeo.io |
  | Sparkle.io – high‑volume bulk verifier (manual upload)                                                                        | Free daily quota of 10 000 verifications  | app.sparkle.io/sign‑up |
  | OpenRouter – API gateway for Gemini Flash & other LLMs                                                                        | One key unlocks multiple frontier models  | openrouter.ai                  |
  | Serper.dev – Google Search API                                                                                                | 2 500 searches/month on the free tier     | serper.dev                        |

  Add the relevant keys or signup details from these links, drop them into the matching n8n credentials, and you’re all set to enrich your first 2 500 contacts at zero cost. Happy building!

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.splitInBatches","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5164 characters]

metadata_json:
  {"categories":["automation","data enrichment","lead generation","integration"],"complexity":"medium","use_cases":["Find likely business emails for leads from a Google Sheet","Verify email deliverability in real time or via bulk tools","Automate lead enrichment and logging back to a tracking sheet","Scale outreach prep while staying within API/free-tier limits"],"estimated_setup_minutes":5,"required_services":["Google Sheets","Serper.dev (search API)","OpenRouter (Gemini Flash / LLM access)","Prospeo (email verification API) — optional","Sparkle.io (bulk verification) — optional"],"key_features":["Selects only rows with Status = FALSE and processes in batches","Learns dominant company email pattern from search snippets via Serper + LLM","Constructs likely emails from first/last names and company pattern","Verifies addresses in real time (Prospeo) or supports bulk Sparkle.io workflow","Writes pattern, email, confidence and verification status back to the sheet automatically"],"target_audience":["Growth teams","SDRs / sales reps","Recruiters / talent sourcers"]}


name: Sync New Shopify Customers to Odoo Contacts
author_name: Evozard
author_username: evozardconsulting
categories: []
created_at: 2025-05-01T10:40:04.019Z
updated_at: 2025-05-01T10:40:04.019Z
url: https://n8n.io/workflows/3818
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  This workflow functions by integrating Shopify customers into Odoo customers.

  Trigger: Shopify – New Customer Created
     The workflow starts when a new customer is added in Shopify.

  Action: Odoo – Search Contact by Email
     It checks in Odoo to see if a contact already exists with the same email address as the Shopify customer.

  Condition: Email Match Check
      If a contact with the same email is found, the workflow ends (no duplicate contact is created).
      If no match is found, the workflow proceeds to the next step.

  Action: Odoo – Create New Contact
     A new contact is created in Odoo using the customer's:
      Full name
      Email address
      Phone number
      Full Address (whichever is available)

nodes_used:
  ["n8n-nodes-base.filter","n8n-nodes-base.odoo","n8n-nodes-base.shopifyTrigger","n8n-nodes-base.odoo","n8n-nodes-base.code"]

workflow_json_compressed:
  H4sIAAAAAAAAE8VWbW/bNhD+KwIxIC0gepREvQLFkHktEKyogSYtiiZBQZGnRK1MqiSdFxv67wMlO36J0m7LgPmTRR6fu3vuHvJWqBaoQJ9b8j46CcSHr59nJ8uwQT6ag2WoWKFaGsskhxNnl5QRZDzhEeGiKiuShFnEoorFKQmSPAp5UlLgeZxnecJjHtMEqjhL4qpK8rSqAuQjC/O2YRamGoQ5Bbtop2reNmBBoMLqBXQ+kmwOqECn95J77+DWO71WbV3de9OFsWoO2nhWeTOhlDdV0jJujQNmVwYV55c+kkqA+7sakmNA0jAPckyrLMM0DUNcBlGOwyTMIKRllpcMPTh9UzcWtMO7b923zCTuAXHJDEyqzXarTG1rJVFxjmlIfEzJpY9aptkcLGjjuONKit6o/yqVaoDJPrAb1iwgQAV6tVp5v3w1Sk7grja2llde16HusuuGCD6CNr2XoPM3+URJSlMR4yjKAkyjMsO5gApDJEqe5TQUpdjmcwpM8+s9tp5MTgmlDlLLyHhqTT2vLSoCH6l2k2HnIw1GLTR32LwvFnIGoNmAh67AHjeuvQYe38P3BRjrANfEPpCz4ebF0ab6Z7q+ugJ99HJSW5hPBtLmrG4cYw4RGvFuSLpfdiz66zDeb+PSYCYt01aCRm5fgwBpa9b0eTkKjtu673xHNvl+8iedfg9+v52dlndn2ZbYntGAZpMkmQRxOglJVmQkydHj0vmINbfs3swWtl3YP5hT1tDqm5LGoUgYrzBkPMQ04wKXlHKckygJUh5GkMNOSfcJebKcZrDbmu0WNiDJprK3UF4r9a1XeETKLK9IgiGmHFOaBDiHAHAOVVqFYQAkK9FhM1jV1vyh5KDNr1wDsy5ktrDXjl6+6QDGORhzpr6BHKF/HfLx1mi3GMtvn5aflzxPP90fv63e7RTj9Y1aMi08vLkrRqrwwHYVkTDKSIwFJyWmKY0xK9MSp2kZiiwIohSiLfS0T+XfaCek49oZE8kP23Td3OZMDcHM9IdWOH573bidXje7CuiDX5/7+Pf1xITQYAyYc3I5cRj9beSvRtT1z8EfxHoIaKwGsM8Nd/0RPO0h/I9chGMueG3vn4vvMMawl3X7XOhl3Y4ht9dKPrtRepDtu/V/XakVa8z2TqUcqjiHCpOSUUwBAGdRmeAwDWNaVSLOU7qjciXgSW3zYXNX28kT7+LcmRZIL+RMcnij9GvGr08sOI1/NdNh90JeyBumPT7cKV8EWKeMVz8h/UJyJY1qYNKoqxdHePjtg6wX8ZG/v/5y8LgZMr6sd9c+H88IP/d7CLX1fLjzaGHSv/Cz6uWF1GAXWnqrjUnxyLYW3m+eey2H+h7kVex/dhf9q7LXK2F36SPGbX0D6x7xkQHrnPQlgzvgC1fXmRZuAkE3gcO4Gc6fDL1EaEojhjnhEaY5ITjPkwhHnJG4TOKcZNxd4kpK4A8D31DtFZqz2vXM+aqfTEdmzN7AR7UUcIcK0l26wWVtNHb+qSdpFOdwWhgD/OGQOI46cmI01D1djUB13V+d6OdNhAwAAA==

metadata_json:
  {"categories":["integration","automation","CRM"],"complexity":"simple","use_cases":["Sync new Shopify customers to Odoo as contacts","Prevent duplicate contacts by email","Centralize customer records between e-commerce and ERP/CRM","Automate onboarding of customer data into Odoo"],"estimated_setup_minutes":15,"required_services":["Shopify","Odoo"],"key_features":["Triggered on new Shopify customer creation","Search existing Odoo contacts by email to avoid duplicates","Create Odoo contact with name, email, phone, and address","Simple mapping and optional code node for custom transformations"],"target_audience":["e-commerce managers","operations teams","small business owners implementing integrations', 'n8n users/integrators"]}


name: Sync New Shopify Products to Odoo Products
author_name: Evozard
author_username: evozardconsulting
categories: []
created_at: 2025-05-01T10:58:17.969Z
updated_at: 2025-05-01T10:58:17.969Z
url: https://n8n.io/workflows/3819
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  Seamlessly sync newly created Shopify products into Odoo with this smart, no-code n8n workflow. Automatically checks for duplicates and creates new products only when needed – fully compatible with standard Odoo setup.

  🚀 Key Features:
  Trigger-based Automation: Starts instantly when a new product is created in Shopify

  Duplicate Check: Searches for an existing product in Odoo using Shopify’s product SKU as the Internal Reference (Default Code)

  Smart Condition Logic:

  If a matching product is found, the workflow stops – preventing duplicates

  If not found, a new product is created in Odoo

  Auto-Creation of Odoo Product using Shopify data:

  Product Name

  Description

  Price

  Internal Reference (SKU)

  Works with both Odoo Community and Enterprise editions

  Fully customizable and extendable in n8n

  No coding, no custom modules required

  🛠 Requirements:
  n8n (self-hosted or cloud)

  Shopify API access

  Odoo instance with standard API access

  💡 A perfect solution for businesses that regularly add new products to Shopify and want them mirrored in Odoo – automatically and without manual effort.

  +++++++++++++++++++++++++++++++++++++++++
  Workflow functions like the integration of a Shopify product with an Odoo product.
      
  Trigger: The workflow starts when a new product is created in Shopify.

  Check Existing Products: It searches in Odoo to check if any product already exists with the same Internal Reference or Default Code (taken from the Shopify product data).

  Condition:
      If a matching product is found: The workflow stops (no duplicates are created).
      If no matching product is found: It proceeds to create a new product in Odoo.

  Create Product in Odoo: A new product is created in Odoo using the following fields from Shopify:
      Product Name
      Description
      Price
      Internal Reference (or Default Code)

nodes_used:
  ["n8n-nodes-base.odoo","n8n-nodes-base.filter","n8n-nodes-base.odoo","n8n-nodes-base.shopifyTrigger","n8n-nodes-base.code"]

workflow_json_compressed:
  H4sIAAAAAAAAE52TQU/cMBCF/8pqzpnKTmzHzrVVEZeCRNsL2sPYHkNUNlklWZbtKv+9ShZYQEtFe4vjec+fn2f2UEeoQKnL8/Oz7eXvH+ziWfKQwYoHgmoPddMP1AQ+n+qML9gGEwoRYvJJmNwWVCTSpZDGFXkwXnFw2llngg5aGU7aGp2ScWVKEsYMGloxVHC1a8LiG28XV7ftuk67xWXXxk0Y+sXQLi5i2z79gAwGuumhul5m0LSRp8/9gVtTLJNTEpVUBpV1JVIsBMYQQyBvNdscno+cXM1kt1tPy8Y2OPuhp54/tbFtIYN129dD3TZQXRe5yMQygzV1tOKBux6q/XjQ/+Sun6tkBnS3pV1/sRnWm+ELTbEN3YbH7BFSeklFqQtkozQqowNaqTVStEEIkwqWxRHya303cJe/i5nm/degpfoI6DOQ9oW1lAJGdoQqVwatJouCk+JgKQgfXqdW/kNq7r9TS3TXH2MrjSZm0ugTW1TRBHSGFLL3QbqcXDTiSPnURd+7+uZmzuc0b3+oO5a9ILcH8C3727b9NTd8Ibx1SRhkrQIqZSQ6loyOU5nyXLKw07B8MHiWPk9W5Si8VqiS1uiCcUgqKlGWZYriRfCf28jv3iMcNl/Qa/OB3PNxmQGFob7nx7wz6HkY6maasD3wA4fNZHjRRe6ggvt5Zu8P+jkSHYNJTpYYiSwqKx16mxLKoAz5Untjp3cJbdNwmKxm4/ky1R5WVE+w1/t5lE/1+1yRQd1EfoBKjMvlmD2O7in965ROip+OOCV/090n9W976z0f81efcfwDz3o6Sm0FAAA=

metadata_json:
  {"categories":["automation","integration","e-commerce","ERP","data synchronization"],"complexity":"medium","use_cases":["Automatically mirror new Shopify products to Odoo","Prevent duplicate product records in Odoo","Maintain consistent product data between storefront and ERP"],"estimated_setup_minutes":20,"required_services":["n8n (self-hosted or cloud)","Shopify API access","Odoo instance with API access"],"key_features":["Trigger-based on new Shopify product creation","Searches Odoo by Internal Reference (SKU) to prevent duplicates","Creates Odoo product with name, description, price, internal reference","Works with Odoo Community and Enterprise editions","No-code workflow in n8n and fully customizable"],"target_audience":["e-commerce managers","operations/fulfillment teams","IT/integration engineers implementing ERP syncs"]}


name: Dynamically switch between LLMs for AI Agents using LangChain Code
author_name: Mario
author_username: octionic
categories: []
created_at: 2025-05-01T12:28:53.112Z
updated_at: 2025-05-01T12:28:53.112Z
url: https://n8n.io/workflows/3820
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  Dynamically switch between LLMs for AI Agents using LangChain Code

  Purpose

  This example workflow demonstrates a way to connect multiple LLMs to a single AI Agent/LangChain Node and programmatically use one – or in this case loop through them.

  What it does

  This AI workflow takes in customer complaints and generates a response that is being validated before returned. If the answer was not satisfactory, the response will be generated again with a more capable model.

  How it works

  A LangChain Code Node allows multiple LLMs to be connected to a single Basic LLM Chain. On every call only one LLM is actually being connected to the Basic LLM Chain, which is determined by the index defined in a previous Node.
  The AI output is later validated by a Sentiment Analysis Node
  If the result was not satisfactory, it loops back to the beginning and executes the same query with the next available LLM
  The loop ends either when the result passed the requirements or when all LLMs have been used before.

  Setup
  Clone the workflow and select the belonging credentials. You'll need an OpenAI Account, alternatively you can swap the LLM nodes with ones from a different provider like Anthropic after the import.

  How to use

  Beware that the order of the used LLMs is determined by the order they have been added to the workflow, not by the position on the canvas.

  After cloning this workflow into your environment, open the chat and send this example message:

  &gt; I really love waiting two weeks just to get a keyboard that doesn’t even work. Great job. Any chance I could actually use the thing I paid for sometime this month?

  Most likely you will see that the first validation fails, causing it to loop back to the generation node and try again with the next available LLM.

  Since AI responses are unpredictable, the results and number of tries will differ for each run.

  Disclaimer
  Please note, that this workflow can only run on self-hosted n8n instances, since it requires the LangChain Code Node.

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.code","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.noOp","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.sentimentAnalysis","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4352 characters]

metadata_json:
  {"categories":["automation","AI/ML","integration"],"complexity":"medium","use_cases":["Customer support response generation with validation and retries","Multi-LLM orchestration and fallback sequencing","Automated model selection and quality escalation","Testing and comparing LLM outputs for reliability"],"estimated_setup_minutes":20,"required_services":["Self-hosted n8n instance with LangChain Code Node enabled","OpenAI account (or alternative LLM providers e.g., Anthropic) and corresponding credentials","LangChain library access (used by the LangChain Code Node)","Sentiment analysis service or credential (n8n sentimentAnalysis node or external API)"],"key_features":["Dynamically switch between multiple LLMs connected to a single LangChain/Basics LLM chain","Programmatic selection and looping through LLMs based on an index","Automated validation of AI output via sentiment analysis and conditional retry with more capable model","Stops when validation passes or when all models have been tried","Supports swapping LLM providers (OpenAI, Anthropic, etc.)"],"target_audience":["Developers building AI agents","AI/ML engineers experimenting with multi-model strategies","n8n power users running self-hosted instances (DevOps) interested in model orchestration and validation workflows"]}


name: Auto-Post Breaking News Content Using Perplexity AI to X (Twitter)
author_name: Aitor | 1Node
author_username: aitoralonso
categories: []
created_at: 2025-05-01T16:38:32.582Z
updated_at: 2025-05-01T16:38:32.582Z
url: https://n8n.io/workflows/3822
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  Stay ahead of the curve and keep your followers informed—automatically.  
  This n8n workflow uses Perplexity AI to generate insightful answers to scheduled queries, then auto-posts the responses directly to X (Twitter).

  ⚙️ What this workflow does

  Scheduled Trigger – Runs at set times (daily, hourly, etc.).
  searchQuery – Define what kind of trending or relevant insight you want (e.g. “latest AI trends”).
  set API Key – Securely insert your Perplexity API key.
  Perplexity API Call – Fetches a short, insightful response to your query.
  Post to X – Automatically publishes the result as a tweet.

  🧩 Requirements

  An n8n account (self-hosted or cloud)
  A Perplexity API key
  A connected X (Twitter) account via n8n’s credentials

  ✅ Setup Steps

  Add this workflow into your n8n account.
  Edit the searchQuery node with a topic (e.g. “What’s new in ecommerce automation?”).
  Paste your Perplexity API key into the set API key node.
  Connect your X (Twitter) account in the final node.
  Adjust the schedule timing to suit your content frequency.

  💡 Ideas to Improve

  💬 Add a formatting step to shorten or hashtag the response.
  📊 Pull multiple trending questions and auto-schedule posts.
  🔁 Loop responses to queue a full week of content.
  🌐 Translate content before posting to reach a global audience.

  🆘 Need help?

  Feel free to contact us at 1 Node.
  Get instant access to a library of free resources we created.

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.twitter"]

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

metadata_json:
  {"categories":["automation","social media","content publishing","AI integration"],"complexity":"simple","use_cases":["Automatically post breaking news or trending updates","Curate and publish AI-generated short summaries","Social media automation for scheduled content","Rapid dissemination of insights from scheduled queries"],"estimated_setup_minutes":15,"required_services":["n8n (self-hosted or cloud)","Perplexity API","X (Twitter) account/credentials"],"key_features":["Scheduled trigger to run at set intervals","Perplexity API call to generate concise answers","Auto-posting of responses to X (Twitter)","Secure API key injection via set node","Configurable search query and posting schedule"],"target_audience":["social media managers","journalists and newsrooms","marketers and content creators interested in automation\",\"growth hackers and community managers\",\"developers or automation engineers"]}


name: Auto-Generate MVP Startup Ideas from Reddit with AI & Excel Storage
author_name: Jesse White
author_username: creativeaitools
categories: []
created_at: 2025-05-01T18:16:15.089Z
updated_at: 2025-05-01T18:16:15.089Z
url: https://n8n.io/workflows/3824
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  🧠 Reddit MVP Generator – Auto-Generate Startup Ideas from Real User Pain Points
  The Reddit MVP Generator is a fully automated business idea mining system built in n8n. It scans trending posts and user comments on Reddit to identify real-world pain points and uses an AI-powered chain to generate detailed, structured MVP business ideas—including industry, business type, revenue potential, and startup cost estimates.

  🚀 Key Features
  Live Reddit Scraper: Select from a curated list of entrepreneur and business subreddits (e.g., r/smallbusiness, r/entrepreneur, r/marketing) to fetch top trending posts.

  Comment Analysis: Pulls Reddit comments and flattens threads to extract community pain points.

  AI Business Generator: Uses OpenRouter-compatible LLMs (like GPT-4o-mini or Gemini Flash) to analyze post content and comments. Outputs are structured JSON objects with MVP ideas.

  Zero Duplicate Analysis: Automatically deduplicates previously analyzed Reddit posts using a dynamic blocklist.

  Excel Integration: Saves each MVP idea directly into your Microsoft Excel 365 sheet, organized by MVP, Industry, Pain Point, Startup Costs, and Revenue potential.

  Easy Subreddit Selection: User-friendly form trigger lets you choose your target subreddit without editing the workflow.

  Offline-Friendly: All results are stored in Excel for later review or distribution—ideal for content creators, market researchers, or startup founders.

  🛠️ Requirements
  Free n8n account (self-hosted or cloud)

  Reddit developer credentials

  OpenRouter API key (supports Qwen, GPT-4o-mini, Gemini)

  Microsoft Excel 365 with Azure OAuth2 app setup

  📦 What You Get
  Complete n8n workflow file

  Setup notes inside the workflow (via Sticky Notes)

  Instructions for Excel table formatting and OAuth2 setup

  Output schema designed for downstream automation or AI agents

nodes_used:
  ["n8n-nodes-base.reddit","n8n-nodes-base.reddit","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.formTrigger","n8n-nodes-base.microsoftExcel","n8n-nodes-base.aggregate","n8n-nodes-base.aggregate","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.removeDuplicates","n8n-nodes-base.splitOut","n8n-nodes-base.microsoftExcel","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.splitInBatches","n8n-nodes-base.merge","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.splitOut","n8n-nodes-base.microsoftExcel"]

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

metadata_json:
  {"categories":["automation","integration","data processing","ai-assisted ideation"],"complexity":"complex","use_cases":["Automated startup idea generation from social conversations","Market research and trend discovery","Content ideation for blogs/newsletters/videos","Early-stage product validation and opportunity scouting","Building a backlog of MVP concepts for founders or accelerators"],"estimated_setup_minutes":60,"required_services":["n8n (cloud or self-hosted)","Reddit developer credentials (API)","OpenRouter API key or compatible LLM provider (e.g., GPT-4o-mini, Qwen, Gemini)","Microsoft Excel 365 with Azure OAuth2 app / Microsoft Graph access"],"key_features":["Live Reddit scraping of selected entrepreneur/business subreddits","Comment flattening and pain-point extraction","AI chain produces structured MVP ideas (industry, business type, revenue potential, startup cost)","Automatic deduplication via dynamic blocklist","Direct Excel 365 storage with table schema for later use/offline review"],"target_audience":["Startup founders and entrepreneurs","Product managers and builders","Market researchers and analysts」「Content creators and newsletter authors"]}


name: 🧹 Archive (delete) duplicate items from a Notion database
author_name: Lucía Maio Brioso
author_username: luciamb
categories: []
created_at: 2025-05-01T19:04:14.005Z
updated_at: 2025-05-01T19:04:14.005Z
url: https://n8n.io/workflows/3825
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  🧑‍💼 Who is this for?

  If you’re using Notion to manage a database (like saving links, tasks, notes, or anything really), and it’s starting to get messy with duplicate entries, this workflow is for you.

  It’s especially useful if you want to keep things tidy without doing any manual cleanup.

  🧠 What problem is this workflow solving?

  Notion doesn’t have a built-in way to find or remove duplicates, so you either clean them up manually 😩 or just let them pile up.

  This workflow automatically finds entries that share the same property (like a URL or title) and archives the extra copies, keeping just one.

  ⚙️ What this workflow does

  Pulls all pages from a Notion database.
  Identifies duplicates based on a property you choose.
  Archives the duplicate pages (which is like soft-deleting them).
  Keeps one version of each duplicate group.

  It includes two optional triggers:

  Run it every day ⏰
  Or trigger it automatically when a new page is added to the database ⚡

  🛠️ Setup

  Connect your Notion account in n8n.
  Select your database in the Notion nodes.
  In the “Format items properly” node, replace "SET YOUR PROPERTY HERE" with a reference to the property you want to use for detecting duplicates. I recommend using the n8n property drag-and-drop feature.
  Enable whichever trigger you prefer — or both.

  And that’s it. It runs on its own after that.

  🧩 How to customize this workflow to your needs

  Use a different property for detecting duplicates by updating the Set node.
  Want to tag duplicates instead of archiving them? Just replace the last Notion node with an update operation.
  Adjust the schedule to run it hourly, weekly, or whenever suits your setup.

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.notion","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.notion","n8n-nodes-base.notionTrigger","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":["Automatically archive duplicate entries in a Notion database","Maintain a single canonical record when duplicates appear","Run regular scheduled cleanups of a Notion database","Trigger duplicate cleanup immediately when a new page is added","Customize behavior to tag rather than archive duplicates"],"estimated_setup_minutes":10,"required_services":["Notion","n8n"],"key_features":["Pulls all pages from a Notion database","Identifies duplicates based on a user-selected property","Archives (soft-deletes) duplicate pages, keeping one copy","Optional triggers: scheduled run or on-new-page trigger","Configurable property mapping via Set node (easy customization)"],"target_audience":["Notion users","n8n users (automation builders)","Knowledge workers and content managers maintaining databases around links/tasks/notes','Workspace admins and operations teams"]}


name: AI Chat Agent: Dumpling AI + GPT-4o to Auto-Save Local Business Data to Airtable
author_name: Yang
author_username: yang
categories: []
created_at: 2025-05-01T19:21:12.203Z
updated_at: 2025-05-01T19:21:12.203Z
url: https://n8n.io/workflows/3826
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 digital marketers, small business owners, lead generation agencies, and VAs who need a scalable way to find and store local business leads using AI. It’s especially useful for teams that want to enrich leads with real-time news insights and save the structured data to Airtable.

  What problem is this workflow solving?
  Manually researching local businesses and staying up to date with relevant news is time-consuming and inefficient. This automation eliminates that burden by using Dumpling AI chat agents to generate leads and context, GPT-4o to summarize, and Airtable to store everything in one place.

  What this workflow does
  This AI workflow listens for a manual trigger in n8n and executes the following steps:
  Extracts local business leads using a Local Business Agent from Dumpling AI.
  Pulls current news related to the business type or location using a News Agent from Dumpling AI.
  Uses GPT-4o to combine both responses into a human-readable summary.
  Extracts structured lead data like name, category, and city.
  Saves the summary and lead data into Airtable for easy follow-up.

  Setup

  1. Create AI Agents in Dumpling AI
  Sign in at Dumpling AI
  Create two separate agents:
    Local Business Agent: Designed to respond with structured lists of businesses by location and category.
    News Agent: Designed to fetch relevant recent news and summaries about a specific industry or region.
  After setting up each agent, copy the Agent Key from Dumpling AI. These keys will be required in the headers of your HTTP Request nodes in n8n.

  2. Manual Trigger
  This workflow begins with a manual trigger inside n8n, Which is the When chat message is recieved.
  This makes it easy to test and reuse, especially during setup.

  3. Get Local Business Data from Dumpling AI
  The first HTTP Request node sends a prompt like List 5 top real estate companies in Atlanta with full address and services.
  Include your Local Business Agent Key in the x-agent-key header.
  The response will return a structured list of business leads.

  4. Get News Context from Dumpling AI
  The second HTTP Request node sends a prompt such as Give me the latest news related to the real estate market in Atlanta.
  Use your News Agent Key in the header.
  This fetches a brief set of recent news summaries relevant to the businesses being researched.

  5. Use GPT-4o to Merge and Summarize
  The GPT node combines the list of businesses and news into one coherent summary.
  You can modify the prompt to output in paragraph format, bullet points, or structured notes.

  6. Save Lead to Airtable
  The Airtable node sends all structured fields into your selected base and table.
  Be sure to connect your Airtable account and confirm the columns match exactly.

  How to customize this workflow
  Replace the prompt inside the HTTP node to focus on different types of businesses or cities.
  Expand the GPT output to include additional lead info like websites, phone numbers, or emails if the agent includes them.
  Add a webhook trigger to allow this flow to be run via a chatbot, external app, or button.
  Link to HubSpot or another CRM to sync the leads automatically.
  Duplicate the process to run for multiple industries in parallel.

  Final Notes
  You must create and configure your Dumpling AI agents first before running this workflow.
  The Agent Keys from Dumpling AI are required in both HTTP Request nodes.
  This flow is modular and flexible, ready for deeper CRM integrations.
  The manual trigger is great for testing, but you can add a Webhook node to automate it.

  This workflow helps you launch an intelligent lead gen process that combines location-targeted business discovery, AI-generated insights, and structured CRM-friendly output, all powered by Dumpling AI and OpenAI.

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

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

metadata_json:
  {"categories":["automation","lead generation","AI-powered enrichment","CRM/Database integration"],"complexity":"medium","use_cases":["Local business lead discovery","Lead enrichment with news/context","Automated saving of leads to Airtable","Scaling outreach and prospecting workflows","Integrating AI agents into CRM pipelines"],"estimated_setup_minutes":30,"required_services":["Dumpling AI (Agent keys)","OpenAI GPT-4o (or compatible LM)","Airtable account and base/table","n8n (workflow runner)"],"key_features":["Use Dumpling AI agents to extract local business lists","Fetch recent news context via a News Agent","Combine and summarize results with GPT-4o","Extract structured lead fields (name, category, city, etc.)","Auto-save records into Airtable table/fields"],"target_audience":["Digital marketers","Small business owners","Lead generation agencies and VAs (virtual assistants)"]}


name: Generate Business Leads with OpenStreetMap Data and Save to Google Sheets
author_name: Akram Kadri
author_username: akramkadri
categories: []
created_at: 2025-05-01T23:25:05.944Z
updated_at: 2025-05-01T23:25:05.944Z
url: https://n8n.io/workflows/3827
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who is this template for?

  This n8n lead generation workflow template is designed for business owners, marketers, sales professionals, and entrepreneurs who need to generate targeted business leads without paying for expensive APIs or third-party services. The template leverages the free Overpass API (powered by OpenStreetMap data) to gather comprehensive business information for any industry in almost any region worldwide.

  Perfect for:
  Small businesses looking to expand their customer base
  Real estate agents seeking potential clients
  Marketing agencies needing targeted lead lists
  Entrepreneurs researching potential markets
  Sales teams building prospect databases

  You can watch the video tutorial here: https://youtu.be/6WVfAIXdwsE

  How it works

  This n8n lead generation template provides a powerful solution using n8n core nodes and the free OpenStreetMap Overpass API, allowing you to generate thousands of business leads with comprehensive contact information:

  Data Collection Process

  1. Define Your Queries
  Create a list of search queries combining keywords (like "real estate", "dentist", etc.) with target locations
  Use both inner areas (specific cities) and outer areas (broader regions) to precisely target your search

  2. Iterative Query Execution
  The workflow processes each query in sequence, preventing API timeout issues
  Each query triggers a sub-workflow that handles the data extraction process

  3. Data Extraction via OpenStreetMap's Overpass API
  Searches for businesses matching your keywords in name, description, and relevant OpenStreetMap tags
  Collects comprehensive business data including names, addresses, and contact details from the OpenStreetMap database
  Searches using both regular expressions and exact tag matching for optimal n8n lead generation results

  4. Website Scraping for Additional Information
  For businesses with websites but missing email addresses, the workflow visits their homepage
  Extracts email addresses using regular expressions for more complete contact information
  Filters out irrelevant emails using configurable patterns

  5. Data Cleaning and Organization
  Removes duplicate contact information and standardizes data format
  Filters results based on your specific requirements for contact details
  Saves all extracted data to Google Sheets for easy access and management

  Setup

  1. Configure Your Queries:
  Open the "Run Workflow" node and input your list of queries
  Format queries with outer area, inner area, and keyword (e.g., "California,Los Angeles,real estate")

  2. Optimize Tag Targeting:
  After initial runs, identify the specific tags used by your target industry
  Update the HTTP Request node with these specific tags to improve result quality
  Common tags include "office", "shop", and "amenity" with industry-specific values

  3. Configure Data Filters:
  Customize the filter node to keep only results meeting your specific requirements
  Adjust the email filtering regex to remove irrelevant email addresses

  4. Set up Google Sheets Integration:
  Configure the Google Sheets node to save results to your preferred spreadsheet
  Authorize the connection to your Google account

  5. Run the Workflow:
  Start the workflow and watch as your Google Sheet fills with comprehensive business leads
  The template automatically handles pagination and rate limiting to prevent API timeouts

  The resulting leads include comprehensive contact information such as:
  Business names
  Complete addresses (street, city, postal code)
  Phone numbers
  Email addresses (both from API and website scraping)
  Website URLs
  Social media accounts
  Opening hours
  And more!

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.wait","n8n-nodes-base.noOp","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.splitInBatches","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.executeWorkflow","n8n-nodes-base.splitInBatches","n8n-nodes-base.filter","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.splitOut","n8n-nodes-base.httpRequest","n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["lead generation","automation","data enrichment","integration","web scraping"],"complexity":"medium","use_cases":["Generate targeted business lead lists by industry and region","Build prospect databases for sales outreach","Market research to discover businesses in specific areas","Enrich leads with emails/phones/website/socials/opening hours","Automate large-scale Overpass API queries and save results to Google Sheets"],"estimated_setup_minutes":20,"required_services":["OpenStreetMap Overpass API (free)","Google Sheets (Google account)","Public business websites for optional email scraping","Internet access from the n8n instance"],"key_features":["Query OpenStreetMap via Overpass API for businesses by keyword/location","Iterative/sub-workflow processing to avoid API timeouts and handle pagination","Regex and tag-based matching to improve search accuracy","Website scraping to extract missing email addresses with filterable regex","Duplicate removal and data cleaning/standardization steps','Save structured results to Google Sheets for easy management"],"target_audience":["Small business owners","Marketers and marketing agencies","Sales teams and SDRs building prospect lists  (NoOp)??"]}


name: Generate YouTube Video Summaries with SearchAPI Transcripts and LLM
author_name: Pedro Santos
author_username: dapedu
categories: []
created_at: 2025-05-02T04:03:32.827Z
updated_at: 2025-05-02T04:03:32.827Z
url: https://n8n.io/workflows/3828
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-30 08:33:37
description:
  🎥 Summarize YouTube Videos using SearchApi & LLM

  Who is this for?

  This workflow is ideal for content creators, students, digital marketers, educators, and researchers who want to quickly summarize YouTube videos.

  What problem does this workflow solve?

  Manually extracting important information from lengthy YouTube videos can be tedious and prone to errors. This workflow streamlines the process by automatically fetching video transcripts using SearchApi.io and producing concise, informative summaries through a summarization chain powered by any LLM provider. This allows users to quickly access crucial information without the need for manual transcription or detailed viewing.

  What this workflow does

  Fetches the complete transcript of a YouTube video using SearchApi.
  Combines the retrieved transcript into a single, continuous text.
  Utilizes a Summarization Chain with an LLM (e.g., OpenRouter models) to create a concise summary of the video content.

  Setup

  Install the SearchApi community node:
     Open Settings → Community Nodes inside your self‑hosted n8n instance.
     Fill npm Package Name with @searchapi/n8n-nodes-searchapi.
     Accept the risk prompt, and hit Install.
     It should now appear as a node when you search for it.

  API Configuration:
     Set up your SearchApi.io credentials in n8n.
     Add your preferred LLM provider credentials (e.g., OpenRouter API).

  Input Requirements:
     Provide the YouTube video ID (e.g., wBuULAoJxok).

  Connect LLM Integration:
     Configure the summarization chain with your chosen model and parameters for text splitting.

  How to customize this workflow to meet your needs

  Adjust the summarization model or modify text-splitter parameters to accommodate different lengths and complexities of video transcripts.
  Integrate additional nodes to export summaries directly into your preferred tools, such as Google Drive, Slack, or email.
  Customize prompt templates in the summarization chain to obtain various summary styles (bullet points, paragraphs, etc.).
  Modify the trigger to suit your workflow.

  Example Usage

  Input: YouTube video ID (wBuULAoJxok).
  Output: A concise, actionable summary that highlights key ideas, recommendations, and insights from the video.

nodes_used:
  ["n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.chainSummarization","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","n8n-nodes-base.splitOut","n8n-nodes-base.summarize","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@searchapi/n8n-nodes-searchapi.searchApi","@n8n/n8n-nodes-langchain.lmChatOpenAi"]

workflow_json_compressed:
  H4sIAAAAAAAAE5VW627bNhR+FYL7F4iZRFEUqV/rtqIo0C5YY3To2qA4Io9sIjblSZSTNDDQx9her08yUM5FqZ02/RM41Ll85zvXa+osrejr87/Lsn/5/NXzE37+52VGE7rCALS6ps73AbzBl1HOFgqhkKJsMgEZ51AUquGgtUFttNbQ5HWeNSJHlZZaKw1NJmRRShTAuVR0m1APK6QVPUXozOLZ2pF37RCGGslbZ7Elp8NqBd0VTWiAeU+r92cJ9a3F+PN6h5bXKYhcN0zUEpkQZc5A2oLpOkWjbC1LWdM7R38t0BOzdObc+Tn58vnfGfaBXLTdebNsL758/i+6ulpHUa88G32xGno8XoEfYDnr3HyOHU3ouu1dcK2n1XueJlylZwldQwcrDNj1tLre7iy9xa4fxbJtcgNZSt6UGlNmRZEyYTUyKPKSpaiaDFJVprW8h7zjwH2C6I38tgDn70H+4pX/+R7pEvzcRInj8e8D1YeYdXoQNG3XUeAGv1kMPhL1urXRGdhNTL6lX4fG70JrMCtroThTaZ4xYYVkiuuaFbpBqa1RpZqE9gbN0PVugzGsDkzAjszwMpDT9dKFMPL8vUADXoZb8Tt7d+Zmk68PCchSlSZF+hQGTt0npJVM0/TxnArFteGomeE5MFFwYLVINSuxMRwzzPLCTnIaIZGTITxabn2U2AlMQAv5hKw1Dpd21p7eWqho6MD3pnPr0O/lblKWIJRBzJnlkDGRlZYBLxVDXeRaFJlWUuyXJT4ewkRiEoNUT42hn7X3XqpruoHlcNP64/cYGV5GinqMtgL+ekUrSmhCYT7vcL6r+4qa1hsI6CEg3Z5t9yg4viehkVY1aWoYgtJMZFnGtGyANZlVthZSpTKdkBCcOb8if7ThGzSMMjciEx7SZJ8D0y7bjlZFQi+cDQta5TxNIvyAPibyp58OD8gP/oXboCdAjo428cNHZ4+OSNO1q1uFhFwgmRBBwgKJhQAEvCVr6HviAgktAdI/mDi7NiOzlnSDJ2Hh+rt5mZCrdiAe0UbFBWx2Vk2HFn1wsOxJ03bkbrofu3b01rcrJK9evSbrro1wu+NvlKWoc5NC3TCUZZyWpma11JZBKbFQtuZ1iQczkv1wSjg/PBIW6OaLQKtsLxsztyYf/Lt2IAb8jsXIwH4W1h1uXDv0ZIQR6VrBORIgNcbZRGAI7WpXr49T0ejC5nnaMDQlZ8JyyXQjOJM5KMiFbZp8OmRuaZ9M0X58g7WbzNK7t+N+ojGlRRzu2Ef+Gxv0BsMtDTTZdW/cIm7++xVcvujftLEZE9rhPwP24eS+/x9nQIlG1QYlS63kTOjaMpVJzXQu80Ih5mU+mVEna/TPXsblEkjcYcsn7JPlKoqPmm5/ZR6qjtVoubqmHz92S1qFbsBkfKQVXbo+TGKfrwMTLVs572Ka22+EfMy3ZwkFE9wGadXAssc450Jwfj66xUs0Q9Q/6WwknW6yaHOzszBeaDy3dSZQsbrkhom8MazWuWCmyco8r6WsTWTLtN6juYUyqZsYXDw3qvcxo7uIDqyu1e4kcd7iJa3S7VnM6r3cQSv72+Owlen8f9TKwdPooL39iqiuKbiPMf8DzPHm7ak+9jS/9vf9C2fnf3rF/JD78PDAeej9+9fuQVb358YBLrfb/wEbxwEILwwAAA==

metadata_json:
  {"categories":["automation","integration","content-creation","AI/ML"],"complexity":"medium","use_cases":["Generate concise summaries of YouTube videos","Create notes or highlights for research/study","Repurpose video content for social posts or newsletters","Quickly assess video relevance for research or curation"],"estimated_setup_minutes":15,"required_services":["SearchAPI.io (transcript fetching)","LLM provider (e.g., OpenAI, Cohere)","YouTube (video URLs)","n8n instance"],"key_features":["Automatically fetches YouTube transcripts via SearchAPI.io","Splits long transcripts into manageable chunks","Summarizes chunks with an LLM and aggregates concise summary","Manual trigger and sticky notes for human review/context","Handles long videos by recursive text splitting and parallel summarization"],"target_audience":["content creators","students","digital marketers/SEOs/educators/researchers"]}


name: AI Agent Web Search using SearchAPI & LLM
author_name: Pedro Santos
author_username: dapedu
categories: []
created_at: 2025-05-02T04:16:38.453Z
updated_at: 2025-05-02T04:16:38.453Z
url: https://n8n.io/workflows/3829
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-30 08:33:37
description:
  🤖 AI Agent Web Search using SearchApi & LLM

  Who is this for?

  This workflow is ideal for anyone conducting online research, including students, researchers, content creators, and professionals looking for accurate, up-to-date, and verifiable information. It also serves as an excellent foundation for building more sophisticated AI-driven applications.

  What problem does this workflow solve? / Use case

  This workflow automates web searches by enabling an AI agent to efficiently retrieve and summarize external, verifiable information, ensuring accuracy through source citations.

  What this workflow does

  Connects an AI agent node to SearchApi.io as an integrated search tool.
  Empowers the AI agent to perform real-time web searches using various SearchApi engines (e.g., Google, Bing).
  Allows the AI agent to dynamically determine search parameters based on user interaction, delivering contextually relevant results.
  Ensures responses include clearly cited sources for validation and further exploration.

  Setup

  Install the SearchApi community node:
     Open Settings → Community Nodes inside your self‑hosted n8n instance.
     Fill npm Package Name with @searchapi/n8n-nodes-searchapi.
     Accept the risk prompt, and hit Install.
     It should now appear as a node when you search for it.

  API Configuration:
     Set up your SearchApi.io credentials in n8n.
     Add your preferred LLM provider credentials (e.g., OpenRouter API).

  Input Requirements:
     Provide the YouTube video ID (e.g., wBuULAoJxok).

  Connect LLM Integration:
     Configure the summarization chain with your chosen model and parameters for text splitting.

  How to customize this workflow to your needs

  Integrate additional nodes to structure or store search results (e.g., saving to databases, Notion, Google Sheets).
  Extend chatbot capabilities to integrate with messaging platforms (Slack, Discord) or email notifications.
  Adjust search parameters and filters within the AI agent node to tailor information retrieval.

  Example Usage

  Input**: User asks, "What are the latest developments in AI regulation?"
  Output**: AI retrieves, summarizes, and cites recent, authoritative articles and news sources from the web.

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

workflow_json_compressed:
  H4sIAAAAAAAAE5VWbW/bNhD+KwQ7IG0hOpRESZSAAcv2ZcGSdkCDFkUapCfyJBORSVei7QSB//tA2XGclyXtN4q+e+7uee6OvqVG04rOlu38H56enJqvn8zN9d80ojP0QKtbauzgwSo8DnY6kwhZLoomFhAnCWSZbBIoS4WlKssSmrRO40akKHlRlrKEJhZ5VuQoIElySdcRtTBDWtFPCL2aHs0NOTomRy1aTyPqoR1odX4RUes0huPtJsEiyTIhs4yBKBMmUpmwEnPNmhRrUctaKa3pDvvLFC1RU/BkhsMALZIeFZolBht/Mw82f1hpD620bIzEOrCtmoKxk+B31pu2xZ5GdO4G442ztDrPOY+E5BcRXWE9de5qQ4mQTYm8YKniGRM1SiZzBSxTiEIlRV3IJuBADzP02A+BVDcPmOG4Xm8y+oz9MIaJJ/E62lZdZrpMcl2wTGWSCZlpVtdCMJ5nGUIRQ1wk91V/MrN5h+QUZ66/+YlCZ6Phn4umwf6LsdqtHtZbSh4VPNT7MHnlrMdrv3E5Qdv6Ka0S/rSQdFdIqvIkL8qa5bkqmdA8Z5CUMSu5StOa17mK4b6Q/YZ4pQbY2u2lLfM7mX6Bc7lLlWccZAEFq3maMaHjmtUIOSvjTIs4tDeoPc69UVc35IPzeJ/tfaI1DDgZRputyV6iGedRkj/Hb+d6WmURXRkduE0FjzasW08r+uYNeTo832xoelxiT27cgsBwRYD8WOAQghEfZmGYukWnSY1kGN1Rk/EnJCuso/Fwh0ZWpuvIYsC7SP8eE++IdsT4CTlzpF8ETzOQleuvms6tojGsRdTBcApLHAFVjxqtN9ANpHH9Fg7mZmIcAavJ4GZITk5Oybx3S6Oxn9An6uy0kWmSqEKkjDccmChBsrppCoZKlDmHIktk8aw28S+LE6c5j+Qz3b/VJMl5RKdo2qmnVZw8FujMzL/Zr25BFIybyLYbPkLkQFCgFuwNcc14jbY1FgcCSzAd1B0GZc533E+Mu3g79X4+VIeHq9VqMuzRePjuBcZExmXWQMmKGgUTcc1Z2SQNg1wLJZsmL4uSPt3Je5O3C7U3f/fhhzuPM+e6RwwGVp7bH//zNS77bSI/aESX0C3C+ffbW3L4PgSHhXesRYs9eNSs6d3s6Ji5Jfa90fj+kPy2uXp7sAPll58DzEFEvn+PyMHge2Pbg3dkvabri3VEexxn5OMLu2HHZSNQN6opGHCZMlHImJWpjBmvU5UVDde8ru+5/DhHe3RM/gqTd+o0dj+xzbpZMB89zaOlJp7ncjYiV7f08rLvaOX7BUbjJa1oZwa/x2M790w4NjPWhIZ5cR0m64uIgvJmibRqoBswogN6b2w7hsVrVIvg/7HXQTm6jAPmcoMwvotxkuUQQ8xUI5AJVcZMclGwgtcKUl2mCsLbpZy1qO5S2evA6paCufShrarz0Bmbop6+DXdWETVW4zWt+PoiSPvwOdzAzbYfrwHO7t7Qh5BPNd3ABgUX0OL27jX0h+aPg7zw5yUIDsa+EmE0eYi6Xv8HbXxABukJAAA=

metadata_json:
  {"categories":["automation","integration","data processing","ai-driven research"],"complexity":"medium","use_cases":["Automated web research and summarization","Content creation research (articles, scripts)","Academic or market research","Building AI agents that fetch and verify up-to-date info","Quick fact-checking and source retrieval"],"estimated_setup_minutes":20,"required_services":["Search API (e.g., SerpApi, Bing, Google Custom Search)","LLM provider (e.g., OpenAI, Anthropic, Cohere)","Internet access / API keys"],"key_features":["AI-driven web search orchestration","LLM-based summarization and answer generation","Memory buffer to maintain context across interactions","Chat interface for conversational queries","Integration of search tool with agent reasoning for verifiable results"],"target_audience":["students","researchers","content creators (writers, journalists)`,`professionals conducting online research`,`developers building AI-driven search agents"]}


name: Discover & Enrich Decision-Makers with Apollo and Human Verification
author_name: Uche Madu
author_username: uchemadu
categories: []
created_at: 2025-05-02T10:16:09.559Z
updated_at: 2025-05-02T10:16:09.559Z
url: https://n8n.io/workflows/3830
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  🧩 What This Workflow Does
  This workflow automates the process of identifying and enriching decision-maker contacts from a list of companies. By integrating with Apollo's APIs and Google Sheets, it streamlines lead generation, ensures data accuracy through human verification, and maintains an organized leads database.

  📚 Use Case
  Ideal for sales and marketing teams aiming to:
  Automate the discovery of key decision-makers (e.g., CEOs, CTOs).
  Enrich contact information with LinkedIn profiles, emails, and phone numbers.
  Maintain an up-to-date leads database with minimal manual intervention.
  Receive weekly summaries of newly verified leads.

  🧪 Setup
  1. Google Sheets Preparation:

  Use the following pre-configured Google Sheet: Company Decision Maker Discovery Sheet.
  This spreadsheet includes the necessary tabs and columns: Companies, Contacts, and Contacts (Verified).
  It also contains a custom onEdit Apps Script function that automatically updates the Status column to Pending whenever the Domain field is modified.
  To review or modify the script, navigate to Extensions &gt; Apps Script within the Google Sheet.

  2. Credentials Setup:

  Configure the following credentials in your n8n instance:
  	Google Sheets: To read from and write to the spreadsheet.
  	Slack: To send verification prompts and weekly reports.
  	Apollo: To access the Organization Search, Organization Enrichment, People Search, and Bulk People Enrichment APIs.
  	LLM Service (e.g., OpenAI): To generate company summaries and determine departments based on job titles.

  3. Workflow Configuration:

  Import the workflow into your n8n instance.
  Update the nodes to reference the correct Google Sheet and Slack channel.
  Ensure that the Apollo and LLM nodes have the appropriate API keys and configurations.

  4. Testing the Workflow:

  Add a new company entry in the Companies tab of the Google Sheet.
  Verify that the workflow triggers automatically, processes the data, and updates the Contacts and Contacts (Verified) tabs accordingly.
  Check Slack for any verification prompts and confirm that weekly reports are sent as scheduled.

nodes_used:
  ["n8n-nodes-base.googleSheetsTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.slack","n8n-nodes-base.googleSheets","n8n-nodes-base.filter","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.splitOut","n8n-nodes-base.splitOut","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.slack","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.merge"]

workflow_json_compressed:
  [encoded data, 9908 characters]

metadata_json:
  {"categories":["automation","integration","data enrichment"],"complexity":"complex","use_cases":["Discover decision-makers at target companies","Enrich contacts with emails, phones and LinkedIn profiles","Human-verified lead validation via Slack","Maintain and sync an up-to-date leads database in Google Sheets","Generate company summaries and department classification using LLMs"],"estimated_setup_minutes":45,"required_services":["Google Sheets (with Apps Script)","Apollo API (Organization/People search & enrichment endpoints)","Slack","LLM service (e.g., OpenAI)"],"key_features":["Automated org/person discovery using Apollo APIs","Bulk people enrichment and batching to respect rate limits","Google Sheets read/write and status automation via Apps Script","Human verification flow via Slack prompts","LLM-powered company summaries and department inference from job titles','Scheduled weekly reports of verified leads"],"target_audience":["Sales teams (AE/SDR)","Marketing and demand-gen teams","Growth/ops teams managing lead databases"]}


name: Message Buffer System with Redis for Efficient Processing
author_name: Edisson Garcia
author_username: eagarciah707
categories: []
created_at: 2025-05-02T13:42:05.798Z
updated_at: 2025-05-02T13:42:05.798Z
url: https://n8n.io/workflows/3832
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  🚀 Message-Batching Buffer Workflow (n8n)

  This workflow implements a lightweight message-batching buffer using Redis for temporary storage and a JavaScript consolidation function to merge messages. It collects incoming user messages per session, waits for a configurable inactivity window or batch size threshold, consolidates buffered messages via custom code, then clears the buffer and returns the combined response—all without external LLM calls.

  🔑 Key Features

  Redis-backed buffer** queues incoming messages per context_id.
  Centralized Config Parameters** node to adjust thresholds and timeouts in one place.
  Dynamic wait time** based on message length (configurable minWords, waitLong, waitShort).
  Batch trigger** fires on inactivity timeout or when buffer_count ≥ batchThreshold.
  Zero-cost consolidation** via built-in JavaScript Function (consolidate buffer)—no GPT-4 or external API required.

  ⚙️ Setup Instructions

  Extract Session & Message

     Trigger: When chat message received (webhook) or When clicking ‘Test workflow’ (manual).
     Map inputs: set variables context_id and message into a Set node named Mock input data (for testing) or a proper mapping node in production.

  Config Parameters

     Add a Set node Config Parameters with:

            minWords: 3         # Word threshold
       waitLong: 10        # Timeout (s) for long messages
       waitShort: 20       # Timeout (s) for short messages
       batchThreshold: 3   # Messages to trigger batch early
          All downstream nodes reference these JSON values dynamically.

  Determine Wait Time

     Node: get wait seconds (Code)
     JS code:

            const msg = $json.message || '';
       const wordCount = msg.split(/\s+/).filter(w =&gt; w).length;
       const { minWords, waitLong, waitShort } = items[0].json;
       const waitSeconds = wordCount &lt; minWords ? waitShort : waitLong;
       return [{ json: { context_id: $json.context_id, message: msg, waitSeconds } }];
       
  Buffer Message in Redis

     Buffer messages: LPUSH buffer_in:{{$json.context_id}} with payload {text, timestamp}.
     Set buffer\_count increment: INCR buffer_count:{{$json.context_id}} with TTL {{$json.waitSeconds + 60}}.
     Set last\_seen: record last_seen:{{$json.context_id}} timestamp with same TTL.

  Check & Set Waiting Flag

     Get waiting\_reply: if null, Set waiting\_reply to true with TTL {{$json.waitSeconds}}; else exit.

  Wait for Inactivity

     WaitSeconds (webhook): pauses for {{$json.waitSeconds}} seconds before batch evaluation.

  Check Batch Trigger

     Get last\_seen and Get buffer\_count.
     IF (now - last_seen) ≥ waitSeconds * 1000 OR buffer_count ≥ batchThreshold, proceed; else use Wait node to retry.

  Consolidate Buffer

     consolidate buffer (Code):

            const j = items[0].json;
       const raw = Array.isArray(j.buffer) ? j.buffer : [];
       const buffer = raw.map(x =&gt; {
         try { return typeof x === 'string' ? JSON.parse(x) : x;
         } catch { return null; }
       }).filter(Boolean);
       buffer.sort((a, b) =&gt; new Date(a.timestamp) - new Date(b.timestamp));
       const texts = buffer.map(e =&gt; e.text?.trim()).filter(Boolean);
       const unique = [...new Set(texts)];
       const message = unique.join(' ');
       return [{ json: { context_id: j.context_id, message } }];
       
  Cleanup & Respond

     Delete Redis keys: buffer_in, buffer_count, waiting_reply, last_seen (for the context_id).
     Return consolidated message to the user via your chat integration.

  🛠 Customization Guidance

  Adjust thresholds* by editing the *Config Parameters** node.
  Change concatenation** (e.g., line breaks) by modifying the join separator in the consolidation code.
  Add filters** (e.g., ignore empty or system messages) inside the consolidation Function.
  Monitor performance**: for very high volume, consider sharding Redis keys by date or user segments.

  © 2025 Innovatex • Automation & AI Solutions • innovatexiot.carrd.co • LinkedIn

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.noOp","n8n-nodes-base.code","n8n-nodes-base.redis","n8n-nodes-base.redis","n8n-nodes-base.set","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.redis","n8n-nodes-base.redis","n8n-nodes-base.redis","n8n-nodes-base.redis","n8n-nodes-base.wait","n8n-nodes-base.redis","n8n-nodes-base.redis","n8n-nodes-base.redis","n8n-nodes-base.redis","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.redis","n8n-nodes-base.noOp","n8n-nodes-base.wait","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.set","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.code"]

workflow_json_compressed:
  [encoded data, 5960 characters]

metadata_json:
  {"categories":["automation","integration","data processing","real-time messaging","chatbots"],"complexity":"medium","use_cases":["Batching incoming chat messages per session","Debouncing/inactivity-based message aggregation","Reducing external LLM/API calls by consolidating inputs","Implementing per-session buffers for chat systems","Preprocessing user messages for downstream workflows"],"estimated_setup_minutes":20,"required_services":["Redis","n8n","Chat/Webhook provider or chat integration (e.g., custom webhook, Slack, Messenger)"],"key_features":["Redis-backed per-context message queues (LPUSH)","Config Parameters node for centralized thresholds and timeouts","Dynamic wait time based on message length (minWords, waitLong, waitShort)","Batch trigger on inactivity timeout or buffer_count ≥ batchThreshold","JavaScript consolidation function to merge/unique messages (no external LLM) and cleanup of Redis keys"],"target_audience":["Developers building chatbots or messaging pipelines","Automation engineers and integrators","SaaS product engineers needing efficient message batching and debouncing implementations"]}


name: Retrieve NASA Space Weather & Asteroid Data with GPT-4o-mini and Telegram
author_name: Ghufran Ridhawi
author_username: ghufran-ridhawi
categories: []
created_at: 2025-05-02T14:29:24.567Z
updated_at: 2025-05-02T14:29:24.567Z
url: https://n8n.io/workflows/3834
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:33
description:
  Who is this for?

  This workflow is intended for researchers, educators, developers, media publications, scientists, engineers, science teachers, researchers & scientists in the fields of astronomy, astrophysics, and space weather, science journalists & content creators, educators & education platform managers, data analysts & data engineers in the space research sector, museum managers or public science institutions and professions that use space data who want and need to automate workflows involving NASA space data, facilitate access to NASA science data without manual coding, increase the efficiency of research/education teams until they can be combined with other tools. In reality, data if processed and work on data one by one is very time-consuming and tiring, especially if we have to compile it first and send it. This is also a form of devotion to the community at n8n and the n8n company, as well as devotion to scientists, teachers, developers, education and media publications so that the reality is no longer tiring and is able to answer the problems of existing reality.

  How it works?

  Easy explanation:
  1) The First Nodes Telegram Trigger is used to receive data that is delivered to the next Nodes. It is like inputting information or instructions to the AI ​​Agent and the AI ​​Agent will process it.

  2) After that, the AI ​​Agent will accept to work together with the AI ​​Model, in this case I chose OpenAI because of its capabilities.
  3) After that, the AI ​​Agent will carry out its task, namely taking data from each NASA Node that I have set up.
  4) Then, after the NASA Nodes send and are received and then processed by the AI ​​Agent, the AI ​​Agent will send it to the last node, namely Telegram, which receives and sends the results of the AI ​​Agent's task.
  5) You can immediately see the data in a mature manner, because the data has been processed. If you want to process it again, just direct this AI System to process it again.
  6) And all tasks and responsibilities are completed

  It is very practical and easy, plus its automated nature. I'm sure you can understand it wisely.

  Set up instructions

  Complete what is in the nodes as stated in the notes column. 

  1) First you have to connect Telegram "Credential Account" to the nodes.
  2) Second, Next I set up using "Define below" it's like customization, because the output that is issued later will be in accordance with the existing trigger. Here I have set it up so just use it.
  3) Then, the AI ​​Model that fits the purpose and has the capability is the OpenAI Model. Here you need to create or connect a "Credential Account" and just choose the model. Here I have set up with a wise and capable choice.
  4) Next, for each NASA Nodes, you must create or connect a "Credential Account" (Using only one Credential Account). Here, just follow the instructions of the module that has been given n8n, it makes it very easy.
  5) Finally, for the Telegram node action, you only need to connect the "Credential Account" that you have created on the first Telegram node.

  Everything has been set up wisely, so you just have to follow the notes or setup instructions given, 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 set in each node, such as what your goals are, also according to the conditions of your goals.
  There must be (If not, make sure it is 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.

  How to customize this workflow to your needs


  You can directly add nodes to store them again in the 2nd data layer. Prepare a knowledge base for your purposes in additional nodes, so that the accuracy is also high when performing tasks and answering them, and in accordance with the objectives of the task and responsibilities.

nodes_used:
  ["n8n-nodes-base.nasaTool","n8n-nodes-base.nasaTool","n8n-nodes-base.nasaTool","n8n-nodes-base.nasaTool","n8n-nodes-base.nasaTool","n8n-nodes-base.nasaTool","n8n-nodes-base.nasaTool","n8n-nodes-base.nasaTool","n8n-nodes-base.nasaTool","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.telegramTrigger","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE62X227bRhCGX4XgNcfd80FXdZykNYo4RR2kDQKjmN2dldhIpEDSOcDwuxeUnNiW5SS0fSdQs/98O7s7h4uyTuWsxP8W7+z83T9vPy79cv2Ol1W5ogHL2UVZN/2ATaTj0U55UkGJzJRDRtlob4VKJFjyMnCbSMYkU+JaSG8tMRHJkVJCoEaDmMuqHGi1XuJARx2l/pSG8/VRu1ovaaBUzobunC6rssEVlbPyNxqK5zhgwJ6K569P/jguTg5PD4u/62FRvKElzTtcFdik4vWamsPj4lWbaDn6wHlfzt6fVWXTJhp/Xmz3qRzP1hoDyScByuYM6FMCzawPjEviEstv/g/7gbq2TsUJtfCsaz/1NIp/WY9/Nq6BjTqMeAcN9vimbUfv67avh7ptytl74IxVhrGzqlxjhysaqOvL2cXlVuYtdf3GkF9WV4TOyCxzMOCTU6BkcIARJRCjpL3g2Xt7D+FLojSVTzJWuSl8gTFvuQrguEqglOaAOiGgdcloI7l25ppve2i/1/NFcbomSsXp0BGuHhJF6yZQRo9OJe4goWegQjAQtLXABDKkxIV2eZfyuBmoWy+xoQG7L8Xpoo0fJoI6VqkpwbRcRIxWguNOjpgKPLMBUOugJUpPgu9ivsJ5Q0O7xvOeiqOu7fu6mU/knBzPMZZJ+wQmWAdKqwwuOAGKeRe4zxl52gU9aYc61xE3PiceuJgaySSZEtoQROUcKC8JUKAFjoJlZ4UUIe4C/oWp3tAVz2g5FC+axZjnVtQMD7mfk3CllEayaCGgYaCsduBYdCBz5p4Zx7jCXdzTdold8aKhbk5DHYs/sRvquJyckuTklOR15jonCJorUMYgBM442MyCEJyCvg/25RK7qXyTM2YUVmaMDoxDB0omAo9OgEHuglBOqBBuZMzj4nB+64h/bVzzyzXaEpt5XGDdHOCV3a2LaUa6H8Id+OubOWYcSQSRBQHK2zjG0QElbUzgzEvNrvGuCtnRAofravYDzuVqNN+srHdwtWOV/olgHohvvCw5azgTgEI4UAoRnPcOSGivefDZ0Y3TPh2wu/+5DFc1+k1Xz+fU7cKpq1h+orBo2w+bDiNQZjlZD0SZQEWfIciUwBttg81oKI/176e3w8mmGGQEG6QH5YKA4BkDobPwTJDEcKMSvKybul98p4x+3dHOnRV7dmIUCWMsQeBRgUKlAQXTYJIwPHmyceJOHEbNogFuNYGSxkHQOYCw0TLSISRUNw+mjh++jEn4/gfYb2yuTG6ejGKsEurOtSlj2wzjm5iV5f3v0WOygekMyaixQogALgsC5SiF6Egj7ecU00GNegQocidDoAiaXAClhINAzIMKkZhU1udo9oLKh4ECFw8kNUkIHSMBSitAca3A6+wgWxWiHpvXyPeSqsmk5jGcwTAKKMZ3RhFUjBwwewbGKSUiT9r4tJdTT4+oFI8hdYlnGuM4jiagpHWASnvwQYZkvHHC0F5SPp3UPyimZ1WJcag/UjnLuOypKnsahrqZb5bSZ4rno4PXXaKunJUf+ajxcbt+k39EylIaq8DzcZLQmYFPQkIyyWkbk9i2RLFtGoqj1EZ4m9BnF+UK65H+/cVmhtpbOTcmVVk3iT6XM3Z5dnZZXZvt07ibX/dqfDO7obEVvzPvzC5KrP8dxjbi+7BfrXZ93e1XHi15t4hvJceSfY5zuvr2I+3b5vu5bzXZjwbfN/A+UYDvzoBPJLx3bHsi7f2z1pNeuT39/BPpf2e8eaSHy8v/AWP+aI43EgAA

metadata_json:
  {"categories":["automation","integration","data processing","science/space"],"complexity":"medium","use_cases":["Automated retrieval of NASA space weather and asteroid data","GPT-based summarization and contextualization of space data","Distributing processed results via Telegram (alerts, reports)","Supporting research, education, and content creation with ready-to-use space data","Building knowledge-base-enhanced pipelines for repeated analysis"],"estimated_setup_minutes":30,"required_services":["NASA APIs (space weather / asteroid endpoints)","OpenAI API (GPT-4o-mini or similar)","Telegram Bot API","n8n platform (workflow runtime and credential management)"],"key_features":["Fetches multiple NASA datasets via dedicated NASA nodes","Uses an OpenAI model to process, summarize, and format data","Telegram trigger and message nodes for input and delivering results","Customizable prompts and data-processing flow (add knowledge base nodes)","Credential-based connections for NASA, OpenAI, and Telegram nodes for secure access and reuse (one account per service)"],"target_audience":["Researchers and scientists in astronomy/space weather","Educators and education platform managers","Developers and data engineers integrating space data pipelines」「Science journalists, content creators, and museum managers"]}


name: Analyze Google Sheets Data with OpenAI-powered Data Agent
author_name: ozkary
author_username: ozkary
categories: []
created_at: 2025-05-02T18:52:11.348Z
updated_at: 2025-05-02T18:52:11.348Z
url: https://n8n.io/workflows/3835
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Welcome to Ozki Your Data Analyst Agent V1.

  The Ozki Data Analyst Agent is designed to analyze data from Google Sheets. To use it, you'll need to provide the URL of your Google Sheet file. The agent will then process the data and provide you with analysis results, including key performance indicators (KPIs).

  Configuration:

  Configure your credentials on the OpenAI model or select the n8n free OpenAI credits.
  Set up your agent memory. Use Simple Memory as default.
  Set your credentials to Google Sheets. Log in with the Google Sheet tool.

  Instructions:

  Start with a "Hi" to get the instructions.
  Ozki needs your Google Sheet URL, which you can get from the address bar of your browser when you have the file open.
  Follow the conversation with Ozki for your data analysis results.

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

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

metadata_json:
  {"categories":["automation","data processing","AI integration","business intelligence"],"complexity":"medium","use_cases":["Automatic exploratory data analysis of Google Sheets","KPI extraction and reporting","Ad-hoc conversational queries over spreadsheet data","Automated periodic reporting and summaries"],"estimated_setup_minutes":15,"required_services":["Google Sheets (Google account / Google Drive access)","OpenAI API or n8n free OpenAI credits","n8n instance with Google Sheets and OpenAI credentials configured"],"key_features":["Conversational agent that analyzes spreadsheet data","KPI detection and summary generation","Uses agent memory (Simple Memory) for context across interactions","Direct Google Sheets URL ingestion","Integration with OpenAI models via lmChatOpenAi"],"target_audience":["data analysts","business users and managers","product marketers and growth teams looking for quick insights from sheets as a serviceable BI toolset"]}


name: Google Autocomplete Keyword Scraper
author_name: Ludovic Bablon
author_username: ludoeducatif
categories: []
created_at: 2025-05-02T19:04:08.683Z
updated_at: 2025-05-02T19:04:08.683Z
url: https://n8n.io/workflows/3836
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who is this template for?

  This workflow template is built for SEO specialists and digital marketers looking to uncover keyword opportunities effortlessly.

  It uses Google's autocomplete magic to help you spot what's trending.

  How it works

  Just give it a keyword.

  The workflow then queries Google and collects all autocomplete suggestions by appending every letter from A to Z to your keyword.

  Output example with the keyword "n8n" :



  You can sort these keywords and give them to an LLM to produce entity-enriched text.

  Setup instructions

  It works right out of the box. 🛠️

  However, you may want to tweak the output format to better fit your use case.

  Exporting the Keywords

  You can easily add a node to export the keywords in various ways:

  via a webhook
  by email
  as a file (e.g., saved to Google Drive)
  directly to a website

  Adapting the Language

  Autocomplete results depend on the selected language.

  You can change the &hl=en parameter in the Google Autocomplete node.  

  Replace the "en" part with the language code of your choice.

  Examples:  
  &hl=fr → French  
  &hl=es → Spanish  
  &hl=de → German

nodes_used:
  ["n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","n8n-nodes-base.code","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.respondToWebhook","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","integration","data collection","SEO","keyword research"],"complexity":"simple","use_cases":["Uncover autocomplete keyword suggestions","Expand seed keywords into long-tail variations","Generate content ideas and topic clusters","Feed keywords to LLMs for entity-enriched copy","Export keyword lists to files, webhooks or email"],"estimated_setup_minutes":10,"required_services":["Google Autocomplete (suggest queries endpoint)","Optional: LLM/AI service (for enrichment)","Optional: Google Drive or other file storage","Optional: Email/SMTP provider","Optional: Webhook/website endpoint"],"key_features":["Appends A–Z to a seed keyword to collect full autocomplete suggestions","Language customization via &hl parameter","Batch processing and de-duplication of suggestions","Multiple export options (webhook, email, file storage)","Easy integration with LLM nodes for further enrichment"],"target_audience":["SEO specialists","Digital marketers","Content strategists and writers who need keyword ideas"]}


name: Automated Resume Screening & Ranking with Llama 4 AI and Google Workspace
author_name: Sean Lon
author_username: seanlon
categories: []
created_at: 2025-05-03T05:42:29.439Z
updated_at: 2025-05-03T05:42:29.439Z
url: https://n8n.io/workflows/3838
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  Target Audience
  You will find this workflow or template perfect if you are in the internal talent acquisition teams, recruitment agencies, HR professionals, and hiring managers seeking to bulk automate the initial screening of CVs and resumes.
   Eg. Automatically get result of candidate who has been  shortlisted/rejected with its rationale and score automatically.

  By eliminating manual evaluation and screening,  you get smart AI-Agent helping you to have standardized efficient, and scalable solution for handling large volumes of applications. 

  With bulk automation, you can focus strategic decision-making rather than tedious screening tasks, ensuring a faster, more accurate, and fair hiring process.  
  Key focus 
  This workflow focusses on having a more organized file-folder management, trackable candidate cv, maintainable job description, autonomous ai-agent.
  Organized Folder-File Structure – CVs are automatically categorized based on their status, ensuring a structured workflow and easy retrieval

  Candidate Tracker – A real-time tracking system records the state of each CV, allowing recruiters to monitor the shortlisted, rejected, or KIV (Keep in View) candidates.

  AI Agent for Decision Automation – The AI autonomously orchestrates screening decisions, replacing manual LLM configurations with dynamic AI-driven evaluations for scalability and accuracy.

  Maintainable Job Description Management – A structured job description file ensures continuous updates, keeping hiring criteria flexible and aligned with recruitment needs.

  Email Notifications – The system automatically sends receipt confirmations upon processing completion, providing timely updates to recruiters.

  Features - Workflow 
  Automated Resume Screening Workflow  

  This workflow leverages Groq Llama4 for intelligent resume analysis, speeding the screening process by generating a matching score, result (shortlisted/rejected/kiv), and key insights/rationale into their suitability for provided job description.  
  Step-by-Step Process:  

  Monitors Google Drive:** Listens and checks for new resume cv in google drive   .  
  Retrieve Resume:** Downloads the CV resumes from google drive .  
  Extract Resume Data:* Extract *text content** from CV resume PDF files  
  Extract Job Description Data:* Extract *text content** from job description

  Analyze with Groq:**  
    Generate a matching score based on job requirements.  [SCORE: 1-10]
    Provide decision into their job suitability.  [SHORTLISTED/REJECTED/KIV]
    Provide actionable insights into their job suitability.  [REASON]

  This ensures a fast, efficient, and accurate screening process, eliminating manual evaluation. 

  Setup Guide
  Step-by-Step Instructions   
  Ensure all credentials are ready and setup (groq, gdrive ,gmail, gsheet, gdoc)
  View official n8n documentation on node setup accordingly.
  See also the notes of setup .
  Folder & File Setup    
  1. Create a google-drive folder like this
   
  View directory example

  2. Create a job description like this
   
  View file example

  3. Configure a tracker like this ( Candidate Name, AI Score,AI Verdict, AI Reason)
   
  View file example
    email conversations report as you like.

  You are ready to go!

   

nodes_used:
  ["n8n-nodes-base.googleDocs","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.extractFromFile","n8n-nodes-base.gmailTool","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.googleDriveTool","n8n-nodes-base.googleDriveTool","n8n-nodes-base.googleDriveTool","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatGroq"]

workflow_json_compressed:
  [encoded data, 5676 characters]

metadata_json:
  {"categories":["automation","integration","HR & recruiting","AI-assisted screening"],"complexity":"medium","use_cases":["Bulk resume/CV screening and ranking","Automated candidate shortlisting and rejection","Maintaining searchable candidate tracker","Standardizing hiring decisions with AI rationale","Email notifications for processed applications"],"estimated_setup_minutes":45,"required_services":["Groq Llama 4 (lmChatGroq) API","Google Drive","Google Docs","Google Sheets","Gmail","n8n platform"],"key_features":["Monitors Google Drive for new CVs and job descriptions","Extracts text from PDF resumes and job descriptions","Generates match score (1–10), verdict (Shortlisted/Rejected/KIV) and AI rationale","Organized folder/file structure and maintainable job description management","Real-time candidate tracker in Google Sheets/Docs for status and scores','Automated email notifications to recruiters/applicants"],"target_audience":["Internal talent acquisition teams","Recruitment agencies","HR professionals and hiring managers seeking automation','DevOps/automation engineers implementing recruitment workflows"]}


name: Analyze Competitor Facebook Ads with AI (GPT-4 & Gemini) & Email Reports
author_name: SamirLiu
author_username: samir
categories: []
created_at: 2025-05-03T07:56:47.137Z
updated_at: 2025-05-03T07:56:47.137Z
url: https://n8n.io/workflows/3839
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  Facebook Ads Competitor Creative Analysis & Automated Email Report

  📝 What this workflow does

  This workflow automates the process of competitor creative analysis for Facebook Pages. When a user submits their email and a target Facebook Page URL via a web form, the workflow:

  Scrapes the latest image and video Facebook ads from the submitted Page using Apify.
  Deduplicates and selects the top 5 image and top 5 video ads for further analysis.
  Applies advanced AI analysis:
    Uses OpenAI Vision (GPT-4) to analyze image ads.
    Uses Google Gemini to analyze video ads.
  Aggregates all ad insights and generates a structured, visually engaging creative analytics report.
  Sends the report directly to the user’s email with ad previews and detailed creative evaluation.

  👥 Who is this for?

  Marketers** and agencies conducting competitor research on Facebook.
  Brand managers** who want quick, actionable insights into rival ad creative.
  Growth hackers** and performance advertisers analyzing top-performing creative trends.
  Anyone** in need of an automated, AI-based Facebook ad evaluation and reporting tool using n8n.

  🎯 What problem does this workflow solve?

  Manual ad analysis is time-consuming:** Scraping, filtering, and reviewing Facebook competitor ads by hand is labor-intensive.
  Creative insight requires expertise:** Understanding the message, visuals, and targeting of competitor ads needs marketing/creative skill.
  Lack of automated reporting:** Easily and visually summarize findings for yourself or stakeholders—without manual collation or formatting.

  This workflow provides a turnkey, end-to-end solution for competitor creative analysis, combining real ad data with unbiased, AI-driven creative insights in a shareable email format.

  ⚙️ Setup instructions (About 10-15 minutes)

  Before using this AI marketing automation tool, you'll need:
  Add api key to environment variable
  Add required credentials

  🔧 How to Customize This Workflow

  Adapt Image/Video Analysis Goals:** Modify the prompts or parameters sent to OpenAI Vision and Gemini to suit your specific analysis objectives—e.g., evaluate branding consistency, detect call-to-action effectiveness, or extract emotional tone.
  Revise Email Report Design:** Customize the formatting, insights, and visuals in the delivered report to match your organization’s standards or stakeholder preferences.
  Expand Input Fields:** Add more fields to the user-facing form, such as a competitor list, campaign dates, or target audience details, for more granular analysis.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.merge","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserAutofixing","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.gmail","n8n-nodes-base.set","n8n-nodes-base.switch","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.removeDuplicates","n8n-nodes-base.removeDuplicates","n8n-nodes-base.limit","n8n-nodes-base.limit","n8n-nodes-base.formTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","marketing analytics","integration","data processing"],"complexity":"medium","use_cases":["Competitor creative analysis for Facebook ads","Automated visual and video ad evaluation","Generating shareable AI-driven ad performance reports","Marketing intelligence and trend discovery","Agency client reporting and deliverables"],"estimated_setup_minutes":15,"required_services":["n8n instance","Apify (Facebook ads scraper)","OpenAI (GPT-4 / OpenAI Vision)","Google Gemini (Vertex AI)","Email provider or SMTP (SendGrid, Mailgun, etc.)","Hosting/webhook endpoint for the web form"],"key_features":["Scrapes latest image and video Facebook ads from a Page","Deduplicates and selects top 5 image and top 5 video ads","Image analysis via OpenAI Vision (GPT-4)","Video analysis via Google Gemini","Aggregates and structures AI insights into a visual report format"],"target_audience":["Marketers","Marketing agencies","Brand managers/creative leads (brand teams) ]"]}


name: Automated AI Content Creation & Instagram Publishing from Google Sheets
author_name: Onur
author_username: onurpolat05
categories: []
created_at: 2025-05-03T08:06:31.593Z
updated_at: 2025-05-03T08:06:31.593Z
url: https://n8n.io/workflows/3840
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  Automated AI Content Creation & Instagram Publishing from Google Sheets

  This n8n workflow automates the creation and publishing of social media content directly to Instagram, using ideas stored in a Google Sheet. It leverages AI (Google Gemini and Replicate Flux) to generate concepts, image prompts, captions, and the final image, turning your content plan into reality with minimal manual intervention.

  Think of this as the execution engine for your content strategy. It assumes you have a separate process (whether manual entry, another workflow, or a different tool) for populating the Google Sheet with initial post ideas (including Topic, Audience, Voice, and Platform). This workflow takes those ideas and handles the rest, from AI generation to final publication.

  What does this workflow do?

  This workflow streamlines the content execution process by:

  Automatically fetching** unprocessed content ideas from a designated Google Sheet based on a schedule.
  Using Google Gemini to generate a platform-specific content concept (specifically for a 'Single Image' format).
  Generating two distinct AI image prompt options based on the concept using Gemini.
  Writing an engaging, platform-tailored caption (including hashtags) using Gemini, based on the first prompt option.
  Generating a visual image using the first prompt option via the Replicate API (using the Flux model).
  Publishing* the generated image and caption directly to a connected *Instagram Business account**.
  Updating the status** in the Google Sheet to mark the idea as completed, preventing reprocessing.

  Who is this for?

  Social Media Managers & Agencies:** Automate the execution of your content calendar stored in Google Sheets.
  Marketing Teams:** Streamline content production from planned ideas and ensure consistent posting schedules.
  Content Creators & Solopreneurs:** Save significant time by automating the generation and publishing process based on your pre-defined ideas.
  Anyone** using Google Sheets to plan social media content and wanting to automate the creative generation and posting steps with AI.

  Benefits

  Full Automation:** From fetching planned ideas to Instagram publishing, automate the entire content execution pipeline.
  AI-Powered Generation:** Leverage Google Gemini for creative concepts, prompts, and captions, and Replicate for image generation based on your initial topic.
  Content Calendar Execution:** Directly turn your Google Sheet plan into published posts.
  Time Savings:** Drastically reduce the manual effort involved in creating visuals and text for each planned post.
  Consistency:** Maintain a regular posting schedule by automatically processing your queue of ideas.
  Platform-Specific Content:** AI prompts are designed to tailor concepts, prompts, and captions for the platform specified in your sheet (e.g., Instagram or LinkedIn).

  How it Works

  Scheduled Trigger: The workflow starts automatically based on the schedule you set (e.g., every hour, daily).
  Fetch Idea: Reads the next row from your Google Sheet where the 'Status' column indicates it's pending (e.g., '0'). It only fetches one idea per run.
  Prepare Inputs: Extracts Topic, Audience, Voice, and Platform from the sheet data.
  AI Concept Generation (Gemini): Creates a single content concept suitable for a 'Single Image' post on the target platform.
  AI Prompt Generation (Gemini): Develops two detailed, distinct image prompt options based on the concept.
  AI Caption Generation (Gemini): Writes a caption tailored to the platform, using the first image prompt and other context.
  Image Generation (Replicate): Sends the first prompt to the Replicate API (Flux model) to generate the image.
  Prepare for Instagram: Formats the generated image URL and caption.
  Publish to Instagram: Uses the Facebook Graph API in three steps:
      Creates a media container by uploading the image URL and caption.
      Waits for Instagram to process the container.
      Publishes the processed container to your feed.
  Update Sheet: Changes the 'Status' in the Google Sheet for the processed row (e.g., to '1') to mark it as complete.

  n8n Nodes Used

  Schedule Trigger
  Google Sheets (Read & Update operations)
  Set (Multiple instances for data preparation)
  Langchain Chain - LLM (Multiple instances for Gemini calls)
  Langchain Chat Model - Google Gemini (Multiple instances)
  Langchain Output Parser - Structured (Multiple instances)
  HTTP Request (for Replicate API call)
  Wait
  Facebook Graph API (Multiple instances for Instagram publishing steps)

  Prerequisites

  Active n8n instance (Cloud or Self-Hosted).
  Google Account** with access to Google Sheets.
  Google Sheets API Credentials (OAuth2):** Configured in n8n.
  A Google Sheet** structured with columns like Topic, Audience, Voice, Platform, Status (or similar). Ensure your 'pending' and 'completed' statuses are defined (e.g., '0' and '1').
  Google Cloud Project** with the Vertex AI API enabled.
  Google Gemini API Credentials:** Configured in n8n (usually via Google Vertex AI credentials).
  Replicate Account** and API Token.
  Replicate API Credentials (Header Auth):** Configured in n8n.
  Facebook Developer Account**.
  Instagram Business Account** connected to a Facebook Page.
  Facebook App** with necessary permissions: instagram_basic, instagram_content_publish, pages_read_engagement, pages_show_list.
  Facebook Graph API Credentials (OAuth2):** Configured in n8n with the required permissions.

  Setup

  Import the workflow JSON into your n8n instance.
  Configure Schedule Trigger: Set the desired frequency (e.g., every 30 minutes, every 4 hours) for checking new ideas in the sheet.
  Configure Google Sheets Nodes:
      Select your Google Sheets OAuth2 credentials for both Google Sheets nodes.
      In 1. Get Next Post Idea..., enter your Spreadsheet ID and Sheet Name. Verify the Status filter matches your 'pending' value (e.g., 0).
      In 7. Update Post Status..., enter the same Spreadsheet ID and Sheet Name. Ensure the Matching Columns (e.g., Topic) and the Status value to update match your 'completed' value (e.g., 1).
  Configure Google Gemini Nodes: Select your configured Google Vertex AI / Gemini credentials in all Google Gemini Chat Model nodes.
  Configure Replicate Node (4. Generate Image...): Select your Replicate Header Auth credentials. The workflow uses black-forest-labs/flux-1.1-pro-ultra by default; you can change this if needed.
  Configure Facebook Graph API Nodes (6a, 6c):
      Select your Facebook Graph API OAuth2 credentials.
      Crucially, update the Instagram Account ID in the Node parameter of both Facebook Graph API nodes (6a and 6c). The template uses a placeholder (17841473009917118); replace this with your actual Instagram Business Account ID.
  Adjust Wait Node (6b): The default wait time might be sufficient, but if you encounter errors during publishing (especially with larger images/videos in the future), you might need to increase the wait duration.
  Activate the workflow.
  Populate your Google Sheet: Ensure you have rows with your content ideas and the correct 'pending' status (e.g., '0'). The workflow will pick them up on its next scheduled run.

  This workflow transforms your Google Sheet content plan into a fully automated AI-powered Instagram publishing engine. Start automating your social media presence today!

   

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.wait","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 10356 characters]

metadata_json:
  {"categories":["automation","integration","social media","ai-content-generation"],"complexity":"complex","use_cases":["Automated Instagram publishing from a Google Sheet content calendar","AI-generated image and caption creation for social posts","Scaling content production for agencies and marketing teams","Turning planned ideas into published posts with minimal manual work","Generating multiple image-prompt options and platform-tailored captions"],"estimated_setup_minutes":90,"required_services":["n8n instance (Cloud or self-hosted)","Google Account with Google Sheets and Google Sheets API (OAuth2)","Google Cloud Project with Vertex AI / Google Gemini credentials","Replicate account and API token (Flux model)","Facebook Developer account and Facebook App with instagram_basic, instagram_content_publish, pages_read_engagement, pages_show_list permissions","Instagram Business account connected to a Facebook Page","Facebook Graph API credentials (OAuth2)"],"key_features":["Scheduled polling of pending ideas from Google Sheets","AI concept generation (Google Gemini) for platform-specific single-image posts","Generation of two distinct image-prompt options (Gemini)","Platform-tailored caption and hashtag generation (Gemini)","Image synthesis via Replicate (Flux model) using selected prompt option"],"target_audience":["Social media managers and agencies","Marketing teams","Content creators and solopreneurs who use Google Sheets for planning content but want automation to create and publish posts automatically (requires technical setup)"]}


name: Extract & Analyze Brand Content with Bright Data and Google Gemini
author_name: Ranjan Dailata
author_username: ranjancse
categories: []
created_at: 2025-05-03T13:17:38.073Z
updated_at: 2025-05-03T13:17:38.073Z
url: https://n8n.io/workflows/3846
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  Who this is for?

  The Brand Content Extract, Summarization & Sentiment Analysis workflow is designed for professionals and teams who need to monitor, understand, and act on public brand perception at scale. 

  It is ideal for:

  Brand Managers - Looking to track how their brand is portrayed online.

  Marketing Analysts - Seeking insights from competitor and industry content.

  PR & Communications Teams - Evaluating media tone and potential reputation risks.

  Data Scientists & AI Developers - Automating content intelligence pipelines.

  Growth Hackers - Performing large-scale web listening for campaign optimization.

  What problem is this workflow solving?

  Manually tracking and interpreting how your brand is mentioned across blogs, news sites, or product reviews is labor-intensive and unscalable. Traditional scraping tools return raw data but lack insights like summarization, sentiment analysis etc.

  This workflow addresses:

  Scalable extraction of brand-related content using Bright Data's infrastructure.

  Textual data extract for easy decision-making or alerting.

  Automated summarization of verbose or multi-paragraph articles using Gemini.

  Sentiment analysis of how a brand is being portrayed.

  What this workflow does

  Receives input: A brand URL for the data extraction and analysis.

  Uses Bright Data's Web Unlocker to extract content from relevant sites.

  Cleans and preprocesses the scraped content for readability.

  Sends the content to Google Gemini for:

  	Enriched results including:

  		Cleaned content

  		Summary

  		Sentiment Analysis

  		Sends the response to a target system via Webhook notification
  		Perists the response to disk

  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.
  A Google Gemini API key (or access through Vertex AI or proxy).
  Update the Set URL and Bright Data Zone for setting the brand content URL and the Bright Data Zone name.
  Update the Webhook HTTP Request node with the Webhook endpoint of your choice.

  How to customize this workflow to your needs

  Update Source** : Update the workflow input to read from Google Sheet or Airbase for dynamically tracking multiple brands or topics.
  AI Prompt Customization** : Tailor Gemini prompts for: 
  	Summary length (brief vs. detailed)

  	Detailed Sentiment with the custom structured data format.

  	Brand-specific tone detection (e.g., trust, excitement, dissatisfaction)

  Output Destinations**: Configure the output node to send the responses to various platforms, such as Slack, CRM systems, or databases.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.chainSummarization","n8n-nodes-base.function","n8n-nodes-base.function","n8n-nodes-base.readWriteFile","n8n-nodes-base.readWriteFile","n8n-nodes-base.function","n8n-nodes-base.readWriteFile","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4652 characters]

metadata_json:
  {"categories":["automation","integration","data processing","social listening"],"complexity":"medium","use_cases":["Brand reputation monitoring","Competitive content analysis","Automated article summarization","Sentiment & tone detection for PR","Large-scale web listening and alerts"],"estimated_setup_minutes":45,"required_services":["Bright Data (Web Unlocker)","Google Gemini / Vertex AI (API key or access)","Webhook receiver (Slack/CRM/HTTP endpoint)"],"key_features":["Scalable web extraction via Bright Data","Content cleaning and preprocessing","Automated summarization with Google Gemini","Sentiment analysis and tone classification","Webhook notifications to target systems"],"target_audience":["Brand Managers","Marketing Analysts","PR & Communications Teams`,`Data Scientists & AI Developers`,`Growth Hackers"]}


name: Convert PDF to PNG with PDF.co API (Multi-Page Support)
author_name: Ludwig
author_username: ludwig
categories: []
created_at: 2025-05-03T16:37:39.983Z
updated_at: 2025-05-03T16:37:39.983Z
url: https://n8n.io/workflows/3847
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  Page2Image: Convert PDF to PNG Workflow (Multi-Page Support)

  How It Works
  This workflow automatically converts each page of a multi-page PDF into high-quality PNG images. It uses the PDF.co API in the background to process the PDF and generate individual images for every page. The entire process is streamlined, making it ideal for converting documents quickly and efficiently.

  Set Up Steps
  Create a PDF.co Account: Sign up for a PDF.co account and get your API Key. This will be required for authentication.

  Import the Workflow into n8n: Add the workflow to your n8n instance.

  Enter Your API Key: In the workflow, enter your PDF.co API Key to authenticate the process.

  Test the Workflow: Run the workflow, and check that each page of the sample PDFs has been converted to a PNG image.

  Replace the sample PDFs with your own PDFs and get started automatically converting your PDFs to images!

  Setup should take just a few minutes, assuming you already have your PDF.co API Key.

  Getting Started
  This workflow requires PDF.co’s API for converting PDF pages into PNG images. You’ll need an active PDF.co account and your unique API Key. Once you have that, just plug it into the workflow, and you’re ready to convert multi-page PDFs into PNGs instantly!

  Customizing the Workflow
  The workflow currently uses sample PDF files to demonstrate the conversion process. To make it work for your use case, replace the sample PDF logic with your own logic to retrieve PDFs. Whether the PDFs are uploaded, fetched from a URL, or pulled from a storage service, just plug your retrieval method into the workflow, and it will handle the conversion seamlessly.

  API Reference
  The PDF.co Web API is REST-based, ensuring secure and efficient communication. All requests are transmitted over HTTPS to protect your data.

  To use the API, you simply authenticate with your API Key and make requests to initiate the conversion. For this workflow, your API Key allows seamless communication with PDF.co to convert PDF pages into images.

nodes_used:
  ["n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.manualTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.compression","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.html","n8n-nodes-base.splitOut","n8n-nodes-base.limit","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches"]

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

metadata_json:
  {"categories":["automation","integration","document-processing","file-conversion","image-processing"],"complexity":"medium","use_cases":["Convert multi-page PDFs into per-page PNG images","Generate thumbnails/previews for documents on websites or apps","Prepare PDF pages for OCR or image-based processing","Archive or export PDF pages as images for downstream workflows","Batch processing of PDFs from uploads or URLs"],"estimated_setup_minutes":10,"required_services":["PDF.co API (API Key required)","n8n instance","Optional: file source/storage (e.g., S3, Google Drive, Dropbox, or direct URL)"],"key_features":["Converts each page of a multi-page PDF into a separate high-quality PNG","Uses PDF.co REST API for reliable conversion","Multi-page support with per-page output handling","Easy to customize input retrieval (uploads, URLs, storage integrations)","Supports manual or webhook-triggered runs and batch processing"],"target_audience":["Developers","Automation engineers","Digital content teams / marketers needing previews or thumbnails for PDFs"]}


name: Build a Document QA System with RAG using Milvus, Cohere, and OpenAI for Google Drive
author_name: Aitor | 1Node
author_username: aitoralonso
categories: []
created_at: 2025-05-03T17:38:37.716Z
updated_at: 2025-05-03T17:38:37.716Z
url: https://n8n.io/workflows/3848
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Template Description

  This template creates a powerful Retrieval Augmented Generation (RAG) AI agent workflow in n8n. It monitors a specified Google Drive folder for new PDF files, extracts their content, generates vector embeddings using Cohere, and stores these embeddings in a Milvus vector database. Subsequently, it enables a RAG agent that can retrieve relevant information from the Milvus database based on user queries and generate responses using OpenAI, enhanced by the retrieved context.

  Functionality

  The workflow automates the process of ingesting documents into a vector database for use with a RAG system.

   Watch New Files: Triggers when a new file (specifically targeting PDFs) is added to a designated Google Drive folder.

   Download New: Downloads the newly added file from Google Drive.

   Extract from File: Extracts text content from the downloaded PDF file.

   Default Data Loader / Set Chunks: Processes the extracted text, splitting it into manageable chunks for embedding.

   Embeddings Cohere: Generates vector embeddings for each text chunk using the Cohere API.

   Insert into Milvus: Inserts the generated vector embeddings and associated metadata into a Milvus vector database.

   When chat message received: Adapt the trigger tool to fit your needs. 
   RAG Agent: Orchestrates the RAG process.

   Retrieve from Milvus: Queries the Milvus database with the user's chat query to find the most relevant chunks.

  Memory: Manages conversation history for the RAG agent to optimize cost and response speed.

  OpenAI / Cohere embeddings: Uses ChatGPT 4o for text generation.

  Requirements

  To use this template, you will need:

  An n8n instance (cloud or self-hosted).

  Access to a Google Drive account to monitor a folder.

  A Milvus instance or access to a Milvus cloud service like Zilliz. 

  A Cohere API key for generating embeddings.

  An OpenAI API key for the RAG agent's text generation.

  Usage

  Set up the required credentials in n8n for Google Drive, Milvus, Cohere, and OpenAI.

  Configure the "Watch New Files" node to point to the Google Drive folder you want to monitor for PDFs.

  Ensure your Milvus instance is running and the target cluster is set up correctly.

  Activate the workflow.

  Add PDF files to the monitored Google Drive folder. The workflow will automatically process them and insert their embeddings into Milvus.

  Interact with the RAG agent. The agent will use the data in Milvus to provide context-aware answers.

  Benefits

  Automates document ingestion for RAG applications.

  Leverages Milvus for high-performance vector storage and search.

  Uses Cohere for generating high-quality text embeddings.

  Enables building a context-aware AI agent using your own documents.

  Suggested improvements
  Support for More File Types:** Extend the "Watch New Files" node and subsequent extraction steps to handle various document types (e.g., .docx, .txt, .csv, web pages) in addition to PDFs.

  Error Handling and Notifications:** Implement robust error handling for each step of the workflow (e.g., failed downloads, extraction errors, Milvus insertion failures) and add notification mechanisms (e.g., email, Slack) to alert the user.

  Get in touch with us

  Contact us at https://1node.ai 

nodes_used:
  ["@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.embeddingsCohere","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.vectorStoreMilvus","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.vectorStoreMilvus","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.embeddingsCohere","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","n8n-nodes-base.extractFromFile","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","data processing","AI/ML","integration","knowledge management"],"complexity":"complex","use_cases":["Document question-answering (Document QA)","Building a searchable knowledge base from PDFs","Internal documentation and research assistant","Customer support / ticket augmentation with docs","Legal and compliance document retrieval"],"estimated_setup_minutes":60,"required_services":["n8n (cloud or self-hosted)","Google Drive","Milvus (or Milvus cloud / Zilliz)","Cohere API key","OpenAI API key"],"key_features":["Monitors Google Drive folder for new PDFs","PDF download and text extraction","Text chunking / splitter for embedding","Generates embeddings with Cohere","Stores and queries vectors in Milvus vector DB (insert & retrieve)"],"target_audience":["Developers","Data engineers","ML engineers / AI practitioners building RAG systems"]}


name: Extract Business Leads from Reddit using GPT-4.1-mini Analysis and Google Sheets
author_name: Ari Nakos
author_username: just-aristides
categories: []
created_at: 2025-05-03T18:09:18.082Z
updated_at: 2025-05-03T18:09:18.082Z
url: https://n8n.io/workflows/3849
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  This n8n workflow automates lead generation by searching Reddit for relevant posts based on keywords, filtering them, using OpenRouter AI to analyze and summarize content, and logging the findings (link, summary, etc.) to Google Sheets.

  Watch the full setup tutorial on how I setup this ETL pipeline using n8n: 
  https://youtu.be/F3-fbU3UmYQ

  Required Authentication:

  To run this workflow, you need to set up credentials in n8n for:

  Reddit: Uses OAuth 2.0. Requires creating an app on Reddit to get a Client ID & Secret. (YT Tutorial for Reddit App Creation: https://youtu.be/zlGXtW4LAK8) 
  OpenRouter: Uses an API Key. Generate this key directly from your OpenRouter account settings. (YT Tutorial : https://youtu.be/Cq5Y3zpEhlc)
  Google Sheets: Uses OAuth 2.0. Requires setup in Google Cloud Console (enable Sheets API, create OAuth Client ID with n8n redirect URI) to get a Client ID & Secret.

  Ensure these credentials are created and selected in the respective n8n nodes (Get Posts, OpenRouter Chat Model nodes, Output The Results).

nodes_used:
  ["n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.chainSummarization","n8n-nodes-base.merge","n8n-nodes-base.googleSheets","n8n-nodes-base.merge","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.reddit","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.set","n8n-nodes-base.set"]

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

metadata_json:
  {"categories":["automation","integration","data extraction","AI/ML","lead generation"],"complexity":"medium","use_cases":["Sales prospecting and lead generation","Market and community research","Content and sentiment analysis","Automated ETL from social to sheet","Monitoring relevant Reddit discussions"],"estimated_setup_minutes":60,"required_services":["Reddit (OAuth 2.0 app)","OpenRouter (API key for GPT-4.1-mini)","Google Sheets (Google Cloud OAuth/Sheets API)","n8n platform"],"key_features":["Search Reddit by keywords and collect posts","Filter and deduplicate results","Use OpenRouter GPT-4.1-mini to analyze and summarize post content","Write links, summaries, and metadata to Google Sheets","OAuth-based integrations and configurable nodes for automation"],"target_audience":["growth marketers","sales/revenue teams","community managers and moderators」「data analysts and researchers"]}


name: Automate Etsy Data Mining with Bright Data Scrape & Google Gemini
author_name: Ranjan Dailata
author_username: ranjancse
categories: []
created_at: 2025-05-03T23:15:27.321Z
updated_at: 2025-05-03T23:15:27.321Z
url: https://n8n.io/workflows/3851
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who this is for?
  The Automate Etsy Data Mining with Bright Data Scrape & Google Gemini workflow is designed for eCommerce analysts, product researchers, and AI developers seeking to extract actionable insights from Etsy listings at scale. 

  It is ideal for:

  eCommerce Entrepreneurs** - Researching product demand and competition.

  Market Analysts** - Tracking pricing, reviews, and trends across Etsy categories.

  Product Managers** - Identifying niche opportunities and design inspirations.

  Data Scientists & AI Engineers** - Automating product intelligence pipelines.

  Growth Hackers** - Leveraging Etsy insights to refine product-market fit.

  What problem is this workflow solving?
  Manually browsing Etsy to analyze product listings, pricing, reviews, and seller activity is slow, inconsistent, and unscalable. Scraping Etsy requires unlocking JavaScript-heavy content and structuring noisy data for analysis.

  This workflow solves:

  Automated and scalable scraping of Etsy product listings using Bright Data’s infrastructure.

  A fully paginated data structured Estry production data extraction via the Google Gemini LLM.

  Enables faster decision-making for product research and competitive analysis via the fully automated paginated data extraction.

  What this workflow does

  Receives input: Sets the Esty URL for the data extraction and analysis.

  Uses Bright Data's Web Unlocker to extract content from relevant sites.

  Cleans and preprocesses the scraped content for readability.

  Sends the content to Google Gemini for:

  	Enriched results including:

  		Data persistence over the disk.

  		Sends the response to a target system via Webhook notification.

  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.
  A Google Gemini API key (or access through Vertex AI or proxy).
  Update the Set Esty Search Query for setting the brand content URL and the Bright Data Zone name.
  Update the Webhook HTTP Request node with the Webhook endpoint of your choice.

  How to customize this workflow to your needs

  Input Sources** : Replace the static URL with dynamic input from Google Sheets, Webhook, or Airtable to research multiple niches.

  Prompt Customization** : Adjust Gemini prompts to extract specific insights for example:

  	List key features of the product

  	Summarization of the review themes
  Data Output Options** : Update the Webhook notification to save data to:

  	Google Sheets
  	Notion or Airtable
  	SQL/NoSQL
  	Slack/Email

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

workflow_json_compressed:
  [encoded data, 4480 characters]

metadata_json:
  {"categories":["web scraping","automation","data processing","AI / LLM augmentation","eCommerce intelligence"],"complexity":"complex","use_cases":["Scale scraping of Etsy product listings (JS-heavy pages)","Product research and competitive analysis","Price and review trend tracking","Automated extraction and structuring of listing data","LLM-powered summarization and insight extraction from listings/reviews"],"estimated_setup_minutes":45,"required_services":["Bright Data (Web Unlocker / scraping zone & token)","Google Gemini (or Vertex AI / proxy access to Gemini API)","n8n instance (to run the workflow and configure credentials)","Webhook endpoint / target systems (e.g., Google Sheets, Airtable, Notion, SQL/NoSQL, Slack, Email)"],"key_features":["Bright Data Web Unlocker for JS-heavy content extraction","Fully paginated scraping and structured data extraction","Preprocessing and cleaning of scraped content","Google Gemini LLM enrichment (summaries, feature extraction, review themes)","Data persistence (disk) and webhook notifications to downstream systems"],"target_audience":["eCommerce entrepreneurs","Market analysts","Product managers / product researchers"]}


name: Multi-Level WordPress Blog Generator with PerplexityAI Research & OpenAI Content
author_name: Daniel Ng
author_username: danielng
categories: []
created_at: 2025-05-03T23:29:56.750Z
updated_at: 2025-05-03T23:29:56.750Z
url: https://n8n.io/workflows/3852
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  WordPress Auto-Blogging Pro v2 \- with DEEPER RESEARCH \- Advanced Content Automation

  (This version is an upgrade from v1: WordPress Auto-Blogging Pro \- with DEEP RESEARCH \- Content Automation Machine v1)

  Take your content automation to unprecedented depths\! This v2 template enhances the acclaimed "WordPress Auto-Blogging Pro \- with DEEP RESEARCH" by introducing Deeper Research, a multi-level research capability designed to generate exceptionally comprehensive, long-form content like detailed articles, reports, and even e-books. 

  If you need more than just standard blog posts and crave truly authoritative, data-driven content generated automatically, this workflow is built for you. It optionally goes beyond simple topic research by breaking down subjects into sub-topics, and then further into sub-sub-topics, conducting real-time online research (powered by the Research Tool Sub-Flow using PerplexityAI) at each stage. This ensures unparalleled depth and coverage, perfect for tackling complex subjects. Combined with enhanced automation features for batch processing, categorization, tagging, linking, and image generation (using OpenAI's latest image model gpt-image-1 accessed via API), this is the ultimate engine for serious content automation on WordPress.

  It operates using a three-flow system: a Trigger Flow acts as a scheduler and dispatcher, a powerful Main Flow executes the complex content generation process, and a dedicated Research Tool Sub-Flow handles interactions with PerplexityAI.

  Visit AI Automation Pro’s website for more powerful n8n templates.

  What problem is this workflow solving? / Use cases

  Standard content automation often struggles with producing truly in-depth, comprehensive content on complex or rapidly evolving topics. This workflow addresses that challenge by:

  Automating Multi-Level Research:** Optionally eliminates the manual effort required to deeply research topics, sub-topics, and sub-sub-topics, ensuring content is thorough and well-supported when needed.  
  Generating Long-Form Content:** Enables the creation of detailed articles, comprehensive reports, or even initial e-book drafts automatically.  
  Scaling Content Production:** Efficiently handles lists of topics from Google Sheets, processing them sequentially for reliable, automated content creation over time.  
  Enhancing SEO Automatically:** Integrates best practices like sitemap-based internal linking, external source linking, automatic categorization, tag generation/management, and Table of Contents generation (with “Deeper Research” articles).  
  Streamlining Complex Tasks:** Combines research (basic or deep), writing, image generation, SEO optimization, publishing, and comprehensive backup (Google Docs, Drive, Sheets) into a single, automated system.

  Ideal use cases include creating cornerstone content, detailed guides, industry reports, niche site authority building, and automating the production of deeply researched articles where maximum depth is required.

  Who is this for?

  This advanced workflow is designed for demanding users who require robust, comprehensive content automation:

  Content Marketers & Strategists:** Needing to produce authoritative, long-form content at scale, with options for varying research depth.  
  SEO Professionals:** Aiming to build topical authority with well-researched, structured, and highly optimized content featuring strong internal/external linking.  
  Niche Site Builders & Affiliates:** Seeking to dominate specific topics with comprehensive guides and articles.  
  Agencies:** Managing large-scale content production for clients requiring in-depth material.  
  Researchers & Analysts:** Looking to automate the drafting of reports or summaries based on online data.  
  Power Users of v1:** Ready to upgrade to the next level of research depth, flexibility, and automation features.

  Unique Features

  This v2 workflow introduces significant upgrades and retains the best features of v1:



  Conditional Deeper Research:** Choose per-topic whether to activate multi-level research (topic \-\&gt; sub-topic \-\&gt; sub-sub-topic) for maximum depth or use standard chapter-level research.  
  Modular Three-Flow Architecture:** Robust system with a Trigger Flow for scheduling, a Main Flow for generation, and a dedicated Research Tool Sub-Flow.  
  Table of Contents Generation:** Automatically creates a ToC for improved readability and SEO on long articles.  
  Latest AI Image Models:** Optimized for high-quality images using OpenAI's latest model (gpt-image-1 via API), with easy node setup to switch to alternatives.  
  Automatic Categorization & Tag Management:** AI assigns posts to the most relevant existing WordPress category and creates/assigns relevant tags.  
  Dual Trigger Options:** Use Google Sheets for batch processing lists of topics or n8n's Native Form for single, ad-hoc topic submission.  
  Batch Topic Processing:** Handles multiple topic inputs efficiently via the Trigger Flow loop, processing them sequentially with status tracking.  
  Advanced External & Internal Linking:** Automatically inserts relevant internal links (from sitemap) and external source links (from research).  
  Comprehensive Backup System:** Saves final content in multiple formats and locations: Markdown to Google Docs, Images to Google Drive, Final URLs and details to Google Sheets.  
  Centralized Control Interface:** Google Sheets acts as the primary interface for bulk input, parameter setting (like Have Deeper Research), and status monitoring.  
  Direct WordPress Integration:** Seamlessly publishes content, metadata, tags, categories, and images.  
  Rate-Limit Aware:** Includes configurable Wait nodes to prevent API errors during intensive processing.  
  Robust Error Catching:** Uses 'If' nodes to validate AI outputs and ensure smooth data flow.

  How this workflow works



  This template utilizes three interconnected n8n flows: a Trigger Flow, a Main Flow, and a Research Tool Sub-Flow, orchestrated primarily via Google Sheets.

  1\. Trigger Flow (Scheduler & Dispatcher):

  Trigger:** Activates via a Schedule (e.g., every 10 minutes) to check for new tasks OR via a direct n8n Form submission.  
  Select Topics:** Reads rows from a specific Google Sheet (e.g., Deeper Research - Create Topics \-\&gt; Create Topic sheet) where the Status column is 'To Do'.  
  Loop & Dispatch:* Processes each 'To Do' topic one by one. For each topic, it executes the *Main Flow**, passing the topic details and parameters.  
  Wait:** Pauses for a configurable duration (default: 1 hour) after each topic's processing is initiated by the Sub-Workflow, helping manage API limits and pacing.

  2\. Main Flow (Content Generation Engine):

  Trigger:** Starts when called by the Trigger Flow.  
  Setup:** Receives topic parameters (Topic, Audience, Style, Word Count, Have Deeper Research flag, etc.) from the Trigger Flow. Updates the topic's Status to 'In Progress' in the Google Sheet.  
  Internal Link Gathering:** Fetches your website's sitemap XML, parses it, and extracts a set number (e.g., up to 50\) of internal URLs for later use.  
  Initial Research & Planning:* Executes the *Research Tool Sub-Flow** to perform initial online research on the main topic. An AI Agent ("Blog Planner") then uses this research to outline the entire article: Title, Subtitle, Introduction, Slug, Meta Description, Tags, Chapter outlines, and prompts for chapter/featured images.  
  Conditional Content Creation (Based on Have Deeper Research flag):**  
    If YES: Executes the Deeper Research path: Loops through planned chapters \-\&gt; Executes Research Tool Sub-Flow for Chapter Research \-\&gt; AI splits chapter into subchapters \-\&gt; Loops through subchapters \-\&gt; Executes Research Tool Sub-Flow for Subchapter Research \-\&gt; AI ("Subchapter Copywriter") writes detailed content for each subchapter \-\&gt; Aggregates subchapters back into the main chapter content.  
    If NO: Executes the Standard Research path: Loops through planned chapters \-\&gt; Executes Research Tool Sub-Flow for Main Chapter Research \-\&gt; AI ("Chapter Copywriter") writes content for each chapter.  
  Image Generation & Upload:** Generates images (using OpenAI's gpt-image-1 or equivalent via HTTP Request) for each main chapter and a featured image. Resizes images and uploads them to both your WordPress Media Library and a specified Google Drive folder.  
  Tag Management:** Checks if the AI-generated tags exist in WordPress. Creates new tags if necessary and retrieves the IDs for all relevant tags.  
  Article Assembly:** Combines Introduction, finalized chapter content (from either research path), Conclusion, CTA, etc., into a complete article structured in Markdown format (using a Code node).  
  HTML Conversion:** Converts the final Markdown content to HTML suitable for WordPress.  
  Backup \- Google Docs:* Saves the final Markdown version of the article as a new document in a specified Google Drive folder. *Note:** saving to Google Docs only works on "My Drive" and will NOT work on a Shared Drive due to Google Drive API restrictions.  
  Publish to WordPress:** Creates a new post on your WordPress site with the Title, HTML content, Slug, assigned Category (auto-detected or default), Tag IDs, and sets the generated Featured Image. Also sets the Meta Description and Post Excerpt.  
  Backup \- Google Sheets:** Saves the final details (Published URL, Markdown, HTML, Tags, Meta info, Slug, Excerpt, etc.) to a dedicated sheet (e.g., Final Blogs) within your main Google Sheet workbook.  
  Final Status Update:** Updates the topic's Status to 'Done' in the original Create Topic sheet.

  3\. Research Tool Sub-Flow (PerplexityAI Interaction):

  Trigger:** Starts when called by the Main Flow.  
  Setup:** Receives parameters like the research query, model (sonar or sonar-deep-research), system message, and max tokens.  
  API Call:** Makes a POST request to the PerplexityAI API with the provided parameters and authentication.  
  Response Handling:** Extracts the content from the API response.  
  Output:** Returns the research content back to the calling Main Flow.

  Requirements

  n8n Instance**.  
  OpenAI API Key:** Or equivalent credentials for a powerful text generation model (default to GPT-4o) and an image generation model (like gpt-image-1, compatible with OpenAI node or direct HTTP Request).  
  Perplexity API Key:** Or equivalent for an online research tool API (used via HTTP Request node in the Research Tool Sub-Flow).  
  WordPress Website:** REST API enabled, with an Application Password granting permissions to create/edit posts, upload media, manage categories, and manage tags. Needs an accessible post-sitemap.xml.  
  Google Account:** For Google Sheets (trigger, control parameters, status tracking, backup), Google Drive (image/text backup), and Google Docs (Markdown backup).

  Setup Step-by-Step

  Import Workflows: Download the three .json files (Trigger Flow, Main Flow, Research Tool Sub-Flow) and import them into your n8n instance. Name them clearly (e.g., "WP Deeper Research \- Trigger Flow", "WP Deeper Research \- Main Flow", "WP Deeper Research \- Research Tool Sub-Flow").  
  Configure Google Sheet:  
     Clone or create a Google Sheet workbook (e.g., Deeper Research - Create Topics).  
     Ensure two sheets within it: Create Topic and Final Blogs.  
     Set up required columns in Create Topic (e.g., Topic, Status, Have Deeper Research, Audience, Style, etc. \- match these exactly to the names used in the workflow nodes).  
     Set up columns in Final Blogs for backup (e.g., Topic Name, Final URL, Markdown, HTML, etc. \- match workflow nodes).  
     Update all Google Sheets nodes in the Trigger Flow and Main Flow to point to the correct Workbook Name, Sheet Name, and ensure column names match.  
  Link Flows:  
     In the Trigger Flow, locate the "Execute Workflow" node (e.g., "Execute Workflow \- Create A Topic"). Edit this node and select the imported Main Flow from the dropdown.  
     In the Main Flow, locate all "Execute Workflow" nodes that perform research. Edit these nodes and select the imported Research Tool Sub-Flow from the dropdown.  
  Configure Credentials: In n8n, add credentials for: OpenAI, PerplexityAI, WordPress (using Application Password), Google (ensure Sheets, Drive, Docs permissions).  
  Connect Workflow Nodes: Open all three workflows. Go through each node requiring authentication (OpenAI, Perplexity HTTP Request, WordPress, Google Sheets, Google Drive, Google Docs) and assign the correct credential. Pay close attention to HTTP Request nodes, ensuring API keys are correctly placed.  
  Configure Triggers: In the Trigger Flow, configure the Schedule Trigger interval (default 10 mins) or the n8n Form Trigger fields as needed. Ensure only one trigger is active unless you intend both.  
  Customize Inputs & Parameters: Review key nodes:  
     Trigger Flow: Adjust Wait time if needed.  
     Main Flow: Verify Website URL (for sitemap), AI prompts (Planner, Copywriters), default Category ID, internal link limit, image sizes.  
     Research Tool Sub-Flow: Review default model (sonar), system message, max tokens if needed.  
  Test Connections: Perform test runs on individual nodes within each workflow (e.g., read Google Sheet, call Perplexity via Research Tool Sub-Flow, connect to WordPress) to verify credentials and configurations.  
  Initial Test Run: Add one test topic to your Create Topic sheet (set Status to 'To Do', specify 'Yes' or 'No' for Have Deeper Research). Manually trigger the Trigger Flow once (or wait for the schedule). Verify the process completes and check outputs (WordPress post, Google Drive folder, Google Doc, Final Blogs sheet, Create Topic status update).  
  Activate Workflows: Toggle the "Active" switch ON for the Trigger Flow in your n8n instance. The Sub-Workflows should remain inactive as they are triggered by other flows.  
  Start Automating: Add content topics to the Create Topic sheet (set Status='To Do'), and the scheduled Trigger Flow will pick them up.

  Tips for Pros

  Control Research Depth:** Use the Have Deeper Research column ('Yes'/'No') in your Google Sheet to control the level of research per topic, optimizing for cost and complexity where needed.  
  AI Model Selection:** Experiment with different models in the AI/Image nodes. An alternative to OpenAI’s image model is Flux.1, which can yield superior images. For research, test Perplexity's sonar-deep-research model (by passing it as a parameter to the Research Tool Sub-Flow if needed) if the standard sonar isn't deep enough.  
  Wait Times:** Adjust the Trigger Flow's "Wait" node duration based on your API plan limits, the typical runtime of the Main Flow, and desired posting frequency.  
  Prompt Engineering:** Refine the prompts within the Main Flow's AI nodes (Blog Planner, Chapter/Subchapter Copywriters, Image Prompts) and the Research Tool Sub-Flow's system message to fine-tune the output style, tone, structure, and image relevance.  
  Sitemap Accessibility:** Ensure your post-sitemap.xml is publicly accessible and correctly formatted for the parsing node to work reliably for internal linking.

  Important Considerations

  API Costs:** Deep research (especially the sub-sub-topic level) and generating multiple high-quality images per post can consume significant API credits. Monitor your costs closely. Use the Have Deeper Research flag wisely.  
  API Rate Limits:** Even with Wait nodes, high volume can hit API rate limits. Be aware of your plan limits (OpenAI, Perplexity) and adjust workflow timing (schedule interval, wait time) accordingly.  
  Sub-Workflow Runtime:** The Main Flow can take a considerable amount of time to run, especially with Deeper Research enabled. Factor this into scheduling and expectations.  
  Tool Dependencies:** The workflow relies heavily on the specific functionalities and APIs of OpenAI, Perplexity, Google Workspace, and WordPress. Changes in these platforms might require workflow adjustments.  
  Initial Setup Complexity:** Due to the advanced features, three-flow structure, and multiple integrations, the initial setup requires careful configuration of credentials, node settings (especially Google Sheets names/columns), and workflow linking. Test thoroughly.  
  For inquiries about this template, please contact AI Automation Pro.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.formTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.splitInBatches","n8n-nodes-base.manualTrigger","n8n-nodes-base.executeWorkflow","n8n-nodes-base.wait","n8n-nodes-base.executeWorkflowTrigger","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.editImage","n8n-nodes-base.splitInBatches","n8n-nodes-base.stickyNote","n8n-nodes-base.wait","n8n-nodes-base.merge","n8n-nodes-base.merge","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.aggregate","n8n-nodes-base.switch","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.splitInBatches","n8n-nodes-base.splitInBatches","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","n8n-nodes-base.merge","n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.merge","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.googleDrive","n8n-nodes-base.splitOut","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.editImage","n8n-nodes-base.googleDrive","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.xml","n8n-nodes-base.splitOut","n8n-nodes-base.limit","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.aggregate","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.aggregate","n8n-nodes-base.googleDocs","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.markdown","n8n-nodes-base.set","n8n-nodes-base.googleDocs","n8n-nodes-base.wordpress","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.splitInBatches","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.convertToFile","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.filter","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.filter","n8n-nodes-base.convertToFile","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 9648 characters]

metadata_json:
  {"categories":["automation","content creation","integration","research","SEO"],"complexity":"complex","use_cases":["Automated long-form article and report generation","Batch auto-blogging from Google Sheets","Building topical authority / cornerstone content","SEO-optimized publishing with internal/external linking","Automating image creation and media uploads for posts"],"estimated_setup_minutes":90,"required_services":["n8n instance","OpenAI API (text + image e.g., gpt-image-1)","PerplexityAI API (or equivalent research API)","WordPress site with REST API & Application Password","Google Account (Google Sheets, Drive, Docs)"],"key_features":["Multi-level (topic → sub-topic → sub-sub-topic) research via PerplexityAI","Three-flow modular architecture: Trigger, Main, Research sub-flow","Automated article planning (title, slug, meta, ToC, chapters)","Conditional deeper research per-topic toggle","Batch processing and scheduler driven by Google Sheets and Form trigger options, with status tracking and wait nodes for rate limiting management"],"target_audience":["Content marketers and strategists","SEO professionals","Agencies managing large-scale content production and clients' blogs/websites on WordPress hosts with REST access"]}


name: Structured Data Extract & Data Mining with Bright Data & Google Gemini
author_name: Ranjan Dailata
author_username: ranjancse
categories: []
created_at: 2025-05-03T23:44:32.500Z
updated_at: 2025-05-03T23:44:32.500Z
url: https://n8n.io/workflows/3853
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  Who this is for?
  The Structured Data Extract & Data Mining workflow is crafted for researchers, content analysts, SEO strategists, and AI developers who need to transform semi-structured web data (like markdown content or scraped HTML) into actionable structured datasets. 

  It is ideal for:

  Content Analysts** - Organizing and mining large volumes of markdown or HTML content.

  SEO & Trend Researchers** - Exploring topics by location and category.

  AI Engineers & NLP Developers** - Looking to automate insight extraction from unstructured inputs.

  Growth Marketers** - Tracking topic-level trends for strategic campaigns.

  Automation Specialists** - Streamlining workflows from scrape to storage.

  What problem is this workflow solving?

  Extracting insights from markdown or HTML documents typically requires manual review, formatting, and parsing. This becomes unscalable when dealing with large datasets or when real-time response is needed. Additionally, trend and topic extraction usually involves external tools, custom scripts, and inconsistent formatting.

  This workflow solves:

  Automatic text extraction from markdown or structured content.

  Location and category-based trend mining with semantic grouping.

  AI-driven topic extraction and summarization

  Real-time notification via webhook with rich structured payloads.

  Persistent storage of mined data to disk for audits or further processing.

  What this workflow does

  Receives input: Sets the URL for the data extraction and analysis.

  Uses Bright Data's Web Unlocker to extract content from relevant sites.

  A Markdown/Text Extractor node parses the content into clean plaintext

  The cleaned data is passed to Google Gemini to:

  	Identify trends by location and category

  	Extract key topics and themes

  	Format the response into structured JSON

  	The structured insights are sent via Webhook Notification to external systems (e.g., Slack, Web apps, Zapier)

  	The final output is saved to disk

  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.
  A Google Gemini API key (or access through Vertex AI or proxy).
  Update the Set URL and Bright Data Zone for setting the brand content URL and the Bright Data Zone name.
  Update the Webhook HTTP Request node with the Webhook endpoint of your choice.

  How to customize this workflow to your needs

  Update Source** : Update the workflow input to read from Google Sheet or Airbase for dynamically tracking multiple brands or topics.
  Gemini Prompt Customization** : 
  	Extract trends within a custom category (e.g., E-commerce design patterns in the US)

  	Output topics with popularity metrics

  	Structure the output as per your database schema (e.g., [{ topic, trend_score, location }])

  Webhook Output** : Send notifications to -

  	Slack – with AI summaries in rich blocks
  	Internal APIs – for use in dashboards

  	Zapier/Make – for multi-step automation

  Persistence**
  	Save output to:

  		Remote FTP or SFTP storage
  		Amazon S3, Google Cloud Storage etc.

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

workflow_json_compressed:
  [encoded data, 4632 characters]

metadata_json:
  {"categories":["data processing","web scraping","AI/NLP","automation","analytics"],"complexity":"complex","use_cases":["Extract structured data from markdown/HTML","Location and category-based trend mining","AI-driven topic extraction and summarization","Real-time webhook notifications with structured payloads","Persistent storage of mined insights for audit or downstream processing"],"estimated_setup_minutes":45,"required_services":["n8n instance","Bright Data (Web Unlocker zone)","Google Gemini / Vertex AI access (API key or proxy)","Webhook endpoints (e.g., Slack, internal API, Zapier/Make)","Optional storage: Amazon S3 / Google Cloud Storage / FTP/SFTP"],"key_features":["Automatic extraction and cleaning of markdown/HTML content","Semantic trend and topic extraction by location/category via Gemini","Formatting and returning structured JSON results","Webhook-based real-time notifications (rich payloads)","Persistent save to disk or remote storage for audits/processing','Configurable prompts and input sources (Google Sheets, Airtable, etc.)"],"target_audience":["Content analysts","SEO & trend researchers","AI engineers / NLP developers ​(AI developers)​ ​)​ ​)​"]}


name: Google Trend Data Extract & Summarization with Bright Data & Google Gemini
author_name: Ranjan Dailata
author_username: ranjancse
categories: []
created_at: 2025-05-04T00:11:41.788Z
updated_at: 2025-05-04T00:11:41.788Z
url: https://n8n.io/workflows/3854
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who this is for
  The Google Trend Data Extract & Summarization workflow is ideal for trend researchers, digital marketers, content strategists, and AI developers who want to automate the extraction, summarization, and distribution of Google Trends data. This end-to-end solution helps transform trend signals into human-readable insights and delivers them across multiple channels.

  It is built for:

  Market Researchers** - Tracking trends by topic or region

  Content Strategists** - Identifying content opportunities from trending data

  SEO Analysts** - Monitoring search volume and shifts in keyword popularity

  Growth Hackers** - Reacting quickly to real-time search behavior

  AI & Automation Engineers** - Creating automated trend monitoring systems

  What problem is this workflow solving?
  Google Trends data can provide rich insights into user interests, but the raw data is not always structured or easily interpretable at scale. Manually extracting, cleaning, and summarizing trends from multiple regions or categories is time-consuming.

  This workflow solves the following problems:

  Automates the conversion of markdown or scraped HTML into clean textual input

  Transforms unstructured data into structured format ready for processing

  Uses AI summarization to generate easy-to-read insights from Google Trends

  Distributes summaries via email and webhook notifications

  Persists responses to disk for archiving, auditing, or future analytics

  What this workflow does

  Receives input: Sets an URL for the data extraction and analysis.

  Uses Bright Data’s Web Unlocker to extract content from relevant site.

  Markdown to Textual Data Extractor: Converts markdown content into plaintext using n8n’s Function or Markdown nodes

  Structured Data Extract: Parses the plaintext into structured JSON suitable for AI processing

  Summarize Google Trends: Sends structured data to Google Gemini with a summarization prompt to extract key takeaways

  Send Summary via Gmail: Composes an email with the AI-generated summary and sends it to a designated recipient

  Persist to Disk: Writes the AI structured data to disk

  Webhook Notification: Sends the summarized response to an external system (e.g., Slack, Notion, Zapier) using a webhook

  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.
  A Google Gemini API key (or access through Vertex AI or proxy).
  Update the Set URL and Bright Data Zone for setting the brand content URL and the Bright Data Zone name.
  Update the Webhook HTTP Request node with the Webhook endpoint of your choice.

  How to customize this workflow to your needs

  Update Source : Update the workflow input to read from Google Sheet or Airbase etc.
  Gemini Prompt Tuning : 
  Customize prompts to extract summaries like:
  	Summarize the most significant trend shifts
  	Generate content ideas from the trending search topics
  Email Personalization : Configure Gmail node to:
   Use dynamic subject lines like: Weekly Google Trends Summary – {{date}}
  Send to multiple stakeholders or mailing lists

  File Storage Customization : 
  Save with timestamps, e.g., trends_summary_2025-04-29.json
  Extend to S3 or cloud drive integrations
  Webhook Use Cases : 
  Send summary to:
  	Internal dashboards
  	Slack channels
  	Automation tools like Make, Zapier etc.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.set","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.httpRequest","n8n-nodes-base.function","@n8n/n8n-nodes-langchain.informationExtractor","@n8n/n8n-nodes-langchain.chainSummarization","n8n-nodes-base.httpRequest","n8n-nodes-base.readWriteFile","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.gmail"]

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

metadata_json:
  {"categories":["automation","data processing","integration","web scraping","AI summarization"],"complexity":"medium","use_cases":["Automated trend extraction and monitoring","Generating human-readable summaries from Google Trends","Content idea and SEO opportunity discovery","Automated reporting and notifications","Archiving trend data for auditing or analytics"],"estimated_setup_minutes":30,"required_services":["Bright Data (Web Unlocker)","Google Gemini API or Vertex AI access","Gmail account (for email delivery)","Webhook endpoint receiver (Slack, Notion, Zapier, etc.)","File storage (local disk or cloud)"],"key_features":["Bright Data Web Unlocker scraping of trend pages","Markdown/HTML to plaintext conversion","Structured JSON extraction from unstructured trend content","AI summarization via Google Gemini","Email delivery of summaries via Gmail node"],"target_audience":["Market researchers","Content strategists","SEO analysts and growth hackers`,`AI & automation engineers`,`Data analysts"]}


name: 🚀 YouTube Comment Sentiment Analyzer with Google Sheets & OpenAI
author_name: Aayushman Sharma
author_username: ajstyle0411
categories: []
created_at: 2025-05-04T04:00:16.873Z
updated_at: 2025-05-04T04:00:16.873Z
url: https://n8n.io/workflows/3855
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  🚀 YouTube Comment Sentiment Analyzer with Google Sheets & OpenAI

  Who Should Use This?
  Influencers, marketers, and data teams who need instant insights into audience sentiment—without manual exports or scattered tools.

  The Challenge
  Manual exports** from YouTube Studio  
  Time-consuming** sentiment tagging  
  Data scattered** across multiple platforms  

  Our workflow automates everything: from fetching comments to logging analysis—so you can focus on insights, not spreadsheets.

  What You’ll Get
  Dynamic Input  
     Read a list of YouTube URLs from your Google Sheet.  
  Full Comment Harvest  
     Pull all top-level comments (handles pagination 100/page).  
  Deep Sentiment Scan  
     Classify each comment as Positive, Neutral, or Negative using OpenAI.  
  Smart Formatting  
     Capture metadata (author, likes, timestamp) alongside sentiment.  
  Seamless Storage  
     Append or update rows in your Google Sheet—ready for reporting.

  Easy Setup
  Prepare Google Sheet  
     Create a sheet with a video_urls column (full YouTube links).  
     Add and authorize a Google Sheets Oauth or service-account credential in n8n.  
  Enable YouTube API  
     Activate Data API v3 in Google Cloud, grab an API key, and save as an HTTP credential in n8n.  
  Configure OpenAI  
     Enter your API key under the “OpenAI Chat” credential in n8n.  
  Import the Workflow  
     Paste the provided JSON into n8n.  
  Run Manually  
     Use the Manual Trigger node to start fetching and analyzing comments on demand.

  Customize to Your Needs
  Filter Comments**: Add an IF node to process only comments with specific keywords or minimum likes.  
  Automate Schedule**: Swap the Manual Trigger for a Cron node if you later want periodic runs.  
  Extended Analysis**: Swap sentiment classification for topic extraction, summarization, or translation by tweaking the LLM prompt.  
  Alternate Destinations**: Replace Google Sheets with Airtable, Notion, or any database node.

  Tags
  `YouTube Google Sheets OpenAI Sentiment Analysis n8n Manual Trigger`  

nodes_used:
  ["n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.noOp","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.sentimentAnalysis","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.noOp","n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE9WY327rRg6HX2WgazM7/zQz8tV2A2xxim4DNKctFgfBAWeGYwtHllxJTpMGAfoY7ev1SYpRsrFPjp3YWezF3hkKRX6kyR/p3BV1LObFDZ6bX7/V/qd/dELf3H5TzIoVjVjM74q6HUZsA73LdoInQw6dMbpSwiSyXItQchWkJhOt9cZhZQRWSSeRrIlccB60KrU2vJLFrBhptW5wpPOe4nBJ42Z93q3WDY0Ui/nYb+h+VrS4omJe/LvbvN94YufdakXtyC6pHevp01ctNre/Up/94WIo5h+uZkXbRcof7x5y4h5DtKoCS6hAy1SCq5wBmWzU1khHVBVPsS7XTT2yi82YXd6u86PWtTD5BI8DnQ3Z4sFg3Q31WHdtMf/gJJ+B5lezYo09rmikfijmd/cPXn6kfpjsxP3sEUsqg4jowWCFoGW04IwuoXLcJxeULHXcYl2sqf3qHTtf4sj+1UVqtnh/b137ty1jg+0iLLFuz5pVNp/erD+HFdzxmXCv057JJ94gKKJCA1XyBFqUHBx3BoJKiTySlyS2vN917GJNPeaAMxY71nbjsm4XB6vadhfrzyFVZjylolG6pJJPYLhQoC0m8Og0KB9j5ThPUfkt4dc0sh/rSB37oW8Glvpuxb7uukVD7HJJdPj7X0xGk83wOTFIflQT6LPyCZpj4KZUHEIiCzqJAC5wBBcpSSFNTDxtocOSwifW0s3IEo1hyfIcsHpgeI11g74h1vW51gfp6/QF8zHIcqcTPGqZdMlBeR5AC1TgyEqIEpXzlQ0p2COQPaWuJzYuiYVN3+dxzn86mlwYPnu9hXfBEaMQSUvwlTWgRbTgrRUgShHRcFWJaD5vkEfFGVjqenY9dcumb4aDjMtxXH9PP29oeCYPyvAZmCM6Y0urQxLkIweShoOmUoEP0oAnEb1MhmySW9pHJWTDkzZ2idE19bcsPCRxhGI8vTx5G+rhuWyYE0UuKW5CGSIYbzxokxC8pQRJhUCpMrxSO6Lxz65f4chSTU0cGA6sp583dU+RjR0b8JpY3bKH8WPDizM60LP6i/K40VRn+gnehCg5GgLnQwCtgwU0MgKpoIItycQKt/Dv2oH6kWEb2WYdcaT/1P1o6MPCIuxxU7orLIRS86QcCG0kaC49uOglKOMV5cUd5I6w/PCA3ODwOKa56HlQcz55eD9OTz++OKEvJFDpkxMwgid0KuSiG9AycEB0HgR5L9D4kLR+feGIEzZO3uEnbRzFS8vROLDOO9BKE3gvORC6ErlxFRq1RfxpSS0LTR0+1e2C/fnb7+9pGNkvXf8pNd0vf/72x0HUFbYbbN739WIx3Tq7+p3X5EkzqRPZCisLKagKtAgcqigTJG6dKSNRKmnnHhrr8OmWfdeNdLiUw2SUbZ7B6fy1iy91rwhdO2ZNmhfFYVIegndldBBlRaA1WvBGa9CVVzEEE6jaWejn06K53IRAw8C+p2HdtcPx66Q8TqF394lzPJWWJzCKc9CmrKCKIUHU1jkuNBe76rZTSXl6JYXIAlbyE0t5NSswjPU1FfOEzUCzYqBxrNvF9CrdUNjkCBd9pL6YF9ci+7h+eH+69C3n3ApnwWplQfO8hSpeQclL65MTpuJ5Z4aubSlkV5Pj7RU9vytWWOcUPtxNl/mJu2p6eVbUbaSbYs7vr67uZ3uu4fldgfXHvMk2uKDHZ28M+YWj5+EPdNq+VPf8nPgio9nW/AgV21uQl26VfVivzcrBIC9ezPsiveFi3Rv8dfHcF/34I39v0CO6Zl/U/+KOeak5/g/c5qIdfwjtq93bDpG9IMe33qHWefX8f6mub//hszebkwqzk9DLpTjE8j+pyOv/FNib+ekNuo/+Dff5Hpr7+78AKqy0SCoTAAA=

metadata_json:
  {"categories":["automation","integration","data processing","sentiment analysis"],"complexity":"medium","use_cases":["Monitor audience sentiment on YouTube videos","Automate comment harvesting and tagging for reports","Build datasets for social listening or research","Filter/manage community feedback (by keyword or likes)"],"estimated_setup_minutes":30,"required_services":["YouTube Data API v3 (API key)","Google Sheets (OAuth or service-account credential)","OpenAI API (Chat/LM endpoint)","n8n instance"],"key_features":["Read video URLs from Google Sheets","Fetch all top-level comments with pagination","Classify sentiment (Positive/Neutral/Negative) via OpenAI","Capture comment metadata (author, likes, timestamp)","Append or update rows in Google Sheets for reporting-ready data"],"target_audience":["influencers","marketers","community managers / moderators"]}


name: OpenAI ImageGen1 via HTTP Request (Edit Image)
author_name: TechDennis
author_username: techdennis
categories: []
created_at: 2025-05-04T13:35:07.714Z
updated_at: 2025-05-04T13:35:07.714Z
url: https://n8n.io/workflows/3858
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Edit an existing image with OpenAI ImageGen1 via API Request

  Transform your creative pipeline by letting n8n call OpenAI ImageGen1’s edit image endpoint, automatically replacing or augmenting parts of any image you supply and returning a brand-new version in seconds. Designers, marketers, and product teams can eliminate repetitive manual edits and test more variations, faster.

  Who is this for?
  Content creators who need quick, on-brand image tweaks  
  Marketers running A/B visual tests at scale  
  Developers exploring the new ImageGen1 API inside low-code automations  

  Use case / problem solved
  Opening design software to mask, fill, or swap objects is slow and error-prone. This workflow feeds an input image plus a prompt to OpenAI ImageGen1, receives the edited output, and passes it on to any service you like—perfect for bulk-editing product shots, social visuals, or UI mocks.

  What this workflow does
  Read or receive the source image (Webhook → Binary Data).  
  Call OpenAI ImageGen1 with an HTTP Request node, sending the image and edit prompt.  
  Parse the JSON response to capture the returned image URL.  
  Download & hand off the edited file (e.g., upload to S3, post to Slack, or store in Drive).

  Setup
  Add your OpenAI API key in the API KEY node.  
  Follow the notes on the workflow for more information. 
  (Optional) Point the final node to your preferred storage or chat tool.  

  &gt; 📝 A sticky note in the workflow summarizes these steps and links to the OpenAI documentation.

  How to customize this workflow
  Trigger alternatives**: Replace the Chat with Google Drive, Airtable, etc.  
  Chained edits**: Loop the output back for successive prompts.  
  Conditional flows**: Add an If node to branch actions by image size or category.  

  With renamed nodes, color-coded sticky notes, and a concise setup guide, you’ll be editing images via OpenAI ImageGen1 in under five minutes—no code, maximum creativity.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.convertToFile","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","integration","image-editing","content-creation"],"complexity":"simple","use_cases":["Bulk-editing product photos","A/B visual testing for marketing","Quick UI mockups and design iterations","Automated object masking/fill/swap in images"],"estimated_setup_minutes":5,"required_services":["OpenAI ImageGen1 API (API key)","n8n instance (Webhook endpoint)","Optional: AWS S3, Slack, Google Drive, Airtable or other storage/chat services"],"key_features":["Accepts source image via Webhook/binary data","Calls OpenAI ImageGen1 edit endpoint via HTTP Request","Parses JSON response to extract edited image URL","Downloads and forwards edited file to storage or chat services","Supports chaining edits and conditional branching"],"target_audience":["Designers and content creators","Marketing teams running visual tests","Product teams needing rapid mockups/prototypes\",\"Developers building low-code image automations"]}


name: AI Customer Support Assistant · WhatsApp Ready · Works for Any Business
author_name: Matt F.
author_username: lemolex
categories: []
created_at: 2025-05-04T13:37:44.027Z
updated_at: 2025-05-04T13:37:44.027Z
url: https://n8n.io/workflows/3859
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  AI Customer-Support Assistant that auto-maps any business site, answers WhatsApp in real time, and lets you earn or save thousands by replacing pricey SaaS chat tools.

  ⚡ What the workflow does

  Live “AI employee”* - the bot crawls pages on demand (products, policies, FAQs) so you *never** upload documents or fine-tune a model.
  No-code setup** - Drop in API keys, paste your domain, publish the webhook—ready in \~15 min.
  Chat memory** - each conversation turn is written to Supabase/Postgres and automatically replayed into the next prompt, letting the assistant remember context so follow-up questions feel natural and coherent even across long sessions.
  WhatsApp ready** - Free-form replies inside the 24-hour service window, automatically switches to a template when required (recommended by Meta).

  🚀 Why you’ll love it

  | Benefit                   | Impact                                                                |
  | ------------------------- | --------------------------------------------------------------------- |
  | Zero content training | Point the AI Agent at any domain → go live.                            |
  | Save or earn money    | Replace pricey SaaS chat tools or sell white-label bots to clients. |
  | Channel-agnostic      | Ships with WhatsApp; swap one node for Telegram, Slack, or web chat.  |
  | Flexible voice        | Adjust tone & language by editing one prompt line.                    |

  🧰 Prerequisites (all free-tier friendly)

  OpenAI key
  Meta WhatsApp Cloud API number + permanent token (easy setup)
  Supabase (or Postgres) URL for chat memory (easy setup)

  🛠 5-step setup

  Import the template into n8n.
  Add credentials for OpenAI, WhatsApp, and Supabase.
  Enter your root domain in the root\_url variable.
  Point Meta’s Webhook to the n8n URL.
  Hit Execute Trigger and send “Hi” from WhatsApp—watch the bot answer with live data.

  🔄 Easy to extend

  Voice & language** – change wording in the System Prompt.
  Escalation** – add an “If fallback” branch → Zendesk, email, live agents.
  Extra channels** – duplicate the reply node for Telegram or Slack.
  Commerce API hooks** – plug in Shopify, Woo, Stripe for order status or payments.

  💡 Monetization ideas

  Replace costly SaaS seats.* Deploy the bot on your own server and *stop paying \$300–\$500 every month for third-party “AI support” platforms.
  Sell it as a service.* Spin up a branded instance for local shops, clinics, or e-commerce stores and *charge each client \$300–\$500 per month**—setup time is under 15 minutes.
  Upsell premium coverage (24/7 human hand-off) once the bot handles routine questions.
  Embed product links in answers and earn affiliate or upsell revenue automatically.

  Spin it up, connect a domain and a phone number, and you—or your customers—get enterprise-grade support without code, training, or ongoing licence fees.

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.whatsAppTrigger","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.toolHttpRequest","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.whatsApp","n8n-nodes-base.whatsApp","@n8n/n8n-nodes-langchain.memoryPostgresChat","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6736 characters]

metadata_json:
  {"categories":["automation","integration","customer support","AI/chatbots"],"complexity":"medium","use_cases":["AI-powered customer support on WhatsApp","FAQ and knowledge-base answering by crawling a website","White-label chatbot service for clients","Order/status lookups when connected to commerce APIs","Contextual multi-turn conversations with memory"],"estimated_setup_minutes":15,"required_services":["OpenAI API","Meta WhatsApp Cloud API (phone number + token)","Supabase or Postgres (for chat memory)","n8n instance / webhook-accessible URL","Domain for crawling (root_url)"],"key_features":["On-demand website crawling (no document upload or model fine-tuning)","Real-time WhatsApp replies with automatic template fallback","Conversation memory persisted in Supabase/Postgres and replayed into prompts","No-code setup — drop in API keys and publish webhook","Channel-agnostic (swap WhatsApp node for Telegram/Slack/webchat) — easy extension points for escalation or commerce hooks"],"target_audience":["Small and medium businesses","E-commerce stores and merchants","Support teams looking to automate routine queries and save costs vs SaaS chat tools」「Agencies or freelancers selling white-label chatbots to clients」「Developers/automation builders who customize integrations and escalation paths"]}


name: Automate Employee Onboarding with Slack, Jira, and Google Workspace Integration
author_name: Velebit from Innovatio
author_username: innovatio
categories: []
created_at: 2025-05-04T14:15:15.411Z
updated_at: 2025-05-04T14:15:15.411Z
url: https://n8n.io/workflows/3860
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who is this for?

  This template is ideal for HR teams, startup founders, operations leads, remote-first companies, and freelancers managing onboarding manually or across multiple tools.

  Whether you’re hiring your first intern or streamlining onboarding for dozens of new team members, this workflow automates the entire trigger → task creation → onboarding delivery process using no-code tools connected via n8n.

  What problem does this solve?

  Employee onboarding is often fragmented and error-prone — involving Jira tasks, Slack DMs, file sharing, and email templates spread across different apps.

  This workflow connects it all, letting you create tasks, notify people, share folders, and message hires instantly — right when they’re marked as “Hired” in a Google Sheet or added to Slack.

  No more bouncing between 5 tabs. This is onboarding as a system.

  What this workflow does

  ✅ Watches a Google Sheet (or Slack trigger) for new hires  
  📋 Creates a Jira onboarding Epic with role-based subtasks  
  📂 Generates a Google Drive folder and shares it with the new hire  
  📬 Sends a personalized, HTML-formatted welcome email via Gmail  
  💬 Posts a Slack message in the #onboarding channel + DM to the hire  
  📊 Logs onboarding activity back to the Sheet (status, links, etc.)  
  🔁 Modular subtasks based on role/team (e.g. Dev vs Marketing vs Student)  
  🧠 Expressions, fallback logic, and Slack→Jira user ID mapping built-in

  Setup

  Create API credentials for:
     Slack
     Google Sheets
     Google Drive
     Jira Cloud
     Gmail (API or SMTP)

  Import the .json workflow into your n8n instance (Cloud or self-hosted)  
  Replace placeholder values (e.g. Project ID, Issue Type ID, folder path)  
  Customize onboarding messages, email HTML, and task logic  
  Test with included mock data (sample hire, Slack user, Jira user)  
  Activate your flow and start onboarding with one click

  🗒 Color-coded workflow notes

  This workflow uses Innovatio’s sticky note system to guide you visually:

  🟩 Green Notes → Main automation steps  
  🟦 Blue Notes → What to customize (IDs, prompts, expressions)  
  🟨 Yellow Notes → Optional logic and future upgrades  
  🟫 Gray Notes → Welcome + final “next steps” CTA

  Every group includes pre-filled nodes, dynamic expressions, and mock outputs so you can test quickly and scale confidently.

  How to customize this workflow?

  📂 Swap Google Sheets for Airtable (better for teams or approvals)  
  📅 Add 30/60/90-day check-ins via Google Calendar  
  🤖 Plug in OpenAI to generate onboarding subtasks by role  
  📬 Auto-assign mentors or SlackBot reminders after 7 days  
  📊 Push Sheet logs into Notion or your HR dashboard

  Need custom logic? Email me at velebit@innovatio.design

  Final notes

  This template was created by Velebit from Innovatio with modularity, scalability, and team experience in mind.

  All links included are official. No affiliate tracking, no sponsored content.

  📜 A separate commercial license applies to the purchase via Gumroad, which includes extended rights, usage for client work, and scaling strategies.

nodes_used:
  ["n8n-nodes-base.googleSheetsTrigger","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.jira","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.hubspotTrigger","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.code","n8n-nodes-base.jira","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.slack","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.slackTrigger","n8n-nodes-base.googleSheets","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.stickyNote","n8n-nodes-base.jira","n8n-nodes-base.code","n8n-nodes-base.httpRequest","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.aggregate","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.slack","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4884 characters]

metadata_json:
  {"categories":["automation","integration","HR/onboarding"],"complexity":"complex","use_cases":["Automate employee onboarding workflows","Create Jira onboarding Epics and role-based subtasks","Provision and share Google Drive folders for hires","Send personalized HTML welcome emails via Gmail","Post notifications and DMs in Slack and map Slack→Jira users for assignments','Log onboarding status and links back to a Google Sheet"],"estimated_setup_minutes":60,"required_services":["Slack","Google Sheets","Google Drive","Jira Cloud","Gmail (API or SMTP)"],"key_features":["Watches Google Sheet or Slack for new hires","Creates Jira Epic + role-based subtasks automatically","Generates and shares Google Drive folders","Sends personalized HTML welcome emails","Posts in Slack channel and DMs new hires','Logs onboarding activity back to the Sheet (status, links)"],"target_audience":["HR teams","Startup founders / operations leads","Remote-first companies / people ops','Freelancers managing hires','n8n users and automation builders"]}


name: Automatically Upload Scanned Documents to Nextcloud via ScanservJS
author_name: Joachim Hummel
author_username: jhummel
categories: []
created_at: 2025-05-04T14:31:11.628Z
updated_at: 2025-05-04T14:31:11.628Z
url: https://n8n.io/workflows/3861
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:33
description:
  This workflow connects a USB scanner to Nextcloud via ScanservJS and the integrated API. It checks for new scans at a scheduled time (e.g., every 5 minutes). If there are any, they are automatically retrieved via HTTP request and then saved to a desired Nextcloud folder.

  Ideal for home offices, offices, or maker projects with Raspberry Pi and network scanners.



  Nodes used:

  Schedule Trigger – starts the flow cyclically

  HTTP Request – retrieves document data from ScanservJS

  Nextcloud Node – uploads the file directly to your Nextcloud account

  Requirements:

  Local installation of ScanservJS (e.g., on a Raspberry Pi)

  Configured USB scanner



  Nextcloud access with write permissions in the target folder

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

workflow_json_compressed:
  H4sIAAAAAAAAE7VVTW/jNhD9KwK3p0C0SYmSKAF72CbbZveQNZpkUSD1YUQObbUypUqUE9fQfy+ofDmNs9seepOExzfzHt+M9qTSpCAfP59f5debn3+9+LLb2a+MhGSDDkixJ5XtHViFnzwO0oxnolSRZIKnUILOjE6MLss01XkqTWwiKUopMsbyUpqsjCRoQJmqhKlckpA43LQ1ODztUPeX6Ib2tNm0NTrUpHDdgGNILGyQFORSge2DbWODxdlPwV9DcIF3TtXNoD0PrHpS3CxDYhuN/nF/ryXJhGaRiWgiVE6FiQTNlSypSLlUSptIZYo81Ti/uloEv+CfA/bOs+5a/9VKSydaWkKPs7Vz7TOmbfrKVY0lxQ2VLKSSLUPSQgcbdNj13rShq0lB/LFiPud5NOOpnPEZZ6yQTLI5tNV8y+emqrEnIWlaz+dPjiHp0epzBD1ReUNCsp5eFy9KHBa82T/KAaWw9U1uoR6mD21bVwo8//z3vrFkXI7jvc6v2PWTDDGLxvDBvQx4maCJaZYwQ0WiElqmDGkstEjjPJNQmmf3XlzIUess3rnTB8SBcbE4blwLbk0K8n4+3f18vw9+8F3PfL1gHElIyspCtzsDB9dt3cBzaFSHGq2roJ6Yngp/aKspx17dItJZLrm5bdJ19VHal0omeABKNYN15JVN/MmkPIYogwypzlhOhcKSliyNqOBxahRAphgcjxj/7xnjb1h1n7H3/y5kx5z8H1N3Mj/5btCyWEqWcFryMqYCsoRKnjOaRlKVnKk0iwU5WAVr1EONwVVXrVbYvWlj/wB8xh2Oa/TGvHZDjffLzmG3hXoSZyqsfafrZuj6Y3L4gRwlcshzjpQZMFTEUUrzKJZUx8oISFOOkBzIcZX6YxdcNA7fVjJhHiCHIqbZiaLXKm4r7acnZ8xfXrVaO1LEkoVENdahdaQg794Fp027C/x4WeyCs0YNG7SuD1zzvF5/sycnwQWiRh1cX/5IH9FgdbDomlUHm4nhErvt58vgtnLrAGzwYfGJvB6aZUhAuWqLj7nq0bnKrqaW8Q7V4IV96TR2pCBb7im298enfw5XuYwAEmqM8Vs8L6ksI0WlSco8EyY3wgdFNdaiekz0y71e7MkGKm+ez2yjvzGVEy4kldV4Rwo2Lpdj+A/sMbYji/Ao06scf6+1b/KN498WX2qVwAcAAA==

metadata_json:
  {"categories":["automation","integration","document management","home office","IoT"],"complexity":"medium","use_cases":["Automated archival of scanned documents to Nextcloud","Digitizing receipts and invoices for bookkeeping","Home office or small office scanner automation","Maker projects using Raspberry Pi and USB scanners","Reducing manual upload steps for frequent scans"],"estimated_setup_minutes":45,"required_services":["ScanservJS (local installation)","USB scanner (connected to the ScanservJS host)","Nextcloud account with write permissions in target folder","Local network access between scanner/ScanservJS host and n8n"],"key_features":["Scheduled polling for new scans (e.g., every 5 minutes)","Retrieves scanned files via HTTP from ScanservJS","Uploads files directly into a chosen Nextcloud folder","Minimal manual intervention once configured","Works with Raspberry Pi / local server setups"],"target_audience":["Home office users","Small business owners","Makers and Raspberry Pi enthusiasts who scan documents locally to cloud storage (Nextcloud)"]}


name: Automate Research-Based Newsletters with Perplexity, GPT-4, and Image Generation
author_name: Tianyi
author_username: muzi
categories: []
created_at: 2025-05-04T15:35:27.620Z
updated_at: 2025-05-04T15:35:27.620Z
url: https://n8n.io/workflows/3862
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  This n8n workflow automates the process of creating and sending high-quality newsletters with images generated by a GPT image generator. It is triggered on a schedule.

  What is included?

  1 n8n workflow (json)
  1 Setup tutorial doc
  1 video guidance on how to connect n8n with all Google products
  1 video guidance on how to connect n8n with Google Cloud Storage

  Who is this for?

  This template is ideal for:

  Content creators looking to automate their newsletter process.
  Marketers seeking to efficiently produce engaging newsletters with AI-generated content and imagery.
  Anyone wanting to create and send personalized newsletters on a schedule.

  What problem is this workflow solving?

  Manually creating and sending newsletters can be time-consuming, especially when including relevant and engaging content and imagery. This workflow automates the content generation (using AI and web search), image creation, and sending process, freeing up time and ensuring consistent communication with clients.

  What this workflow does:

  This workflow automates the following steps:

  Scheduled Trigger: The workflow is triggered automatically on a predefined schedule.

  Get Newsletter Topic: Retrieves the first unpublished newsletter topic from a Google Sheet titled "Newsletter Topics". It then updates the status of this topic and records the publication date to avoid duplication in future runs.

  AI Newsletter & Image Generator: This is the core content creation step. It uses an AI agent (configured with OpenAI and Perplexity APIs) to generate an engaging newsletter and a detailed, ultra-realistic image prompt based on the selected topic and real-time web research.

  GPT Image Generation: Uses the OpenAI API to generate an image based on the detailed image prompt created in the previous step.

  Get Client List: Retrieves client names and email addresses from a Google Sheet titled "Clients".

  Send Newsletter: Sends the personalized newsletter via Gmail to each client on the list, including the AI-generated title, content, and the uploaded image. The email body HTML is customizable.

  Setup:

  Configure the workflow's run frequency within the "Schedule Trigger" node.

  Create a Google Sheet named "Newsletter Topics" and "Clients"  in your Google Drive.

  Enter your OpenAI and Perplexity  API key in the 'Input' node.

  Connect your Gmail account to the "SendNewsletter" node.

  How to customize this workflow:

  Adjust the prompt for your newsletter style in the "AI Agent" node.

  Adjust the Email Body HTML for your newsletter style in the "SendNewsletter" node.

  Optionally, enable the "Tavily WebSearch" node and configure it if you prefer to use Tavily instead of Perplexity for web search.

  Category:

  Marketing, Content Creation, Automation

nodes_used:
  ["n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","@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.set","n8n-nodes-base.googleCloudStorage","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.merge","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.limit","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.convertToFile","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.gmail","n8n-nodes-base.httpRequestTool","n8n-nodes-base.httpRequestTool","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["Marketing","Content Creation","Automation","Email Marketing"],"complexity":"complex","use_cases":["Automating timed newsletters with AI-generated content","Generating AI-driven images for marketing emails","Personalized bulk email delivery from a client list","Curating research-backed content via web search + LLMs"],"estimated_setup_minutes":30,"required_services":["n8n","OpenAI (GPT-4 + image generation API)","Perplexity API (or Tavily as an alternative web-search)","Google Sheets (Google Drive)","Gmail / Google Workspace (for sending emails)","Google Cloud Storage"],"key_features":["Scheduled trigger to run newsletters automatically","AI agent combining web research and LLMs to draft newsletter content","Generation of detailed image prompts and image creation via GPT image API","Retrieves topics and client lists from Google Sheets and updates status to avoid duplicates","Uploads images to Google Cloud Storage and embeds them in emails sent via Gmail node(s) 
  (HTML customizable email body and prompt templates)"],"target_audience":["Content creators","Marketers and email marketing teams","Small businesses / agencies automating client communications"]}


name: Asynchronous Bulk Web Scraping with Bright Data & Webhook Notifications
author_name: Ranjan Dailata
author_username: ranjancse
categories: []
created_at: 2025-05-04T22:44:02.145Z
updated_at: 2025-05-04T22:44:02.145Z
url: https://n8n.io/workflows/3866
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who this is for
  The Async Structured Bulk Data Extract with Bright Data Web Scraper workflow is designed for data engineers, market researchers, competitive intelligence teams, and automation developers who need to programmatically collect and structure high-volume data from the web using Bright Data's dataset and snapshot capabilities.

  This workflow is built for:

  Data Engineers - Building large-scale ETL pipelines from web sources

  Market Researchers - Collecting bulk data for analysis across competitors or products

  Growth Hackers & Analysts - Mining structured datasets for insights

  Automation Developers - Needing reliable snapshot-triggered scrapers

  Product Managers - Overseeing data-backed decision-making using live web information

  What problem is this workflow solving?
  Web scraping at scale often requires asynchronous operations, including waiting for data preparation and snapshots to complete. Manual handling of this process can lead to timeouts, errors, or inconsistencies in results. 

  This workflow automates the entire process of submitting a scraping request, waiting for the snapshot, retrieving the data, and notifying downstream systems all in a structured, repeatable fashion.

  It solves:

  Asynchronous snapshot completion handling

  Reliable retrieval of large datasets using Bright Data

  Automated delivery of scraped results via webhook

  Disk persistence for traceability or historical analysis

  What this workflow does
  Set Bright Data Dataset ID & Request URL: Takes in the Dataset ID and Bright Data API endpoint used to trigger the scrape job

  HTTP Request: Sends an authenticated request to the Bright Data API to start a scraping snapshot job

  Wait Until Snapshot is Ready: Implements a loop or wait mechanism that checks snapshot status (e.g., polling every 30 seconds) until completion i.e ready state

  Download Snapshot: Downloads the structured dataset snapshot once ready

  Persist Response to Disk: Saves the dataset to disk for archival, review, or local processing

  Webhook Notification: Sends the final result or a summary of it to an external webhook

  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.
  Update the Set Dataset Id, Request URL for setting the brand content URL.
  Update the Webhook HTTP Request node with the Webhook endpoint of your choice.

  How to customize this workflow to your needs

  Polling Strategy : Adjust polling interval (e.g., every 15–60 seconds) based on snapshot complexity
  Input Flexibility : Accept datasetId and request URL dynamically from a webhook trigger or input form
  Webhook Output : Send notifications to -

  	Internal APIs – for use in dashboards

  	Zapier/Make – for multi-step automation

  Persistence
  	Save output to:

  		Remote FTP or SFTP storage
  		Amazon S3, Google Cloud Storage etc.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.function","n8n-nodes-base.readWriteFile","n8n-nodes-base.httpRequest"]

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

metadata_json:
  {"categories":["web scraping","automation","integration","data processing/ETL"],"complexity":"medium","use_cases":["Large-scale ETL pipelines from web sources","Market and competitor data collection","Scheduled or on-demand bulk data extraction","Automated delivery of scraped results to downstream systems","Archival and traceability of scraped datasets"],"estimated_setup_minutes":30,"required_services":["n8n (workflow automation platform)","Bright Data (Web Unlocker / Dataset & Snapshot API)","Webhook receiver (internal API, Zapier, Make, etc.)","Storage for persistence (local disk, Amazon S3, Google Cloud Storage, FTP/SFTP)"],"key_features":["Asynchronous snapshot job submission to Bright Data","Polling/wait loop to detect snapshot readiness","Authenticated HTTP requests (Bearer token header)","Download structured dataset snapshot when ready","Persist results to disk or cloud storage for traceability/historyability (archiveable files)"],"target_audience":["Data engineers","Market researchers","Competitive intelligence teams/analysts/growth hackers/analysts (grouped as data-focused analysts/growth teams)​"]}


name: Store Chat Data in Supabase PostgreSQL for WhatsApp/Slack Chatbot
author_name: JPres
author_username: stardawnai
categories: []
created_at: 2025-05-05T09:30:12.206Z
updated_at: 2025-05-05T09:30:12.206Z
url: https://n8n.io/workflows/3867
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  n8n Template: Store Chat Data in Supabase PostgreSQL for WhatsApp/Slack Integration

  This n8n template captures chat data (like user ID, name, or address) and saves it to a Supabase PostgreSQL database. It’s built for testing now but designed to work with WhatsApp, Slack, or similar platforms later, where chat inputs aren’t predefined.
  Guide with images can be found on: https://github.com/JimPresting/Supabase-n8n-Self-Hosted-Integration/

  Step 1: Configure Firewall Rules in Your VPC Network

  To let your n8n instance talk to Supabase, add a firewall rule in your VPC network settings (e.g., Google Cloud, AWS, etc.).

  Go to VPC Network settings.
  Add a new firewall rule:
     Name: allow-postgres-outbound
     Direction: Egress (outbound traffic)
     Destination Filter: IPv4 ranges
     Destination IPv4 Ranges: 0.0.0.0/0 (allows all; restrict to Supabase IPs for security)
     Source Filter: 
       Pick IPv4 ranges and add the n8n VM’s IP range, or
       Pick None if any VM can connect
     Protocols and Ports:
       Protocol: TCP
       Port: 5432 (default PostgreSQL port)

  Save the rule.

  Step 2: Get the Supabase Connection String

  Log into your Supabase Dashboard.
  Go to your project, click the Connect button in the header.
  Copy the PostgreSQL connection string:

        postgresql://postgres.fheraruzdahjd:[YOUR-PASSWORD]@aws-0-eu-central-1.pooler.supabase.com:6543/postgres
     
     Replace [YOUR-PASSWORD] with your Supabase account password (no brackets) and replace the string before that with your actual unique identifier.
     Note the port (6543 or 5432)—use what’s in the string.

  Step 3: Set Up the n8n Workflow

  This workflow takes chat data, maps it to variables, and stores it in Supabase. It’s built to handle messy chat inputs from platforms like WhatsApp or Slack in production.

  Workflow Steps

  Trigger Node: "When clicking 'Test workflow'" (manual trigger).
     For now, it’s manual. In production, this will be a WhatsApp or Slack message trigger, which won’t have a fixed input format.

  Set Node: "Set sample input variables (manual)".
     This node sets variables like id, name, address to mimic chat data.
     Why? Chat platforms send unstructured data (e.g., a message with a user’s name or address). We map it to variables so we can store it properly. The id will be something unique like a phone number, account ID, or account number.

  Sample Agent Node: Uses a model (e.g., GeminiFlash2.0 but doesn't matter).
     This is a placeholder to process data (e.g., clean or validate it) before saving. You can skip or customize it.

  Supabase PostgreSQL Node: "Supabase PostgreSQL Database".
     Connects to Supabase using the connection string from Step 2.
     Saves the variables (id, name, address) to a table.
     Why store extra fields? The id (like a phone number or account ID) is the key. Extra fields like name or address let us keep all user info in one place for later use (e.g., analytics or replies).

  Output Node: "Update additional values e.g., name, address".
     Confirms the data is saved. In production, this could send a reply to the chat platform.

  Why This Design?

  Handles Unstructured Chat Data**: WhatsApp or Slack messages don’t have a fixed format. The "Set" node lets us map any incoming data (e.g., id, name) to our database fields.
  Scales for Production**: Using id as a key (phone number, account ID, etc.) with extra fields like name makes this workflow flexible for many use cases, like user profiles or support logs.
  Future-Ready**: It’s built to swap the manual trigger for a real chat platform trigger without breaking.

  Step 4: Configure the Supabase PostgreSQL Node

  In the n8n workflow, set up the Supabase PostgreSQL node:
     Host: aws-0-eu-central-1.pooler.supabase.com (from the connection string)
     Port: 6543 (or what’s in the connection string)
     Database: postgres
     User: postgres.fhspudlibstmpgwqmumo (from the connection string)
     Password: Your Supabase password
     SSL: Enable (Supabase usually requires it)

  Set the node to Insert or Update:
     Map id to a unique column in your Supabase table (e.g., phone number, account ID).
     Map fields like name, address to their columns.

  Test the workflow to confirm data saves correctly.

  Security Tips

  Limit Firewall Rules**: Don’t use 0.0.0.0/0. Find Supabase’s IP ranges in their docs and use those.
  Hide Passwords**: Store your Supabase password in n8n’s environment variables.
  Use SSL**: Enable SSL in the n8n node for secure data transfer.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.memoryPostgresChat","n8n-nodes-base.supabase","@n8n/n8n-nodes-langchain.agent"]

workflow_json_compressed:
  H4sIAAAAAAAAE6VW247cNhL9FYG7QHYBsUNR1IUNBNmxvR57Y0+MzCVwDMMokSW11hKliOy5oNFAPiP5vXxJQKl7NDPusb3Yp+nuKVadOnXqkBtSa7Ik1fl1unrLih+7n7BZX/+bhKRFB2S5IbWxDozClz4uUZhwmUsmRYGSFRgXcaG1RC0VYqQzhVGpUAEkMocSUAlIWCpSHXPkMiIhcdj2DTh8OqC2p+jW/dOu7Rt0qMnSDWvchsRAi2RJTtc9FGAxGMOCN5111YDWJ4HKkuW7zYS+PH2mAE7iq8ReJBifktsMZ7ti/owaEBzqI0eWhDOeUMYpj8+iZMnZUmQLnvJfSEjWvf5y2PZ9SEyn8Q4IxZVMlIqojhhSwZSkMk1jmvIEc+BQxKyYgf28QhOoplYfa1MFf/72+xlaF1x1w8ey6a7+/O0P3+RN70NNbuhYi3ouFi2YNTRnQ11VOJCQ9J2tXd0ZsnwXCxbSnL0PSQ8DtOhwsGS52U6pLnCwY1y0DXeYYwYCkJVUZYBUFIzRIucpBQY8S2TJtU5mzKfoAgt+VsFL069dcAFDDUUzTeQgWIvuPsSUHYRIut4H7NCCtXVlWjRu/N+9r3u6UWeF8lhLLXIqlESaF5DRKEKBWVFkMagZukXre/9Q6xmqdUNtKhKSS2jW/ofvhIzSWCSM55kktyTpOI+UjBkFyUsqmCgpKBlR0KmIM50WTMm50vjnMzWO0Zjg9BIH63CYiwgEHZVFQpnMCypUoWihspzqNCmiPFeQFGwuolbgxhF8rtJVjUGFK2cDXQ/fk+377UMhxAtxC6BM0iLlUtEkzgQVsUJaJElBsdRZGYky4nE0AzjGtjb18wbsii/YjOJfJjffzhpowFRqBbVZNO3TFbjjrqsanA7f10UuWBiJL+ii7TQ2JxOC8bP9thpzUb5gtPRoyHZcdI3G1dCMKaqx6Bto2qO+Hh1tXNemfZL/8vY/r1/Ai9bY9R2ZOxg0XJm/ReQTxubViTRwjjKmCRNIRRqltAAVUw2FliCKSCRAPnWyvYcFz8CNv3wFdy223XCzP+l5vM9dFLHD5Dm/nDu+rlbgLPT9hxathQptTML9WvyAN14wm03w9//azizmbQm22znspT6bkKq1dV3rT4VEdcbhtfu5Nrq7eoWmciuy5OzTMfR7995P4Alvo/xUXb598sObk+fSHmDr9FlAg5P8JHiGbRf4zovOHZjKIr6dC5eQYZELyrkQVEQYUSkVo4kGwCJnqkxxrnQ+mn0AWteuM9AEF357bICLahF45sLgSOsBrQ0Wi8XjNrcD/GAu8SNmV9bN/qPqjK53En+3IR/x5uSAY33Em4v9Wvsp/eObx734m38uaoft4uAkb8t5B/11tJ+55M667hQ7OX/16sGp2nonCSdtjW+Cg8oqa2y0Pa+ndrHRE7Fjk+P38eiu4hzwPzfoM/jWRkwtOLXaaRSa5vmO5pB0PQ6wa2C63w/4xH6Id13i+MX6/Djt2zdHZ09eVN2dC9yr8nFB3soxZ1KUWme05HFORaYVlaKUNEGZcp2UTPHyjvCnho8qNC74CmcAH3hfdDI9rDm/pPeW/PYOmZQxGy2xN9Zh+3qaJlmSt906gAEDCFbY9OW6CfyN7F+FztPYD13bux3tGsvajOw+2NDMP5lAufoSybKExqL3FedqU41F8RrV2kP4cdA4kCW5jHyWyynDqBYhS825BsrzLKFCFkghVoymipWqjLMccpzUalDddnOf0+WGtFB7ot5txhfc/2ECY6KQ1EbjNVmy7XuvwQc3o3++1B/8xNZQ4Wt/ad2r/cjEPznzsMxn3mKHWnykzMEOPnNXTd1M99FXtrELfljky+/fg218xQv0QE/b7V+9X4t75wwAAA==

metadata_json:
  {"categories":["integration","data storage","chatbot","automation","database"],"complexity":"medium","use_cases":["Persist unstructured chat inputs to a database (user id, name, address)","Build backend user profiles for WhatsApp/Slack chatbots","Conversation logging and analytics","Prototype and test chatbot data pipelines","Pre-process/clean chat data before storage (via agent/LLM)"],"estimated_setup_minutes":30,"required_services":["Supabase (PostgreSQL)","n8n (self-hosted)","Cloud provider VPC/network for firewall rules (e.g., GCP, AWS)","WhatsApp or Slack API (for production triggers, optional for testing)","Optional LLM provider for data cleaning (e.g., Google Gemini)"],"key_features":["Accepts unstructured chat input and maps fields to DB columns","Insert or update records in Supabase PostgreSQL","Manual test trigger that can be swapped for real chat triggers","Sample agent node to clean/validate data before saving","Guidance for firewall, SSL and secure connection configuration"],"target_audience":["Developers","Chatbot integrators/builders","DevOps engineers (network & deployment)  — handling firewall and hosting setup  ] ,"]}


name: Automate Support Ticket Triage and Resolution with JIRA and AI
author_name: Jimleuk
author_username: jimleuk
categories: []
created_at: 2025-05-05T10:29:45.614Z
updated_at: 2025-05-05T10:29:45.614Z
url: https://n8n.io/workflows/3868
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  This n8n template automates triaging of newly opened support tickets and issue resolution via JIRA.

  If your organisation deals with a large number of support requests daily, automating triaging is a great use-case for introducing AI to your support teams. Extending the idea, we can also get AI to give a first attempt at resolving the issue intelligently.

  How it works
  A scheduled trigger picks up newly opened JIRA support tickets from the queue and discards any seen before.
  An AI agent analyses the open ticket to add labels, priority on the seriousness of the issue and simplifies the description for better readability and understanding for human support.
  Next, the agent attempts to address and resolve the issue by finding similar issues (by tags) which have been resolved.
  Each similar issue has its comments analysed and summarised to identify the actual resolution and facts.
  These summarises are then used as context for the AI agent to suggest a fix to the open ticket.

  How to use
  Simply connect your JIRA instance to the workflow and activate to start watching for open tickets. Depending on frequency, you may need to increase for decrease the intervals.
  Define labels to use in the agent's system prompt.
  Restrict to certain projects or issue types to suit your organisation.

  Requirements
  JIRA for issue management and support portal
  OpenAI for LLM

  Customising this workflow
  Not using JIRA? Try swapping out the nodes for Linear or your issue management system of choice.
  Try a different approach for issue resolution. You might want to try RAG approach where a knowledge base is used.

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.jira","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.jira","n8n-nodes-base.jira","n8n-nodes-base.splitInBatches","n8n-nodes-base.noOp","n8n-nodes-base.jira","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.set","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.jira","n8n-nodes-base.stickyNote","n8n-nodes-base.removeDuplicates","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7292 characters]

metadata_json:
  {"categories":["automation","integration","customer support","AI/ML","ITSM"],"complexity":"complex","use_cases":["Automated triage of incoming support tickets","Automatic labeling and priority assignment","Simplifying ticket descriptions for agents","Searching past resolved issues to suggest fixes","Summarising resolution comments for context reuse"],"estimated_setup_minutes":45,"required_services":["JIRA","OpenAI (or compatible LLM provider)"],"key_features":["Scheduled polling of new JIRA tickets with deduplication","AI-based label, priority and simplified description generation","Finding similar resolved issues by tags","Summarising comments from similar issues to extract resolutions","AI agent suggests fixes/resolutions using contextual summaries"],"target_audience":["Support teams / helpdesk agents","Customer success managers","SREs and engineering on-call teams handling incidents/bugs"]}


name: Convert HTML to PDF and Compress Files with CustomJS API
author_name: CustomJS
author_username: customjs
categories: []
created_at: 2025-05-05T10:43:39.715Z
updated_at: 2025-05-05T10:43:39.715Z
url: https://n8n.io/workflows/3869
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  This n8n template demonstrates how to convert HTML into a PDF, compress the generated PDF, and return it as a binary response using the PDF Toolkit from www.customjs.space.

  Notice

  Community nodes can only be installed on self-hosted instances of n8n.

  @custom-js/n8n-nodes-pdf-toolkit

  What this workflow does

  Convert** the requested HTML to PDF.
  Compress** the PDF file.
  Use** a Code node to handle URLs pointing to PDF files if they exceed 6MB.
  Compress** the PDF pages.

  Requirements

  Self-hosted** n8n instance
  CustomJS API key** for compressing PDF files.
  HTML** Data to convert PDF files
  Code node** for handling URL that indicates PDF file.

  Workflow Steps:

  Manual Trigger:

     Runs with user interaction.

  HTML to PDF:

     Request HTML Data
     Convert HTML to PDF
     Request PDF from URL.

  Compress Pages from PDF:
     Compress PDF as a binary file.

  Usage

  Get API key from customJS

  Sign up to customJS platform.
  Navigate to your profile page
  Press "Show" button to get API key

  Set Credentials for CustomJS API on n8n

  Copy and paste your API key generated from CustomJS here.

  Design workflow

  A Manual Trigger for starting workflow.
  HTTP Request Nodes for downloading PDF files.
  Code node for handling URL that indicates PDF file.
  Compress PDF files.

  You can replace logic for triggering and returning results.
  For example, you can trigger this workflow by calling a webhook and get a result as a response from webhook. Simply replace Manual Trigger and Write to Disk nodes.

nodes_used:
  ["@custom-js/n8n-nodes-pdf-toolkit.html2Pdf","@custom-js/n8n-nodes-pdf-toolkit.CompressPDF","n8n-nodes-base.manualTrigger","@custom-js/n8n-nodes-pdf-toolkit.CompressPDF","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE7WW/47UNhDHXyUy/TPejR3bsVOKikAI2itC/CiquBPyj/FtuKy9Tbzd0tVKPEb7ejxJldzBLtzu8kOgKJJljcfz/Xhm7DWaQ9KoXqMm9EkHCw8cqlHFlQKnqAJNeSUqXRBlZAXWWFkaVQARmgppDSdSUSkrw3ghuNCWcSI1RZscheigR/WLNWoGl0YJCr502BTaYWYowcYQjgUxglNivCtKlKOg54BqdP/pbydZitmju/dQjtLrxTD5s132Kc7xq34aZMDjBnjhPE4xthdNmszSvKWPnEc5WsS+SU0MqH5BaZEXZzla6E7PIUHXD3oH2wdhsUyoRjdn5NZ9aNuYPY9d625OZ+TWIMF24CCkRrfjksvtf+lvL5qR2CBrRtUqUh3++NXdfnj7n/lWwp1L6yeZtjYuQ0KbEUqC/kG418YVqr1ue7hU9zt0/Rgt2eRXnpWUntEKcAVWY1YCx7qqHLZCaUXBCsLlzm5xvuig7wdimW9a+AJs79Zewt4hx8Qect+FywEGxhivvCGYeksxc0CwkpxhwpQRpa2KqrBbz89nEDLbNvaiCefZ2zf/PoU+ZavYXfg2rt6++W/LZAvC6B4mcx2Wun3aNefn0H3IoMhJsY/BgYiZoqaoXImZYCVmjgDW1pgh6ytTeQclL46cGvlWx0avB4066OOys4PzZdeiHPkGWvfyKpaf1uvsh1d9DJOFTrNss/k+FXCAmxMFUaX3uDBeYCYUxbIEil0BBLiyXHCx9fwE0ojs2eOTg2dqo4PrjWAfl1f9ncG2Rh2kZRey9SkaOJyiehgONIbhKZqltOjr6XS1Wk1Cay4moQEHXa/trIcwcTB1cRXaqN2UCCYVmQ4JOJzZy3KycH74T9Fm8yP6mAN9z8EK6W1FGPaWa8y4cFgRKrC1xnpwFkqrdzikxl68zh7GBAc59KPNlckODcKKHO/JbWRjGztUsxzNoDmfJVRTUeTIxpAgDO3yxo0b2U6DPg04ewx/LodiG6fv6qSHyTsx/AVd2rW9pnybAbyUkkkGmJuKYQYWsCp0gSvubemUEqXhe5WTL5ZeyuPSeY5WjUuzK+VHMGwLWJ9Dn/kuzt8h+aC2dZ/pzDRBd6/HOp8cAVEQZgUvBS5oVWCmbYWlJMMVUDJJhFbem70g6FflABEHOZQHtZ+GY99AZqdEdxNkbHQDpWePT45B8AKItNLgkhQKM8IM1rxU2BnDpXACKg57IZRflQ1HINDPSoZPA/mWqXI2bh3ADhLGYHdrrF6juW4GaS/W4zPs+PtgtM1RExz8jepic3a2yT/osJ/lj3zC4fUAdtyOFp++vvcFsvel+HEE+XvzvTfHnoA3m/8BMzJwSxsLAAA=

metadata_json:
  {"categories":["automation","integration","document processing"],"complexity":"medium","use_cases":["Convert HTML to PDF","Compress PDF files to reduce size","Handle large remote PDF URLs (>6MB) before processing","Serve or return PDF as binary response (e.g., webhook response)","Automated report or invoice generation and delivery"],"estimated_setup_minutes":15,"required_services":["CustomJS PDF Toolkit API (api.customjs.space)","Self-hosted n8n instance"],"key_features":["Convert HTML input to PDF","Compress entire PDF and compress individual pages","Code node logic to detect and fetch remote PDFs larger than 6MB","Return PDF as binary response","Uses community node @custom-js/n8n-nodes-pdf-toolkit"],"target_audience":["Developers","n8n self-hosting administrators / DevOps","Automation engineers working with document workflows (reports/invoices)"]}


name: Convert HTML & PDF Files to PNG Images with CustomJS PDF Toolkit
author_name: CustomJS
author_username: customjs
categories: []
created_at: 2025-05-05T10:48:19.067Z
updated_at: 2025-05-05T10:48:19.067Z
url: https://n8n.io/workflows/3870
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  This n8n workflow shows how to convert PDF files into PNG format with the PDF Toolkit from www.customjs.space.

  @custom-js/n8n-nodes-pdf-toolkit

  Notice

  Community nodes can only be installed on self-hosted instances of n8n.

  What this workflow does

  Generate** PDF file from the requested HTML.
  Convert** the PDF to PNG images.
  Use** a Code node to handle URLs that point to PDF files.
  Convert** the PDF to PNG format.

  Requirements

  Self-hosted** n8n instance.
  CustomJS API key** for converting PDF to PNG.
  HTML** Data to convert PDF files.
  Code node** for handling URL that indicates PDF file.

  Workflow Steps:

  Manual Trigger:

     Runs with user interaction.

  HTML to PDF:

     Request HTML Data.
     Convert HTML to PDF.
     Request PDF from Code.

  Convert PDF to PNG:
     Convert the generated PNG from PDF

  Usage

  Get API key from customJS

  Sign up to customJS platform.
  Navigate to your profile page
  Press "Show" button to get API key

  Set Credentials for CustomJS API on n8n

  Copy and paste your API key generated from CustomJS here.

  Design workflow

  A Manual Trigger for starting workflow.
  HTTP Request Nodes for downloading PDF files.
  Code node for handling URL that indicates PDF file.
  Convert PDF to PNG.

  You can replace logic for triggering and returning results.
  For example, you can trigger this workflow by calling a webhook and get a result as a response from webhook. Simply replace Manual Trigger and Write to Disk nodes.

nodes_used:
  ["@custom-js/n8n-nodes-pdf-toolkit.html2Pdf","n8n-nodes-base.manualTrigger","@custom-js/n8n-nodes-pdf-toolkit.PdfToPng","@custom-js/n8n-nodes-pdf-toolkit.PdfToPng","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.code"]

workflow_json_compressed:
  H4sIAAAAAAAAE72W7W7bNhSGb0Vg91O0+SWK1LpiQYut3bIgaNIVQxIUFHkYK5EpV6LndYaAXsZ2e72SQUrXuI2SfmwoDAMCfXx03ue85OEWLSEaVGxRFbpogoUnDhUoz7QGp5kGw7Jc5oZQXaocbGkVLzUBKg2TypYZVZoplZciIzKTxoqMKsNQn6LQOOhQcbJF1ZDSc0KoYgp7SkosqMuwIZnEGWc5UC+18BylKJgloAI9Pv5lP4lNcvjoB5Si+Go1LH5v111slviimwcV8PgCvHIex6apL6s4W8RlzQ6dRylaNV0Vqyag4gRnhKRckbMUrUxrlhCh7QbJQ/iTsFpHVKD7C/rgMdR1kzxv2trdny/og0GFbcFBiJWpx79cVfBTt7eqRmiDsgXTm4aZ8NvPbu9g78/ltYqHV9FHibG2WYeI+v5KzK/QdmNxtE/f8aGCMkZwyZXAAjxgJXyGiVFalkQbpfLrzM8XEBJbV/ayCufJm9d/HUMXk03TXvq62bx5/fc1tWtUpelgtjRhberjtjo/h/YDUDkjqZA3QN1etAVgstQlzinRWHAusXI54Fwy6wUphVPlDo4m/A5tHJqaVGHo7sGP9DPae+j8cXMYzj+omimSZuJme1vomnVrh9TrtkYp8hXU7sXbYr7bbpNvLromzFYmLpK+/6rdFtKL3HmCDScUC2o0Vo4b7LXSeV5mEpy5G9z/w21iW3xNDKA1Z95RLDnLsJA5wZqDwSWn3npjnfE7pj+Klb18lRw0EW61dzfGvA157xCQJGUTh4Bt6qZFhUjRpnJxgQrGSIoWUJ0vIiqYICmyTYgQhlPi3r17yc7RdBpw8hReroe9Ny4/MtHMhtV/O7YTPEN3bH5tlSRWYiOFwkIzjUuaeVxqyqkxWuUeJjnQzwfBxZ0g5J3ip5yY7AqOC0jOIUBrIrjxV982y/Ecv11+JqywnjssjDJYkAxwyRlgVeaGOSXLLJ+2AfsyH2TsVvn8k3xwGqY/A6IjuMLz7On+rj+GpRHFs6f7d6AwVgEVOseMc4sFCIZVzjX2VFIQhAqT+0kU/MuccAcK9kXypxzynw2ilfPOc4VlSS0W3nFc6mwYNpn2kpVMEbdD5boDt0KxjbvhDDI9Ry66h0NwgVqI6zYk21M0zI1TVAyPw/QYHk/RIsZVV8znm81mFurychYqcNB2xi46CDMHc9dsQt0YN6dSKE3nw9AeTuoXfLZyfvieor7/9gYI1p+N+APYodixqt0bUrFFS1MNIk62473rozNjDE9RFRz8gQrSn5316XvcPjUl/UjOj19Upt40ef37MH/6Lnyy4RPl9P0/tZsUAvAKAAA=

metadata_json:
  {"categories":["automation","integration","data processing","file conversion"],"complexity":"medium","use_cases":["Generate PNG thumbnails/previews from HTML or PDF","Automate HTML → PDF → PNG conversion pipelines","Process external PDF URLs and convert to images","Prepare images for CMS, emails or social previews","Batch convert documents for archival or display"],"estimated_setup_minutes":15,"required_services":["CustomJS PDF Toolkit API (API key)","Self-hosted n8n instance with community nodes enabled","HTTP-accessible HTML or PDF sources"],"key_features":["Convert HTML to PDF","Convert PDF to PNG images","Handle URL-pointing PDFs via Code node","Uses @custom-js/n8n-nodes-pdf-toolkit community node","Adaptable trigger (manual or webhook)"],"target_audience":["Developers","Automation engineers","Content managers/marketers"]}


name: Convert HTML to PDF & Extract Text from PDFs with CustomJS API
author_name: CustomJS
author_username: customjs
categories: []
created_at: 2025-05-05T10:50:27.954Z
updated_at: 2025-05-05T10:50:27.954Z
url: https://n8n.io/workflows/3871
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  This n8n workflow illustrates how to convert PDF files into text with the PDF Toolkit from www.customjs.space.

  @custom-js/n8n-nodes-pdf-toolkit

  Notice

  Community nodes can only be installed on self-hosted instances of n8n.

  What this workflow does

  Change** the requested HTML to PDF..
  Extract** text from the PDF.
  Use** a Code node to handle URLs that point to PDF files.
  Convert** the PDF to text.

  Requirements

  Self-hosted** n8n instance.
  CustomJS API key** for converting PDF to text.
  HTML** Data to convert PDF files.
  Code node** for handling URL that indicates PDF file.

  Workflow Steps:

  Manual Trigger:

     Runs with user interaction.

  HTML to PDF:

     Request HTML Data
     Convert HTML to PDF

  Convert PDF to Text:
     Convert the generated Text from PDF

  Usage

  Get API key from customJS

  Sign up to customJS platform.
  Navigate to your profile page
  Press "Show" button to get API key

  Set Credentials for CustomJS API on n8n

  Copy and paste your API key generated from CustomJS here.

  Design workflow

  A Manual Trigger for starting workflow.
  HTTP Request Nodes for downloading PDF files.
  Code node for handling URL that indicates PDF file.
  Convert PDF to Text.

  You can replace logic for triggering and returning results.
  For example, you can trigger this workflow by calling a webhook and get a result as a response from webhook. Simply replace Manual Trigger and Write to Disk nodes.

nodes_used:
  ["@custom-js/n8n-nodes-pdf-toolkit.PdfToText","@custom-js/n8n-nodes-pdf-toolkit.html2Pdf","@custom-js/n8n-nodes-pdf-toolkit.PdfToText","n8n-nodes-base.code","n8n-nodes-base.manualTrigger"]

workflow_json_compressed:
  H4sIAAAAAAAAE72Ub2/bNhDGv4pw2EvRFkVKIrWuWJCiS9Z1CzBjxZAYBf8cYyUyaUh0nNUQ0I+xfb1+kkF20GSGh3TA0BcCCJF87rnfHW8LjYUa3p6f8PDhh7OKulP25hQhhSVGBfUWGt9H5Q2ej+eqQkq0Mpeo8qIqK5VRqUWFRhvBtMyQliovhdEFFTIXotK8yMqiVIYXVKgchhS8WiLUsLIuiSGJeB8hhaiue6gv5yn4YHFcbvfOrMxdKTNLjOCW8IJaIpUWxKrSSVaUmBkFn0VPg7/DLiYXr14njY8hmT3I/7Eat7836z6GJbnpp154sgtFVtaRGEJ728TJhXWz8HBnFfomNsFDfUlonqU0y+YprFSnlhix66HeDimYDi362Kh2/AH7AD/2J6tmB29MYZHLTciV//2NPfn55MPyid396V8TZUxY+wjDsPf6G3b9LjQd0gcVnmfGKVMRVeaUcO0Y0ZZxwhxiUUqWU+SPymeztz+NeC9evf4P6S/iss0vrDvInvGj2cN4/Nyv1hFqeLGgL8+wbUPyLnStfTFd0JfwNfkIZrICDSM0zwvCqc2ILjQnTrpSY1VSic81Cv2fOoUdYdVhH9adGbXXXQspuAZb+/7BznfbbfLNTR/8ZKXiIhmGr4quEhVKVkqitC4IFwyJVpwRIVilC1OI0smn6Cw+gnqko1WPE7PfPOyeY0Ru+p1SDR3GdeeT7RWMBK6gHpcjh3F5BYsYV309nW42m4lv9e3EN2ix65VZ9OgnFqc2bHwblJ3SkgtJpzPs41is92yysm78rmAYvoVDAvlnAtYVBSsFJ9YpQbhynKii0gS1NhJdrhhzjwTeLdAnpm3MbeOvk08f/xwDJpvQ3bo2bD59/Otf8SyVX6t21jXX19gdcCrKLM2PzpiDss1TUCY2dwi1U22PKfQYY+Ovd1jxHs161Pyls9hBDXd0TPxuf383xWWly0xmnOSaccJVVRFNK0psljtRGVpRNo4SE7xHM0rthPfV2sJSNaPfy+1uVH/BW9pdSKHxFu+hzob5fEj/MaC+WPQZzefrcizS0VF5qJ8+Mfa0/Y/4GIa/AXwkYmFVBwAA

metadata_json:
  {"categories":["automation","document processing","integration"],"complexity":"medium","use_cases":["Convert HTML pages to PDF for archiving or sharing","Extract searchable text from PDFs for indexing or NLP","Process PDF URLs and convert contents to text programmatically","On-demand HTML→PDF→Text conversion behind webhooks or manual triggers"],"estimated_setup_minutes":15,"required_services":["CustomJS PDF Toolkit API (customjs.space) - API key required","Self-hosted n8n instance (community nodes must be installed)","HTTP access to source HTML or PDF URLs","Installation of @custom-js/n8n-nodes-pdf-toolkit community node in n8n"],"key_features":["Converts arbitrary HTML to PDF","Extracts text from generated or downloaded PDFs","Handles PDF URL inputs via a Code node","Uses CustomJS PDF Toolkit community node for conversion","Flexible trigger: manual, webhook, or other n8n triggers"],"target_audience":["Developers","Automation engineers","Data engineers/analysts processing documents or text extraction workflows"]}


name: Extract Specific Pages from PDFs with CustomJS API
author_name: CustomJS
author_username: customjs
categories: []
created_at: 2025-05-05T10:52:45.020Z
updated_at: 2025-05-05T10:52:45.020Z
url: https://n8n.io/workflows/3872
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  This n8n template shows how to extract selected pages from a generated PDF with the PDF Toolkit by www.customjs.space.

  @custom-js/n8n-nodes-pdf-toolkit

  Notice

  Community nodes can only be installed on self-hosted instances of n8n.

  What this workflow does

  Downloads** each PDF using an HTTP Request.
  Extract** pages from the PDF file as needed.

  Requirements

  Self-hosted** n8n instance
  CustomJS API key** for extracting PDF files.
  PDF files to be merged** to be converted into a PDF

  Workflow Steps:

  Manual Trigger:

     Runs with user interaction.

  Download PDF File:

     Pass urls for PDF files to merge.

  Extract Pages from PDF:
     Extract selected pages from a generated PDF

  Usage

  Get API key from customJS

  Sign up to customJS platform.
  Navigate to your profile page
  Press "Show" button to get API key

  Set Credentials for CustomJS API on n8n

  Copy and paste your API key generated from CustomJS here.

  Design workflow

  A Manual Trigger for starting workflow.
  HTTP Request Nodes for downloading PDF files.
  Extract Pages from PDF.

  You can replace logic for triggering and returning results.
  For example, you can trigger this workflow by calling a webhook and get a result as a response from webhook. Simply replace Manual Trigger and Write to Disk nodes.

  Perfect for

  Taking a note of specific pages from PDF files.
  Splitting PDF file into multiple parts.

nodes_used:
  ["n8n-nodes-base.manualTrigger","@custom-js/n8n-nodes-pdf-toolkit.ExtractPages","n8n-nodes-base.httpRequest"]

workflow_json_compressed:
  H4sIAAAAAAAAE41T3Y7UNhR+lehcxzOJY8d2JKSuCqgtUFawtMBqVJ3YZ7LpZpw08ewsjCLxGPT1eJIqme0OrAaJO198/v7OOXuoHRTQP2/fvmmfvX4v0Lx9c3YDMWwoIBR7qP0Q0Fv6dcIpaQw5ww0hlypXmKSm1IpsaXVWmoTSHHmubSlTbbjWqhQyyWWOVshUI4cxBo8bggJefIh2bX+9btpdlEMMAasBistVDL51ND33B28OXcZJGYZrIZngUjKTOMO0kCgzqTIjEe5p/7wiH9mmtte1r6Ivnz5f0BDulb58+neS+tBNUK89m7VYiQMtNui32Fz0dVVRDzF07VCHuvVQXDKpk9jwZBVDhz1uKFA/QLEfD1x/UD/MwHSM70ynFh1hljFlc2SCa85K0oJRytXaKpEpy4+mn9yGHm2IzrGiIXrat5vo/PHT9Gj1J7sdQrthfw/Lo+vOrVlo2+a6Dos7hpnggfdUnPQOHVb0Cn018XOWQQzrmhr3152nRw4DTvOyPTnyocZm/nZw8ttw1tXzekxpr7jZtRz9u2fu7Pezj5tjsp8P6NcRWttufYDx+52hllJQXrKcuGMCec5MYizjkpSgPNVCJ0fmXy4uzqNX9M+WhvDdmV6F0B0xX7eS5adb2fbNFCiEbiiWy91utxgaF4JdtH21xKbp3HrJU6kzobIk1YvOrSGGtpt455V4mE8s+LiKAW2obwiKNTYDxTBQCLWvZkm6Jbud/r/sHfVQwE069X5zYJjvTnNbllwQI5MoJlKDzCiXs9KVUimeG8MVxGBb78n+b+Xbioo9bLCesl/u5xP7kb2bf8RQe0e3UCTjajXGP3Bip7ROz+uEwDj+Bz34d9CVBAAA

metadata_json:
  {"categories":["automation","data processing","document processing","integration"],"complexity":"simple","use_cases":["Extract specific pages from PDFs","Split PDFs into separate documents","Automate PDF post-processing in workflows","On-demand PDF page extraction via webhook or manual trigger"],"estimated_setup_minutes":15,"required_services":["CustomJS PDF Toolkit API (CustomJS API key)","Self-hosted n8n instance (required for community nodes)","Accessible PDF files or URLs (HTTP access)"],"key_features":["Download PDFs via HTTP Request node","Extract selected pages using CustomJS ExtractPages node","Manual trigger (can be replaced by webhook)","Replaceable output logic (write to disk, return webhook response)"],"target_audience":["developers","automation engineers","operations/DevOps managing n8n instances for integrations"]}


name: Merge Multiple PDF Files with CustomJS API
author_name: CustomJS
author_username: customjs
categories: []
created_at: 2025-05-05T10:54:50.369Z
updated_at: 2025-05-05T10:54:50.369Z
url: https://n8n.io/workflows/3873
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  This n8n template demonstrates how to download multiple PDF files from public URLs and merge them into a single PDF using the PDF Toolkit from www.customjs.space.

  @custom-js/n8n-nodes-pdf-toolkit

  Notice

  Community nodes can only be installed on self-hosted instances of n8n.

  What this workflow does

  Downloads** each PDF using an HTTP Request.
  Populates* files into an array with *Merge** node from n8n.
  Merges** all downloaded PDFs using the Merge PDF node from the @custom-js/n8n-nodes-pdf-toolkit.
  Writes** the final merged PDF to disk.

  Requirements

  Self-hosted** n8n instance
  CustomJS API key** for merging multiple PDF files.
  PDF files to be merged** to be converted into a PDF

  Workflow Steps:

  Manual Trigger:

     Runs with user interaction.

  HTTP Request Node For PDF Download:

     Pass urls for PDF files to merge.

  Merge Node For Array Population:

     Just populates two files into an array.

  Merge PDF files:
     Uses the CustomJS node to merge the incoming PDF files into a single PDF file.
     If size of PDF files exceeds 6MB, you can simply pass an array of URLs for PDF files.

  Usage

  Get API key from customJS

  Sign up to customJS platform.
  Navigate to your profile page
  Press "Show" button to get API key
  Set Credentials for CustomJS API on n8n

  Copy and paste your API key generated from CustomJS here.

  Design workflow

  A Manual Trigger for starting workflow.
  Two HTTP Request Nodes for downloading PDF files.
  A Merge Node for populating files as an array.
  Merge PDFs node for merging files
  Write to Disk node for saving merged PDF file.

  You can replace logic for triggering and returning results.
  For example, you can trigger this workflow by calling a webhook and get a result as a response from webhook. Simply replace Manual Trigger and Write to Disk nodes.

  Perfect for

  Bundling reports or invoices.
  Generating document sets from external sources.
  Automating PDF handling without writing custom code

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.merge","@custom-js/n8n-nodes-pdf-toolkit.mergePdfs","n8n-nodes-base.readWriteFile","n8n-nodes-base.readWriteFile"]

workflow_json_compressed:
  H4sIAAAAAAAAE52V7W7bNhSGb8Xgb9ESKYofBgYsSFes++iyJGg2FPlBkYeOFn14IhUnNQz0Mrbb65UMlLPYTew26T9COuc97wO+JFeosmiGfn13Uv/yIT+ufu+uef/HHUpQA0Gj2QpVrQ+6NfAm1olCKbCKKtC0EFzojKhSCjClkXmpMiBcUy5NWRCpqJSiZEXGC64NK4jUFCUoQLOodYDjHqw/gzAsjrtmUUMAi2ahH2CdoFY3EF1BP4fJyavXPvbpuUez95cJajsLcbnaeKeSloTxEgMUErNMKqwAOFasJEWeUVY6jR40L66gnZi6MtdVO598+vjPOfgwWXb9tau75aeP/8ZRd4tY2soWj7NwqT1MG90Ouj7vq/kcepSgReerUHUtmr0XLEswyy4TtNC9biBA79Fstd5IvYPej3Vkndx7zpXOhS4tVpQ5zAQzWFoLWBQ5JyITSji69fzj+fnJ5BT+HsCHg/auQlhsa3bMKZ4lmDx1h4a+RjP0XWz0szRdLpfTqg2w1FPTNamratC2qdrUdmZooA0+XViH4/fpwjqUoG4RR4ykj1HZlD7AljQvlOAcS8UdZiquRA64pNZkAMxxyfbD0m+j5c9iXebTrp+nF0dv0h9O0wA++PT2KjT1uI6YPu3Bd0NvYERP7dA0dy9jF05kJS0M1kQQzLQwWGZcYMKIgZyKglKOPg/84QDe/92hJUQ+K3n5dJs9Mp7UkuHCUYqZcxKXTDiseCkMswWlVqCnZ5BsfX1vBh+6Bv/l063FmI3QdfV1FTZOT6zzj9yy7JBb04OFNlS6HrdrM+Anf7Soxjso+r6iatlR3f75sz16e/Sh2Xo83lSfTbQx3dAG9GRLduhzwgRzFBtuNGaWOFxqpjBx1HGrSK7Yzm1xCtqmF30VYPI6BmLi+q6ZvKr89cFd6kHbsSM2POLndC//bpgSFJP3djM+BvEhb9DrjQ5aRnl0mFFLbq1hBPNMa8wkNVhljmIJ2hhelplW5XMY2TdByv2X4VPIM6jBhK7fBX0KdZkgbUJ1A2jmdO0hQR5CqNr5KAq3YIao+1tvISrdkKhxs+kf36yMOpFnlGLNhcSM8wzrklicFzkBJpk0Zdxx07UtmP8t3h/F2Qo1uopY71fju3PgRIxFCapaC7dolq0vL9fJbuE+nedka6/uZ8/BQYcvEKEvVyEblS8wvAyZfcXu15/tffP2P5yPByR76+kXHa3X/wFPNjZuOgkAAA==

metadata_json:
  {"categories":["automation","integration","document processing"],"complexity":"medium","use_cases":["Bundling reports or invoices into a single PDF","Generating document sets from external sources","Automating PDF merging without custom code","Consolidating multi-source documents for archiving or distribution"],"estimated_setup_minutes":15,"required_services":["Self-hosted n8n instance (required for community nodes)","CustomJS API (www.customjs.space) and API key","Public URLs or accessible locations for source PDF files","Ability to install @custom-js/n8n-nodes-pdf-toolkit community node","Write-access to disk (for saving merged PDF)"],"key_features":["Download multiple PDFs via HTTP Request nodes","Populate downloaded files into an array using Merge node","Merge PDFs using the CustomJS Merge PDF node","Option to pass an array of URLs when files exceed size limits","Write merged PDF to disk (can be swapped to webhook response)"],"target_audience":["Developers","Automation engineers","System / DevOps administrators running self-hosted n8n instances\",\"Finance and accounting teams needing bundled reports\",\"Legal and operations teams managing document sets"]}


name: Automate SEO Blog Content Creation with GPT-4, Perplexity AI and WordPress
author_name: LukaszB
author_username: lukaszb
categories: []
created_at: 2025-05-05T11:17:44.963Z
updated_at: 2025-05-05T11:17:44.963Z
url: https://n8n.io/workflows/3874
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:31
description:
  AI Blog Publisher – Automated Blog Content Workflow
  This workflow is designed for individuals and teams who regularly publish content on their blog and want to automate the entire process from start to finish. Its main goal is to generate long-form, SEO-optimized blog posts and publish them directly to WordPress — without needing a copywriter, editor, or someone to handle CMS uploads. The workflow generates a topic, writes a full article based on your brand guidelines, pulls a featured image from Pexels, publishes the post to WordPress, and logs the publication details to Google Sheets, creating a complete archive of published content. This allows users to deliver high-quality, search-optimized content every day while saving significant time. The whole process — from idea to publication — runs fully automatically and can be scheduled to execute without any manual input. It works just as well for solo creators as for marketing teams or agencies producing content at scale.

  How it works
  When triggered, the workflow generates a new blog post idea and checks your Google Sheet to see if the topic has already been published. If the topic is unique, it calls a sub-workflow that contains your brand’s writing style, tone, and blog goals. It then uses Perplexity AI to gather supporting research and context. Based on all this input, a complete 2000–2500 word article is generated in clean HTML, ready for WordPress. The workflow then searches Pexels for a relevant image and sets it as the featured image. Finally, it publishes the post to WordPress, including the proper title, meta description, and category. All relevant data — such as title, link, and publish date — is logged in your Google Sheet.

  How to set up
  To get this workflow running, all you need to do is connect the required APIs — OpenAI, WordPress, Google Sheets, and Pexels — and make a few basic adjustments. Replace the placeholder URLs in the HTTP request nodes with your actual WordPress address. In the Google Sheets nodes, add your own spreadsheet ID and tab name. In the node that fetches brand data, insert the workflow ID of your brand brief sub-workflow. You can also personalize the AI prompts by entering your blog name, company name, and a call-to-action to give the content a more tailored voice. Once that’s done, you can trigger the workflow manually or schedule it using the Schedule Trigger node.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.wordpress","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.markdown","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.notion","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheetsTool"]

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

metadata_json:
  {"categories":["automation","content creation","SEO","integration","publishing"],"complexity":"complex","use_cases":["Automated SEO-optimized blog generation","Recurring content publishing to WordPress","Content research and drafting at scale","Maintaining a publication archive/log","Rapid content prototyping using brand guidelines"],"estimated_setup_minutes":30,"required_services":["OpenAI (GPT-4)","Perplexity AI","WordPress (REST API)","Google Sheets (Google API)","Pexels API","n8n (sub-workflow for brand brief)"],"key_features":["Automatic topic generation with duplicate check against Google Sheets","Brand-guided long-form article generation (2000–2500 words) in clean HTML","Research integration via Perplexity AI","Automatic featured image search and upload from Pexels","Publish complete post to WordPress with title, meta description and category set automatically」「Scheduleable end-to-end workflow with minimal manual input and logging of published posts to Google Sheets"],"target_audience":["Solo creators and bloggers","Marketing teams","Content agencies producing at scale」「SEO specialists and content strategists"]}


name: 🌍 AI Interpreter and Translator for WhatsApp – Translate Voice & Text
author_name: Bruno Dias
author_username: brunodias
categories: []
created_at: 2025-05-05T11:45:24.432Z
updated_at: 2025-05-05T11:45:24.432Z
url: https://n8n.io/workflows/3875
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  🌍 AI WhatsApp Translator – Multilingual Voice & Text Translator for n8n

  Hi! I'm Bruno — I’ve been building AI-powered workflows for n8n and Make for 2+ years, focused on smart automation and real conversational agents.

  This powerful workflow allows you to receive WhatsApp messages (text or audio), automatically detect the sender’s language using their phone prefix, translate the content using GPT-4o via LangChain, and reply instantly via WhatsApp — all with native tone and cultural fluency.

  It’s ideal for international support, global communities, multilingual bots, and agencies managing clients from different countries.

  🔧 How it works

  Message (text or voice) is received via webhook (WhatsApp API or Evolution API)
  Sender's prefix is mapped to a country/language
  Audio messages are transcribed using OpenAI Whisper
  The text is translated using LangChain agent with GPT-4o
  The reply is structured in JSON and sent back via WhatsApp

  🧰 Nodes & Tech Used

  HTTP Request** (Webhook & API calls)
  OpenAI Whisper** (Audio transcription)
  LangChain + GPT-4o** (LLM for translation)
  If, Set, Merge** (Routing and logic)
  Custom JSON response** for WhatsApp formats

  📌 What you’ll need

  OpenAI API key  
  WhatsApp API or Evolution API access  
  n8n (Cloud or self-hosted)  
  (Optional) Typebot, Airtable, CRM for integration

  🛒 Want to use it?

  ❤️ Buy workflows: https://iloveflows.com  
  ☁️ Try n8n Cloud: https://n8n.partnerlinks.io/amanda

nodes_used:
  ["n8n-nodes-base.convertToFile","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.webhook","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.filter","@n8n/n8n-nodes-langchain.toolCalculator","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.convertToFile","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.httpRequest","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.textClassifier","@n8n/n8n-nodes-langchain.lmChatGroq","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.textClassifier","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.filter","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.toolCalculator","@n8n/n8n-nodes-langchain.toolThink","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.toolThink","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.convertToFile","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.toolCalculator","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.toolThink","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","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.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4632 characters]

metadata_json:
  {"categories":["integration","communication","automation","translation","ai"],"complexity":"complex","use_cases":["Multilingual customer support via WhatsApp","Automated translation of voice and text messages","Global community or bot localization","Agency workflows for international clients","Transcription and reply automation"],"estimated_setup_minutes":60,"required_services":["OpenAI (Whisper for transcription and GPT-4o for translation)","LangChain (agent orchestration)","WhatsApp Business API or Evolution API (webhook & messaging)","n8n (Cloud or self-hosted)"],"key_features":["Receive WhatsApp text and audio via webhook","Automatic sender language detection using phone prefix","Audio transcription with OpenAI Whisper","Translation and culturally fluent replies via LangChain + GPT-4o","Structured JSON responses formatted for WhatsApp APIs to send replies instantly
  (Note: supports tone/style localization)
  Routing and logic using If/Set/Merge nodes"],"target_audience":["Developers and automation engineers","Customer support teams and ops","Agencies managing multilingual clients or communities
  Localization and L10n teams"]}


name: Discover Business Ideas from HackerNews Posts with GPT-4.1 Analysis and Google Sheets
author_name: Ari Nakos
author_username: just-aristides
categories: []
created_at: 2025-05-05T12:59:27.968Z
updated_at: 2025-05-05T12:59:27.968Z
url: https://n8n.io/workflows/3877
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  What it is

  This n8n workflow monitors top Hacker News posts (in the Front Page) and identifies business-related pain points using AI.

  How It Works

  It filters posts by engagement (comments &gt; 80, points &gt; 200, and recent date), extracts key metadata, fetches the article content, and uses a GPT-4.1-based agent to detect and summarize pain points. 

  Results are appended to a Google Sheet for further analysis.

  Setup

  To run this workflow, you need to set up credentials for:


  OpenRouter: Uses an API Key. Generate this key directly from your OpenRouter account settings. (YT Tutorial : https://youtu.be/Cq5Y3zpEhlc)
  Google Sheets: Uses OAuth 2.0. Requires setup in Google Cloud Console (enable Sheets API, create OAuth Client ID with n8n redirect URI) to get a Client ID & Secret.

  Ensure these credentials are created and selected in the respective n8n nodes (Get Posts, OpenRouter Chat Model nodes, Output The Results).

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.hackerNews","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.httpRequestTool","n8n-nodes-base.splitInBatches","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.set"]

workflow_json_compressed:
  H4sIAAAAAAAAE52X227bRhCGX4XgNcfd80FXTQIEMdocEBvtRWAUe5iVCFOkSlJNDcNAHqN9vTxJQdm1aImyFN/4wvg5+81h/1nd5kvsXT67zcu6610d8Dzms1x661IiGCJ6qrWlgQhvObqgGXKLylJJQ3KKa2KsISij5cp5tJwYb0Je5D0uV5Xr8U2LsbvAfr160yxXFfYY81nfrvGuyOsmYpfPvtzm5XAqF0k6Lz1QhwxE1BpMkAK4CMZyT2PQKS/y2i0xn+W/L7DOQlWG67KeZ9+//XOJXZ99bdrrVDVfv3/7d4C4WQ3S2tSwOQu86/Bs6eq1qy7bcj7HNi/yVdOVfdnU+ewLMGJIQYkiV0W+cq1bYo9tl89u7+6j/YZtt5HSu+IB26fgNRIOUkkEQVMCy7wGEoVywmtHvNtif1z3q3WfXS4w+4zduuq7g5zzpplXeLFA3IhGmFSQQpujjOJMPlImT4nwwoKwNIFAEsEph6CJ9DRarp3HLeXbsuqxzT41Xd9lr2+yt+j6dYuHWcu0U0iq1GmFZGfsERINOi0TgWjRgaCcgPPEQgyUSR0VZdRsIS+wwtBnv+BN9rbEKh6m67DfxRNswBNH8fiZeMRjgTLjaAQRhz/KWHBRSIheKMtl9MKKEV5fhuub7EPT42GwjeZB8mQOhxYbsoeXh6buse7zWZ4fHkkmbWJaCJCRJBCMCrBSIchAlZY2Js7DJCj/YVJKSKFeyumJNpo7DyYMnFEIcF4y8EFyp0SgXvkt5zsXrrHNPuDXw51ebDQPkicNNyfO45bOouHGcA6JEgThdQTjrQVlPCoShGdx1O732M4xO69X6/6w8wyavUkkhd4v4N4cPmJpKwKVgoB31gxYDAbbBR2DYMYZG6KbbC778TGkA92L25ui0GgZBcsSAcFUBKMiA019jE46TFZtSV+dZ6/mQ8xHyp9rU/+0Ra1cPQ8LV9Zn7kE3RtWnGveZfQSkPmrjOYK2VoNQHMEn4wA1SSEFR7nlI+teYf25WQ/G+Gbh+ux9E7E6gbZaDvLt1zvgZnAidtzNt3VVaJyXXEFSzoJgXoBHHUATRzTnwQhCR9fm8vJT9hn/XGN3eDIXfb960Fw2TbVbW3Iaohh5OaWBIdcRhI0ChGcOHPcKXLKRU0W9xhHkr02zyj7+hW123uPyGSdfVWV/Xr92fVjg3h0n6kRT395xJqQQPIGRMYEQgoKhhgNBw5lLSaIY3fHzlF02qzLQ0/egUKSwxys33oI2yIjoKCjmI4jBgYxkHDRnkuqQtHFpfMHbdRiWc8we3hafXNttpuzYYDYb/b18G2YnAalOHM9RBjpRx6VjYAhhIOzQe8MQHIvSRcIIiSNff9V15bzONg+d7B26OBxw+ipnhhTmtEV+VQzGVWMYvt342KPpzG7zpSuHgF9uNw/T6XZvNEVe1hH/zmfk7urqrhjppqI8n95ewGL75cFLMUkxXo9THMffdJNhx3ttKuxzD9ppzrEfzW5zV/7RD5bzpGZ7u+B/1W603RqNEMel3A84ybb/pJxKeXLV78YrXtjGyXF5IQW9Dzm9uO5LP7jB2s3x4X/HevBUvst+cMSm+J95vk/35pDR3ScyNrPjeTxR7550/KflVD6Tz9OJTO7u/gPhYCWWdg8AAA==

metadata_json:
  {"categories":["automation","integration","data processing","research/idea generation"],"complexity":"medium","use_cases":["Startup idea discovery","Market research / trend monitoring","Product pain‑point identification","Lead generation for founders/investors","Content curation for newsletters or blogs"],"estimated_setup_minutes":45,"required_services":["Hacker News API (public/front page)","OpenRouter (GPT‑4.1) API key","Google Sheets API (OAuth 2.0 client credentials)"],"key_features":["Monitors top Hacker News posts","Filters posts by engagement thresholds (comments, points, recency)","Extracts post metadata and fetches article content","Uses GPT‑4.1 agent to detect and summarize user pain points","Appends structured results to Google Sheets for analysis and tracking','Configurable thresholds and automation scheduling"],"target_audience":["Founders and entrepreneurs","Product managers and designers","Market researchers and analysts\",\"Startup scouts and investors"]}


name: Monitor Amazon Product Prices with Bright Data and Google Sheets
author_name: Cyril Nicko Gaspar
author_username: cngaspar
categories: []
created_at: 2025-05-05T14:35:00.450Z
updated_at: 2025-05-05T14:35:00.450Z
url: https://n8n.io/workflows/3878
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Amazon Price Monitoring Workflow

  This workflow enables you to monitor the prices of Amazon product listings directly from a Google Sheet, using data provided by Bright Data’s Amazon Scraper API. It automates the retrieval of price data for specified products and is ideal for market research, competitor analysis, or personal price tracking.

  ✅ Requirements

  Before using this template, ensure you have the following:
  A Bright Data account and access to the Amazon Scraper API.
  An active API key from Bright Data.
  A Google Sheet set up with the required columns.
  N8N account (self-host or cloud version)

  ⸻

  ⚙️ Setup
  1. Create a Google Sheet with the following columns:
  Product URL
  ZIP Code (used for regional price variations)
  ASIN (Amazon Standard Identification Number)

  2. Extract ASIN Automatically using the following formula in the ASIN column:

  =REGEXEXTRACT(A2, "/(?:dp|gp/product|product)/([A-Z0-9]{10})")
  Replace A2 with the appropriate cell reference

  3. Obtain an API Key:

  Sign in to your Bright Data account.
  Go to the API section to generate an API key.
  Create a Bearer Authentication Credential using this key in your automation tool.
  4. Configure the Workflow:
  Use a node (e.g., “Google Sheets”) to read data from your sheet.
  Use an HTTP Request node to send a query to Bright Data’s Amazon API with the ASIN and ZIP code.
  Parse the returned JSON response to extract product price and other relevant data.
  Optionally write the output (e.g., current price, timestamp) back into the sheet or another data store.

  ⸻

  Workflow Functionality

  The workflow is triggered periodically (or manually) and reads product details from your Google Sheet.
  For each row, it extracts the Product URL and ZIP code and sends a request to the Bright Data API.
  The API returns product price information, which is then logged or updated back into the sheet using ASIN.
  You can also map the product URL to the product URL, but ensure that the URL has no parameters. If the URL has appended parameters, refer to the input field from the Bright Data snapshot result.

  ⸻

  💡 Use Cases
  E-commerce sellers monitoring competitors’ prices.
  Consumers tracking price drops on wishlist items.
  Market researchers collecting pricing data across ZIP codes.
  Affiliate marketers ensuring accurate product pricing on their platforms.

  ⸻

  🛠️ Customization
  Add columns for additional product data such as rating, seller, or stock availability.
  Schedule the workflow to run hourly, daily, or weekly depending on your needs.
  Implement email or Slack alerts for significant price changes.
  Filter by product category or brand to narrow your tracking focus.

nodes_used:
  ["n8n-nodes-base.wait","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.splitInBatches","n8n-nodes-base.aggregate","n8n-nodes-base.googleSheets","n8n-nodes-base.switch","n8n-nodes-base.wait","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","web-scraping","data-integration","e-commerce monitoring"],"complexity":"medium","use_cases":["Competitor price monitoring for sellers","Personal wishlist / price drop tracking","Market research across regions (ZIP codes)","Affiliate price verification and site price syncs"],"estimated_setup_minutes":20,"required_services":["Bright Data (Amazon Scraper API)","Google Sheets","n8n (self-hosted or cloud)","Internet access / API credentials (Bearer token)"],"key_features":["Scheduled or manual runs to poll product rows","Automatic ASIN extraction guidance (Google Sheets REGEXEXTRACT)","HTTP requests to Bright Data Amazon API per ASIN/ZIP","JSON parsing of price, timestamp and related fields","Write/update results back to Google Sheet or other datastore (batch-capable)」「Supports regional price variation via ZIP code, URL parameter handling, and optional alerts/integrations (email/Slack)"],"target_audience":["E‑commerce sellers and pricing teams","Market researchers and analysts","Affiliate marketers and site owners who need up-to-date pricing data」「Consumers tracking price drops"]}


