# templates

name: Export Amazon Product Reviews in Bulk to Google Sheets via RapidAPI
author_name: Hunyao
author_username: hun-yao
categories: []
created_at: 2025-08-06T13:17:05.340Z
updated_at: 2025-08-06T13:17:05.340Z
url: https://n8n.io/workflows/7050
scraped_at: 2025-09-14 11:38:21
description:
  What it does
  Pulls up to 700 Amazon reviews per product (recent and top-rated) and writes them straight into a Google Sheet tab you choose.

  Perfect for
  • Brand and product managers tracking sentiment
  • Marketplace sellers analysing competitor feedback
  • Agencies building product-review dashboards

  Apps used
  RapidAPI Real-Time Amazon Data, Google Sheets, n8n Form Trigger

  How it works

  Form Trigger collects brand, product and sheet info.
  Code node extracts the ASIN and builds 70 API requests (10 pages × star ratings).
  Split-in-batches loops through the request list, throttled by two Wait nodes.
  HTTP Request fetches reviews from RapidAPI.
  IF node drops empty or error responses.
  Split Out breaks arrays into single reviews.
  Google Sheets appends every review to the target tab.
  Loop continues until all pages finish.

  Setup

  Fill in Brand name, Product / Model Name, Amazon Product URL, Tab URL to insert reviews in the form.
  Grab your X-RapidAPI-Key from RapidAPI → Add as httpHeaderAuth credential.
  Connect Google Sheets OAuth2 and make the spreadsheet Anyone with the link can edit.
  Open Workflow Settings → set timezone if you plan to schedule runs.
  Hit Execute workflow or share the form link.

  Credentials
  • Real-Time Amazon Data (RapidAPI HTTP Header Auth)
  • Google Sheets OAuth2

  Limits and notes
  • \~100 RapidAPI calls for the free plan. Plan quota accordingly.
  • Assumes Amazon returns 10 pages per star rating; fewer pages skip silently.
  • Large sheets may hit Google API write quotas.


  If you have any questions in running the workflow, feel free to reach out to me at my youtube channel: https://www.youtube.com/@hunyaochong

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

workflow_json_compressed:
  [encoded data, 5144 characters]


name: Automate Personalized Email Campaigns with Google Docs, Sheets and SMTP
author_name: Stéphane Heckel
author_username: stephaneheckel
categories: []
created_at: 2025-08-06T18:15:33.000Z
updated_at: 2025-08-06T18:15:33.000Z
url: https://n8n.io/workflows/7065
scraped_at: 2025-09-14 11:38:21
description:
  Emailing Using Google Sheet, Google Docs, and SMTP

  Automate personalized email campaigns using a Google Sheets contact list, a Google Docs template, and SMTP delivery.

  How It Works

  Google Docs** is used as the email template with variables: {{firstname}}, {{lastname}}, {{company}}, {{email}}.
  Google Sheet** contains your list of recipients (one per row).
  For each contact, the workflow merges personal data into the Google Docs template.
  Email is sent to each recipient via SMTP (batch size: 1). Use the Wait node to respect provider quotas.
  After sending, the workflow updates the "process" column of the Google Sheet with the date/time.

  How to Use

  Copy Templates:
     Google Docs Template
     Google Sheet Template
     Find each document’s ID (the text after /d/ and before /edit in the URL).

  Configure Workflow:
     Enter your Google Docs and Google Sheets IDs in the settings node.
     Set your email subject in the appropriate parameter.

  Set Up Credentials:
     Connect your Google account.
     Configure the SMTP node with your mail server details.

  Update Data:
     Edit the Google Docs template with your message and variables.
     Prepare your Google Sheet with these columns: email, firstname, lastname, company.

  Deploy and Test:
     Connect all nodes.
     Test with a small contact batch.
     Troubleshoot any node errors (indicated in red in n8n).

  Requirements

  Google Credentials & permissions**: For Sheets and Docs access.
  SMTP Server**: For email delivery (adjust Wait node for rate limits).
  n8n Version**: Tested on 1.105.2 (Ubuntu). 

  Need Help?

  Comment this post or contact me on LinkedIn
  Ask in the n8n Community Forum!

  See Also

  After running your email campaign, some messages may fail to deliver. This workflow scans your email inbox for delivery errors (e.g., bounced messages), flags problematic email addresses in the Google Sheet and ensures future campaigns skip them.

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.googleDocs","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.emailSend","n8n-nodes-base.filter","n8n-nodes-base.googleSheets","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","n8n-nodes-base.noOp","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5248 characters]


name: 🤖 AI-Powered Prompt Enhancement Assistant
author_name: EoCi - Mr.Eo
author_username: eocimreo
categories: []
created_at: 2025-08-06T19:16:57.923Z
updated_at: 2025-08-06T19:16:57.923Z
url: https://n8n.io/workflows/7067
scraped_at: 2025-09-14 11:38:20
description:
  This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

  Introduction
  Tired of spending time crafting the perfect AI prompt? This workflow takes your simple ideas like "write a blog post" and automatically transforms them into detailed, structured prompts that actually work.
  🎯 What This Does
  Automatically converts simple user prompts like "write a blog post" into structured, professional AI prompts with metadata, variables, and clear instructions. Perfect for everybody, all industries and organizations who are wanting to eliminate prompt engineering works.

  🔄 How It Works
  Google Sheets Trigger monitors for new prompts
  AI Enhancement Pipeline uses Gemini + Groq to add structure & context  
  Field Completion auto-generates missing metadata (topic, categories)
  Quality Assurance validates & stores complete results
  🚀 Setup Requirements
  AI APIs**: Gemini, Telegram, Groq API keys
  Google Sheets**: 2 sheets (Main, ModifiedPrompt)
  5 minutes setup time** - detailed instructions in blue sticky notes
  Set up steps
  Setup time: &lt; 5 minutes
  Create a Google Spreadsheet with two tabs (sheets): OriginalPrompts and ModifiedPrompts.
     OriginalPrompts columns: Original Prompt ID | Model | Original Prompt | Created Time
     ModifiedPrompts columns (example): Modified Prompt ID | Original Prompt ID | Topic | Topic Categories | Modified Prompt | Prompt Title | Prompt Type | Model Used | Improvement Notes | Updated Time | Created Time | isProcessed

  Add and attach credentials in n8n:
     Google Sheets OAuth2 (required for getting new prompt)
     Gemini and Groq API credentials (required for AI Agent)
     Telegram credential (required for notifications)

  Save & Activate the workflow. Add a test row to OriginalPrompts, for example:  
     Original Prompt ID: 1 — Original Prompt: "Write a short blog post about AI ethics".

  Wait ~30–60s and check ModifiedPrompts for the enhanced output.

  That’s it ! Once it configured, drop short ideas into your sheet and get professional prompts back automatically. Your prompts get better, your AI outputs improve, and you save hours of manual prompt crafting.

nodes_used:
  ["n8n-nodes-base.set","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatGroq","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.googleSheets","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.switch","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheetsTrigger","n8n-nodes-base.noOp","n8n-nodes-base.noOp","n8n-nodes-base.noOp"]

workflow_json_compressed:
  [encoded data, 13772 characters]


name: Export Dialogflow Intents with Priority Levels to Google Sheets via Telegram
author_name: Eddy Medina
author_username: troguis
categories: []
created_at: 2025-08-06T22:38:12.352Z
updated_at: 2025-08-06T22:38:12.352Z
url: https://n8n.io/workflows/7073
scraped_at: 2025-09-14 11:38:21
description:
  What does this workflow do?

  This workflow exports the names of all Dialogflow intents from your agent, together with their priority levels, directly into a Google Sheets spreadsheet.  
  It is triggered via Telegram and includes visual indicators (emojis) for priority levels.

  📜 Overview

  🔔 Activation**:  
    Triggered when a validated user sends the keyword (e.g. "backup") via Telegram.

  📥 Data Retrieval**:  
    Fetches all intents of the specified Dialogflow agent using the Dialogflow API.

  ⚙️ Processing**:  
    Transforms each intent into an n8n-compatible item.  
    Extracts the displayName and priority of each intent.  
    Assigns an emoji and descriptive label based on priority tier:  
      🔴 Highest, 🟠 High, 🔵 Normal, 🟢 Low, 🚫 Ignore.

  📑 Storage**:  
    Appends each intent (name, priority number, emoji, and description), along with current date and time, to a Google Sheets document.

  📩 Notification**:  
    Sends a single confirmation message to the Telegram user once insertion is complete (using Execute Once).

  🛠️ How to install and configure

  Import the workflow: Upload the .json into your n8n instance.

  Connect Telegram:  
     Add your Telegram bot credentials and configure the node Validación de usuario por ID with your Telegram ID.

  Configure Dialogflow:  
     Authenticate using a Google Service Account API Credential.  
     Then, in the Obtiene datos de los intents node, replace the example project ID (TU_PROJECT_ID) with your actual Dialogflow agent's project ID.

  Connect Google Sheets:  
     Authorize Google Sheets via OAuth2 and select your destination document/sheet in the node Añadir fila en la hoja.

  Customize trigger keyword:  
     Adjust the command text (default "backup") if needed.
  Activate workflow:  
     Ensure the webhook is correctly set up in Telegram before enabling the workflow.

  👥 Who is this for?

  🤖 Bot administrators who need quick backups of Dialogflow intent names.

  🌐 Teams managing multilingual or multi-intent agents wanting priority oversight.

  💻 Development teams needing an automated way to audit or version intent configurations regularly.

  💡 Use Cases

  ⚙️ Backup intents periodically to monitor changes over time.
  📊 Visualize priority assignment in a spreadsheet for analysis or team discussion.

  📖 Document conversational structure for onboarding or knowledge transfer.

nodes_used:
  ["n8n-nodes-base.telegramTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.httpRequest","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.code"]

workflow_json_compressed:
  [encoded data, 4840 characters]


name: CYBERPULSE AI GRC: Automate PCI DSS Control Evaluation and Compliance Tracking
author_name: Adnan Tariq
author_username: adnantariq
categories: []
created_at: 2025-08-07T01:05:02.961Z
updated_at: 2025-08-07T01:05:02.961Z
url: https://n8n.io/workflows/7077
scraped_at: 2025-09-14 11:38:22
description:
  Description

  Automatically evaluates PCI DSS control responses using logic or AI. Designed to speed up compliance workflows, reduce audit fatigue, and flag non-compliance early.

  Who’s It For:

  Internal compliance teams
  PCI DSS auditors
  Security officers preparing for certification
  How It Works:
  Reads PCI controls and responses from Google Sheet
  Applies logic to classify each control as Compliant, Partial, or Non-Compliant
  Tags evaluation results
  Sends output to Sheet, Email, or Drive

  Requirements:

  Google Sheet with PCI controls
  n8n (open-source automation tool)
  Optional: Gmail or Drive node for delivery
  Google Sheet Requirements:
  Columns: Control_ID, Control_Description, Response, Evaluation_Result, Notes
  Headers must be in row 1

  File Templates:

  PCI_Control_Evaluation_Template.xlsx
  Customization Tips:
  Adjust logic for more strict evaluation
  Highlight non-compliant results for rapid review

  Compliance Alignment:
  • PCI DSS v4.0
  • ISO 27001 – Annex A crosswalk
  • Internal audit programs

  Setup Instructions:
  Fill in the Google Sheet template
  Connect to n8n with Google Sheet node
  Run the workflow or schedule via Cron node
  Review and export results


  🌐 https://cyberpulsesolutions.com
  📧 info@cyberpulsesolutions.com

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

workflow_json_compressed:
  H4sIAAAAAAAAE52Y224bNxCGX2XBqxbYMXgYnnSXOmnrAjkgCVqggRHwMHQWlnYNaZXENQzkMdrX65MUK7mWYq8iKTeCAJE/P/5Dzgx1w5rMJqz0v+rlC34q5GU/fzJ7wmo2oz6wyQ1r2kUf2kRnwzhTqBQUIWSKDrm3ypI0aE3xmQfUxWuiZIJPwoRSiqPibDBGotbR5MJua9aGGbEJe7Lsu1noKVevTs+q067t5920evYxTJehb7qW1awPFws2eXezZsSZui6/25dvkrn+bfn0E7uXenV69v556NOH92/60C8X79/OQ7qkOatZmtOwxpOeTZjkUgN3wO1bzicoJtqdKIN/spotr/L+YbfnNWu7TFtMMaNLPkogrj2gMwjB+gBKZy1NcV5S2nD+8YHaKk2bdNm0F9W/X/5+9pnSsqfqUze/LNPu079f/hm2fX01jG5dC6vlIIYFncxCuwzTt/Pm4mK1s6tu0ax8mrwDJXktJD+v2VWYhxn1NF+wyc3tWut3mi9WA8VtfcedvBUUigYynACji+BRaZAlYjZWBm/Fhvt02lDbvx9sfk2Lq65d0GIn50XXXUzpzQeifvE1Jq/lfkY8MfeUMhfrrPMQtMmAhhdwnHPwyXhdMnfc2A3lc5pf0G777n7d4jHmINfUibwnUiE5k60EIawEVKKAD8lD4ChVjFrx5DZEaX2od3uVukwPPdrLs6HJVucsZIKSvQa0MUNI1oHWKVCQEXXciuKLbj4L0+YvqtbxrM6e7gRbUP81l3AHRU+d4D0dKo3RlQJBDnfDkAQnZAQbhVAlSp9T2dC9puFL9bKUJjVhehSccgfYto0mY9QWpQKXnQPMQkHgBQGF9yEIZa3Oj9C+wzV1vGuZokIVJcQYBAwZFXxyDqQnnhUG63gZjeldAj17Wv3w/7n78bj4HsWphOeOIoJVSgM6n8FpNCANumw9cSdpw/ksN331c0PTvPsyPGLy/MD7uaEiFDIjecg8JECHAkLiGULMknKOWaDaUP3cTPtVLh0HKv//vO2TOCzVyq2kIYVAGbBAlOQAudIQXNCQS7bGmsA9xw3UWdkJ1JQHMOqwDLYNU7xHJYQHj8EAeunBOR7BhqyTUl6Qz6NxE0ccpiGz4lGBiyLniK6AQxUBVdEQczFgyZpAPmkp4yiWPBJLmqO4EgkvdPSQjQuAUnlwHBWY6ITMTkcV8oMStNuokRok/BDCQ7zahDBJG2PmESLnDlBoAR4TBxRZB01J27RdvNc15tACJIdMcADQBsc6Ih6jBW65BZRUwKvEQapQpJKUNW1lrF9W7UF13x8c20RIe5hh230E98LEgBlQEwI6TRAdabAxhiijp+jDFuG8W15VP13fJfxjvFPHeqdF4jrFAuSSB8zJQLRSALfWYzFWGOJbx2vocat1j1uddsu2r17R/Ds49WEebjidoJS9tpBlNMP1XFV1B0EqUYwuGKLZcL7pm3R5Xb3o+t0nb7Eaczdki01LXmv+CG3VSw27nDD2uK09r1lIffOR2KSE6YJqtqC+b9qL1VRaddlN176cZ5qzCfsoBo2P6/mrdw0J6QKnAjmTBdSCQ4jSApcaJefOZzvUjdS1LaVBaiV8VobPWWgG8Hc3q8fBzqS5Glazps30mU347Xk9OkN+Y8b5bb2+zmOr7jy2ozLrZnkP/R6Nu/I5JrJdxHavL0bnfp2wRmffN9Zj8w/uiUalt7c/pv6wZ9gnMr7Hh4Vin4r8DhWxVnl4LkaFDksso5SPuuOdpHtAR14AR0vdMY09dca0dnf243dv7B285wgeKP3tCIze9/FCus+P0SvxDW9GH2Sjixz078bohf/m3wsP16rv5z1+Xo9w3d7+Bx+WG+/jEgAA


name: CYBERPULSE AI GRC: Automated ISO 42001 Compliance Evaluation
author_name: Adnan Tariq
author_username: adnantariq
categories: []
created_at: 2025-08-07T01:18:21.989Z
updated_at: 2025-08-07T01:18:21.989Z
url: https://n8n.io/workflows/7078
scraped_at: 2025-09-14 11:38:22
description:
  Description
  Automatically evaluates and maps AI governance responses to ISO 42001:2023 clause requirements using AI-powered logic. Designed for GRC consultants, audit teams, and AI-focused security programs to reduce time spent on manual clause interpretation and alignment.

  Who’s It For:
  GRC Consultants handling AI governance controls

  Internal Auditors preparing for ISO 42001 audits

  Security teams implementing AI assurance frameworks

  Organizations adopting Responsible AI principles

  How It Works:
  Triggers manually or on schedule (e.g., clause review cycles)

  Reads AI control responses from a connected Google Sheet

  Uses AI to evaluate each response against ISO 42001 clauses

  Flags compliance status (match / partial / gap) with clause mapping

  Outputs a clean control map with automated summary

  Requirements:
  Gmail or SMTP node for email

  Google Sheets connected (OAuth)

  OpenAI or AI node (optional but recommended for advanced clause interpretation)

  Google Sheet Requirements:
  Columns: ClauseID, Clause_Description, Control_Response, Evaluation_Result

  Each row must correspond to one ISO 42001 clause

  Headers in the first row

  Optional: add column for Suggested_Remediation

  File Templates:
  ISO42001_Mapping_Template.xlsx

  Includes: clause ID, clause text, response, result, suggested fix

  Customization Tips:
  Modify clause response logic in the evaluation node (e.g., strict vs lenient mapping)

  Enable multi-framework mapping (e.g., align to NIST AI RMF as well)

  Auto-send mapping result to Drive or S3 as audit evidence

  Ethics & Compliance:
  This module assists with clause interpretation and reporting only. It does not simulate AI models or assess ethical risk directly. For internal reporting, policy alignment, and audit preparation use only.

  Setup Instructions:
  Copy the provided Google Sheet template (ISO42001_Mapping_Template.xlsx)

  Fill in your control responses (row = clause)

  Connect Google Sheets node using OAuth credentials

  In the AI node:

  Evaluate clause response using GPT or internal prompt

  Flag match/partial/gap

  Optional: auto-send report via email or upload to storage

  Review results and update your compliance register accordingly

  Supports:
  ISO 42001:2023

  AI Governance Principles (OECD, NIST AI RMF)

  SOCI Act compliance efforts (AI assurance layer)

  ACSC AI oversight recommendations

  📬 info@cyberpulsesolutions.com
  🌐 https://www.cyberpulsesolutions.com/

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.googleSheets","n8n-nodes-base.merge","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.gmail","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE52X224bNxCGX2XB2+64PC0Puqqbo4s6LuIgaRIYxZAcylvLu4K0imMYBvIOvWlfL09SrJTIG1uK5dxK5PCbmX8Oe8XqxEbsdDx58/bs42v97A+L9YsDVrJz6pCNrljdzDtsIh3050ymnLVATBSc5t4qS9Joa7JPHHWVfUUUDfooDOacHWVn0RipqyqYlNl1yRo8JzZih5fFRTs7y5P2olAHx0eFlpyL4lHbdLN2UhzidFo34+KwTYsJsZJ1OJ6z0furFTA9fSue17//+fzi7KW+fP4rW9s9OD5aWvqrt0AzVrI4I+wo7XdsxCSXFXAH3L7iYsT9iFd70sp3rGSLabr/2HX5BeDpb/PDx+N3pnl8/OLikP99A/Ds5aNdHnW7Pdofuz4pWdMmGvivnXLBpQiy0hZ04BKcDBW4bFAaz5VXeIN03NXx7LJ40XbLSF5O+x8b18DSKgSc0958eebLkWk7r7u6bdjoPQjueKkNPynZFGd4Th3N5r0yYtt01PTkfVp7q69pNl/eEus4aR0doVLgLUbQQhoILiUwMqGtgk/O0Q3om1Nqijip41mf+8+f/n3ykeKio7VUPn/6b6sH59gscPJqVo/Hy7wPnZBK8tLd8WE7N08oU04evNQRtNIJXKUIcoomR6+01fyG+/cWU/FoUlPTFQfNdNHNi8+f/inWst7KPG7b8YSOT4m6+W3kPu73I+s9s4bG6Kz0ykDOkkBrl8B5WQGhEzopn31lhqrAro7FoPYmuJjTfLtEqLutDWe2MNIqcUdNJDbqZgu6ha329BqbbBDRYAVaoACdPIdAwoExmbtcOZ+1GmBPJ3W3pL6Xtz95tLgDbR6oBUHKS2kyRJEVaLQIXigFWZOWmKSzWu6khR+RgdCSl1L/SIyH0tBZC56NBYNIoCNawOgRnMnWZWlEyAMffmvr5mt4i5++8WZ7+dFsfKd3SM1Lwe+NtdqTa9IsOTluAigZImheOXCVN5BNMF4lkUwaiHj/YBndFWuxv0h1Vxwvzs9xdnlD+kvjmp9vcCfYjOMp1s1eO6Vmv77T8ORO0GLPraErzi1X0YINOoM23IJP1oFHqYxzOld20OaenWM92S6GL/8OmYz5inRB4bRtz5bjuLJOWpUkaN9PgUoIwOAJbDDWSHQy8L5wHqobuScGtRkj2d4dQwjaSwshSAkhOStEtkEnMXBsqeNiLeQHq13vppehsp0I1hqewUapQCtUEJRwoLJ0aKRDLd2AEKfFY+oodpS2Atb5di/eTRFyIOOAFUelBHAfCLSoEgSlFchkRYg6S5HToKlRk4r9Cc26VbNoOpo1OCmePFQpvLwtEusMxxwSKAoWtHEenI4cog8xW+IUl/V0j2M3inBBZlKaQ+ROgEaTwUnJAb2iEKVRZthJBqvH9im4dffoO/WDV4+TkmHs6g/ERhkncyrZnLqubsbLqyvx121zNEs0YyP2QfQ2PqzuLyPmMeekCAGl16B5TOCVQNCcvDfJRG9Cv+K1TUOxN7U0vCrq0RU7x7qHf3+1XNq2V8XyXMnqJtFHNuLXJyfX5bf63GRsR6VsNv4NyEbUjeWx0djdObzJ4E7T8Lb9cn19p0G0GW/bdrMxqNt3io3Gvzd1NoZ1h+R8z9VNNneafBtf+l5ONr30A0kQ97602os3JuPevXSjVzt9OzxQoreW9w3vXl//D3+tfctDDwAA


name: CYBERPULSE AI GRC: Automate Compliance Audit Documentation
author_name: Adnan Tariq
author_username: adnantariq
categories: []
created_at: 2025-08-07T01:36:02.682Z
updated_at: 2025-08-07T01:36:02.682Z
url: https://n8n.io/workflows/7079
scraped_at: 2025-09-14 11:38:22
description:
  Description
  Automatically packages audit-ready evidence files matched to control IDs from ISO 42001 or other frameworks.
  Fetches logs from Google Sheets, finds corresponding files in Google Drive, compresses them into a ZIP archive, and sends via email — no manual formatting required.

  Who’s It For:

  Compliance teams preparing audit documentation

  GRC consultants managing multiple clients

  Internal auditors requiring traceable evidence

  How It Works:

  Trigger manually or on schedule (e.g., daily)

  Reads audit logs from Google Sheets

  Searches Google Drive for files matching control_id

  Downloads matched files

  Zips them into an archive

  Sends the archive via email (Gmail or SMTP)

  Requirements:

  Gmail or SMTP node for email delivery

  Google Sheets connected (OAuth2)

  Google Drive connected (OAuth2)

  Google Sheet Requirements:

  Columns: control_id, description, evidence_status, last_updated

  One row per control ID or log entry

  Headers must be in the first row

  Log sheet must be shared with your service account or n8n-connected user

  File Templates:

  Audit_AutoPack_Sheet_Template.xlsx

  Evidence files in Google Drive named using control ID (e.g., ISO42001-5.1.pdf)

  Customization Tips:

  Adjust ZIP archive name in the “Zip Files” node

  Customize email subject, body, and recipient

  Use a different Drive folder per client or audit phase

  Ethics & Compliance:

  Ensures audit trail and evidence traceability

  Prevents unauthorized edits or file mismatches

  Setup Instructions

  Copy the provided Google Sheet template (linked in File Templates).

  Fill in your audit logs (columns: control_id, description, status, last_updated).

  Connect Google Sheets node using OAuth credentials.

  In the Gmail node:

  Set recipient email (e.g., your_email@example.com)

  Choose “Send binary data” and attach ZIP

  Trigger via Cron node (e.g., daily) or manually

  (Optional) Connect Drive or S3 node to store a backup copy

  Supports:

  ISO 42001 AI Governance

  PCI DSS v4.0

  NIST CSF / SOCI Act

  ACSC Essential Eight


  https://cyberpulsesolutions.com

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.googleDrive","n8n-nodes-base.merge","n8n-nodes-base.set","n8n-nodes-base.googleDrive","n8n-nodes-base.compression","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE5WW227bRhCGX4XY23IN7oF74J0BO22RNC3gpgFiGMXs7qxMWCQNkrITCAL8Dr1pX89PUpBydKgpS70jodl/vjnsLy5JGUhB3v/26bb68VMlfuq+2I/vFyQlFfZAiiUp666H2uPPQ5yKGKNkAAGdkZnVQiNXUqtoQwYyjzZH9AqsZwpijAaj0aAUl3nuVIhklZIaKiQFOV+Esk8uGr+osO6hL5s6OV/0TbV+fH76K3lgJCU9zDpSXN+kpG4CDo/LNXOA4IIylko0kcoIOTU555Rlecg1z60ImmzSfb7FOvHz0t+V9Sx5fvr78iv6RY/JY9PexXnz+Pz0z5Dt2/0QXZuajumogw7PKqgXMP+9LWczbElK7puuHChJcZ2l2U1K7qGFCntsO1IsV2uZP7Dtxhi2Sl+QgQnnM+ZpyKKiMldIjZWasihAC+2cydUW+UMDIVm36UMz6w7SzZpmNserW8S+24fj/AQ8eaY2gCFwCUFZahWTVEYPFIxylPGcg1LAg4tbwHfY+9vk8qEMWHtM3pVzPEZ50ZYPuA8pVZby7Cim2EAiQyuN1TRkPlCpmKEWUFAnANBb8Da6LeQv2M5wbGDywxHEagjdh2OZHOiOwp3x7ZAjWoha0GC0GPAiNSxm1GuUKghrog5bvPMQEt/UfdvM/yxD0jcj40HEDvt9QJ2d1r0zuQHMdI5sWLvAXKTSOEaNBE69jlpIY1DAzhZeNI/1fNjEvTn//zEzrk7q5AZTMxuUlYJqESWVmXPU6YDUBGk9WJkFszPmL+X9ken6prpvsRvT7JNJcwoZO9te5GHfwKlIFQRNpfQ5Ba8ymnsJwmmrJeCW7QrrnfZdVlDOD/fv5dddPvW9c4/obpvmbrTiiGiF5YyizhWVTATqBkOJmGuRxcBRGHKkJL5TEmohHHdIUYKmkpmc2uA8lRKdkyaLxu1sxVVf+rtvycemf2NXx5iXkL16slTKV/0mwzXAuicFIa8t9CYl4Pthq4oI8w5T0mHfl/VsPIqjmZdN/WsbsCUFeWCDxsP6/NgvIbhT4Dm1wVoqg+fUeaWHV6GNxgz4cC19U9foB6lReLtWxZJUUA7818vxr+jYYMfolJR1wK+kyFY3N6v0ladPqb5tq/+VTTfn3nK6SZiJA1M8xxxgUnuyiCn1YwY4qX7g0JT+6V1ha+0D5U5pT5jOJO5JHx9TCQ5+AkykWa3+Bc36RdbNCQAA


name: Generate Text-to-Video & Image-to-Video Content with Seedance 1 Lite AI
author_name: Yaron Been
author_username: yaron-nofluff
categories: []
created_at: 2025-08-07T05:25:17.144Z
updated_at: 2025-08-07T05:25:17.144Z
url: https://n8n.io/workflows/7098
scraped_at: 2025-09-14 11:38:21
description:
  Generate Text-to-Video & Image-to-Video Content with Seedance 1 Lite AI

  Built with n8n + Replicate

  This workflow takes a prompt (and optional seed), sends it to Bytedance’s seedance-1-lite model, waits for processing, and returns a generated video.

  ⚡ Section 1: Start & Authenticate

  ▶️ On clicking ‘execute’** → Manual trigger to start the workflow.
  🔑 Set API Key** → Stores your Replicate API key so all requests are authorized.

  Benefit: Keeps your API credentials secure and reusable.

  🛠️ Section 2: Send Video Generation Request

  📡 Create Prediction** → Makes a POST request to Replicate with:

    prompt: your text description of the video
    seed: (optional) controls randomness for reproducibility
    Model version: b6519549e375404f45af5ef2e4b01f651d4014f3b57d3270b430e0523bad9835

  Benefit: Kickstarts AI video generation from just a simple text prompt.

  🔍 Section 3: Track the Prediction

  📦 Extract Prediction ID** → Stores predictionId, status, and predictionUrl for polling.
  ⏳ Wait** → Pauses 2 seconds between checks.
  🔁 Check Prediction Status** → Calls Replicate to see if the video is ready.
  ✅ Check If Complete** → Branches:

    If status = succeeded → continue.
    Else → loop back to Wait until it’s finished.

  Benefit: Ensures the workflow patiently monitors progress without timing out.

  📽️ Section 4: Process & Return Results

  📦 Process Result** → Outputs a clean response containing:

    status
    video_url (generated video)
    metrics
    created_at & completed_at
    model: bytedance/seedance-1-lite

  Benefit: Gives you structured data and the direct video link, ready to share or store.

  📊 Workflow Overview

  | Section             | Purpose                     | Key Nodes                                     | Benefit                         |
  | ------------------- | --------------------------- | --------------------------------------------- | ------------------------------- |
  | ⚡ Start & Auth      | Initialize & secure API key | Manual Trigger, Set API Key                   | Keeps credentials safe          |
  | 🛠️ Send Request    | Start video generation      | Create Prediction                             | Submits prompt to Replicate     |
  | 🔍 Track Prediction | Poll status until done      | Extract Prediction ID, Wait, Check Status, If | Reliable async handling         |
  | 📽️ Process Result  | Format output               | Process Result                                | Easy access to final video link |

  ✅ Final Benefits

  🎬 Generate AI-powered videos directly from text prompts.
  🔑 API key stored securely within workflow.
  🔄 Handles asynchronous processing with automatic polling.
  📤 Provides clean, ready-to-use JSON output including video URL.
  🧩 Flexible — you can connect results to Slack, Google Drive, or YouTube for instant publishing.

nodes_used:
[cell repeats an earlier one in this file: 365 characters]

workflow_json_compressed:
  [encoded data, 4552 characters]


name: Generate 3D Models & Textures from Images with Hunyuan3D AI
author_name: Yaron Been
author_username: yaron-nofluff
categories: []
created_at: 2025-08-07T05:30:45.472Z
updated_at: 2025-08-07T05:30:45.472Z
url: https://n8n.io/workflows/7111
scraped_at: 2025-09-14 11:38:22
description:
  Generate 3D Models & Textures from Images with Hunyuan3D AI

  This workflow connects n8n → Replicate API to generate 3D-like outputs using the ndreca/hunyuan3d-2.1-test model. It handles everything: sending the request, waiting for processing, checking status, and returning results.

  ⚡ Section 1: Trigger & Setup

  ⚙️ Nodes

  1️⃣ On Clicking “Execute”

  What it does:** Starts the workflow manually in n8n.
  Why it’s useful:** Great for testing or one-off runs before automation.

  2️⃣ Set API Key

  What it does:* Stores your *Replicate API Key**.
  Why it’s useful:** Keeps authentication secure and reusable across HTTP nodes.

  💡 Beginner Benefit

  No coding needed — just paste your API key once.
  Easy to test: press Execute, and you’re live.

  🤖 Section 2: Send Job to Replicate

  ⚙️ Nodes

  3️⃣ Create Prediction (HTTP Request)

  What it does:* Sends a *POST request** to Replicate’s API with:

    Model version (70d0d816...ae75f)
    Input image URL
    Parameters like steps, seed, generate_texture, remove_background
  Why it’s useful:** This kicks off the AI generation job on Replicate’s servers.

  4️⃣ Extract Prediction ID (Code)

  What it does:* Grabs the *prediction ID** from the API response and builds a status-check URL.
  Why it’s useful:** Every job has a unique ID — this lets us track progress later.

  💡 Beginner Benefit

  You don’t need to worry about JSON parsing — the workflow extracts the ID automatically.
  Everything is reusable if you run multiple generations.

  ⏳ Section 3: Poll Until Complete

  ⚙️ Nodes

  5️⃣ Wait (2s)

  What it does:** Pauses for 2 seconds before checking the job status.
  Why it’s useful:** Prevents spamming the API with too many requests.

  6️⃣ Check Prediction Status (HTTP Request)

  What it does:** GET request to see if the job is finished.

  7️⃣ Check If Complete (IF Node)

  What it does:**

    If status = succeeded → process results.
    If not → loops back to Wait and checks again.

  💡 Beginner Benefit

  Handles waiting logic for you — no manual refreshing needed.
  Keeps looping until the AI job is really done.

  📦 Section 4: Process the Result

  ⚙️ Nodes

  8️⃣ Process Result (Code)

  What it does:** Extracts:

    status
    output (final generated file/URL)
    metrics (performance stats)
    Timestamps (created_at, completed_at)
    Model info
  Why it’s useful:** Packages the response neatly for storage, email, or sending elsewhere.

  💡 Beginner Benefit

  Get clean, structured data ready for saving or sending.
  Can be extended easily: push output to Google Drive, Notion, or Slack.

  📊 Workflow Overview

  | Section               | What happens                      | Key Nodes                     | Benefit                           |
  | --------------------- | --------------------------------- | ----------------------------- | --------------------------------- |
  | ⚡ Trigger & Setup     | Start workflow + set API key      | Manual Trigger, Set           | Easy one-click start              |
  | 🤖 Send Job           | Send input & get prediction ID    | Create Prediction, Extract ID | Launches AI generation            |
  | ⏳ Poll Until Complete | Waits + checks status until ready | Wait, Check Status, IF        | Automated loop, no manual refresh |
  | 📦 Process Result     | Collects output & metrics         | Process Result                | Clean result for next steps       |

  🎯 Overall Benefits

  ✅ Fully automates Replicate model runs
  ✅ Handles waiting, retries, and completion checks
  ✅ Clean final output with status + metrics
  ✅ Beginner-friendly — just add API key + input image
  ✅ Extensible: connect results to Google Sheets, Gmail, Slack, or databases

  ✨ In short: This is a no-code AI image-to-3D content generator powered by Replicate and automated by n8n.

nodes_used:
[cell repeats an earlier one in this file: 365 characters]

workflow_json_compressed:
  [encoded data, 5256 characters]


name: Generate Images with Realistic Inpainting using Simbrams Ri AI
author_name: Yaron Been
author_username: yaron-nofluff
categories: []
created_at: 2025-08-07T05:31:35.575Z
updated_at: 2025-08-07T05:31:35.575Z
url: https://n8n.io/workflows/7113
scraped_at: 2025-09-14 11:38:22
description:
  Generate Images with Realistic Inpainting using Simbrams Ri AI

  This n8n workflow integrates with Replicate’s simbrams/ri model to generate images. It takes an input image and mask, applies transformations based on your parameters, and returns the final generated output automatically.

  📌 Section 1: Trigger & Authentication

  ⚡ On Clicking ‘Execute’ (Manual Trigger)

  Purpose**: Starts the workflow manually.
  Benefit**: Useful for testing and running on demand.

  🔑 Set API Key (Set Node)

  Purpose: Stores your **Replicate API key inside the workflow.
  Benefit**: Keeps credentials secure and ensures other nodes can reuse them.

  📌 Section 2: Sending the Image Generation Request

  🖼️ Create Prediction (HTTP Request Node)

  Purpose**: Sends a POST request to Replicate’s API to start generating an image.
  Input Parameters**:

    image: Input image URL
    mask: Mask image URL
    seed: Randomness control (for reproducibility)
    steps: Number of refinement steps
    strength: Intensity of modification (0–1)
    blur\_mask: Whether to blur the mask edges
    merge\_m\_s: Whether to merge mask with source
  Benefit**: Gives full control over how the model modifies your image.

  🆔 Extract Prediction ID (Code Node)

  Purpose: Extracts the **Prediction ID, status, and URL from Replicate’s response.
  Benefit**: Required to check the status of the generation later.

  📌 Section 3: Polling & Waiting

  ⏳ Wait (Wait Node)

  Purpose**: Pauses the workflow for 2 seconds before rechecking.
  Benefit**: Prevents hitting Replicate’s API too quickly.

  🔄 Check Prediction Status (HTTP Request Node)

  Purpose**: Checks whether the prediction is complete using the stored Prediction ID.
  Benefit**: Automates monitoring of job progress.

  ✅ Check If Complete (If Node)

  Purpose**: Decides if the prediction has finished.
  Paths**:

    True → Sends result to processing.
    False → Loops back to Wait and keeps checking.
  Benefit**: Ensures the workflow only ends when a valid image is ready.

  📌 Section 4: Processing the Result

  📦 Process Result (Code Node)

  Purpose**: Cleans up the completed API response and extracts:

    Status
    Output (final generated image)
    Metrics
    Created & completed timestamps
    Model name (simbrams/ri)
    Final image URL
  Benefit**: Delivers a structured and ready-to-use result for display, storage, or further automation.

  📊 Workflow Overview Table

  | Section           | Node Name               | Purpose                              |
  | ----------------- | ----------------------- | ------------------------------------ |
  | 1. Trigger & Auth | On Clicking ‘Execute’   | Starts the workflow manually         |
  |                   | Set API Key             | Stores API credentials               |
  | 2. AI Request     | Create Prediction       | Sends image generation request       |
  |                   | Extract Prediction ID   | Extracts ID + status for tracking    |
  | 3. Polling        | Wait                    | Adds delay between checks            |
  |                   | Check Prediction Status | Monitors job progress                |
  |                   | Check If Complete       | Routes based on job completion       |
  | 4. Result         | Process Result          | Extracts and cleans the final output |

  🎯 Key Benefits

  🔐 Secure authentication with API key management.
  🖼️ Custom image generation with parameters like mask, strength, and steps.
  🔄 Automatic polling ensures results are fetched only when ready.
  📦 Clean structured output with final image URL for easy use.

nodes_used:
[cell repeats an earlier one in this file: 365 characters]

workflow_json_compressed:
  [encoded data, 4924 characters]


name: Build Targeted Prospect Lists: Find & Enrich Leads with Surfe to HubSpot
author_name: go-surfe
author_username: go-surfe
categories: []
created_at: 2025-08-07T11:18:02.174Z
updated_at: 2025-08-07T11:18:02.174Z
url: https://n8n.io/workflows/7130
scraped_at: 2025-09-14 11:38:20
description:
  🚀 Build Hyper-Targeted Prospecting Lists with Surfe & HubSpot

  This template automatically discovers companies that match your Ideal Customer Profile (ICP), finds the right people inside those companies and enriches them — ready to drop straight into HubSpot. Launch the workflow, sit back, and get a clean list of validated prospects in minutes.

  1. ❓ What Problem Does This Solve?

  Sourcing prospects that truly fit your ICP is slow and repetitive. You jump between databases, copy domains, hunt down decision-makers, and then still have to enrich emails and phone numbers one by one.

  This workflow replaces all that manual effort:

  It queries Surfe’s database for companies that match your exact industry, size, revenue and geography filters.
  It pulls the best-fit people inside each company and enriches them in bulk.
  It keeps only records with both a direct email and mobile phone, then syncs them to HubSpot automatically.

  No spreadsheets, no copy-paste — just a fresh, qualified prospect list ready for outreach.

  2. 🧰 Prerequisites

  You’ll need:

  A self-hosted or cloud instance of n8n
  A Surfe API Key
  A HubSpot Private App Token with contact read/write scopes
  A Gmail account (OAuth2) for the completion notification
  The workflow JSON file linked above
      
      N8N_FLOW_2__Building_Prospecting_Lists.json
  3. 📌 Search ICP Companies Configuration — Fine-Tune Your Targeting

  3.1 Editing the JSON

  Every targeting rule lives inside the “🔍 Search ICP Companies” HTTP node.

  Open the node Search ICP Companies → Parameters tab → JSON Body to edit the filters.

  | Filter | JSON path | What it does | Example |
  | --- | --- | --- | --- |
  | industries | filters.industries | Narrow to specific verticals (case-sensitive strings) | ["Software","Apps","SaaS"] |
  | employeeCount.from / to | filters.employeeCount | from / to  | 1 / 35 |
  | countries | filters.countries | 2-letter ISO codes | ["FR","DE"] |
  | revenues | filters.revenues | Annual revenue brackets | ["1-10M"] |
  | limit | limit | Companies per run | 20 |

  3.2 Where to find allowed values

  Surfe exposes an “🗂 Get Filters” endpoint that returns every accepted value for:

  industries
  employeeCounts
  revenues
  countries (always ISO-2 codes)

  You can hit it with a simple GET /v1/people/search/filters request or browse the interactive docs here:

  https://developers.surfe.com/public-008-people-filters developers.surfe.com

  For company-level searches, the same enumerations apply.

  4. ⚙️ Setup Instructions

  4.1 🔐 Create Your Credentials in n8n

  4.1.1 🚀 Surfe API

  In your Surfe dashboard → Use Surfe Api → copy your API key
  Go to n8n → Credentials → Create Credential
      Choose Credential Type: Bearer Auth
      Name it something like SURFE API Key
      Paste your API key into the Bearer Token
      Save
  4.1.2 📧 Gmail OAuth2 API

  Go to n8n → Credentials
  Create new credentials:
      Type: Gmail OAuth2 API
  A pop-up window will appear where you can log in with your Google account that is linked to Gmail
      Make sure you grant email send permissions when prompted

  4.1.3 🎯 HubSpot

  🔓 Private App Token

  Go to HubSpot → Settings → Integrations → Private Apps
      Create an app with scopes:
          crm.objects.contacts.read
          crm.objects.contacts.write
          crm.schemas.contacts.read
      Save the App token
  Go to n8n → Credentials → Create Credential → HubSpot App Token
      Paste your App Token

  ✅ You are now all set for the credentials

  4.2 📥 Import and Configure the N8N Workflow

  Import the provided JSON workflow into N8N
      Create a New Blank Workflow
      click the … on the top left
      Import from File

  4.2.1 🔗 Link Nodes to Your Credentials

  In the workflow, link your newly created credentials to each node of this list :

  Surfe HTTP nodes:
      Authentication → Generic Credential Type
      Generic Auth Type → Bearer Auth
      Bearer Auth → Select the credentials you created before
  Gmail Node Credentials to connect with → Gmail account
  Hubspot Node →Credentials to connect with → Gmail account



  Surfe HTTP nodes

  Surfe HTTP nodes

  HubSpot node → Credentials to connect with → select your HubSpot credentials in the list

  5. 🔄 How This N8N Workflow Works

  Manual Trigger – Click Execute Workflow (or schedule it) to start.
  Search ICP Companies – Surfe returns company domains that match your filter set.
  Prepare JSON Payload with Company Domains – Formats the domain list for the next call.
  Search People in Companies – Finds people inside each company.
  Prepare JSON Payload Enrichment Request – Builds the bulk-enrichment request.
  Surfe Bulk Enrichments API – Launches one enrichment job for the whole batch.
  Wait + Polling loop – Checks job status every 3 seconds until it’s COMPLETED.
  Extract List of People – Pulls the enriched contacts from Surfe’s response.
  Filter: phone AND email – Keeps only fully reachable prospects (email and mobile).
  HubSpot: Create or Update – Inserts/updates each contact in HubSpot.
  Gmail – Sends you a “Your ICP prospecting enrichment is done” email.

  6. 🧩 Use Cases

  Weekly prospect list refresh** – Generate 50 perfectly-matched prospects every Monday morning.
  Territory expansion** – Spin up a list of SMB software CEOs in a new country in minutes.
  ABM prep** – Build multi-stakeholder buying-group lists for target accounts.
  Campaign-specific lists** – Quickly assemble contacts for a limited-time product launch.

  7. 🛠 Customization Ideas

  prepare 

  🎯 Refine filters for people – Add seniorities or other filters in the node JSON PAYLOAD WITH Company Domains
      use the surfe search people api doc https://developers.surfe.com/public-009-search-people-v2
  ♻️ Deduplicate – Check HubSpot first to skip existing contacts.
  🟢 Slack alert – Replace Gmail with a Slack notification.
  📊 Reporting – Append enriched contacts to a Google Sheet for analytics.

  8. ✅ Summary

  Fire off the workflow, and n8n will find ICP-fit companies, pull key people, enrich direct contact data and drop everything into HubSpot — all on autopilot.

  Prospecting lists, done for you.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.wait","n8n-nodes-base.code","n8n-nodes-base.filter","n8n-nodes-base.hubspot","n8n-nodes-base.gmail","n8n-nodes-base.manualTrigger","n8n-nodes-base.code"]

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


name: AI-Powered Cold Call Machine with LinkedIn, OpenAI & Sales Navigator
author_name: Matthieu
author_username: yaznow
categories: []
created_at: 2025-08-07T15:57:48.030Z
updated_at: 2025-08-07T15:57:48.030Z
url: https://n8n.io/workflows/7140
scraped_at: 2025-09-14 11:38:20
description:
  🔧 AI-Powered Cold Call Machine

  🎯 Purpose
  The AI-Powered Cold Call Machine is a fully automated workflow designed to generate qualified leads from LinkedIn, evaluate them using AI-based scoring, identify key decision-makers, and generate personalized cold call scripts. All results are saved to a Google Sheet-based CRM.

  ⚙️ How It Works

  1. Initialization
  Triggered either manually or via schedule.
  Pulls configuration from a Google Sheet’s Settings tab (e.g., target product, keywords, company size, API key).

  2. Company Search on LinkedIn
  Uses the Ghost Genius API to search for companies based on cleaned, relevant keywords extracted by OpenAI.
  Handles pagination, up to 1000 companies per batch.

  3. Company Filtering
  Each company goes through:
  Data enrichment via Ghost Genius (website, size, followers, etc.).
  Filtering:
    Must have a LinkedIn page with a website.
    Must have 200+ followers.
  Deduplication: checks if the company already exists in the CRM.

  4. AI-Based Company Scoring
  A specialized AI model scores each company from 0 to 10 based on:
    Industry fit.
    Size/location alignment.
    Potential pain points that match your offering.
  If the company is new and relevant (score ≥ 7), it is saved in the Companies sheet.

  5. Decision Maker Identification
  Uses Sales Navigator API (via Ghost Genius) to find employees with targeted job titles.
  For each matching profile:
    Enriches contact data (title, bio, etc.).
    Retrieves phone number (if available).
    Generates a 20-second personalized cold call script using OpenAI, based on company and profile data.
    Saves all information in the Leads tab of the CRM.

  If no decision maker is found, the company status is marked accordingly.

  📈 Outcome
  A fully enriched, qualified lead database.
  Custom cold call scripts** ready to be used by SDRs or founders.
  Zero manual work – from search to lead generation, everything is automated.

  💡 Use Case
  Perfect for SDRs, founders, or growth marketers looking to scale cold outreach without sacrificing personalization or running into LinkedIn scraping limits.

nodes_used:
  ["n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stopAndError","n8n-nodes-base.aggregate","n8n-nodes-base.googleSheets","n8n-nodes-base.filter","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.splitOut","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.limit","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stopAndError","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.wait"]

workflow_json_compressed:
  [encoded data, 13492 characters]


name: Beginner AI Dataset Generator using OpenAI + LangChain in n8n
author_name: Robert Breen
author_username: rbreen
categories: []
created_at: 2025-08-08T00:01:14.904Z
updated_at: 2025-08-08T00:01:14.904Z
url: https://n8n.io/workflows/7154
scraped_at: 2025-09-14 11:38:20
description:
  This n8n workflow dynamically generates a realistic sample dataset based on a single topic you provide. It uses OpenAI (via LangChain) and n8n’s built-in nodes to:

  Generate structured JSON data for 5 columns with 3–5 values each  
  Flatten that data into a single text blob  
  Infer meaningful column names via a second AI call  
  Pivot, split, merge, and rename columns automatically  
  Output a clean, labeled dataset ready for export or further processing  

  ⚙️ Prerequisites

  OpenAI API Key  
     Visit: https://platform.openai.com/account/api-keys  
     Create a new key  
     In n8n: Credentials → New → OpenAI API, paste key, name it “OpenAi account”  

  LangChain nodes enabled in your n8n instance  

  🥇 Step 1: Set Up OpenAI Credential
  Go to OpenAI API Keys  
  Create and copy your key  
  In n8n: Credentials → New → OpenAI API → paste key as “OpenAi account”

  🥈 Step 2: Manual Trigger
  Add Manual Trigger to start the workflow

  🥉 Step 3: Set Topic
  Add a Set node named Set Topic to Search  
  Field: Topic = n8n use cases (or any topic you choose)

  ✨ Step 4: Generate Structured Data
  LangChain Agent** node Generate Random Data
  Connect to OpenAI Chat Model1 and Tool: Inject Creativity1  
  System prompt: instruct AI to output 5 columns of realistic values in JSON  

  🔧 Step 5: Parse AI Output
  Structured Output Parser** to validate JSON  

  🔄 Step 6: Flatten Data
  Code** node Outpt all Data to One Field  
  Joins all values into a comma-separated string for column naming

  🧠 Step 7: Generate Column Names
  LangChain Agent** Generate Column Names  
  Connect to OpenAI Chat Model2  
  Prompt: infer 5 column names from the string  

  🔢 Step 8: Pivot Names Row
  Code** node Pivot Column Names transforms array into { column1: name1, … }

  🪓 Step 9: Split Columns
  5 SplitOut nodes to break each array back into rows per column

  🔗 Step 10: Merge Rows
  Merge** node Merge Columns together using combineByPosition  

  🏷️ Step 11: Rename Columns
  Set** node Rename Columns assigns the AI-generated names to each column

  🔗 Step 12: Final Output
  Merge** Append Column Names combines data and header row

  🏁 Done! You now have a fully AI-driven, labeled dataset generated from a single topic—no external services needed. Easily extend by adding a Google Sheets or HTTP node to export.

  📬 Need Help or Want to Customize This?
  📧 robert@ynteractive.com  
  🔗 LinkedIn

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.toolThink","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-base.splitOut","n8n-nodes-base.splitOut","n8n-nodes-base.splitOut","n8n-nodes-base.splitOut","n8n-nodes-base.splitOut","n8n-nodes-base.merge","n8n-nodes-base.set","n8n-nodes-base.merge"]

workflow_json_compressed:
  [encoded data, 5556 characters]


name: Get Started with Google Sheets in n8n
author_name: Robert Breen
author_username: rbreen
categories: []
created_at: 2025-08-08T00:26:22.819Z
updated_at: 2025-08-08T00:26:22.819Z
url: https://n8n.io/workflows/7156
scraped_at: 2025-09-14 11:38:19
description:
  A hands-on starter workflow that teaches beginners how to:

  Pull rows from a Google Sheet

  Append a new record that mimics a form submission

  Generate AI-powered text with GPT-4o based on a “Topic” column

  Write the AI output back into the correct row using an update operation

  Along the way you’ll learn the three essential Google Sheets operations in n8n (read → append → update), see how to pass sheet data into an OpenAI node, and document each step with sticky-note instructions—perfect for anyone taking their first steps in no-code automation.

  0️⃣ Prerequisites
  Google Sheets**
    Open Google Cloud Console → create / select a project.  
    Enable Google Sheets API under APIs & Services.  
    Create an OAuth Desktop credential and connect it in n8n.  
    Share the spreadsheet with the Google account linked to the credential.
  OpenAI**
    Create a secret key at &lt;https://platform.openai.com/account/api-keys&gt;.  
    In n8n → Credentials → New → choose OpenAI API and paste the key.
  Sample sheet to copy** (make your own copy and use its link)  
    &lt;https://docs.google.com/spreadsheets/d/15i9WIYpqc5lNd5T4VyM0RRptFPdi9doCbEEDn8QglN4/edit?usp=sharing&gt;

  1️⃣ Trigger  
  Manual Trigger – lets you run on demand while learning.  
  (Swap for a Schedule or Webhook once you automate.)

  2️⃣ Read existing rows  
  Node:** Get Rows from Google Sheets  
  Reads every row from Sheet1 of your copied file.

  3️⃣ Generate a demo row  
  Node:** Generate 1 Row of Data (Set node)  
  Pretends a form was submitted:  
    Name, Email, Topic, Submitted = "Yes"

  4️⃣ Append the new row  
  Node:** Append Data to Google  
  Operation append → writes to the first empty line.

  5️⃣ Create a description with GPT-4o  
  OpenAI Chat Model – uses your OpenAI credential.  
  Write description (AI Agent) – prompt = the Topic.  
  Structured Output Parser – forces JSON like: { "description": "…" }.

  6️⃣ Update that same row  
  Node:** Update Sheets data  
  Operation update.  
  Matches on column Email to update the correct line.  
  Writes the new Description cell returned by GPT-4o.

  7️⃣ Why this matters  
  Demonstrates the three core Google Sheets operations: read → append → update.  
  Shows how to enrich sheet data with an AI step and push the result right back.  
  Sticky Notes provide inline docs so anyone opening the workflow understands the flow instantly.

  👤 Need help?  
  Robert Breen – Automation Consultant  
  ✉️ robert.j.breen@gmail.com  
  🔗 &lt;https://www.linkedin.com/in/robert-breen-29429625/&gt;

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

workflow_json_compressed:
  [encoded data, 4280 characters]


name: Automate Hyper-Personalized Email Outreach with AI, Gmail & Google Sheets
author_name: Intuz
author_username: intuz
categories: []
created_at: 2025-08-08T07:05:04.754Z
updated_at: 2025-08-08T07:05:04.754Z
url: https://n8n.io/workflows/7163
scraped_at: 2025-09-14 11:38:20
description:
  This n8n template from Intuz provides a complete and automated solution for hyper-personalized email outreach. 

  It powerfully combines AI with Gmail and Google Sheets, using specific keywords and prospect data to automatically craft unique, compelling email content that boosts engagement and secures more replies. 

  Instead of manually replying to every lead or inquiry, this template does the heavy lifting for you, ensuring every response is relevant, thoughtful, and timely.

  It reads each person's unique inquiry, uses OpenAI to craft a perfectly tailored and human-like response, and sends it directly from your Gmail account. Ideal for sales, marketing, and customer support teams looking to boost engagement and save hours of manual work.

  Use Cases:
  Sales Teams: Instantly follow up with new leads from your website's contact form with a personalized touch.

  Customer Support: Provide initial, intelligent responses to support tickets, answering common questions or acknowledging receipt of a complex issue.

  Marketing Automation: Nurture leads by responding to content downloads or webinar sign-ups with relevant, non-generic information.

  Founders & Solopreneurs: Manage all incoming business inquiries (partnerships, media, etc.) efficiently without sacrificing quality.

  How It Works:
  Trigger the Flow (Manual): Start the automation whenever you're ready to process a new batch of inquiries from your sheet.

  Fetch Inquiries from Google Sheets: The workflow connects to your specified Google Sheet and reads each row. It pulls the contact's First Name, Email ID, the Inquiry Intent (e.g., "Demo Request," "Pricing Inquiry"), and the full text of their Original Inquiry.

  Sync Your Signature: Before writing the email, an HTTP Request node dynamically fetches your display name from your Gmail account settings. This ensures the signature in the generated email (Thanks, {{Your Name}}) is always accurate.

  Craft a Hyper-Personalized Reply with AI: It uses this context to generate a high-quality, professional, and friendly email reply in HTML format. For example:
  If the intent is "Technical Support," the AI will generate a helpful, empathetic response addressing the technical issue.
  If the intent is "Partnership Proposal," it will draft a professional reply acknowledging the proposal and outlining the next steps.

  Send via Gmail: The final node takes the AI-generated message, adds a relevant subject line (e.g., "Re: Your Demo Request"), and sends it directly to the contact's email address from your connected Gmail account.

  This process loops for every single row in your Google Sheet, turning a list of names into a series of meaningful conversations.

  Setup Instructions:
  To get this workflow running, you'll need to configure a few things:

  Credentials:
  Google: Connect your Google account via OAuth2 and ensure you have enabled access for Google Sheets, Google Drive, and Gmail.
  OpenAI: Add your OpenAI API key as a credential.
  Google Sheet Setup:
  Create a Google Sheet with the following exact column headers:
  -First Name
  -Email ID
  -Inquiry Intent (A short category like "Demo Request", "Billing Issue", etc.)
  -Original Inquiry (The full text of the email or message you received).
  Node Configuration:
  Get row(s) in sheet: Select your Google Sheet document and the specific sheet name.
  Message a model (OpenAI): Choose your preferred OpenAI model (e.g., gpt-4-turbo, gpt-3.5-turbo).
  HTTP Request & Send Personalized emails: These nodes should automatically use your configured Gmail credentials. No changes are typically needed.

  Connect with us

  Website: https://www.intuz.com/services
  Email: getstarted@intuz.com
  LinkedIn: https://www.linkedin.com/company/intuz
  Get Started: https://n8n.partnerlinks.io/intuz

  For Custom Worflow Automation 


  Click here- Get Started

nodes_used:
  ["n8n-nodes-base.googleSheets","n8n-nodes-base.manualTrigger","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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


name: AI-Powered Elementor Blog Post Automation System for Agencies with Gemini
author_name: Zain Khan
author_username: zain
categories: []
created_at: 2025-08-08T09:21:31.146Z
updated_at: 2025-08-08T09:21:31.146Z
url: https://n8n.io/workflows/7168
scraped_at: 2025-09-14 11:38:20
description:
  AI-Powered Elementor Blog Post Automation System for Agencies
  Categories: Business Automation, Content Creation, SEO, AI

  This advanced workflow automates every step of content publishing for agencies, from managing multiple clients and creating SEO-optimized blog content to AI-powered image generation and publishing directly to Elementor-powered WordPress sites. It's a game-changer for scaling your content operations and freeing up your team for strategic work.

  Benefits
  Complete Automation** - An end-to-end solution that handles content generation, image creation, scheduling, and publishing.
  Elementor-Ready Content** - Creates posts that inherit your client's theme styling and responsiveness, eliminating manual design work.
  Centralized Management* - Organizes clients, content ideas, and publishing history in a simple *Google Sheets** system.
  Intelligent AI Creation* - Uses *Google Gemini** to produce high-quality, SEO-optimized content with customizable tone and strict guidelines.
  Flexible Publishing* - Offers both *on-demand* and *scheduled** triggers to fit any content strategy.

  How It Works

  Flexible Triggers: The workflow can be initiated in two ways:
      Manual Trigger: Fill out a simple n8n form with client details, keywords, and content guidelines for an on-demand post.
      Automated Trigger: The workflow checks a Google Sheet hourly and automatically publishes any scheduled posts.
  Centralized Management: A three-sheet Google Sheets system acts as your core database for:
      Clients: Stores client information and WordPress app credentials.
      Blog Ideas/Schedule: Your content calendar where you plan and track upcoming posts.
      History: A log of every successfully published post.
  Intelligent AI Content Generation: An AI Agent with a customizable prompt leverages Google Gemini to:
      Analyze competitor URLs to create more comprehensive content.
      Adhere to strict SEO and formatting guidelines.
      Generate a unique featured image based on the article's keywords.
  Elementor Conversion: A custom JavaScript function parses the AI's HTML output and converts it into a native Elementor JSON format. This is the core magic that ensures the post is perfectly structured and responsive.
  Seamless WordPress Integration: The workflow uses a WordPress node to send the post's title and the Elementor JSON data to the client's site, publishing a new blog post that looks as if it was manually created with the Elementor editor.

  Requirements
  n8n Instance**: A self-hosted or cloud instance of n8n.
  Google Account**: A Google account for managing your client and content sheets.
  Google Gemini API Key**: A valid API key for content generation.
  WordPress App Passwords**: App passwords for each of your clients' WordPress sites.

  How to Use

  Set up your spreadsheet: Copy the provided Google Sheets template and populate the Clients sheet with your clients' details and credentials.
  Connect your accounts: Authenticate your Google Sheets, Google Gemini, and n8n accounts within your n8n instance.
  Run the workflow: Add your blog post ideas to the Schedule sheet for automated publishing, or use the n8n form for on-demand posts. The workflow will handle the rest.

  Business Use Cases
  Content Marketing Agencies** - Scale content production for dozens of clients without hiring more writers.
  SEO Agencies** - Instantly create high-quality, long-form content to improve client search rankings.
  Freelancers** - Offer comprehensive content services that would normally require a team.
  SaaS Companies** - Automate blog content to build an inbound marketing engine.
  Website Developers** - Provide ongoing content services to clients after a site launch.

  Revenue Potential
  This system allows you to:
  Scale content services** without scaling your team.
  Increase profitability** by reducing the time and cost per blog post.
  Offer a differentiated service that provides superior, Elementor-ready content.
  Potentially sell this automation as a service to other agencies.

  Difficulty Level: Intermediate
  Estimated Setup Time: 45 min
  Monthly Operating Cost: Low (variable based on AI usage)

nodes_used:
  ["@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.n8n","n8n-nodes-base.n8n","n8n-nodes-base.googleSheetsTrigger","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.code","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.formTrigger","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.splitInBatches","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.googleGemini","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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


name: Pharmacy Inventory Alerts for Low Stock & Expiring Medicine with Google Sheets
author_name: Oneclick AI Squad
author_username: oneclick-ai
categories: []
created_at: 2025-08-08T13:42:28.228Z
updated_at: 2025-08-08T13:42:28.228Z
url: https://n8n.io/workflows/7177
scraped_at: 2025-09-14 11:38:20
description:
  This n8n workflow monitors pharmacy inventory stored in a Google Sheet, checks daily for low stock or near-expiry medicines, and sends alerts to the pharmacist via email, ensuring timely restocking and waste prevention.

  Why Use It

  This workflow automates inventory management for pharmacies, reducing the risk of stockouts or expired medicines, saving time, minimizing losses, and ensuring compliance with safety standards by providing proactive alerts.

  How to Import It

  Download the Workflow JSON: Obtain the workflow file from the n8n template or create it based on this document.
  Import into n8n: In your n8n instance, go to "Workflows," click the three dots, select "Import from File," and upload the JSON.
  Configure Credentials: Set up Google Sheets, email (e.g., SMTP), and optional SMS (e.g., Twilio) credentials in n8n.
  Run the Workflow: Activate the scheduled trigger and test with a sample Google Sheet.

  System Architecture

  Daily Stock Check (9 AM)**: Automated trigger to monitor inventory levels
  Fetch Stock Data**: Retrieves current medicine data from Google Sheets
  Wait For All Data**: Ensures complete data retrieval before processing
  Check Expiry Date and Low Stock**: Analyzes inventory for alerts
  Update Google Sheet**: Records alert status and timestamps
  Send Email Alert**: Notifies pharmacist of low stock and expiry issues

  Google Sheet File Structure

  Sheet Name**: PharmacyInventory  
  Range**: A1:E20 (or adjust based on needs)

  | A          | B             | C          | D             | E             |
  |------------|---------------|------------|---------------|---------------|
  | medicine_name | stock_quantity | expiry_date | alert_status | last_checked |
  | Paracetamol | 15            | 2025-09-15 | Notified      | 2025-08-08    |
  | Aspirin     | 5             | 2025-08-20 | Pending       | 2025-08-07    |
  | Ibuprofen   | 20            | 2026-01-10 | -             | 2025-08-08    |

  Columns**:
    medicine_name: Name of the medicine.
    stock_quantity: Current stock level (e.g., number of units).
    expiry_date: Expiry date of the medicine (e.g., YYYY-MM-DD).
    alert_status: Status of the alert (e.g., Pending, Notified, - for no alert).
    last_checked: Date of the last inventory check.

  Customization Ideas
  Adjust Thresholds**: Change the low stock threshold (e.g., from 10 to 5) or expiry window (e.g., from 30 to 15 days).
  Add SMS Alerts**: Integrate Twilio or another SMS service for additional notifications.
  Incorporate Barcode Scanning**: Add a node to import inventory updates via barcode scanners.
  Dashboard Integration**: Connect to a dashboard (e.g., Google Data Studio) for real-time inventory tracking.
  Automated Restock Orders**: Add logic to generate purchase orders for low stock items.

  Requirements to Run This Workflow
  Google Sheets Account**: For storing and managing inventory data.
  Email Service**: Gmail, SMTP, or similar for email alerts.
  n8n Instance**: With Google Sheets and email connectors configured.
  Cron Service**: For scheduling the daily trigger.
  Internet Connection**: To access Google Sheets and email APIs.
  Optional SMS Service**: Twilio or similar for SMS alerts (requires additional credentials).

  Want a tailored workflow for your business? Our experts can craft it quickly Contact our team

nodes_used:
  ["n8n-nodes-base.cron","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.emailSend","n8n-nodes-base.stickyNote","n8n-nodes-base.wait","n8n-nodes-base.code"]

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


name: Generate AI Promo Videos for Products with GPT-4o, Fal.ai & Human Supervision
author_name: gotoHuman
author_username: gotohuman
categories: []
created_at: 2025-08-09T13:46:49.592Z
updated_at: 2025-08-09T13:46:49.592Z
url: https://n8n.io/workflows/7196
scraped_at: 2025-09-14 11:38:21
description:
  Generate AI video clips to promote products, services or events on social media. Use gotoHuman as an interface to control and supervise each step of the workflow to create content that's actually worth posting.
  How it works
  gotoHuman will show the workflow steps that need approval or input in its' inbox and notify you via email or Slack.

  We choose from different topics for our post suggested by AI

  We select the image style, a product to show, and review an AI-generated tag line

  We use Fal.ai to generate an image that serves as a reference image for our video clip. And we use Cloudinary to add an overlay for the tag line.
  We review the image in gotoHuman and can iterate on it by retrying or even changing the prompt.

  We review the video clip that's generated with Fal.ai based on the approved image and can, again, retry or reprompt.

  How to set up

  Most importantly, install the gotoHuman node before importing this template!
  (Just add the node to a blank canvas before importing)
  Follow the instructions shown along the workflow and in the incl. video guide. You mainly need to
  set up your credentials for gotoHuman, OpenAI, Fal.ai and Cloudinary
  in gotoHuman, select and create the pre-built review template "Promo video agent" or import these IDs:
  Z7V1jyImY1pho9eY039R,0GBaOCWd27tqV562kkCL,E2wlCVPWmk2UnLHVt4uu,DitPdbIapS4rBxBTIYGt,Z2T7nFwkXVFQlD6z50eV
  select these templates in the gotoHuman nodes
  do a quick setup for Cloudinary

  Requirements

  You need accounts for
  gotoHuman (human supervision)
  OpenAI (ideation)
  Fal.ai (image/video generation)
  Cloudinary (text overlay)

  How to customize

  Adjust/Replace the workflow triggers as needed
  Change the prompt in the topics generation node
  Replace the product image URLs used in the "gotoHuman - Content" node
  Adjust the available styles for image generation in the gotoHuman review template and the prompts they link to in the "Set Initial Image Prompt" node
  Adjust the prompt used for video generation in the "Set Initial Video Prompt" node
  If you want to use a different service/model for image and video generation, replace the nodes related to Fal.ai.
  Also, if you do not need a text overlay, remove the Cloudinary nodes.

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.toolThink","@n8n/n8n-nodes-langchain.toolThink","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","@gotohuman/n8n-nodes-gotohuman.gotoHuman","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","@gotohuman/n8n-nodes-gotohuman.gotoHuman","n8n-nodes-base.set","n8n-nodes-base.stickyNote","@gotohuman/n8n-nodes-gotohuman.gotoHuman","n8n-nodes-base.stickyNote","n8n-nodes-base.webhook","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","@gotohuman/n8n-nodes-gotohuman.gotoHuman","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.switch","n8n-nodes-base.switch","n8n-nodes-base.switch","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, 15068 characters]


name: Smartlead Email Campaign Analytics Dashboard with Google Sheets Integration
author_name: Rahi
author_username: rahiuppal
categories: []
created_at: 2025-08-10T06:11:14.159Z
updated_at: 2025-08-10T06:11:14.159Z
url: https://n8n.io/workflows/7210
scraped_at: 2025-09-14 11:38:21
description:
  Workflow 1: Domain and Email Health 🩺
  This part of the workflow is triggered every 5 hours by the Schedule Trigger1 node. Its purpose is to pull health metrics for both email domains and individual email addresses.

  How it Works:
  ++Schedule Trigger:++ The Schedule Trigger1 node initiates the workflow every 5 hours.

  ++API Requests:++ Two separate HTTP Request nodes, HTTP Request5 and HTTP Request6, make API calls to Smartlead.

  ++HTTP Request5 calls++ the endpoint for domain-wise health metrics.

  ++HTTP Request6 calls++ the endpoint for email-wise health metrics.

  Both requests use the same api_key and a date range from 2025-07-04 to the current day.

  ++Data Splitting:++ The Split Out5 and Split Out6 nodes take the JSON response from the API calls and split the data into individual items. This is necessary so each row of data can be processed and added to Google Sheets separately.

  ++Google Sheets Integration:++ Finally, the Append or update row in sheet5 and Append or update row in sheet6 nodes update two different Google Sheets:

  ++Append or update row in sheet5 adds++ or updates rows in the DomainHealth sheet, matching on the domain column.

  ++Append or update row in sheet6 adds++ or updates rows in the EmailHealth sheet, matching on the from_email column.

  Workflow 2: Global and Campaign-Specific Analytics 📊
  This second part of the workflow is triggered every 2 hours by the Schedule Trigger node. Its goal is to get a day-by-day overview of email engagement and campaign-specific performance.

  How it Works:
  Schedule Trigger: The Schedule Trigger node starts this workflow every 2 hours.

  ++API Requests:++ Two HTTP Request nodes, HTTP Request and HTTP Request1, call different Smartlead API endpoints.

  ++HTTP Request++ retrieves day-wise overall stats for email engagement.

  ++HTTP Request1 ++retrieves overall stats for each campaign.

  ++Data Splitting:++ The Split Out and Split Out1 nodes separate the JSON responses into individual data items for processing.

  ++Google Sheets Integration:++ The Append or update row in sheet and Append or update row in sheet1 nodes then write the data to Google Sheets.

  ++Append or update row in sheet++ updates the Sheet1 sheet with day-wise metrics, using the date as a matching column.

  ++Append or update row in sheet1++ updates the CampaignWise sheet with campaign performance metrics, using the campaign id to match rows.

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

workflow_json_compressed:
  H4sIAAAAAAAAE6WXT3PbNhDFv4oGZ24Gf3YJQLec2l7iTO3m0IwPC2DhaGJTqkS7yXj03TuUPZGSUBKV3nRYPv607+0CfFaLoubqw9+fS3n3G95cvy9/LZ9YNepBelbzZ7XoNj13Wf4Y6oL2mUKKzleXPdWQLNqUkTNVJGIywdnMqfiUS5JcYi3ZJW6NjxxyVNtGdfwgaq660F0/8Lq/Fy6qUT3fbdT8422jumWR4efzCxqRtoUMgi41ADI6SF4EXLHJuegoVqe+qf5+c/N+9qf88yibngbZr6vXl8FOFxJv5M2nvl+9FqlGrZabRb9Ydmr+kaxuwFh926gVr/lBellv1Px5+6L0QdabXSG+sdvmFRB10Ow8gmlzBcw2Q2Am0MZ6bYhbE3AP+Ha1kq7MluvZ46pwL7P18t/ZopttPomcIL5bLu/u5Xoo2nyPHCcjt9+Q2RWy0XvQpnpAKRWCRIbobSQTc6p8gHy9ul/0s6vHE3iboeTq8YduepyGZr6BZQnMJVnAJBUwxQCJkgEhzRxY+6CPmN3+mtkGL/I6I7O10QFazIChJYg1RLCtUC3ea7J1otfHgU97PYl4b3VLhkz0GXRKEbB1AsH5DLUGcTFKzmhHrD5Od9zqCWR7p603qdhgoIYhgo4CJA4GrG0jS8xGsz/gyp+kPN7L7Ga9uLuTtTmO91r5Wvg9pbG6mQB5YLh2gbSzDD4VBPSpABtNQJWMVMISdTrA7Bf589fZu2UvxwF3Na8lB2zDGNufZ0XlZddL16u5Use7GQuVIpggVwmAiAGSdhGslFBySSVTHp+by8fG+PbyJamtaIOmgpXMgFgdRBMClGyy1p6i82Hi4PzC3FgzGXk/OSZoCkkEkMkDppohphJAIjlDxhdr3cjkXDg4JoZLlyQlgyUGB8XVIZPOQHDBQSrem6CTYwzHR+cXJ2dYlhMgDyxPLsVqQwYrgQEjZUjEDES6jTVwLi6OZ/L4dJ8OpWkvymRBy4GTBh9jATQlALfGgS+trSV5w25qJo8TnwnlJOR9Jp2N2rMOEK0woK8aItoCLhkuObsspoxk8sS6PB7KCWj7TDpnfDI6gkXdArZVA7vsoG1zJEKbq4+je/IE2pFFaVD/n1WprXC0oULCdjh4vIZYkgNDQTK1wXikUVJ7OakdSPFS0ttGce4XT6Lmle830qiN9P2iu9s9Kl8kPw4vuFoXWau5ejKDxtPL87tbOrUWDVGCTLUCIhOw3uXcVYdtyC0PpHnZdZIHqZ3wfoPNn9UDL4Z/8PF5dx2fvpJ3zzVq0RX5ouZ6e3u7bQ5zeLG0mapNl2vTVO32cu32jPZ3Z/CY+siBclZovL9ja+Cs1Hg7xz4FzkqNd2/sqjnuwo8H2Jja+JXmR71mtP5sxH66fJ4jONGdcYTTPdhu/wPDOXuupw8AAA==


name: Personal Knowledgebase AI Agent
author_name: Rakin Jakaria
author_username: rakinjakaria
categories: []
created_at: 2025-08-10T10:37:58.968Z
updated_at: 2025-08-10T10:37:58.968Z
url: https://n8n.io/workflows/7215
scraped_at: 2025-09-14 11:38:20
description:
  How it works:

  This project creates a personal AI knowledge assistant that operates through Telegram. The assistant can extract summaries from YouTube videos or online articles, store them in Google Sheets for later reference, and retrieve stored summaries when requested by the user.

  Step-by-step:

  Google Sheets Trigger:* The workflow starts by detecting a new YouTube or article URL added to a dedicated sheet (Sheet2*). It checks whether the link is already processed.

  Link Type Detection:** The system identifies if the URL is from YouTube or a standard article.

  Data Retrieval:**

    If it’s YouTube: Uses Apify to fetch the transcript.
    If it’s an article: Uses an HTTP Request node to fetch the webpage content.

  AI Summarization:* The transcript or article content is passed to *Google Gemini** for refined summarization.

  Google Sheets Storage:* The summary and title are appended to another sheet (Sheet1*) for long-term storage, along with a “Stored” status update in Sheet2.

  Telegram Assistant:**

    A Telegram Trigger listens for messages from the user.
    The assistant searches stored summaries in Google Sheets.
    If a match is found, it returns the result to the user on Telegram; otherwise, it politely apologizes.

nodes_used:
  ["n8n-nodes-base.if","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.httpRequest","n8n-nodes-base.markdown","@n8n/n8n-nodes-langchain.informationExtractor","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.telegramTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.telegram","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheetsTrigger","n8n-nodes-base.filter","n8n-nodes-base.googleSheets","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, 5468 characters]


name: Auto-Comment on Reddit Posts with AI Brand Mentions & Baserow Tracking
author_name: Arunava
author_username: arunava
categories: []
created_at: 2025-08-10T12:57:41.947Z
updated_at: 2025-08-10T12:57:41.947Z
url: https://n8n.io/workflows/7217
scraped_at: 2025-09-14 11:38:21
description:
  This workflow finds fresh Reddit posts that match your keywords, decides if they’re actually relevant to your brand, writes a short human-style reply using AI, posts it, and logs everything to Baserow.

  💡Perfect for

  Lead gen without spam: drop helpful replies where your audience hangs out.

  Get discovered by AI surfaces (AI Overviews / SGE, AISEO/GSEO) via high-quality brand mentions.

  Customer support in the wild: answer troubleshooting threads fast.

  Community presence: steady, non-salesy contributions in niche subreddits.

  🧠 What it does

  Searches Reddit for your keyword query on a schedule (e.g., every 30 min)

  Checks Baserow first so you don’t reply twice to the same post

  Uses an AI prompt tuned for short, no-fluff, subreddit-friendly comments

  Softly mentions your brand only when it’s clearly relevant

  Posts the comment via Reddit’s API

  Saves post_id, comment_id, reply, permalink, status to Baserow

  Processes posts one-by-one with an optional short wait to be nice to Reddit

  ⚡ Requirements

  Reddit developer API

  Baserow account, table, and API token

  AI provider API (OpenAI / Anthropic / Gemini)

  ⚙️ Setup Instructions

  Create Baserow table
     Fields (user-field names exactly):
     post_id (unique), permalink, subreddit, title, created_utc, reply (long text), replied (boolean), created_on (datetime).

  Add credentials in n8n

  Reddit OAuth2* (scopes: read, submit, identity) and set a proper *User-Agent** string (Reddit requires it).
  LLM**: Google Gemini and/or Anthropic (both can be added; one can be fallback in the AI Agent).
  Baserow**: API token.

  Set the Schedule Trigger (Cron)
     Start hourly (or every 2–3h). Pacing is mainly enforced by the Wait nodes.

  Update “Check duplicate row” (HTTP Request)

  URL**:
    https://api.baserow.io/api/database/rows/table/{TABLE_ID}/?user_field_names=true&filter__post_id__equal={{$json.post_id}}
  Header**: Authorization: Token YOUR_BASEROW_TOKEN
    (Use your own Baserow domain if self-hosted.)

  Configure “Filter Replied Posts”
     Ensure it skips items where your Baserow record shows replied === true (so you don’t comment twice).

  Configure “Fetch Posts from Reddit”
     Set your keyword/search query (and time/sort). Keep User-Agent header present.


  Configure “Write Reddit Comment (AI)”

  Update your brand name** (and optional link).
  Edit the prompt/tone** to your voice; ensure it outputs a short reply field (≤80 words, helpful, non-salesy).

  Configure “Post Reddit Comment” (HTTP Request)

  Endpoint: POST https://oauth.reddit.com/api/comment
  Body: thing_id: "t3_{{$json.post_id}}", text: "{{$json.reply}}"
  Uses your Reddit OAuth credential and User-Agent header. 
  Update user_agent value in header by your username n8n:reddit-autoreply:1.0 (by /u/{reddit-username})

  Store Comment Data on Baserow (HTTP Request)

  POST https://api.baserow.io/api/database/rows/table/{TABLE_ID}/?user_field_names=true
  Header: Authorization: Token YOUR_BASEROW_TOKEN
  Map: post_id, permalink, subreddit, title, created_utc, reply, replied, created_on={{$now}}.

  Keep default pacing
      Leave Wait 5m (cool-off) and Wait 6h (global pace) → \~4 comments/day. Reduce waits gradually as account health allows.

  Test & enable
      Run once manually, verify a Baserow row and one test comment, then enable the schedule.

  🤝 Need a hand?

  I’m happy to help you get this running smoothly—or tailor it to your brand.

  Reach out to me via email: imarunavadas@gmail.com

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.reddit","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.splitInBatches","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.lmChatAnthropic","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.baserow","n8n-nodes-base.wait","n8n-nodes-base.set"]

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


name: Automate Real-Time QuickBooks Invoice Sync to Google Sheets
author_name: Intuz
author_username: intuz
categories: []
created_at: 2025-08-11T05:03:57.053Z
updated_at: 2025-08-11T05:03:57.053Z
url: https://n8n.io/workflows/7229
scraped_at: 2025-09-14 11:38:20
description:
  This n8n template from Intuz provides a complete and automated solution for real-time financial reporting. 

  It instantly syncs new QuickBooks invoices to Google Sheets, using specific invoice data or keywords as triggers to ensure your financial records are always accurate and up-to-date.

  It uses a webhook to capture every new or updated invoice and logs the essential details into a designated Google Sheet. Perfect for creating custom reports, data backups, or a real-time dashboard of your accounts receivable.

  Use Cases

  Financial Reporting:** Create a simple, shareable Google Sheet for team members who don't have QuickBooks access.
  Data Backup:** Maintain a secure, independent log of all your invoices outside of the QuickBooks ecosystem.
  Custom Dashboards:** Use the Google Sheet as a data source for tools like Google Data Studio or Grafana to build custom financial dashboards.
  Auditing:** Easily track the history and status of all invoices in a simple, searchable spreadsheet format.

  How it Works

  1. Instant Webhook Trigger: The workflow activates the moment an invoice is created or updated in QuickBooks. The QuickBooks webhook sends a notification to n8n, kicking off the process in real time.

  2. Fetch Full Invoice Details: The initial webhook notification only contains the invoice ID. This node uses that ID to make a call back to the QuickBooks API and retrieve the complete invoice data, including customer name, due date, and more.

  3. Format Key Data: A simple Code node cleans up the data fetched from QuickBooks. It extracts only the fields you need—ID, Domain, Customer Name, and Due Date—and structures them perfectly for the next step.

  4. Append or Update in Google Sheets: The final node connects to your Google Sheet and uses the powerful "Append or Update" operation.
  If the ID of the invoice doesn't exist in the sheet, it adds a new row.
  If the ID already exists, it updates the existing row with the latest information.

  This ensures your Google Sheet is always a perfect mirror of your QuickBooks invoice data, preventing duplicates and keeping everything current.

  Setup Instructions

  For this workflow to run successfully, follow these setup steps:

  1. Credentials:
  QuickBooks: Connect your QuickBooks account credentials to n8n.
  Google: Connect your Google account using OAuth2 credentials. Ensure the Google Sheets and Google Drive APIs are enabled.

  2. QuickBooks Webhook Configuration:
  Activate the workflow. Copy the Production URL from the Webhook node.
  In your Intuit Developer Portal, go to the webhooks section for your app.
  Paste the URL and subscribe to Invoice events (e.g., Create, Update).

  3. Google Sheet Setup:
  Create a Google Sheet for your invoice data.
  Crucially, create the following headers in the first row of your sheet:
  -ID
  -Domain
  -Customer Name
  -Due Date

  4. Node Configuration:
  In the Append or update row in sheet node, select your Google Sheet document and the specific sheet name from the dropdown lists. The columns should map automatically if you've set up the headers correctly.

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

  For Custom Worflow Automation
  Click here- Get Started

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.code","n8n-nodes-base.quickbooks","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"]

workflow_json_compressed:
  H4sIAAAAAAAAE7VYX48cORH/KqbDw92oe9L/Zrp7TgGS3b3ccpdsyG4IkI0it10949seu89272ayN1KEjpeTEEgJD8DBAtJxiE8AL3yYfAHyEZDtnn+b2XCR4CWZbZfLrqpf/VxV5x6j3shLx8+k/IT9pL75M3kg6Gee701BY2907jGuNOYE9o1chAcpSSNahIMQ51VU4WGVpQTngzyPc0yLqiyysqhwhRMosmEIg2wYZREZJBHO8syb+x7HU/BG3o9aRk5KIU4U2uenghFAWqDbQoxrQIcTAI1utlpMsWaCe76n8Vh5o0ePfY8LCubnubs7jsIiKkoaREUaBmmVR0FOsipI0ywe4CguM4i8zWNv2WMfQjkR4sTonjVmjec8sMqDEivony3XG6GYvcboUTwM/SgKw8e+161bx5z/9ODB/ScP9259dHDw8ZP93bnZhSWeggapjB8brCfeyPtsaXbAnNme74nGaDdic9+baN3cAT0RRu+9g8Mj4zRzwx+DVPYS0dzvbM+SssgH5SAYFHkapCQJgyKKkiCJkxzCkuAorla27wgKV1pL3OKaqVGaLm3dtOVTZVWNPAm6lRwxDVPVn+LmPfML3fgeOj/mCHWr9jdCnyrBR4s/ENrfHdl9ffO9v0/9xcKumGLG1xep/bIUOPZ2WqXFFCS6i6dw7K3LLpbuQ/X9vrEbff45OvaOvbXtuy2gXawv7dxtwXxcyDvxuflv/sExn7//wTF/IxLxMhLDOMJ5FuMgGcZxkJY0DnJcxEFF4iLNoiROBsUqErdBI8zRCgHbY7ICy2Zk8vyKwEhQopXEqFrp7n5ZnN44P0ffteaWgs76cApc3xWaVYzYRFOPwsd9ijXemWA+hj2z3geumWZg1xhF8/lbEDmMSIijuAhwWkCQhhkNchoPg0FWFUWRJMlgkK/8cLNpgFMkJGobapwvxRliHCmT/1e6ZWxJwnLEJcfEUXiFZ4io26lNMe8U1y24XFNkAlO84pL93dWhSkvGx57vUaaaGs+8kZYt+J6EqTgF6o0qXCv792ctk2sfOvm7zkSrkkKF21rfwZpMlnIE81vwQAE9Et2COWDpSZcH3+Y+bz1/qeZd7vDY96a4aRgf33GJjlst7uBmnzet3sUamwfCyDM+3ll49pGx9bHvYa1h2ugjsSP4KUh9NGsMXy9OdB8/ZFBTdSQOnVVudX6JCkUD0vH/yMMWKgfygQWK53sWI87Ic+/JE1kvHDJ1V66ZMhDqot0x9OFHe3tHHT8TTCZA74Nqa/3AbLfUq0bXr1NBVIeyPhHT66qRgKk9UF2n152q2wcHtz/Ze7J7sPPgzt5dq/Q6UKavjRm9EV7S3wVjLaHnvkcFaafAtcnMb2/ClnP/f8Z8v1XNDSrZKSh68t9tuswLaX+4xHNJs7SCKAmqIY2DNIRhgJMoDKosLHGWFWFE6IoZDjUjJzN0V+ir6VFZmU5kjQVCfzDcygBCeqPE984YNW9xmoe+NwE2nmhvNAhDi00NXHsj79o19Pri93/69z9+he5JsCmmmAZ1zI/5LaiEBCRbzhkfIz1hCp0JeVLV4sxHU3wCSLUSkJ4AqkRdizMjhiUgBRq1zcgoifqo13uzGEE7glds3DrY93oI2XcoMN85EG2V9nqNFLQlRgQ9uP9Jr4dEhWailairSUwp5ST3uW6ZRrtwCrVJJ3RPSI3rXg9VQro9qgFiHgBExLTBfNZfHrrHrSFGi31Cej1kXwzlrGlLRSQrgSLMKcJEs1OsgaL3oD/u+4hIwBr8jtp9RKEGDe/3jfmxMb8r9m4SIlqu0T7XML7ScHvV5Z6dmgHXaEcCNa8TrlWvt35vXNaXA3Dz3r4adSJG6PXFiy826k21sfbzxdquQT8ylz7gxCpVYO1nHDU1JuB3ru8ggM5YXSMFeFqDUvUMEdxo40bjpFqMjQvlbPH2I2IfWqNMAq6RZlPoo9cXv3v++uLFl1tKjtVTWxCokjgrgnJIkyDFFQnKPKsCMqQDXCVRhmGwNaGid84oU/TG6Zs5tS2TkvRSJl1DhxoaFI2WID+SbDwGiW4uIPMd9Pri7394ffHiL8bPRyajzK0QUx2MlcZSmyg2gnHtAG9WFk63oNrXyDAmcGXB3ett+lgZJ69Srtczex5OsEZMIypA2cS0wf8z2nFBc+db0G+ECFVSTNeU9buNf0X3sFLdtsXxpp5CjHc5ucSJ66x0Pes2v/wC7dVsyjjWnQIOQK0pU8xbXCMyAXKiTLnUgGSCMoIaUdeMj/tvRUpUVkNcFGUARZQE6TAmQZ7maYAHCZAUhiG+gnrjd0ZKFob+8Gr2HWxn3/Qy+3aYiUfL5tBUHehD0GQC0ubu64uXv9xES7twfK/XFdgr3lqWEoYam7auUWX+oaAxq9UCTouIvRldg5SZ43plbsYUYtPGcCnXHW5effULdB+0ZHAKypKp4Tub9m0TaBHYCndxBOOVkK67XYDnyxXqKlseoZqdrHbwdlqC9JFjU9I1Ot3mb/7VsbXzwEYfLaGqgegOy08x0Uhpc5dLVmP3vEyFKUoWixb7XXq9ev5bp8S6QJvUMR2eQhgpZsztMoWvdRQO+Ni6e9b5GyiSQISkhulefP3qq7+9Fb6QJYNhlSZBmdA8SOO8cl1uOsggKmkRFiHZCt/kneEbxVdR3ZvlQ7pOevl2ACcj9MPDg7voQxtrbaFrywrDFUv09nqmn+71HIw1PumiKPHZJolcwqXFloORMiTWuZrUgLmPlJYtMXCi7g6i/BSIfvX8pan/ZiYPSkCurAZ6efiywPwWdvzmn2jvqZbYIErwetZRFQGlsJwtoNsVAYz6qOvf0Ubb7qNFG/7+iv+6jsFZv0mbREhp6gAhKUhr+NI+S5EWlubmi2z69TIhiODKvgu6c5Z9SZToXuKu51wqMMkxMyw7xpw9A2o98RZ4kiwvIlLQYDgsiiDNwirIocqCakggjiCMBmm+FZ7pu8OzMPS6vb016Bwu0TmI1+l1uB2d6ejSwM2CwZDrqz/+ZpNbHU4W9Nq5EegGPHs9Fy5bDq0rdvSxpEtThBmy7MrLN8RR16zbKsu4jTrWqmcIq66ic6VcYGrTXVctmt+u2V39vYG4NbEOeWslwIrZNyuBr9E+VxaSgMlkRZWG8zicGfCs6PtjgEYhXNdLOUdzCnHA5vpLTBnACQ6ugFzh/6GQJ2qj0Hj1/KU5ZjkhWXpc2ZBguVFGvBWncVlWuMpJkBKIgjQkSZADTYMyK6osi5MsyrOtOB28M07dHCb5X9CoeckZR0eiJRNj4L0asAJUAdSokmCnxtLERrTa/G6Vj5jthlz5hPkMTaBu7FgJTOqjttls2hzVASKYI1wr4eTdA8uerVVsDbgXslUQEGO/bQvuW2SY41uFsB6hMWhbrwL9AeO6fWbabndEaZrIEVq05mdnZ/2lxPUrwmcmKqZOhuUIxZkxtv6Ep0Ba4/UDw4veyDuNjI5Tt98N7QuIqhwXwSCJB2ZIjAPDV0FYJhhnwwEpUlPnEddoddMXNywenXt2ejR69Ojczt2//cyumzoxTuGpNwrnjx/P/ctzz23qN4fUW7VsmeFv03TVkHWLzvn8P7/RdswJGQAA


name: Automatically Save QuickBooks Invoice PDFs to Google Drive
author_name: Intuz
author_username: intuz
categories: []
created_at: 2025-08-11T06:50:10.662Z
updated_at: 2025-08-11T06:50:10.662Z
url: https://n8n.io/workflows/7232
scraped_at: 2025-09-14 11:38:21
description:
  This n8n template from Intuz provides a complete and automated solution for secure document archiving.

  It automatically saves new QuickBooks invoice PDFs directly into Google Drive, creating a reliable backup system. For perfect organization, the workflow uses keywords from the invoice, like the client name or invoice number, to dynamically name the PDF files, ensuring you have a complete and easily searchable financial record.

  Use Cases
  1. Automated Document Archiving: Eliminate the manual work of downloading and saving invoices. Set it up once and let it run.

  2. Compliance & Auditing: Maintain a clean, chronological, and separate record of all issued invoices for easy access during audits.

  3. Secure Backup: Create a redundant, secure backup of your critical financial documents in your own cloud storage.

  4. Enhanced Team Access: Share the Google Drive folder with accountants, bookkeepers, or team members who need access to invoices but not to your full QuickBooks account.

  How It Works:
  1. Real-Time Invoice Trigger: The workflow starts the instant a new invoice is created in your QuickBooks account. A configured webhook sends a notification to n8n, kicking off the automation immediately.

  2. Fetch Invoice Metadata: The workflow uses the invoice ID from the webhook to retrieve the full invoice details, such as the customer's name and the transaction date. This information is used in the next steps.

  3. Generate the Invoice PDF: A crucial HTTP Request node makes a direct API call to QuickBooks, requesting a PDF version of the invoice. This ensures the archived document is the official, formatted PDF, exactly as it appears in QuickBooks.

  4. Upload and Archive in Google Drive: The final node takes the binary PDF data and uploads it to your specified Google Drive folder. It dynamically names the file for easy identification (e.g., CustomerName_TransactionDate.pdf), creating a perfectly organized and searchable archive.

  Setup Instructions
  To get this workflow running, follow these key setup steps:

  1. Credentials:
  QuickBooks: Connect your QuickBooks account credentials to n8n.
  Google: Connect your Google account using OAuth2 credentials and ensure the Google Drive API is enabled.

  2. QuickBooks Webhook Configuration:
  First, activate this n8n workflow to make the webhook URL live.
  Copy the Production URL from the QuickBooks Webhook node.
  In your Intuit Developer Portal, go to the webhooks section for your app, paste the URL, and subscribe to Invoice creation events.

  3. Node Configuration:
  Get an invoice & Generate PDF File: These nodes will use your configured QuickBooks credentials automatically.
  Upload file (Google Drive): In the parameters for this node, you must select the Folder ID where you want your invoices to be saved.

  Support
  If you need help setting up this workflow or require a custom version tailored to your specific use case, please feel free to reach out to the template author:

  Website: https://www.intuz.com/services
  Email: getstarted@intuz.com
  LinkedIn: https://www.linkedin.com/company/intuz
  Get Started: https://n8n.partnerlinks.io/intuz

  For Custom Worflow Automation
  Click here- Get Started

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.quickbooks","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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


name: Flag Bounced Emails in Google Sheets from Gmail Delivery Error Messages
author_name: Stéphane Heckel
author_username: stephaneheckel
categories: []
created_at: 2025-08-11T12:18:24.379Z
updated_at: 2025-08-11T12:18:24.379Z
url: https://n8n.io/workflows/7251
scraped_at: 2025-09-14 11:38:21
description:
  Scanning Email Inbox for Delivery Errors

  Prerequisite: Automate Personalized Email Campaigns with Google Docs, Sheets, and SMTP.

  How It Works

  After running your email campaign, some messages may fail to deliver. This workflow scans your email inbox for delivery errors (e.g., bounced messages), flags problematic email addresses in the Google Sheet and ensures future campaigns skip them.

  How to Use

  Ensure Prerequisite Workflow:  
     You should have the Email Campaign Workflow configured and running.

  Google Sheet Setup:  
     Use the Google Sheet Template.  
     Identify your document’s ID (the string after /d/ and before /edit in the URL).

  Configure Workflow:  
     Enter your Google Sheet ID in the settings node.  
     Connect your Google credentials to n8n.

  Email Inbox:  
     Set up the readspamfolder node to search for bounce/error messages in your mail (e.g., in the Spam or Inbox folders—adjust label/folder if emails land elsewhere).  

  Google Sheet Update:  
     Configure the lookupemail and update_err nodes

  Requirements

  Google Credentials** to access Gmail and sheets.
  Gmail Account** (bounce/error messages must be accessible here).
  n8n Version:** Tested with 1.105.2 (Ubuntu).

  Need Help?

  Comment this post or contact me on LinkedIn
  Ask in the n8n Community Forum!

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.gmail","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.set","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.stickyNote"]

workflow_json_compressed:
  [encoded data, 4560 characters]


name: Smart Knowledge Base Builder — Auto-Convert Websites into AI Training Data
author_name: Aayushman Sharma
author_username: ajstyle0411
categories: []
created_at: 2025-08-11T17:51:52.453Z
updated_at: 2025-08-11T17:51:52.453Z
url: https://n8n.io/workflows/7260
scraped_at: 2025-09-14 11:38:22
description:
  AI-Powered Knowledge Base Builder — Turn Any Website into LLM-Optimized Markdown & TXT Files

  Automate the entire process of converting any website or domain into clean, structured, AI-ready knowledge bases for Large Language Models (LLMs), semantic search, and chatbot development.

  Key Workflow Highlights
  URL Input via Simple Form** – Paste a single link or a full domain.
  Automated Link Discovery** – Crawl and map all related pages with Firecrawl API.
  Clean Markdown Extraction** – Use Parsera API for accurate, clutter-free content.
  LLM-Optimized Formatting** – Standardize with OpenAI GPT-4.1-mini for llms.txt.
  Cloud Storage Integration** – Save directly to Google Drive for instant access.
  Batch Processing at Scale** – Handle single pages or hundreds of URLs effortlessly.

  Perfect For:
  AI engineers building domain-specific training datasets
  Data scientists running semantic search & vector database pipelines
  Researchers collecting website archives for AI or analytics
  Automation specialists creating chatbot-ready content libraries

  Why This Workflow Outperforms Manual Processes
  100% Automated** — From link input to Google Drive-ready .txt file
  Flexible Scope** — Choose between single-page extraction or full-site crawling
  Clean, AI-Friendly Output** — Markdown converted to standardized LLM format
  Scalable & Reliable** — Handles bulk data ingestion without formatting issues
  Cloud-First** — Centralized storage for team-wide accessibility

  Problems Solved
  No more manual copy-paste from dozens of web pages
  Eliminate formatting inconsistencies across datasets
  Avoid scattered files — all output stored in one central folder

  Instead, you get:
  Automated URL mapping for deep data coverage
  Proxy-enabled scraping for accurate extraction
  Ready-to-use llms.txt files for chatbots, fine-tuning, and AI pipelines

  How It Works — Step-by-Step

  Form Submission  
     Input your URL and choose “Single Page” or “Full Domain Crawl.”

  URL Mapping with Firecrawl API  
     Automatically discovers all internal links related to the starting URL.

  Content Extraction with Parsera API  
     Removes ads, navigation clutter, and irrelevant elements to produce clean Markdown.

  LLM-Optimized Formatting with OpenAI GPT-4.1-mini  
     Generates structured files including:
     Site title & meta description
     Page sections with summaries & full text

  Cloud Upload to Google Drive  
     Final .txt or .md files stored in your specified folder.

  Business & AI Advantages
  Save 90%+ time preparing AI training datasets
  Improve AI accuracy with high-quality, consistent input
  Maintain centralized, cloud-based storage
  Scale globally with proxy-based content collection

  Setup in Under 10 Minutes
  Import the workflow into n8n.
  Add credentials for:
     Firecrawl API
     Parsera API
     OpenAI API Key
     Google Drive (Service Account or OAuth)
  Update your Google Drive folder ID.
  Run a test job with a sample URL.
  Deploy and connect to your AI pipeline.

  Tools & Integrations Used
  n8n Form Trigger** – For user-friendly input
  Firecrawl API** – Comprehensive internal link mapping
  Parsera API** – Clean, structured content extraction
  OpenAI GPT-4.1-mini** – LLM-optimized formatting
  Google Drive API** – Secure cloud storage
  Batch & Switch Logic** – Efficient multi-page processing

  Advanced Customization Options
  Change output format: .md, .json, .csv
  Swap storage to Dropbox, AWS S3, Notion, Airtable
  Modify AI prompts for alternative formatting
  Filter by keywords or metadata before saving
  Automate runs via Google Sheets, email triggers, or cron schedules
  Add AI-powered translation for multilingual datasets
  Enrich with SEO metadata or author information
  Push directly to vector databases like Pinecone, Weaviate, Qdrant

  SEO-Optimized Keywords for Maximum Reach
  AI data extraction workflow
  Automated LLM training dataset builder
  Web to Markdown converter for AI
  Firecrawl Parsera OpenAI n8n integration
  llms.txt file generator for chatbots
  Automated website content scraper for AI
  Knowledge base creation automation
  AI-ready data pipeline for semantic search
  Batch website-to-dataset conversion

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.formTrigger","n8n-nodes-base.switch","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.splitInBatches","n8n-nodes-base.set","n8n-nodes-base.convertToFile","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.splitOut","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.convertToFile","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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


name: Automate QuickBooks Customer & Estimate Creation from Google Sheets
author_name: Intuz
author_username: intuz
categories: []
created_at: 2025-08-12T07:39:12.878Z
updated_at: 2025-08-12T07:39:12.878Z
url: https://n8n.io/workflows/7273
scraped_at: 2025-09-14 11:38:21
description:
  This n8n template from Intuz provides a complete and automated solution to accelerate your sales and quoting process into Quickbooks.

  This workflow creates a seamless data pipeline from a Google Sheet directly into QuickBooks, automating the creation of new customers and their initial sales estimates. It’s designed to save time, reduce human error, and ensure your financial records are always up-to-date.

  How it works

  1. Trigger on New Sheet Row: The workflow starts automatically when you add a new row containing customer and estimate details to your designated Google Sheet.

  2. Check for Duplicates: Before doing anything else, it takes the customer's name from the sheet and searches your QuickBooks account to see if a customer with that exact name already exists.

  3. Route Based on Existence (If/Else Logic):
  If the Customer is NEW: The workflow proceeds down the "true" path, first creating a new customer record in QuickBooks with the details from the sheet (Name, Email, Phone, Company). Immediately after, it creates a new sales estimate linked to that newly created customer.
  If the Customer ALREADY EXISTS: The workflow follows the "false" path and stops. This is a built-in safety measure to prevent creating duplicate customer records.

  4. End of Process: The workflow concludes, having either created a new customer and estimate or having intelligently stopped to avoid duplication.

  Step by Step Instructions
  Follow these steps carefully to get the workflow running.

  1. Connect Your Credentials
  Google: Connect your Google account using OAuth2. Ensure you have enabled permissions for both Google Sheets and Google Drive.
  QuickBooks: Connect your QuickBooks Online account using OAuth2 credentials.

  2. Prepare Your Google Sheet
  This is the most critical step. Create a Google Sheet and ensure the first row contains these exact column headers:
  CustomerName
  Email
  Phone
  Company Name
  Amount

  3. Configure the n8n Nodes

  Google Sheets Trigger:
  Select your Google Sheet from the Document ID dropdown.
  Select the specific sheet from the Sheet Name dropdown.

  Create an estimate (QuickBooks Node):
  This node has a default product/service (itemId) and tax code (TaxCodeRef) set. You must update these to match the items and tax codes in your QuickBooks account. See the Customization section for more details.

  4. Activate the Workflow
  Save the workflow and toggle the Active switch to "on". Now, every time you add a new row to your sheet, the automation will run.

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

  For Custom Worflow Automation
  Click here- Get Started

nodes_used:
  ["n8n-nodes-base.set","n8n-nodes-base.quickbooks","n8n-nodes-base.if","n8n-nodes-base.quickbooks","n8n-nodes-base.noOp","n8n-nodes-base.googleSheetsTrigger","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.quickbooks","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4584 characters]


name: SEO Writer: Content Generator (2500 keywords) with Perplexity & Auto Publish
author_name: Reddit Dev
author_username: harryhaz
categories: []
created_at: 2025-08-12T10:07:29.243Z
updated_at: 2025-08-12T10:07:29.243Z
url: https://n8n.io/workflows/7279
scraped_at: 2025-09-14 11:38:21
description:
  🔥 TLDR

    Automatically generate and publish 2000+ word SEO-optimized blog posts to GitHub every 8 hours - Complete with trending topic research, AI content generation, and automatic JSON formatting for your blog platform. Instant SEO traffic upcoming! 

    ---
    📌 Who's it for

    Content creators, marketers, and developers who want to:
    Maintain a consistent blog publishing schedule without manual effort
    Generate high-quality, SEO-optimized content automatically
    Keep up with trending topics in their industry
    Build content libraries for their websites or applications

    🚀 What it does

    This workflow is a complete content generation pipeline that runs
    automatically every 8 hours:

    Discovers trending topics using Perplexity Sonar to find what's hot in
     your chosen categories
    Conducts deep research with real statistics, expert opinions, and
    current data
    Generates comprehensive content - 2000-2500 word articles using GPT-5
    mini
    Formats for web - Converts to JSON with proper metadata (slug,
    keywords, reading time)
    Publishes automatically to your GitHub repository as blog-ready JSON
    files

    ✨ Key Features

    SEO Optimization

    Keyword-rich content with targeted keywords naturally integrated
    Proper heading structure (H1, H2, H3) for search engine crawling
    Meta descriptions automatically generated from content
    Reading time calculation for better user engagement metrics
    URL-friendly slugs with timestamps for uniqueness

    Content Quality

    2000+ words minimum ensuring comprehensive coverage
    Research-backed with current statistics and expert opinions
    Structured format with clear sections: Introduction, Analysis,
    Applications, Challenges, Future Outlook
    Markdown formatting for easy rendering on any platform

    🛠️ How to set up

    Requirements

    n8n instance (self-hosted or cloud)
    Perplexity API account
    OpenAI API account (GPT-5 mini access)
    GitHub repository for storing blog content

    Setup Steps

    Import the workflow into your n8n instance
    Configure credentials:
      Add your Perplexity API key
      Add your OpenAI API key
      Connect your GitHub account via OAuth2
    Customize the GitHub node:
      Set your repository owner and name
      Adjust the file path if needed (default: public/blog-data/)
    Adjust the schedule (optional):
      Default runs every 8 hours
      Modify the Schedule Trigger node for your preferred frequency
    Test the workflow with manual execution before enabling automatic
    scheduling

    🎨 How to customize

    Topic Categories

    Edit the "Find trending topics" node to focus on your niche:
    Technology & AI
    Social Media & Marketing
    Business & Finance
    Health & Wellness
    Education & Career

    Content Length

    Adjust word count requirements in the "Format Blog JSON" node validation

    Output Format

    Modify the JSON structure in "Format Blog JSON" to match your blog platform's requirements

    Publishing Destination

    Change the GitHub repository path or integrate with other platforms like WordPress, Contentful, or Strapi

    📊 Workflow Benefits

    Consistency: Never miss a publishing deadline
    Scale: Generate multiple articles daily without manual effort
    Quality: Research-backed content with real data and sources
    SEO-Ready: Optimized structure and metadata for search engines
    Cost-Effective: Uses efficient AI models for sustainable content
    generation

nodes_used:
  ["n8n-nodes-base.set","n8n-nodes-base.perplexity","n8n-nodes-base.code","n8n-nodes-base.github","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.perplexity","n8n-nodes-base.openAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE63WXW/bNhQG4L9C8HZiQEmUSPku/UjXXbTAEmwXQVDw49AmKpMCRS81DP/3wYoXu47U2UFuTer1o0PqkBu8hCTxbIOd75P0Gj4bPMNeePIY4nfbhkciHVFtmJM5eIgyhYi3GfZyCXiGrz+jd22Yo0//jSGCrlcpkG6lWtcv0O3Hr0gHn8AnlAL65NLvK4WkNygtwKN1WEX0CKp3CZBcpbCUyWnZtmucYR8M9Hh2v8FuhzK8sFopRgw1JWFlkxNpKkWKBoxgKtdlqfGz7BYSugud0+iDTBJnOK072L/aEEyU7OGqh4Qz3IXeJRc8nt2TvGAiIwWjDxnuZJRLSBB7PNtsnzL+gtgPU8srts32toIXxoDWRNRW7GwNEQYsabSqLShhRMUOtg8AHfoTepBRLyZpHcSuhR8urU+FtGBnCfNnn7CKg7U1EUAVYblipFHASA5SGlvrmhZHtbsJcSnT08r+cfv1yyRRBwMnuIrXZ9mKZxvLC2pUXhPJLSNM5QWRnFtSN1CBylUuKT/Y3keQCdCNawE5v99Qk8C5S4th+JhYVsWF5ctlpXmTW0IVLQlj3BLVWEE4awwrmBZ1Yw/Ej/9AXCOBFmEV++mdpxdgVi3cRTefQzxd47o5r4751aGSHDgtlciJ2n0crGYNaVRdkoJxqamtlaFHzBvnDbqL4I3z86dvZVo7vRkZv7SaTc1LRS0QVZaSsCoHIkoQRKoarBRW51YcmPvWAqiglP6G/g7RoOuYnG5hUhs68NfuRCooPbOiB2qfnP6+/uZDgm/5UXMZfkZfQpo2PD26n/JTxZodhIkXELxvlHiG8XT1jknFKAkVr0ANy1i+rM7lqHIcVb4CNbTiN0GxcRR7BWrovm+CqsZR1eWoYW+/iakeN9WXm4aT4E1MfNzELzcNrf9i00O2G/egdzHD9J9P8NkGL6Xb/cH9Zri1nNu2hqcy7LyBH3hGtw8P2+zk+BjL/nXnHg09uQ6NpU7cSkbjXtwQxgL/56geDx57tbHwqfvdaOq45Ch2mPWrJRtdhslr0ghiu/0XHAEzQ2wLAAA=


name: Generate and Share Professional PDFs with OpenAI, Google Docs, and Slack
author_name: Trung Tran
author_username: trungtran
categories: []
created_at: 2025-08-12T11:45:18.842Z
updated_at: 2025-08-12T11:45:18.842Z
url: https://n8n.io/workflows/7288
scraped_at: 2025-09-14 11:38:21
description:
  Free PDF Generator in n8n – No External Libraries or Paid Services
  &gt; A 100% free n8n workflow for generating professionally formatted PDFs without relying on external libraries or paid converters. It uses OpenAI to create Markdown content, Google Docs to format and convert to PDF, and integrates with Google Drive and Slack for archiving and sharing, ideal for reports, BRDs, proposals, or any document you need directly inside n8n.
  Watch the demo video below:

  Who’s it for
  Teams that need auto-generated documents (reports, guides, checklists) in PDF format.
  Operations or enablement teams who want files archived in Google Drive and shared in Slack automatically.
  Anyone experimenting with LLM-powered document generation integrated into business workflows.

  How it works / What it does
  Manual trigger starts the workflow.
  LLM generates a sample Markdown document (via OpenAI Chat Model).
  Google Drive folder is configured for storage.
  Google Doc is created from the generated Markdown content.
  Document is exported to PDF using Google Drive. (Sample PDF generated from comprehensive markdown)
  PDF is archived in a designated Drive folder.
  Archived PDF is downloaded for sharing.
  Slack message is sent with the PDF attached.

  How to set up
  Add nodes in sequence:
     Manual Trigger
     OpenAI Chat Model (prompt to generate sample Markdown)
     Set/Manual input for Google Drive folder ID(s)
     HTTP Request or Google Drive Upload (convert to Google Docs)
     Google Drive Download (PDF export)
     Google Drive Upload (archive PDF)
     Google Drive Download (fetch archived file)
     Slack Upload (send message with attachment)
  Configure credentials for OpenAI, Google Drive, and Slack.
  Map output fields:
     data.markdown → Google Docs creation
     docId → PDF export
     fileId → Slack upload
  Test run to ensure PDF is generated, archived, and posted to Slack.

  Requirements
  Credentials**:
    OpenAI API key (or compatible LLM provider)
    Google Drive (OAuth2) with read/write permissions
    Slack bot token with files:write permission
  Access**:
    Write access to target Google Drive folders
    Slack bot invited to the target channel

  How to customize the workflow
  Change the prompt** in the OpenAI Chat Model to generate different types of content (reports, meeting notes, checklists).
  Automate triggering**:
    Replace Manual Trigger with Cron for scheduled document generation.
    Use Webhook Trigger to run on-demand from external apps.
  Modify storage logic**:
    Save both .md and .pdf versions in Google Drive.
    Use separate folders for drafts vs. final versions.
  Enhance distribution**:
    Send PDFs to multiple Slack channels or via email.
    Integrate with project management tools for automated task creation.

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.manualTrigger","n8n-nodes-base.slack","@n8n/n8n-nodes-langchain.agent","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.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6308 characters]


name: Full-Cycle Invoice Automation: Airtable, QuickBooks & Stripe
author_name: Intuz
author_username: intuz
categories: []
created_at: 2025-08-12T12:36:34.244Z
updated_at: 2025-08-12T12:36:34.244Z
url: https://n8n.io/workflows/7291
scraped_at: 2025-09-14 11:38:21
description:
  This n8n template from Intuz provides a complete and automated solution for full-cycle invoicing, orchestrating a seamless flow between Airtable, QuickBooks, and Stripe. 

  This is the ultimate sales-to-cash automation. When a deal in Airtable is marked "Approved for Invoicing," this workflow intelligently syncs customer data across QuickBooks and Stripe (creating them if they don't exist), generates an official QuickBooks invoice, creates a Stripe payment link, and then updates the original Airtable record with all the new IDs and links. Eliminate manual data entry and keep your systems perfectly in sync.

  Who's this workflow for? 

  Finance, Accounting, and Operations Teams
  SalesOps and RevOps Teams
  Small Business Owners and Founders
  Agencies and Freelancers

  How It Works:
  1. Airtable Trigger & Approval Gate: The workflow starts when a record in your Airtable base is updated. An If node immediately checks if the Status field is set to "Approved for Invoicing." If not, the workflow for that item stops.

  2. Customer Sync (QuickBooks & Stripe):
  The workflow searches for the customer in both QuickBooks and Stripe using the details from Airtable.
  Using If nodes, it intelligently checks if the customer exists. If a customer is not found in either platform, it creates a new one. This "find-or-create" logic prevents duplicate records.

  3. Update Airtable with IDs: Once the customer IDs from both QuickBooks and Stripe are secured (either found or newly created), the workflow updates the original Airtable record with these new IDs for future reference.

  4. Generate Financials:
  Stripe Payment Link: It sends an HTTP request to Stripe to create a unique, ready-to-use payment link for the specified amount.
  QuickBooks Invoice: It fetches your product list from QuickBooks, finds the matching item from the Airtable record, and generates a formal, detailed invoice.

  5. Close the Loop: In the final step, the workflow updates the Airtable record one last time to:
  Add the QuickBooks Invoice #.
  Add the Stripe Payment Link.
  Change the Status to "Invoiced."

  Step-by-Step Setup Instructions
  This is an advanced workflow. Follow these setup steps carefully.

  1. Connect Your Credentials
  Airtable: Create and connect a Personal Access Token with data.records:read and data.records:write scopes.
  QuickBooks: Connect your QuickBooks Online account using OAuth2 credentials.
  Stripe: Connect your Stripe account using your Secret Key.

  2. Airtable Base Setup (Crucial)
  Your Airtable base must have a table with the following columns. The names must match exactly:

  Deal Name (Text)
  Client Name (Text)
  Client Email (Email)
  Status (Single-select with options: Draft,
  Approved for Invoicing, Invoiced)
  QuickBooks Customer ID (Text)
  Stripe Customer ID (Text)
  Stripe Payment Link (URL)
  QuickBooks Invoice # (Text)
  Stripe Price Id (Text - The API ID of your price in Stripe, e.g., price_123...)
  Quantity (Number)
  Quickbooks Product Name (Text)
  Created (Created Time) - This is used by the trigger.

  3. Configure the n8n Nodes
  All Airtable Nodes: In each Airtable node, select your Base and Table from the dropdown lists.
  Get all Quickbook products (HTTP Request Node):
  You must replace {YOUR_QUICKBOOKS_COMPANY_ID} in the URL with your actual QuickBooks Company ID (also known as a Realm ID).

  4. Activate the Workflow
  Save the workflow and toggle the Active switch to "on". The workflow will now trigger whenever the Created field is updated for a record in your Airtable base.

  Customization Guidance
  Changing the Trigger Status: If you use a different status than "Approved for Invoicing," simply update the value in the "IF - Status Check" node.
  Modifying Invoice Details: You can customize the Description or other line item details in the "Create an invoice" (QuickBooks) node by pulling more fields from your Airtable record.
  Adding Email Notifications: To notify a customer when their invoice is ready, add a Gmail or SendGrid node after the last Airtable Update node. You can include the Stripe Payment Link and a PDF of the QuickBooks invoice directly in the email.
  Advanced Error Handling: For a production environment, consider connecting the false output of the various IF nodes or using the .onError() workflow setting to send a Slack or email alert if a customer can't be found or an API call fails.

  Support
  For further support, or to develop a custom workflow, reach out to:

  Website: https://www.intuz.com/services
  Email: getstarted@intuz.com
  LinkedIn: https://www.linkedin.com/company/intuz
  Get Started: https://n8n.partnerlinks.io/intuz

  For Custom Worflow Automation
  Click here- Get Started

nodes_used:
  ["n8n-nodes-base.airtableTrigger","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.merge","n8n-nodes-base.stripe","n8n-nodes-base.if","n8n-nodes-base.stripe","n8n-nodes-base.merge","n8n-nodes-base.quickbooks","n8n-nodes-base.quickbooks","n8n-nodes-base.quickbooks","n8n-nodes-base.airtable","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.noOp","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.stickyNote","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.airtable","n8n-nodes-base.stickyNote","n8n-nodes-base.airtable","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.airtable","n8n-nodes-base.stickyNote","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 11272 characters]


name: Classify Emails and Send Replies with GPT-4o and gotoHuman for Supervision
author_name: gotoHuman
author_username: gotohuman
categories: []
created_at: 2025-08-12T16:58:54.311Z
updated_at: 2025-08-12T16:58:54.311Z
url: https://n8n.io/workflows/7301
scraped_at: 2025-09-14 11:38:22
description:
  Let AI classify your incoming emails and draft replies.
  Use gotoHuman to approve emails before they are sent out. It also lets you manually edit the draft or even ask for a retry.

  How it works
  The workflow is triggered for each new email which gets passed to an AI classification agent.
  It assigns the email to one of the categories defined in the prompt (Customer Support, Sales opportunity, Promo, Personal,...). The agent also determines whether a reply is needed and if it is important.
  If a reply is needed, we ask the AI Email Writer to draft a response. Even if it is missing context it can help us draft an outline for the response.
  The email draft is sent to gotoHuman where the reviewer can manually edit it or ask to regenerate it with the option to even edit the prompt (Retries loop back to the AI Email Writer node)


  Approved email replies are automatically sent from the workflow

  How to set up

  Most importantly, install the gotoHuman node before importing this template!
  (Just add the node to a blank canvas before importing)
  Set up your credentials for gotoHuman, OpenAI, and Gmail
  In gotoHuman, select and create the pre-built review template "Email agent" or import the ID: v81wzxwYoFYvWpmuIBgX
  Select this template in the gotoHuman node

  Requirements

  You need accounts for
  gotoHuman (human supervision)
  OpenAI (classification, drafting)
  Gmail

  How to customize

  Change the predefined categories in the prompt of the AI classification agent
  Provide the AI Email Writer with more context to create replies. Consider adding tools that allow the agent to fetch more infos about clients, your calendar, FAQs for your product,...

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.gmailTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.noOp","n8n-nodes-base.set","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.switch","n8n-nodes-base.noOp","@gotohuman/n8n-nodes-gotohuman.gotoHuman","n8n-nodes-base.switch","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5760 characters]


name: Scrape Blog Articles into AI-Generated LinkedIn Posts with GPT-4o & Human Review
author_name: gotoHuman
author_username: gotohuman
categories: []
created_at: 2025-08-12T22:59:51.218Z
updated_at: 2025-08-12T22:59:51.218Z
url: https://n8n.io/workflows/7310
scraped_at: 2025-09-14 11:38:21
description:
  Auto-detect news from n8n and turn into a human-approved LinkedIn post.
  gotoHuman is used to keep a human in the loop. There you can manually edit the AI draft of the post or request to regenerate it.

  How it works
  The workflow is triggered each day to fetch the latest version of https://blog.n8n.io.
  It then fetches each article, checks if it was published in the last 24 hours and uses an LLM to summarize it.
  An LLM then drafts a related LinkedIn post which is sent to gotoHuman for approval. In gotoHuman, the reviewer can manually edit it or ask to regenerate it with the option to even edit the prompt (Retries loop back to the AI Draft LinkedIn Post node)


  Approved Posts are automatically published to LinkedIn

  How to set up

  Most importantly, install the gotoHuman node before importing this template!
  (Just add the node to a blank canvas before importing)
  Set up your credentials for gotoHuman, OpenAI, and LinkedIn
  In gotoHuman, select and create the pre-built review template "Blog scraper agent" or import the ID: sMxevC9tSAgdfWsr6XIW
  Select this template in the gotoHuman node

  Requirements

  You need accounts for
  gotoHuman (human supervision)
  OpenAI (summary, draft)
  LinkedIn

  How to customize

  Change the blog URL to monitor. Adapt to its' HTML structure
  Provide the AI Draft LinkedIn Post with examples of previous posts so it picks up your writing style (consider adding gotoHuman's dataset of approved examples)
  Use the workflow to target other publications, like your newsletter, blog or other socials

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.splitOut","n8n-nodes-base.html","n8n-nodes-base.httpRequest","n8n-nodes-base.html","n8n-nodes-base.httpRequest","n8n-nodes-base.html","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.set","n8n-nodes-base.linkedIn","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.splitInBatches","n8n-nodes-base.switch","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@gotohuman/n8n-nodes-gotohuman.gotoHuman","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6464 characters]


name: Automated LinkedIn Lead Generation & DM Outreach with Airtable, and Unipile.
author_name: Ruben AI
author_username: rubenai
categories: []
created_at: 2025-08-13T04:56:51.552Z
updated_at: 2025-08-13T04:56:51.552Z
url: https://n8n.io/workflows/7311
scraped_at: 2025-09-14 11:38:20
description:
  LinkedIn DM Automation

  Overview
  Effortlessly scale personalized LinkedIn outreach using a no-code automation stack. This template provides a powerful, user-friendly system for harvesting leads from LinkedIn posts and managing outreach—all within Airtable and n8n.

  Features & Highlights

  Actionable Input:** Simply enter a LinkedIn post URL to kickstart the engine—no browser scraping or manual work needed.

  Lead Harvesting:** Automatically scrape commenters, likers, and profile data using Unipile’s API access.

  Qualification Hub:** Easily review and qualify leads right inside Airtable using custom filters and statuses.

  Automated Campaign Flow:** n8n handles the sequence—from sending connection requests (adhering to LinkedIn limits) to delivering personalized DMs upon acceptance.

  Unified Dashboard:** Monitor campaign progress, connection status, and messaging performance in real time.

  Flexible & Reusable:** Fully customizable for your own messaging, filters, or UD campaigns—clone, adapt, and deploy.

  Why Use This Template?

  ++Zero-code friendly:++ Ideal for entrepreneurs, sales professionals, and growth teams looking for streamlined, scalable outreach.

  ++Transparent and compliant:++ Built with Airtable UI and compliant API integration—no reliance on browser automation or unofficial methods.

  ++Rapid Deployment:++ Clone and launch your automation in under 30 minutes—no dev setup required.

  Setup Instructions

  Import the template into your n8n workspace.

  Connect your Airtable and Unipile credentials.

  Configure LinkedIn post input, filters, and DM templates in Airtable.

  Run the workflow and monitor results directly from Airtable or n8n.

  Use Cases

  Capture inbound leads from your viral LinkedIn posts.

  Qualify and nurture prospects seamlessly without manual follow-ups.

  Scale outreach with precision and personalization.

  YouTube Explanation

  You can access the video explanation of how to use the workflow: Explanation Video

nodes_used:
  ["n8n-nodes-base.switch","n8n-nodes-base.webhook","n8n-nodes-base.airtable","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.set","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.filter","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.limit","n8n-nodes-base.set","n8n-nodes-base.airtable","n8n-nodes-base.limit","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.airtable","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.merge","n8n-nodes-base.limit","n8n-nodes-base.airtable","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.filter","n8n-nodes-base.filter","n8n-nodes-base.httpRequest","n8n-nodes-base.splitInBatches","n8n-nodes-base.noOp","n8n-nodes-base.filter","n8n-nodes-base.limit","n8n-nodes-base.limit","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.airtable","n8n-nodes-base.noOp","n8n-nodes-base.noOp","n8n-nodes-base.filter","n8n-nodes-base.limit","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.airtable","n8n-nodes-base.splitInBatches","n8n-nodes-base.noOp","n8n-nodes-base.noOp","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.airtable","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.merge","n8n-nodes-base.airtable","n8n-nodes-base.set","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.set","n8n-nodes-base.aggregate","n8n-nodes-base.airtable","n8n-nodes-base.splitOut","n8n-nodes-base.set","n8n-nodes-base.splitInBatches","n8n-nodes-base.limit","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","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.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.splitOut","n8n-nodes-base.airtable","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.splitInBatches","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.airtable","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.airtable","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.limit","n8n-nodes-base.filter","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.airtable","n8n-nodes-base.filter","n8n-nodes-base.noOp","n8n-nodes-base.limit","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.splitInBatches","n8n-nodes-base.splitInBatches","n8n-nodes-base.airtable","n8n-nodes-base.splitInBatches","n8n-nodes-base.stickyNote","n8n-nodes-base.noOp","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.airtable"]

workflow_json_compressed:
  [encoded data, 36328 characters]


name: CYBERPULSE AI GRC: Automate Security Questionnaire Responses
author_name: Adnan Tariq
author_username: adnantariq
categories: []
created_at: 2025-08-14T03:29:59.817Z
updated_at: 2025-08-14T03:29:59.817Z
url: https://n8n.io/workflows/7349
scraped_at: 2025-09-14 11:38:22
description:
  Description

  Automates vendor/customer security questionnaire responses. It ingests a questionnaire (Sheet/CSV/XLSX), matches each question to your approved answers and evidence, and writes a clean “Auto-Fill” sheet ready to review and send back. Optional alerts nudge reviewers and track progress to completion.

  Who’s It For

  GRC / Compliance teams responding to customer security reviews

  Security engineers and sales engineers supporting questionnaires

  Startups that need fast, consistent, audit-ready answers

  How It Works

  Trigger

  Run manually, on a schedule, or when a questionnaire file/row is added.

  Ingest & Normalize

  Reads questions from Google Sheets/CSV/XLSX.

  Normalizes columns (e.g., question, category, customer_notes) and de-duplicates.

  Classify

  Detects question type (Yes/No, multi-select, free text).

  Tags topics (encryption, access control, incident response, privacy, HR, etc.).

  Answer Retrieval

  Looks up approved answers from your Answer Library sheet (mapped by keywords/category/control).

  Falls back to templates (short form/long form) when no exact match exists.

  Evidence Linking

  Inserts Drive links for policies, diagrams, SOC2/ISO docs (from your evidence folder).

  Adds version/date so reviewers can verify what was sent.

  Auto-Fill Output

  Writes a new sheet with columns like:
  question, proposed_answer, rationale/notes, evidence_link, control_ref, owner, status, confidence, last_updated.

  Review & Notifications

  Emails the reviewer/owner with a link to the output sheet for quick approval edits.

  Status can move from draft → reviewed → ready to send.

  Export

  Optional export to CSV/XLSX to match customer’s template.

  Optional PDF of responses for audit trail.

  Requirements

  Google Sheets & Drive credentials

  Destination Sheet & Evidence folder (env vars used in the template):

  GSHEET_ID, GSHEET_SHEET

  DRIVE_FOLDER_ID (or keep SANITIZED and set after import)

  Alert email: GRC_ALERT_EMAIL

  File Templates

  GRC_SQ_AutoFill_Template.xlsx – target sheet with the output columns above

  Answer_Library.xlsx / Sheet tab – key-value pairs: keywords/category → approved answers

  Control_Mapping.xlsx / Sheet tab – optional mapping to ISO 27001, SOC2, NIST CSF

  Output

  A populated Auto-Fill sheet ready to review/share

  Evidence links with versioning

  Email notification to the reviewer with next steps

  Customization Tips

  Add your framework tags (ISO/SOC2/NIST) to enable quick mapping in the output.

  Set owners per topic (e.g., “Encryption → Security Eng”, “Privacy → Legal”).

  Add a confidence score threshold to flag answers needing human review.

  Enable “strict mode” to prevent sending answers without evidence links.

  Schedule a weekly run to pre-fill common questionnaires and keep answers fresh.

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.googleSheets","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.gmail","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE52Wz24bNxDGX0XgeUflf3J1qpHWqQskQeM2BRL4MCSH8sLSrru7dmIYAvIOfcM+SbGSLMmKFLm96CAOP/5mOPNxH1mV2IR1d+efw/m1e/su3vzxuv2FFWxOPbLJI6vqrsc60sUQZzPlrAViouA1L51yJK12NpeJoza5NETRYhmFxZyzp+wdWiu1McGmzBYFq3FObMJev381+ufr36NLindt1T+Mfrujrq+ausaqpdHZXd+cV7MZK1iP045NPj2uUKe/XrbmrzefP977D9VNe8Y2iq+a+e2sGlhH76m7bepELStYbAl7Smc9mzDJpQHugevfuZhINzFirL35yAp2d5tOhy2uClY3iXZ4hFRBO+tBlmRBa9IQTPagKSfnjMnR0ZbxTwrXTXMzZPVwO/xR+xqWihCwo/Hnzfpt01VDOdjkEwireSE8vyrYOmB5GyiUTiobEK5MoFFrQBsUOO21TlwjSTMoYYtz6qnt2ORxsTr5A7XdUlwuinUiRLy0JlngMUXQNltALxE4olKlxcjJbxN53TTTGY0ur4n67mg602XUJuhZTnKT03cB9dhuECUF5Jk8hCFrjSoBGlLAeXIchQ1auy3iz6nqR+cVzdJxwI76PS4neSHkSSw11hssp1CR8RISlwl04hyC0A4EEQpvrUll3mK9u6X67GJL9GPt6x+2WDOsp/Eaq3rcDIHVHp72L8ITY7/BEzIJDMmA89KClspAcKUE1JEHtDkj2SMXK/7HzfLiP92pIOmiyBJCFiVojwSoswIVeLYhxkhKbuku8lGiKu93GJcv6jA53g6BKoNR2RAMtgVaOA+BtAclQpCOMpVyp1ZvqJ3SUaD5evVZbaR9QWtteUQU5BUlIEwJdIwEXgUCcmUyHr23Uu06YDqOE1eLOzR6mEB9uj4bGmulE2moSUQNOmgHSI6DiTEYnzGWGHc6aY7V7HgDrVd3eKx94tl1udIbFJQy6EgRNAYPnkIATyJnNF5kHU663FhskkjGmMi5BSlMAB0wgA+JwKXsZFDG2V3DXo/DT211f7y0q2F4innWg/plLqe2ZhK9l5QSCB89aDWYCTcZKJJBUjllX27xLvsq3jyM3jb9cbpuGbMO2YUb6q2/7UcWm7qnengI2Te+MryAGPsh00nGWUcF66jvq3q63EpfKN4N+u/a4fWdsHsxaNyv9i/vM9hcuigDcJMjaHJqSFCDi84kL40hNSQYm7qmOEgthS/y8DvHaiD/9Lh8hY95/DKqYFWd6Aub8MXV1aJYzcYhib02Pbh5NeiHdj8fuYOb14Z/8OwjZruvU2x27FnO80CxOvDpI+M7J+7180Hu3doektp/yA6KPDvvZAleJraOPaS2+z6clhAHNb5b4qXMYvEvWJSTfDgLAAA=


name: Create a Self-Hosted Blockchain Payment Processor with x402 and 1Shot API
author_name: 1Shot API
author_username: oneshotapi
categories: []
created_at: 2025-08-14T05:17:29.215Z
updated_at: 2025-08-14T05:17:29.215Z
url: https://n8n.io/workflows/7364
scraped_at: 2025-09-14 11:38:21
description:
  This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

  Self-Hosted x402 Facilitator

  In the x402 payment protocol, a facilitator is a role which helps sellers settle stablecoin payments onchain without dealing with blockchain complexities. This workflow allows you to run your own fully-featured, specification-compliant facilitator in n8n. You might want to do this if you want to accept payments in tokens not supported by existing facilitators or as your own business!

  Details

  A facilitator supports three routes: /verify, /settle, and /supported. These routes are all created for you in this workflow with proper error handling and responses. 

  A seller will first hit /verify with their payment details to ensure the payment information is correct. Next they will hit the /settle endpoint with the same payment information to settle the paymet on the blockchain. The /supported endpoint is used to indicate to sellers which blockchains you choose to support in a programatic fashion.

  Setup

  Create a 1Shot API account
  Create 1Shot API wallets for the networks where you wish to facilitate token payments and load them with sufficient gas tokens.
  Using 1Shot Prompts, import the transferWithAuthorization functions for the tokens you will settle payments for.
  Import this workflow into n8n and create a credential to link the 1Shot API community node to your 1Shot API business account.
  Enter the token and network information into the payment token and network configuration nodes indicated by the sticky nodes.
  Turn on your workflow and settle payments!

nodes_used:
  ["n8n-nodes-1shot.oneShot","n8n-nodes-base.webhook","n8n-nodes-base.webhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","n8n-nodes-1shot.oneShotSynch","n8n-nodes-base.if","n8n-nodes-base.webhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7796 characters]


name: Automated Content Strategy with Google Trends, News, Firecrawl & Claude AI
author_name: Growth AI
author_username: growthai
categories: []
created_at: 2025-08-14T09:22:16.685Z
updated_at: 2025-08-14T09:22:16.685Z
url: https://n8n.io/workflows/7372
scraped_at: 2025-09-14 11:38:20
description:
  Automated trend monitoring for content strategy

  Who's it for
  Content creators, marketers, and social media managers who want to stay ahead of emerging trends and generate relevant content ideas based on data-driven insights.

  What it does
  This workflow automatically identifies trending topics related to your industry, collects recent news articles about these trends, and generates content suggestions. It transforms raw trend data into actionable editorial opportunities by analyzing search volume growth and current news coverage.

  How it works
  The workflow follows a three-step automation process:
  Trend Analysis: Examines searches related to your topics and identifies those with the strongest recent growth
  Article Collection: Searches Google News for current articles about emerging trends and scrapes their full content
  Content Generation: Creates personalized content suggestions based on collected articles and trend data
  The system automatically excludes geo-localized searches to provide a global perspective on trends, though this can be customized.

  Requirements
  SerpAPI account (for trend and news data)
  Firecrawl API key (for scraping article content from Google News results)
  Google Sheets access
  AI model API key (for content analysis and recommendations - you can use any LLM provider you prefer)

  How to set up

  Step 1: Prepare your tracking sheet
  Duplicate this Google Sheets template 
  Rename your copy and ensure it's accessible

  Step 2: Configure API credentials
  Before running the workflow, set up the following credentials in n8n:
  SerpAPI: For trend analysis and Google News search
  Firecrawl API: For scraping article content
  AI Model API: For content analysis and recommendations (Anthropic Claude, OpenAI GPT, or any other LLM provider)
  Google Sheets OAuth2: For accessing and updating your tracking spreadsheet

  Step 3: Configure your monitoring topics
  In your Google Sheet "Query" tab:

  Query column: Enter the main topics/keywords you want to monitor for trending queries (e.g., "digital marketing", "artificial intelligence", "sustainable fashion")
  Query to avoid column: Optionally add specific queries you want to exclude from trend analysis (e.g., brand names, irrelevant terms, or overly specific searches that don't match your content strategy)

  This step is crucial as these queries will be the foundation for discovering related trending topics.

  Step 4: Configure the workflow
  In the "Get Query" node, paste your duplicated Google Sheets URL in the "Document" field
  Ensure your Google Sheet contains your monitoring topics in the Query column

  Step 5: Customize language and location settings

  The workflow is currently configured for French content and France location. You can modify these settings in the SerpAPI nodes:
  Language (hl): Change from "fr" to your preferred language code
  Geographic location (geo/gl): Change from "FR" to your target country code
  Date range: Currently set to "today 1-m" (last month) but can be adjusted

  Step 6: Adjust filtering (optional)
  The "Sorting Queries" node excludes geo-localized queries by default. You can modify the AI agent's instructions to include location-specific queries or change filtering criteria based on your requirements. The system will also automatically exclude any queries you've listed in the "Query to avoid" column.

  Step 7: Configure scheduling (optional)
  The workflow includes an automated scheduler that runs monthly (1st day of each month at 8 AM). You can modify the cron expression 0 8 1 * * in the Schedule Trigger node to change:
  Frequency (daily, weekly, monthly)
  Time of execution
  Day of the month

  How to customize the workflow
  Change trend count: The workflow processes up to 10 related queries per topic but filters them through AI to select the most relevant non-geolocalized ones
  Adjust article collection: Currently collects exactly 3 news articles per query for analysis
  Content style: Customize the AI prompts in content generation nodes to match your brand voice
  Output format: Modify the Google Sheets structure to include additional data points
  AI model: Replace the Anthropic model with your preferred LLM provider
  Scraping options: Configure Firecrawl settings to extract specific content elements from articles

  Results interpretation
  For each monitored topic, the workflow generates a separate sheet named by month and topic (e.g., "January Digital Marketing") containing:
  Data structure (four columns):
  Query: The trending search term ranked by growth
  Évolution: Growth percentage over the last month
  News: Links to 3 relevant news articles
  Idée: AI-generated content suggestions based on comprehensive article analysis
  The workflow provides monthly retrospective analysis, helping you identify emerging topics before competitors and optimize your content calendar with high-potential subjects.

  Workflow limitations
  Processes up to 10 related queries per topic with AI filtering
  Collects exactly 3 news articles per query
  Results are automatically organized in monthly sheets
  Requires stable internet connection for API calls

nodes_used:
  ["n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.lmChatAnthropic","n8n-nodes-serpapi.serpApi","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.lmChatAnthropic","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-serpapi.serpApi","n8n-nodes-serpapi.serpApi","n8n-nodes-serpapi.serpApi","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","@mendable/n8n-nodes-firecrawl.firecrawl","@mendable/n8n-nodes-firecrawl.firecrawl","@mendable/n8n-nodes-firecrawl.firecrawl","@mendable/n8n-nodes-firecrawl.firecrawl","@mendable/n8n-nodes-firecrawl.firecrawl","@mendable/n8n-nodes-firecrawl.firecrawl","@mendable/n8n-nodes-firecrawl.firecrawl","@mendable/n8n-nodes-firecrawl.firecrawl","@mendable/n8n-nodes-firecrawl.firecrawl","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 10552 characters]


name: Generate Website Sitemaps & Visual Trees with Firecrawl and Google Sheets
author_name: Growth AI
author_username: growthai
categories: []
created_at: 2025-08-14T11:35:55.742Z
updated_at: 2025-08-14T11:35:55.742Z
url: https://n8n.io/workflows/7379
scraped_at: 2025-09-14 11:38:22
description:
  This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

  Website sitemap generator and visual tree creator
  Who's it for
  Web developers, SEO specialists, UX designers, and digital marketers who need to analyze website structure, create visual sitemaps, or audit site architecture for optimization purposes.
  What it does
  This workflow automatically generates a comprehensive sitemap from any website URL and creates an organized hierarchical structure in Google Sheets. It follows the website's sitemap to discover all pages, then organizes them by navigation levels (Level 1, Level 2, etc.) with proper parent-child relationships. The output can be further processed to create visual tree diagrams and mind maps.
  How it works
  The workflow follows a five-step automation process:

  URL Input: Accepts website URL via chat interface
  Site Crawling: Uses Firecrawl to discover all pages following the website's sitemap only
  Success Validation: Checks if crawling was successful (some sites block external crawlers)
  Hierarchical Organization: Processes URLs into a structured tree with proper level relationships
  Google Sheets Export: Creates a formatted spreadsheet with the complete site architecture

  The system respects robots.txt and follows only sitemap-declared pages to ensure ethical crawling.
  Requirements

  Firecrawl API key (for website crawling and sitemap discovery)
  Google Sheets access
  Google Drive access (for template duplication)

  How to set up
  Step 1: Prepare your template (recommended)
  It's recommended to create your own copy of the base template:

  Access the base Google Sheets template
  Make a copy for your personal use
  Update the workflow's "Copy template" node with your template's file ID (replace the default ID: 12lV4HwgudgzPPGXKNesIEExbFg09Tuu9gyC_jSS1HjI)
  This ensures you have control over the template formatting and can customize it as needed

  Step 2: Configure API credentials
  Set up the following credentials in n8n:

  Firecrawl API: For crawling websites and discovering sitemaps
  Google Sheets OAuth2: For creating and updating spreadsheets
  Google Drive OAuth2: For duplicating the template file

  Step 3: Configure Firecrawl settings (optional)
  The workflow uses optimized Firecrawl settings:

  ignoreSitemap: false - Respects the website's sitemap
  sitemapOnly: true - Only crawls URLs listed in sitemap files
  These settings ensure ethical crawling and faster processing

  Step 4: Access the workflow

  The workflow uses a chat trigger interface - no manual configuration needed
  Simply provide the website URL you want to analyze when prompted

  How to use the workflow
  Basic usage

  Start the chat: Access the workflow via the chat interface
  Provide URL: Enter the website URL you want to analyze (e.g., "https://example.com")
  Wait for processing: The system will crawl, organize, and export the data
  Receive your results: Get an automatic direct clickable link to your generated Google Sheets - no need to search for the file

  Error handling

  Invalid URLs: If the provided URL is invalid or the website blocks crawling, you'll receive an immediate error message
  Graceful failure: The workflow stops without creating unnecessary files when errors occur
  Common causes: Incorrect URL format, robots.txt restrictions, or site security settings

  File organization

  Automatic naming: Generated files follow the pattern "[Website URL] - n8n - Arborescence"
  Google Drive storage: Files are automatically organized in your Google Drive
  Instant access: Direct link provided immediately upon completion

  Advanced processing for visual diagrams
  Step 1: Copy sitemap data
  Once your Google Sheets is ready:

  Copy all the hierarchical data from the generated spreadsheet
  Prepare it for AI processing

  Step 2: Generate ASCII tree structure
  Use any AI model with this prompt:
  Create a hierarchical tree structure from the following website sitemap data. Return ONLY the tree structure using ASCII tree formatting with ├── and └── characters. Do not include any explanations, comments, or additional text - just the pure tree structure. The tree should start with the root domain and show all pages organized by their hierarchical levels. Use proper indentation to show parent-child relationships. Here is the sitemap data: [PASTE THE SITEMAP DATA HERE] 

  Requirements: 
  Use ASCII tree characters (├── └── │) 
  Show clear hierarchical relationships 
  Include all pages from the sitemap 
  Return ONLY the tree structure, no other text 
  Start with the root domain as the top level
  Step 3: Create visual mind map

  Visit the Whimsical Diagrams GPT
  Request a mind map creation using your ASCII tree structure
  Get a professional visual representation of your website architecture

  Results interpretation
  Google Sheets output structure
  The generated spreadsheet contains:

  Niv 0 to Niv 5: Hierarchical levels (0 = homepage, 1-5 = navigation depth)
  URL column: Complete URLs for reference
  Hyperlinked structure: Clickable links organized by hierarchy
  Multi-domain support: Handles subdomains and different domain structures

  Data organization features

  Automatic sorting: Pages organized by navigation depth and alphabetical order
  Parent-child relationships: Clear hierarchical structure maintained
  Domain separation: Main domains and subdomains processed separately
  Clean formatting: URLs decoded and formatted for readability

  Workflow limitations

  Sitemap dependency: Only discovers pages listed in the website's sitemap
  Crawling restrictions: Some websites may block external crawlers
  Level depth: Limited to 5 hierarchical levels for clarity
  Rate limits: Respects Firecrawl API limitations
  Template dependency: Requires access to the base template for duplication

  Use cases

  SEO audits: Analyze site structure for optimization opportunities
  UX research: Understand navigation patterns and user paths
  Content strategy: Identify content gaps and organizational issues
  Site migrations: Document existing structure before redesigns
  Competitive analysis: Study competitor site architectures
  Client presentations: Create visual site maps for stakeholder reviews

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.if","n8n-nodes-base.googleDrive","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.respondToWebhook","@mendable/n8n-nodes-firecrawl.firecrawl","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 8736 characters]


name: Create a Knowledge-Powered Chatbot with Claude, Supabase & Postgres
author_name: Growth AI
author_username: growthai
categories: []
created_at: 2025-08-14T12:20:23.845Z
updated_at: 2025-08-14T12:20:23.845Z
url: https://n8n.io/workflows/7381
scraped_at: 2025-09-14 11:38:22
description:
  Intelligent chatbot with custom knowledge base
  Who's it for
  Businesses, developers, and organizations who need a customizable AI chatbot for internal documentation access, customer support, e-commerce assistance, or any use case requiring intelligent conversation with access to specific knowledge bases.
  What it does
  This workflow creates a fully customizable AI chatbot that can be deployed on any platform supporting webhook triggers (websites, Slack, Teams, etc.). The chatbot accesses a personalized knowledge base stored in Supabase and can perform advanced actions like sending emails, scheduling appointments, or updating databases beyond simple conversation.
  How it works
  The workflow combines several powerful components:

  Webhook Trigger: Accepts messages from any platform that supports webhooks
  AI Agent: Processes user queries with customizable personality and instructions
  Vector Database: Searches relevant information from your Supabase knowledge base
  Memory System: Maintains conversation history for context and traceability
  Action Tools: Performs additional tasks like email sending or calendar booking

  Technical architecture

  Chat trigger connects directly to AI Agent
  Language model, memory, and vector store all connect as tools/components to the AI Agent
  Embeddings connect specifically to the Supabase Vector Store for similarity search

  Requirements

  Supabase account and project
  AI model API key (any LLM provider of your choice)
  OpenAI API key (for embeddings - this is covered in Cole Medin's tutorial)
  n8n built-in PostgreSQL access (for conversation memory)
  Platform-specific webhook configuration (optional)

  How to set up
  Step 1: Configure your trigger

  The template uses n8n's default chat trigger
  For external platforms: Replace with webhook trigger and configure your platform's webhook URL
  Supported platforms: Any service with webhook capabilities (websites, Slack, Teams, Discord, etc.)

  Step 2: Set up your knowledge base
  For creating and managing your vector database, follow this comprehensive guide:

  Watch Cole Medin's tutorial on document vectorization
  This video shows how to build a complete knowledge base on Supabase
  The tutorial covers document processing, embedding creation, and database optimization
  Important: The video explains the OpenAI embeddings configuration required for vector search

  Step 3: Configure the AI agent

  Define your prompt: Customize the agent's personality and role

  Example: "You are the virtual assistant for example.com. Help users by answering their questions about our products and services."


  Select your language model: Choose any AI provider you prefer (OpenAI, Anthropic, Google, etc.)
  Set behavior parameters: Define response style, tone, and limitations

  Step 4: Connect Supabase Vector Store

  Add the "Supabase Vector Store" tool to your agent
  Configure your Supabase project credentials
  Mode: Set to "retrieve-as-tool" for automatic agent integration
  Tool Description: Customize description (default: "Database") to describe your knowledge base
  Table configuration:

  Specify the table containing your knowledge base (example shows "growth_ai_documents")
  Ensure your table name matches your actual knowledge base structure
  Multiple tables: You can connect several tables for organized data structure


  The agent will automatically decide when to search the knowledge base based on user queries

  Step 5: Set up conversation memory (recommended)

  Use "Postgres Chat Memory" with n8n's built-in PostgreSQL credentials
  Configure table name: Choose a name for your chat history table (will be auto-created)
  Context Window Length: Set to 20 messages by default (adjustable based on your needs)
  Benefits:

  Conversation traceability and analytics
  Context retention across messages
  Unique conversation IDs for user sessions
  Stored in n8n's database, not Supabase

  How to customize the workflow
  Basic conversation features

  Response style: Modify prompts to change personality and tone
  Knowledge scope: Update Supabase tables to expand or focus the knowledge base
  Language support: Configure for multiple languages
  Response length: Set limits for concise or detailed answers
  Memory retention: Adjust context window length for longer or shorter conversation memory

  Advanced action capabilities
  The chatbot can be extended with additional tools for:

  Email automation: Send support emails when users request assistance
  Calendar integration: Book appointments directly in Google Calendar
  Database updates: Modify Airtable or other databases based on user interactions
  API integrations: Connect to external services and systems
  File handling: Process and analyze uploaded documents

  Platform-specific deployments
  Website integration

  Replace chat trigger with webhook trigger
  Configure your website's chat widget to send messages to the n8n webhook URL
  Handle response formatting for your specific chat interface

  Slack/Teams deployment

  Set up webhook trigger with Slack/Teams webhook URL
  Configure response formatting for platform-specific message structures
  Add platform-specific features (mentions, channels, etc.)

  E-commerce integration

  Connect to product databases
  Add order tracking capabilities
  Integrate with payment systems
  Configure support ticket creation

  Results interpretation
  Conversation management

  Chat history: All conversations stored in n8n's PostgreSQL database with unique IDs
  Context tracking: Agent maintains conversation flow and references previous messages
  Analytics potential: Historical data available for analysis and improvement

  Knowledge retrieval

  Semantic search: Vector database returns most relevant information based on meaning, not just keywords
  Automatic decision: Agent automatically determines when to search the knowledge base
  Source tracking: Ability to trace answers back to source documents
  Accuracy improvement: Continuously refine knowledge base based on user queries

  Use cases
  Internal applications

  Developer documentation: Quick access to technical guides and APIs
  HR support: Employee handbook and policy questions
  IT helpdesk: Troubleshooting guides and system information
  Training assistant: Learning materials and procedure guidance

  External customer service

  E-commerce support: Product information and order assistance
  Technical support: User manuals and troubleshooting
  Sales assistance: Product recommendations and pricing
  FAQ automation: Common questions and instant responses

  Specialized implementations

  Lead qualification: Gather customer information and schedule sales calls
  Appointment booking: Healthcare, consulting, or service appointments
  Order processing: Take orders and update inventory systems
  Multi-language support: Global customer service with language detection

  Workflow limitations

  Knowledge base dependency: Quality depends on source documentation and embedding setup
  Memory storage: Requires active n8n PostgreSQL connection for conversation history
  Platform restrictions: Some platforms may have webhook limitations
  Response time: Vector search may add slight delay to responses
  Token limits: Large context windows may increase API costs
  Embedding costs: OpenAI embeddings required for vector search functionality

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.memoryPostgresChat","@n8n/n8n-nodes-langchain.vectorStoreSupabase","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.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, 5480 characters]


name: Automated Task Tracking & Notifications with Motion and Airtable
author_name: Growth AI
author_username: growthai
categories: []
created_at: 2025-08-14T12:49:34.783Z
updated_at: 2025-08-14T12:49:34.783Z
url: https://n8n.io/workflows/7383
scraped_at: 2025-09-14 11:38:22
description:
  Automated project status tracking with Airtable and Motion
  Who's it for
  Project managers, team leads, and agencies who need to automatically monitor project completion status across multiple clients and send notifications when specific milestones are reached.
  What it does
  This workflow automatically tracks project progress by connecting Airtable project databases with Motion task management. It monitors specific tasks within active projects and triggers email notifications when key milestones are completed. The system is designed to handle multiple projects simultaneously and can be customized for various notification triggers.
  How it works
  The workflow follows a structured monitoring process:

  Data Retrieval: Fetches project information from Airtable (project names and Motion workspace IDs)
  Motion Integration: Connects to Motion API using HTTP requests to retrieve project details
  Project Filtering: Identifies only active projects with "Todo" status containing "SEO" in the name
  Task Monitoring: Checks for specific completed tasks (e.g., "Intégrer les articles de blog")
  Conditional Notifications: Sends email alerts only when target tasks are marked as "Completed"
  Database Updates: Updates Airtable with last notification timestamps

  Requirements

  Airtable account with project database
  Motion account with API access
  Gmail account for email notifications
  HTTP request authentication for Motion API

  How to set up
  Step 1: Configure your Airtable database
  Ensure your Airtable contains the following fields:

  Project names: Names of projects to monitor
  Motion Workspace ID: Workspace identifiers for Motion API calls
  Status - Calendrier éditorial: Project status field (set to "Actif" for active projects)
  Last sent - Calendrier éditorial: Timestamp tracking for notification frequency
  Email addresses: Client and team member contact information

  Step 2: Set up API credentials
  Configure the following authentication in n8n:

  Airtable Personal Access Token: For database access
  Motion API: HTTP header authentication for Motion integration
  Gmail OAuth2: For email notification sending

  Step 3: Configure Motion API integration

  Base URL: Uses Motion API v1 endpoints
  Project retrieval: Fetches projects using workspace ID parameter
  Task monitoring: Searches for specific task names and completion status
  Custom filtering: Targets projects with "SEO" in name and "Todo" status

  Step 4: Customize scheduling

  Default schedule: Runs daily between 10th-31st of each month at 8 AM
  Cron expression: 0 8 10-31 * * (modify as needed)
  Frequency options: Can be adjusted for weekly, daily, or custom intervals

  Step 5: Set up email notifications
  Configure Gmail settings:

  Recipients: Project managers, clients, and collaborators
  Subject line: Dynamic formatting with project name and month
  Message template: HTML-formatted email with professional signature
  Sender name: Customizable organization name

  How to customize the workflow
  Single project, multiple tasks monitoring
  To adapt for monitoring one project with several different tasks:

  Modify the filter conditions to target your specific project
  Add multiple HTTP requests for different task names
  Create conditional branches for each task type
  Set up different notification templates per task

  Multi-project customization

  Database fields: Add custom fields in Airtable for different project types
  Filtering logic: Modify conditions to match your project categorization
  Motion workspace: Support multiple workspaces per client
  Notification rules: Set different notification frequencies per project

  Alternative notification methods
  Replace or complement Gmail with:

  Slack notifications: Send updates to team channels
  Discord integration: Alert development teams
  SMS notifications: Urgent milestone alerts
  Webhook integrations: Connect to custom internal systems
  Teams notifications: Enterprise communication

  Task monitoring variations

  Multiple task types: Monitor different milestones (design, development, testing)
  Task dependencies: Check completion of prerequisite tasks
  Progress tracking: Monitor task progress percentages
  Deadline monitoring: Alert on approaching deadlines

  Conditional logic features
  Smart filtering system

  Active project detection: Only processes projects marked as "Actif"
  Date-based filtering: Prevents duplicate notifications using timestamp comparison
  Status verification: Confirms task completion before sending notifications
  Project type filtering: Targets specific project categories (SEO projects in this example)

  Notification frequency control

  Monthly notifications: Prevents spam by tracking last sent dates
  Conditional execution: Only sends emails when tasks are actually completed
  Database updates: Automatically records notification timestamps
  Loop management: Processes multiple projects sequentially

  Results interpretation
  Automated monitoring outcomes

  Project status tracking: Real-time monitoring of active projects
  Milestone notifications: Immediate alerts when key tasks complete
  Database synchronization: Automatic updates of notification records
  Team coordination: Ensures all stakeholders are informed of progress

  Email notification content
  Each notification includes:

  Project identification: Clear project name and context
  Completion confirmation: Specific task that was completed
  Calendar reference: Links to editorial calendars or project resources
  Professional formatting: Branded email template with company signature
  Action items: Clear next steps for recipients

  Use cases
  Agency project management

  Client deliverable tracking: Monitor when content is ready for client review
  Milestone notifications: Alert teams when phases complete
  Quality assurance: Ensure all deliverables meet completion criteria
  Client communication: Automated updates on project progress

  Editorial workflow management

  Content publication: Track when articles are integrated into websites
  Editorial calendar: Monitor content creation and publication schedules
  Team coordination: Notify writers, editors, and publishers of status changes
  Client approval: Alert clients when content is ready for review

  Development project tracking

  Feature completion: Monitor when development milestones are reached
  Testing phases: Track QA completion and deployment readiness
  Client delivery: Automate notifications for UAT and launch phases
  Team synchronization: Keep all stakeholders informed of progress

  Workflow limitations

  Motion API dependency: Requires stable Motion API access and proper authentication
  Single task monitoring: Currently tracks one specific task type per execution
  Email-only notifications: Default setup uses Gmail (easily expandable)
  Monthly frequency: Designed for monthly notifications (customizable)
  Project naming dependency: Filters based on specific naming conventions
  Manual configuration: Requires setup for each new project type or workspace

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.splitInBatches","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.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.airtable","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.gmail","n8n-nodes-base.airtable"]

workflow_json_compressed:
  [encoded data, 7944 characters]


name: Batch Scrape Website URLs from Google Sheets to Google Docs with Firecrawl
author_name: Growth AI
author_username: growthai
categories: []
created_at: 2025-08-14T13:00:56.819Z
updated_at: 2025-08-14T13:00:56.819Z
url: https://n8n.io/workflows/7384
scraped_at: 2025-09-14 11:38:21
description:
  This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

  Firecrawl batch scraping to Google Docs
  Who's it for
  AI chatbot developers, content managers, and data analysts who need to extract and organize content from multiple web pages for knowledge base creation, competitive analysis, or content migration projects.
  What it does
  This workflow automatically scrapes content from a list of URLs and converts each page into a structured Google Doc in markdown format. It's designed for batch processing multiple pages efficiently, making it ideal for building AI knowledge bases, analyzing competitor content, or migrating website content to documentation systems.
  How it works
  The workflow follows a systematic scraping process:

  URL Input: Reads a list of URLs from a Google Sheets template
  Data Validation: Filters out empty rows and already-processed URLs
  Batch Processing: Loops through each URL sequentially
  Content Extraction: Uses Firecrawl to scrape and convert content to markdown
  Document Creation: Creates individual Google Docs for each scraped page
  Progress Tracking: Updates the spreadsheet to mark completed URLs
  Final Notification: Provides completion summary with access to scraped content

  Requirements

  Firecrawl API key (for web scraping)
  Google Sheets access
  Google Drive access (for document creation)
  Google Sheets template (provided)

  How to set up
  Step 1: Prepare your template

  Copy the Google Sheets template
  Create your own version for personal use
  Ensure the sheet has a tab named "Page to doc"
  List all URLs you want to scrape in the "URL" column

  Step 2: Configure API credentials
  Set up the following credentials in n8n:

  Firecrawl API: For web content scraping and markdown conversion
  Google Sheets OAuth2: For reading URLs and updating progress
  Google Drive OAuth2: For creating content documents

  Step 3: Set up your Google Drive folder

  The workflow saves scraped content to a specific Drive folder
  Default folder: "Contenu scrapé" (Content Scraped)
  Folder ID: 1ry3xvQ9UqM2Rf9C4-AoJdg1lfB9inh_5 (customize this to your own folder)
  Create your own folder and update the folder ID in the "Create file markdown scraping" node

  Step 4: Choose your trigger method
  Option A: Chat interface

  Use the default chat trigger
  Send your Google Sheets URL through the chat interface

  Option B: Manual trigger

  Replace chat trigger with manual trigger
  Set the Google Sheets URL as a variable in the "Get URL" node

  How to customize the workflow
  URL source customization

  Sheet name: Change "Page to doc" to your preferred tab name
  Column structure: Modify field mappings if using different column names
  URL validation: Adjust filtering criteria for URL format requirements
  Batch size: The workflow processes all URLs sequentially (no batch size limit)

  Scraping configuration

  Firecrawl options: Add specific scraping parameters (wait times, JavaScript rendering)
  Content format: Currently outputs markdown (can be modified for other formats)
  Error handling: The workflow continues processing even if individual URLs fail
  Retry logic: Add retry mechanisms for failed scraping attempts

  Output customization

  Document naming: Currently uses the URL as document name (customizable)
  Folder organization: Create subfolders for different content types
  File format: Switch from Google Docs to other formats (PDF, TXT, etc.)
  Content structure: Add headers, metadata, or formatting to scraped content

  Progress tracking enhancements

  Status columns: Add more detailed status tracking (failed, retrying, etc.)
  Metadata capture: Store scraping timestamps, content length, etc.
  Error logging: Track which URLs failed and why
  Completion statistics: Generate summary reports of scraping results

  Use cases
  AI knowledge base creation

  E-commerce product pages: Scrape product descriptions and specifications for chatbot training
  Documentation sites: Convert help articles into structured knowledge base content
  FAQ pages: Extract customer service information for automated support systems
  Company information: Gather about pages, services, and team information

  Content analysis and migration

  Competitor research: Analyze competitor website content and structure
  Content audits: Extract existing content for analysis and optimization
  Website migrations: Backup content before site redesigns or platform changes
  SEO analysis: Gather content for keyword and structure analysis

  Research and documentation

  Market research: Collect information from multiple industry sources
  Academic research: Gather content from relevant web sources
  Legal compliance: Document website terms, policies, and disclaimers
  Brand monitoring: Track content changes across multiple sites

  Workflow features
  Smart processing logic

  Duplicate prevention: Skips URLs already marked as "Scrapé" (scraped)
  Empty row filtering: Automatically ignores rows without URLs
  Sequential processing: Handles one URL at a time to avoid rate limiting
  Progress updates: Real-time status updates in the source spreadsheet

  Error handling and resilience

  Graceful failures: Continues processing remaining URLs if individual scrapes fail
  Status tracking: Clear indication of completed vs. pending URLs
  Completion notification: Summary message with link to scraped content folder
  Manual restart capability: Can resume processing from where it left off

  Results interpretation
  Organized content output
  Each scraped page creates:

  Individual Google Doc: Named with the source URL
  Markdown formatting: Clean, structured content extraction
  Metadata preservation: Original URL and scraping timestamp
  Organized storage: All documents in designated Google Drive folder

  Progress tracking
  The source spreadsheet shows:

  URL list: Original URLs to be processed
  Status column: "OK" for completed, empty for pending
  Real-time updates: Progress visible during workflow execution
  Completion summary: Final notification with access instructions

  Workflow limitations

  Sequential processing: Processes URLs one at a time (prevents rate limiting but slower for large lists)
  Google Drive dependency: Requires Google Drive for document storage
  Firecrawl rate limits: Subject to Firecrawl API limitations and quotas
  Single format output: Currently outputs only Google Docs (easily customizable)
  Manual setup: Requires Google Sheets template preparation before use
  No content deduplication: Creates separate documents even for similar content

nodes_used:
  ["n8n-nodes-base.if","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.chatTrigger","@mendable/n8n-nodes-firecrawl.firecrawl","n8n-nodes-base.googleSheets","n8n-nodes-base.filter","n8n-nodes-base.googleDrive","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","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, 5164 characters]


