# templates

name: Build Your First AI Agent
author_name: Lucas Peyrin
author_username: lucaspeyrin
categories: []
created_at: 2025-07-22T12:14:21.343Z
updated_at: 2025-07-22T12:14:21.343Z
url: https://n8n.io/workflows/6270
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 19:22:26
description:
  How it works

  This template launches your very first AI Agent —an AI-powered chatbot that can do more than just talk— it can take action using tools.

  Think of an AI Agent as a smart assistant, and the tools are the apps on its phone. By connecting it to other nodes, you give your agent the ability to interact with real-world data and services, like checking the weather, fetching news, or even sending emails on your behalf.

  This workflow is designed to be the perfect starting point:
  The Chat Interface:** A Chat Trigger node provides a simple, clean interface for you to talk to your agent.
  The Brains:** The AI Agent node receives your messages, intelligently decides which tool to use (if any), and formulates a helpful response. Its personality and instructions are fully customizable in the "System Message".
  The Language Model:* It uses *Google Gemini** to power its reasoning and conversation skills.
  The Tools:** It comes pre-equipped with two tools to demonstrate its capabilities:
      Get Weather: Fetches real-time weather forecasts.
      Get News: Reads any RSS feed to get the latest headlines.
  The Memory:** A Conversation Memory node allows the agent to remember the last few messages, enabling natural, follow-up conversations.

  Set up steps

  Setup time: ~2 minutes

  You only need one thing to get started: a free Google AI API key.

  Get Your Google AI API Key:
      Visit Google AI Studio at aistudio.google.com/app/apikey.
      Click "Create API key in new project" and copy the key that appears.

  Add Your Credential in n8n:
      On the workflow canvas, go to the Connect your model (Google Gemini) node.
      Click the Credential dropdown and select + Create New Credential.
      Paste your API key into the API Key field and click Save.

  Start Chatting!
      Go to the Example Chat node.
      Click the "Open Chat" button in its parameter panel.
      Try asking it one of the example questions, like: "What's the weather in Paris?" or "Get me the latest tech news."

  That's it! You now have a fully functional AI Agent. Try adding more tools (like Gmail or Google Calendar) to make it even more powerful.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.rssFeedReadTool","n8n-nodes-base.httpRequestTool","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6520 characters]

metadata_json:
[cell repeats an earlier one in this file: 210 characters]


name: Track Top Social Media Trends with Reddit, Twitter, and GPT-4o to SP/Drive
author_name: plemeo
author_username: plemeo
categories: []
created_at: 2025-07-22T13:14:05.038Z
updated_at: 2025-07-22T13:14:05.038Z
url: https://n8n.io/workflows/6272
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  Who’s it for  
  Content creators, marketers, journalists, and product teams who need a quick, automated snapshot of what the internet is talking about—served as a ready-to-use spreadsheet every morning.

  How it works / What it does  
  Manual Trigger / Cron starts the flow.  
  Set Config picks today’s date and a topic keyword (default “Artificial Intelligence”).  
  API calls gather trend data:  
     • Reddit API → /r/artificial “hot” posts.  
     • Twitter (X) Trends via our own plemeo endpoint or any other social API.  
     (Add additional sources before the Merge Data node—Instagram, YouTube, TikTok, etc.)  
  Aggregate Content concatenates raw titles; AI Agent (GPT-4o) analyses them and returns the top 5 trends in JSON.  
  Prepare Excel formats each trend into rows; Create Excel turns them into an .xlsx file.  
  Upload the file to SharePoint (swap for Google Drive, Dropbox, S3—just replace the node).  

  How to set up  
  Import the template into n8n (cloud or self-hosted).  
  Create credentials: Reddit OAuth2, OpenAI, and your preferred storage (SharePoint, Drive, etc.).  
  In Set Config choose your default topic; adjust the cron schedule if required.  
  If you’re using Google Drive/Dropbox: delete the SharePoint node and add the corresponding upload node instead.  
  (Optional) Add more APIs—duplicate Merge Data inputs and map their results in Aggregate Content.  
  Save & activate. A spreadsheet called social-media-trends.xls appears in your target folder each run.

  Requirements  
  n8n 1.33 +  
  Reddit app (OAuth2)  
  OpenAI account
  One storage credential: SharePoint, Google Drive, Dropbox, or any other supported provider

  How to customize  
  Change the number of trends: edit the limit in Aggregate Content and the prompt in AI Agent.  
  Want CSV instead of Excel? Swap Create Excel for Spreadsheet File → to File (CSV).  
  Push trends to Slack/Teams: branch after Prepare Excel and add a chat node.  
  Fully serverless? Trigger via webhook instead of manual/cron.

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

workflow_json_compressed:
  H4sIAAAAAAAAE52W227cNhCGX0XgVQtoHJ7Ew17VddLCFzk0NhoggVGMyOFaya6kauk4gWEgj9G+Xp6k0Ma1FVub2Lnd/fXzI4cz/C9YE9mCvXqyeS7j+dsDfGaenf9xzEq2poxsccGadpOxDXQ46mRIVkstfZCkiDRVKDk3Pqro0FaSu0p4xVXtjE5cGrReG00JrTR19BUrWaZ1v8JMBwPFzRHls/6gW/cryhTZIg9ndFmyFtfEFmz8o1lRkbu+2HShwRWsKTZY5IHauClyV2z6gTBuToly0bXF0SkO9KJr2lz81A3F46F5T48eD11fdx9+HhfH5YYt3lx82fV5//Swf3LU/vq6jy8O+rfseuWnOLyj3LRLVrIwEGaK+3ncP5cVcANcHQuxUG6h7B6X/DUr2Vkfvy+7PClZ20WaQKCOkYvaQ2WjAS1SAm8UB1EHI61J2kW8AXtJMTa52H9xOO7mYz/+1roWtqZQ44b2TnPuX9LfZ7TJrGR9t2ly07Vs8QaUMqV2JyXrccA1ZRo2bHFx+cXoTxo2W526LK/QUuSK2yqBJSlBO3RQe4lASXmLNlpNZnJmNCypeIwZd6KtR8ktKG9K4eX3oOSeuMaqqxiViQZQ2Aq08RU45BI4eSmVrQOP6gZrf7kcaImZioOuzdTmnXShi7fgHL8X2zUZopQuSAOJag06egJfqQpkRFlrRGVUdUP2YqAeByqefAi0egCV4e6BWBGNTx5B1d6DDlqAdzGBTxSl0d4Jp2+wDrb3/TtUk777rVndPjYlHwaYTEwyJQ0pcgOaWwX1SIlWRBmM0FzwSUUPi/3lV4X8pXXtoxvCFbbLcIpNu4dXugmcdK4EYe4P51MQlQwE2pABXQUJLqoEVqInpVNVq0mDPu+p3T8sDk4xF0+7OD3CnZSr9Sjfftnchb3HSYq9G1zFJVWiJqhJCtDOKaiNRJAiuBRM0AEnxX51Sm0RVk1417TL4vOnf558oHCWqTjvhndp1Z1//vTv7nbG9gxXx0OzXNJwq62tuR/5NXcwsgqhcoAaETT3HHytBFQqeJkiuqjsZNg0Yeg2XcqTkb+b83/xV9oJreD6Xp0uJqPRymgiQZRVBF3XAryUNTjUiUcVbR0ml+J3ysXxeZMzDcXx9u36wemtJP8eo57cBStIY+I1+Mon0I7GeVRpsCpyh0JhHeQN5RHlcUamZrm77ek2VWXudXJqT19TVV5UaMfLiQFBJ5fAeUkQk6hkDLL2OOn2o9yEdx+LZ12m3VhbzZVkSjdOIpD8zpvHwtVbsGBsd5HJam9jdFBZiqBTiuA1Kkh8LLiLqIKeBRUPJhVClmOFfwyUCy4SrwwIE8YMUSOgDwFCZa2LKqDRcRZUPhjUSl6CEHcKfj9Q5YM12msQaDRoWxnwSXJwInBng9RKy1lQ9UOgyumHcZ6UDENu3hNbJFxtqGQbymMO3H5K29nYdO3zIdLAFuy9GD3ef/l+G5A9V0pG5yGG7fSNCK5yNRhfRWl8cMqPkSl0bUthtNoaX79oiwu2xmbEf3OxDYq7Y8JWV7KmjfSBLfjlycllOc1gc1bfyEKzdpO0OWc3l/hmfSaTZc5nLtTe9imv1d8aprOrfxVoZvfxzcdk1vProsyZzseoWbO7ZZkt3p3YM2t2N4AsLhg2f41x4wyXdPXbN43vyG8vMlODH7sg4ovfvWLI3Apzb9bMsVxe/gd93zlz6Q4AAA==

metadata_json:
  {"categories":["automation","integration","data processing","social media monitoring","reporting"],"complexity":"medium","use_cases":["Daily social media trend reports","Content ideation and headline generation","Social listening and market research","Briefs for product/marketing teams or newsletters","Automated archival of trending topics for analysis"],"estimated_setup_minutes":30,"required_services":["n8n (v1.33+)","Reddit API (OAuth2)","OpenAI (GPT-4o) or compatible LLM endpoint","Twitter/X API or custom trends endpoint (e.g., plemeo)","Storage provider: SharePoint OR Google Drive OR Dropbox OR S3","Optional: Instagram/YouTube/TikTok APIs if adding more sources"],"key_features":["Cron/manual trigger to run daily or on demand","Fetches hot posts from Reddit and trends from Twitter/X (extendable to other platforms)","Aggregates and concatenates raw post titles/content","AI analysis (GPT-4o) extracts top N trends and returns structured JSON","Formats trends into spreadsheet rows and creates .xlsx file (or CSV if swapped out)
  Upload to configurable storage (SharePoint/Drive/Dropbox/S3)"],"target_audience":["Content creators","Marketers","Journalists and editors"]}


name: Daily Business News Briefings with NewsAPI & GPT-4 Insights to Slack
author_name: James Carter
author_username: arioloop
categories: []
created_at: 2025-07-22T13:21:21.265Z
updated_at: 2025-07-22T13:21:21.265Z
url: https://n8n.io/workflows/6273
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:34
description:
  This n8n workflow automatically fetches trending news articles based on your chosen country, category, and keyword — then enriches the data with AI-powered business insights before posting a concise summary to Slack.

  Ideal for sales teams, executives, marketers, or anyone who wants fast, actionable news briefings directly in their Slack workspace.

  ⸻

  Who it’s for

  Executives, analysts, sales teams, or marketing professionals who want curated, AI-enhanced news summaries tailored to business opportunities, risks, and trends — delivered automatically to Slack.

  ⸻

  How it works / What it does
  A Schedule Trigger runs on a daily, weekly, or custom frequency.
  It queries the NewsAPI to retrieve top headlines by country, category, or keyword.
  Headlines are formatted and enriched with your configured query context.
  The AI model (GPT-4) analyzes articles and summarizes key insights, categorizing them as Opportunities, Risks, or Trends.
  Finally, the summarized insights are posted directly into a Slack channel of your choice.

  ⸻

  How to set up
  Set your schedule frequency in the Schedule Trigger node.
  Configure your preferred country, category, and keyword in the Inject Config node.
  Add your NewsAPI Key inside the Fetch News Articles node.
  Connect your Slack credentials in the Post to Slack node.
  Optional: Adjust the AI prompt for more tailored analysis.

  ⸻

  Requirements
  A NewsAPI account to fetch headlines.
  An OpenAI API key for GPT-4 summarization.
  A Slack workspace and connected credentials via n8n.

  ⸻

  How to customize the workflow
  Change the country, category, or keyword in the Inject Config to focus on specific markets or sectors.
  Adjust the AI prompt in the GPT node to prioritize certain insights like ESG factors, M&A activity, or market sentiment.
  Extend the workflow to log results to Google Sheets, email summaries, or send SMS alerts.
  Replace the Schedule Trigger with a Webhook if you want to trigger summaries on demand.

  This template is designed to be modular, making it easy to adapt for competitive intelligence, investment tracking, or industry news curation.

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.slack","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.merge","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5264 characters]

metadata_json:
  {"categories":["automation","integration","data processing","AI enrichment"],"complexity":"medium","use_cases":["Daily executive news briefings","Competitive intelligence and market monitoring","Sales/lead discovery and opportunity alerts","Marketing trend tracking and PR monitoring","Automated industry summaries for teams"],"estimated_setup_minutes":15,"required_services":["NewsAPI (API key)","OpenAI (GPT-4 API key)","Slack workspace and credentials","n8n instance"],"key_features":["Scheduled retrieval of top headlines by country, category, or keyword","AI-powered summarization and classification into Opportunities, Risks, and Trends","Configurable prompt/context for tailored analysis","Automated posting of concise summaries to Slack channels","Modular workflow allowing extensions (Google Sheets logging, email, SMS) or webhook triggering"],"target_audience":["Executives","Analysts","Sales teams (business development)‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎)‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎] , "]}


name: Auto-Generate SEO Content from Trends with GPT-4o, FAL AI & Multi-Storage
author_name: plemeo
author_username: plemeo
categories: []
created_at: 2025-07-22T14:19:31.140Z
updated_at: 2025-07-22T14:19:31.140Z
url: https://n8n.io/workflows/6278
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  Who's it for  
  Content creators, SEO specialists, and marketing teams who want to automatically generate SEO-optimized content based on trending topics—complete with AI-generated images, optional videos, and ready-to-publish HTML.

  How it works / What it does  
  Webhook receives a request with use case and video preferences.  
  Get Trends XLSX downloads a spreadsheet (created by the Social Media Trends workflow) from SharePoint.  
  Select Topic from Trends randomly picks one trending topic from the spreadsheet.  
  AI Agent (GPT-4o) generates bilingual newsletter content about the selected trend.  
  Get Newsletter Template fetches your HTML template; Build Newsletter injects the AI content.  
  Optional creative assets:  
     • Pollinations AI → generates a 1080 × 1350 image.  
     • FAL AI → creates video from the image + Lyria2 audio → merged via FFmpeg.  
  Gmail Approval sends the draft for review; continues only on approval.  
  Upload all files (HTML + JPG + video URL) to your chosen storage provider.

  How to set up  
  Import the template into n8n (cloud or self-hosted).  
  Create credentials: OpenAI, Microsoft 365 (SharePoint), Gmail, and FAL AI.  
  Upload your HTML newsletter template to SharePoint (see yellow sticky note for required placeholders).  
  Ensure you have a trends spreadsheet (from the Social Media Trends workflow) in your SharePoint folder.  
  Update Configuration Settings with your ENV_* variables.  
  Activate the workflow and POST to the webhook: { "text": "usecase: blog post, include_video: true" }.

  Requirements  
  n8n 1.33 +  
  OpenAI account 
  Microsoft 365 tenant (SharePoint)  
  Gmail account  
  FAL AI API Key (for video generation)  
  A trends spreadsheet (from the Social Media Trends workflow)

  How to customize  
  Change storage provider: replace SharePoint upload nodes with Google Drive, Dropbox, or S3.  
  Modify topic selection: edit Select Topic from Trends for different selection logic.  
  Adjust content tone: tweak the prompt in Prepare Newsletter Data.  
  Skip video generation: set include_video: false in the webhook request.

nodes_used:
  ["n8n-nodes-base.spreadsheetFile","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.microsoftSharePoint","n8n-nodes-base.microsoftSharePoint","n8n-nodes-base.switch","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.merge","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.microsoftSharePoint","n8n-nodes-base.microsoftSharePoint","n8n-nodes-base.microsoftSharePoint","n8n-nodes-base.gmail","n8n-nodes-base.set","n8n-nodes-base.convertToFile","n8n-nodes-base.webhook","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.extractFromFile","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4228 characters]

metadata_json:
  {"categories":["automation","content creation","AI","marketing","integration"],"complexity":"complex","use_cases":["Automatically generate SEO-optimized articles/newsletters from trending topics","Produce bilingual newsletter copy ready to inject into HTML templates","Generate AI images and optional short videos for content","Run human approval workflow before publishing","Store final assets (HTML, images, video links) in cloud storage for publishing"],"estimated_setup_minutes":45,"required_services":["n8n (self-hosted or cloud) v1.33+","OpenAI (GPT-4o) API","Microsoft 365 (SharePoint) account","Gmail account (for approval emails)","FAL AI API (video generation and Lyria2 audio)","Pollinations (AI image generation) or equivalent image API","FFmpeg (for merging audio/video) accessible to the n8n runtime","Cloud storage provider (SharePoint by default; can replace with Google Drive, Dropbox, or S3)"],"key_features":["Webhook-triggered workflow to kick off content generation","Selects a random trending topic from a SharePoint-hosted XLSX","GPT-4o AI Agent generates bilingual SEO-optimized content","Injects AI content into an HTML newsletter template","Optional AI-generated image (Pollinations) and AI video (FAL AI + Lyria2 audio) merged via FFmpeg"],"target_audience":["Content creators","SEO specialists","Marketing teams and managers (newsletters, blogs, social content owners)"]}


name: N8N Documentation Expert Chatbot with OpenAI RAG Pipeline
author_name: Ayham Joumran
author_username: ayhamjo7
categories: []
created_at: 2025-07-22T15:34:33.023Z
updated_at: 2025-07-22T15:34:33.023Z
url: https://n8n.io/workflows/6281
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  How It Works

  This template is a complete, hands-on tutorial for building a RAG (Retrieval-Augmented Generation) pipeline. In simple terms, you'll teach an AI to become an expert on a specific topic—in this case, the official n8n documentation—and then build a chatbot to ask it questions.

  Think of it like this: instead of a general-knowledge AI, you're building an expert librarian.

  🔧 Workflow Overview

  The workflow is split into two main parts:

  Part 1: Indexing the Knowledge (📚 Building the Library)

  This is a one-time process you run manually. The workflow will:

  Automatically scrape all pages of the n8n documentation.
  Break them down into small, digestible chunks.
  Use an AI model to create a numerical representation (an embedding) for each chunk.
  Store these embeddings in n8n's built-in Simple Vector Store.

  &gt; This is like a librarian reading every book and creating a hyper-detailed index card for every paragraph.

  &gt; ⚠️ Important: This in-memory knowledge base is temporary. It will be erased if you restart your n8n instance. You'll need to run the indexing process again in that case.

  Part 2: The AI Agent (🧠 The Expert Librarian)

  This is the chat interface.

  When you ask a question:

  The AI agent doesn't guess the answer.
  It searches the knowledge base to find the most relevant “index cards” (chunks).
  It feeds those chunks to a language model (Gemini) with strict instructions:
     &gt; “Answer the user's question using ONLY this information.”

  This ensures answers are accurate, factual, and grounded in your documents.

  🚀 Setup Steps

  &gt; Total setup time: ~2 minutes  
  &gt; Indexing time: ~15–20 minutes

  This template uses n8n’s built-in tools, so no external database is needed.

  1. Configure OpenAI Credentials

  You’ll need an OpenAI API key (for GPT models).
  In your n8n workflow:
    Go to any of the three OpenAI nodes (e.g., OpenAI Chat Model).
    Click the Credential dropdown → + Create New Credential.
    Enter your OpenAI API key and save.

  2. Apply Credentials to All Nodes

  Your new credential is now saved.
  Go to the other two OpenAI nodes (e.g., OpenAI Embeddings) and select the newly created credential from the dropdown.

  3. Build the Knowledge Base

  Find the Start Indexing manual trigger node (top-left of the workflow).
  Click the Execute Workflow button to start indexing.

  &gt; ⚠️ Be patient: This takes 15–20 minutes to scrape and process the full documentation.  
  &gt; You only need to do this once per n8n session.

  4. Chat With Your Expert Agent

  After indexing completes, activate the entire workflow (toggle at the top).
  Open the RAG Chatbot chat trigger node (bottom-left).
  Copy its Public URL.
  Open it in a new tab and ask questions about n8n!

  Example questions:

  "How does the IF node work?"
  "What is a sub-workflow?"

  👤 Credits

  All credits go to Lucas Peyrin  
  🔗 lucaspeyrin on n8n.io

nodes_used:
  ["@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","n8n-nodes-base.removeDuplicates","n8n-nodes-base.filter","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.html","n8n-nodes-base.splitOut","n8n-nodes-base.removeDuplicates","n8n-nodes-base.executeWorkflow","n8n-nodes-base.httpRequest","n8n-nodes-base.html","n8n-nodes-base.stickyNote","n8n-nodes-base.splitInBatches","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.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.manualTrigger","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.executeWorkflowTrigger","@n8n/n8n-nodes-langchain.vectorStoreInMemory","@n8n/n8n-nodes-langchain.vectorStoreInMemory","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.embeddingsOpenAi"]

workflow_json_compressed:
  [encoded data, 15356 characters]

metadata_json:
  {"categories":["AI & NLP","Knowledge Management","Chatbot / Support","n8n Automation"],"complexity":"medium","use_cases":["Build an expert chatbot over n8n documentation","Internal knowledge base / docs search","Customer support automation and FAQ answering","Onboarding and developer help for n8n users","Proofs and demos of RAG pipelines"],"estimated_setup_minutes":20,"required_services":["OpenAI (API key for embeddings and chat models)","n8n instance (uses built-in Simple Vector Store)","Internet access to scrape the n8n documentation"],"key_features":["Automated scraping of n8n documentation","Text chunking and embedding generation","In-memory vector store for retrieval","Retrieval-Augmented Generation (RAG) chat flow","Chatbot interface with public webhook URL for queries only using retrieved docs as source of truth (grounded answers) – no hallucination policy enforced in prompts (answers must use only provided chunks) - manual indexing trigger to rebuild index as needed"],"target_audience":["n8n users and maintainers","Developers and automation engineers","Technical writers and documentation teams supporting n8n users and contributors"]}


name: Email Support Agent w/ Gemini & GPT fallback using Gmail + Google Sheets
author_name: David Olusola
author_username: dae221
categories: []
created_at: 2025-07-22T20:42:47.912Z
updated_at: 2025-07-22T20:42:47.912Z
url: https://n8n.io/workflows/6287
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  📧 Master Your First AI Email Agent with Smart Fallback!

  Welcome to your hands-on guide for building a resilient, intelligent email support system in n8n! This workflow is specifically designed as an educational tool to help you understand advanced AI automation concepts in a practical, easy-to-follow way.

  🚀 What You'll Learn & Build:

  This powerful template enables you to create an automated email support agent that:

  Monitors Gmail** for new customer inquiries in real-time.
  Processes requests** using a primary AI model (Google Gemini) for efficiency.
  Intelligently falls back to a secondary AI model** (OpenAI GPT) if the primary model fails or for more complex queries, ensuring robust reliability.
  Generates personalized and helpful replies** automatically.
  Logs every interaction** meticulously to a Google Sheet for easy tracking and analysis.

  💡 Why a Fallback Model is Game-Changing (and Why You Should Learn It):

  Unmatched Reliability (99.9% Uptime):** If one AI service experiences an outage or rate limits, your automation seamlessly switches to another, ensuring no customer email goes unanswered.
  Cost Optimization:** Leverage more affordable models (like Gemini) for standard queries, reserving premium models (like GPT) only when truly needed, significantly reducing your API costs.
  Superior Quality Assurance:** Get the best of both worlds – the speed of cost-effective models combined with the accuracy of more powerful ones for complex scenarios.
  Real-World Application:** This isn't just theory; it's a critical pattern for building resilient, production-ready AI systems.

  🎓 Perfect for Beginners & Aspiring Automators:

  Simple Setup:** With drag-and-drop design and pre-built integrations, you can get this workflow running with minimal configuration. Just add your API keys!
  Clear Educational Value:** Learn core concepts like AI model orchestration strategies, customer service automation best practices, and multi-model AI implementation patterns.
  Immediate Results:** See your AI agent in action, responding to emails and logging data within minutes of setup.

  🛠️ Getting Started Checklist:

  To use this workflow, you'll need:

  A Gmail account with API access enabled.
  A Google Sheets document created for logging.
  A Gemini API key (your primary AI model).
  An OpenAI API key (your fallback AI model).
  An n8n instance (cloud or desktop).

  Embark on your journey to building intelligent, resilient automation systems today!

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

workflow_json_compressed:
  [encoded data, 7204 characters]

metadata_json:
  {"categories":["automation","integration","customer support","AI"],"complexity":"medium","use_cases":["Automated email support and reply generation","Multi-model AI orchestration with primary + fallback","Cost-optimized AI handling (use cheaper model first)","Logging and tracking support interactions for analysis","Educational template to learn AI automation patterns"],"estimated_setup_minutes":15,"required_services":["Gmail (API access)","Google Sheets","Google Gemini API key","OpenAI API key (GPT)","n8n instance"],"key_features":["Real-time Gmail monitoring for new inquiries","Primary AI processing with Google Gemini","Intelligent fallback to OpenAI GPT when needed","Automatic personalized reply generation","Interaction logging to Google Sheets for auditing/analytics','Low-code drag-and-drop workflow for quick setup"],"target_audience":["Beginners learning AI automation","Automation engineers and makers","Customer support teams implementing auto-responses for email workflows','Developers building resilient multi-model systems"]}


name: Company Website Chatbot Agent (RAG, Calendar integrations)
author_name: Abdul Mir
author_username: abdulmir
categories: []
created_at: 2025-07-22T22:31:19.662Z
updated_at: 2025-07-22T22:31:19.662Z
url: https://n8n.io/workflows/6290
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  Company Website Chatbot Agent

  Overview
  This workflow implements a modular Website AI Chatbot Assistant capable of handling multiple types of customer interactions autonomously. Instead of relying on a single large agent to handle all logic and tools, this system routes user queries to specialized sub-agents—each dedicated to a specific function.

  By using a manager-style orchestration layer, this approach prevents overloading a single AI model with excessive context, leading to cleaner routing, faster execution, and easier scaling as your automation needs grow.

  How It Works

  1. Chat Trigger  
  The flow is initiated when a chat message is received via the website widget.

  2. Manager Agent (Ultimate Website AI Assistant)  
  The central LLM-based agent is responsible for parsing the message and deciding which specialized sub-agent to route it to.
  It uses an OpenAI GPT model for natural language understanding and a lightweight memory system to preserve recent context.

  3. Sub-Agent Routing  
  calendarAgent: Handles availability checks and books meetings on connected calendars.  
  RAGAgent: Searches company documentation or FAQs to provide accurate responses from your internal knowledge base.  
  ticketAgent: Forwards requests to human support by generating and sending support tickets to a designated email.

  Setup Instructions

  Embed the Chatbot  
     Use a custom HTML widget or script to embed the chatbot interface on your website.  
     Connect the frontend to the webhook that triggers the When chat message received node.

  Configure Your OpenAI Key  
     Insert your API key in the OpenAI Chat Model node.  
     Adjust the model parameters for temperature, max tokens, etc., based on how formal or creative you want the bot to be.

  Customize Sub-Agents  
     calendarAgent: Connect to your Google or Outlook calendar.  
     RAGAgent: Link to a vector store or document database via API or native integration.  
     ticketAgent: Set the destination email and format for ticket generation (e.g. via SendGrid or SMTP).

  Deploy in Production  
     Host on n8n Cloud or your self-hosted instance.  
     Monitor usage through the Executions tab and refine prompts based on user behavior.

  Benefits

  Modular system with dedicated logic per function  
  Reduces token bloat by offloading complexity to sub-agents  
  Easy to scale by adding more tools (e.g. CRM, analytics)  
  Fast and responsive user experience for customers on your site  
  Cleaner code structure and easier debugging

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

workflow_json_compressed:
  [encoded data, 5004 characters]

metadata_json:
  {"categories":["automation","conversational AI","customer support","knowledge management","scheduling"],"complexity":"complex","use_cases":["Website customer support chatbot","Automated meeting scheduling and availability checks","Answering product/FAQ questions via RAG from internal docs","Escalating requests by creating support tickets","Modular routing of user requests to specialized agents"],"estimated_setup_minutes":90,"required_services":["OpenAI (GPT) API","Google Calendar or Microsoft Outlook Calendar API","Vector store / document DB for RAG (e.g., Pinecone, Weaviate, or similar)","Email service or SMTP (e.g., SendGrid) for ticket notifications","Website webhook/frontend to receive/send chat messages","n8n instance (Cloud or self-hosted)"],"key_features":["Manager-style LLM router that delegates to specialized sub-agents","RAG agent for retrieval-augmented answers from internal docs","Calendar agent for availability checks and booking","Ticket agent to forward issues to human support via email","Lightweight memory buffer to preserve recent context per session/agent routing over time-state isolation to avoid token bloat"],"target_audience":["Developers/automation engineers","Customer support teams","Product managers/owners of web properties with chat interfaces"]}


name: Automated Job Extraction & Publishing with RAG, Jina AI and OpenAI to WordPress
author_name: Khairul Muhtadin
author_username: khmuhtadin
categories: []
created_at: 2025-07-23T04:30:55.957Z
updated_at: 2025-07-23T04:30:55.957Z
url: https://n8n.io/workflows/6299
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:33
description:
  Auto repost job with RAG is a workflow designed to automatically extract, process, and publish job listings from monitored sources using Google Drive, OpenAI, Supabase, and WordPress. This integration streamlines job reposting by intelligently extracting relevant job data, mapping categories and types accurately, managing media assets, and publishing posts seamlessly.

  💡 Why Use Auto repost job with RAG?

  Automated Publishing: Slash manual entry time by automating job post extraction and publication, freeing hours every week.

  Error-Resistant Workflow: Avoid incomplete job posts with smart validation checks to ensure all necessary fields are ready before publishing.

  Consistent Content Quality: Maintain formatting, SEO, and style consistency backed by AI-driven article regeneration adhering strictly to your guidelines.

  Competitive Edge: Get fresh jobs live faster than your competitors without lifting more than a finger—because robots don't take coffee breaks!

  ⚡ Perfect For

  Recruiters & HR Teams: Accelerate your job posting funnel with error-free automation.

  Content Managers: Keep your job boards fresh with AI-enriched standardized listings.

  Digital Marketers: Automate content flows to boost SEO and engagement without the headache.

  🔧 How It Works

  ⏱ Trigger: Job link inputs via Telegram.

  📎 Process: Auto-download of job documents, data extraction using Jina AI and OpenAI's GPT-4 model to parse content and metadata.

  🤖 Smart Logic: AI agent regenerates articles based on strict RAG dataset rules; category & job type IDs mapped to match WordPress taxonomy; fallback attempts with default images for missing logos.

  💌 Output: Job posts formatted and published to WordPress; success or failure updates sent back via Telegram notifications.

  🗂 Storage: Uses Supabase vector store for document embedding and retrieval related to formatting rules and job data.

  🔐 Quick Setup

  Import the provided JSON workflow into your n8n instances
  Add credentials: Google Drive OAuth, OpenAI API, Supabase API, Telegram API, WordPress API
  Customize: Set your Google Drive folder ID, WordPress endpoints, and Telegram chat IDs
  Update: Confirm default logo URLs and fallback settings as needed
  Test: Submit a new job link via Telegram or add a file to the watched Drive folder

  🧩 You'll Need

  Active n8n instances
  Google Drive Account with OAuth2 credentials
  OpenAI API access for GPT-4 processing
  Supabase account configured for vector storage
  WordPress API credentials for job listing publishing
  Telegram Bot for notifications and job link inputs

  🛠️ Level Up Ideas

  Integrate Slack, Gmail or Teams notifications for teams visibility
  Add a sentiment analysis step to prioritize certain jobs
  Automate social media posting of new job listings for wider reach

  Made by: Khmuhtadin  
  Tags: automation, job-posting, AI, OpenAI, Google Drive, WordPress  
  Category: content automation  
  Need custom work? Contact me

nodes_used:
  ["n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.vectorStoreSupabase","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.vectorStoreSupabase","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.telegramTrigger","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.telegram","n8n-nodes-base.wait","n8n-nodes-base.if","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.memoryPostgresChat","n8n-nodes-base.jinaAi","n8n-nodes-base.code","n8n-nodes-base.telegram","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.stickyNote","n8n-nodes-base.errorTrigger","n8n-nodes-base.telegram","n8n-nodes-base.code","n8n-nodes-base.telegram","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest"]

workflow_json_compressed:
  [encoded data, 18228 characters]

metadata_json:
  {"categories":["automation","integration","content automation","AI"],"complexity":"complex","use_cases":["Automated job-post extraction and reposting","AI-driven content standardization and regeneration (RAG)","Media asset handling and fallback for missing logos","Publishing job listings to WordPress with taxonomy mapping","Notifications and monitoring via Telegram"],"estimated_setup_minutes":60,"required_services":["n8n instance","Google Drive (OAuth)","OpenAI (GPT-4)","Jina AI","Supabase (vector store)","WordPress API","Telegram Bot API"],"key_features":["Automated download and extraction of job documents","RAG-based article regeneration using embeddings and Supabase","Category and job-type mapping to WordPress taxonomy","Fallback image handling and media management","Validation checks to prevent incomplete posts before publishing','Telegram notifications for success/failure and trigger inputs"],"target_audience":["Recruiters & HR teams","Content managers","Digital marketers automating job boards / SEO posts"]}


name: Get Blockchain Insights from Chat using GPT-4 and Nansen MCP
author_name: Nansen
author_username: nansen
categories: []
created_at: 2025-07-23T05:26:42.380Z
updated_at: 2025-07-23T05:26:42.380Z
url: https://n8n.io/workflows/6303
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

  How it works

  This workflow listens for an incoming chat message and routes it to an AI Agent. The agent is powered by your preferred Chat Model (such as OpenAI or Anthropic) and extended with the Nansen MCP tool, which enables it to retrieve onchain wallet data, token movements, and address-level insights in real time.

  The Nansen MCP tool uses HTTP Streamable transport and requires API Key authentication via Header Auth.

  Read the Documentation: https://docs.nansen.ai/nansen-mcp/overview

  Set up steps

  Get your Nansen MCP API key  
     Visit: https://app.nansen.ai/account?tab=api  
     Generate and copy your personal API key.

  Create a credential for authentication  
     From the homepage, click the dropdown next to "Create Workflow" → "Create Credential".  
     Select Header Auth as the method.  
     Set the Header Name to: NANSEN-API-KEY  
     Paste your API key into the Value field.  
     Save the credential (e.g., Nansen MCP Credentials).

  Configure the Nansen MCP tool  
     Endpoint: https://mcp.nansen.ai/ra/mcp/  
     Server Transport: HTTP Streamable  
     Authentication: Header Auth  
     Credential: Select Nansen MCP Credentials  
     Tools to Include: Leave as All (or restrict as needed)

  Configure the AI Agent  
     Connect your preferred Chat Model (e.g., OpenAI, Anthropic) to the Chat Model input.  
     Connect the Nansen MCP tool to the Tool input.  
     (Optional) Add a Memory block to preserve conversational context.

  Set up the chat trigger  
     Use the "When chat message received" node to start the flow when a message is received.

  Test your setup  
     Try sending prompts like:
     What tokens are being swapped by 0xabc...123?
     Get recent wallet activity for this address.
     Show top holders of token XYZ.

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.mcpClientTool","@n8n/n8n-nodes-langchain.chatTrigger"]

workflow_json_compressed:
  H4sIAAAAAAAAE42UfWvkNhDGv4oQhbZgbfwmr20odC9QEkqS0iS9llwIY2l2rcaWjCRvul32uxd587K5hPT+2x2NntH85vFsaY8eaL2lSjsPWuCppDVN8iKL5TwrGp6WRZxxzmOUSVVgPq9ySGNcLueNzHGZVKlclpCVuYwziGU6n3MUNKIe+6EDj8cWpbtEPw7Hph869Chp7e2Iu4hqI9HR+mZLVaiK87TIKi4YiAZZXpWcQVnErMyyqsyKsijKhEZUQ4+0potTslih9qHWZgiRn3Wpj3Sp2aTLOtAr0YLSM3jMG4xTXhlN65skzyOWl/FtRAew0KNH6wIHM4SM6afbOI/9GToHq6D/019mJGCRAGmxG5ZjR8A5Fbh58qB8S0AIdI54Q85BO9Tk7Pg3cmVMNzsMeGM6Al1nHhzZmDGkj1qiDUKS4BrtxrdKr4hvwRPlSAvDgDpEpiq+RdJ0Rtzvu/uiF4541WNIdahDj2skShNhN4M3EYHuATaOrEI4XPZGwuZ7RyT4KS/ELLrBaIezL/oqHNdkuyXfafMw8+b08uKHH8luR3e7Pew/0LqJY7qLHoeXpjGWqZyzmFec5TwVDIpcspJnRRlLnolcvgzvYkC9OCXHocEzI7H7hil2fUifbqrXwyzjiKW8eDPLflKut/TuznZ710VTkNa0Uy5YYg3dGP6uBs/yWbCXANGi/B3d2Pnz/WufDnfRgT0CC2FRovYKukfvhLctBjV9UIFKZ7rrvy/E9ckv/nOF5f1XBFRwjBm1Z6R15C3eZPYCGMsGeJHnrMizhuWy4gzSJGVxk/GKIwqRpC/yL3b7BrK9GI47hdoHq75Gm2XF+2wPQEQUtRyM0v46YKat94Orj456Mcz09I4ZqCMLIXBEIwqjbwM1AfsitEWQaBejb2lEHdo12isL2g3G+ke9S28Remg6pG+5h4STF40n+J+W+lduz8Wfal3OP/1bvUeHMHJy+R745Bm8WEohUTSsqVCwPBXAKmw4SzjHal4VHPBA+nOLmojg636/OIhFgWqN8hsGEe5dWbVaoX09Bpak5dO+esCmNeZ+WtRpuYyTshJsKZYJy7M0ZZXEjHEeC8GLpMCY0w9G97bvbHcbUWG0RvG8CJ9XbfimQIUH3dze7qJDl9VbCuourLZwup12+7tb+ikrokpL/IfW8W7SersS9pKBzggrfIz9n/br9K+LfDCdg94+qDClvFbd7f4Dkv2j6UYHAAA=

metadata_json:
  {"categories":["integration","automation","data processing","AI/chatbot"],"complexity":"medium","use_cases":["Conversational on-chain wallet queries","Real-time token movement and holder insights","Investigative blockchain analytics for addresses","Embedding Nansen on-chain data into chat agents","Building crypto customer-support or research bots"],"estimated_setup_minutes":15,"required_services":["Nansen MCP (https://mcp.nansen.ai)","Chat model provider (e.g., OpenAI, Anthropic)","n8n self-hosted instance (community nodes enabled)"],"key_features":["AI agent (chat model) integrated with Nansen MCP tool","Retrieves on-chain wallet data, token movements, address-level insights","Uses HTTP Streamable transport with Header Auth for Nansen","Support for conversational memory/context","Quick test prompts included for validation"],"target_audience":["Blockchain analysts","DeFi researchers","Developers building crypto chatbots or integrations"]}


name: Salesforce to S3 File Migration & Cleanup
author_name: Le Nguyen
author_username: leeseifer
categories: []
created_at: 2025-07-23T06:15:02.427Z
updated_at: 2025-07-23T06:15:02.427Z
url: https://n8n.io/workflows/6305
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:34
description:
  Salesforce to S3 File Migration & Cleanup

  Automate archiving old Salesforce files to Amazon S3, log them back in Salesforce, and free up org storage — all from a scheduled n8n workflow.

  🔧 How It Works (High-Level)

  Schedule Trigger kicks off (e.g., daily).  
  Query Salesforce for ContentDocument records older than 365 days.  
  Loop Each File → download binary via REST.  
  Upload to S3 with the original filename.  
  Lookup Links (ContentDocumentLink) to keep the parent record reference.  
  Filter Out Users (ignore LinkedEntityId starting with 005).  
  Create S3_File__c record in Salesforce for traceability.  
  Delete Original File from Salesforce to reclaim storage.  
  Notify via Slack when the batch is done.

  🚀 Set Up Steps (Time: ~45–90 mins)

  Import n8n Workflow JSON and wire up credentials (Salesforce OAuth2, AWS S3, Slack).  
  Install Salesforce Unmanaged Package (Custom Object S3_File__c, Apex controller, LWC, settings).  
  Fill S3Settings__c (bucket, region, keys, expiry) or swap to Named Credentials.  
  Test with a Sandbox Batch (e.g., small date range) and verify upload/delete.  
  Schedule & Monitor (tweak interval, Slack channel).

  💖 Why you’ll love it
  💸 Slash storage costs — offload gigabytes to S3  
  🔍 Full traceability — every file still tracked in Salesforce  
  🧰 Plug & play — import JSON, install package, plug in creds  
  🧱 Modular & extensible — swap S3, add approvals, build an uploader UI  
  ⏱ Set it & forget it — scheduled automation + Slack alerts

  📦 What’s Included

  n8n JSON Flow** – ready to import.  
  Salesforce Unmanaged Package** – Apex (S3FilesController.cls), LWC (s3FilesViewer), S3_File__c, S3Settings__c.  
  S3 + Salesforce Setup Guide** – quick reference for configuring keys, permissions, and the LWC.

  All components are editable — extend, replace, or integrate with your own processes.

  🧱 Requirements

  n8n instance (self-hosted or Cloud) with HTTP Request, AWS S3, Slack, and Salesforce nodes.  
  Salesforce org with API access & permission to install unmanaged packages.  
  You have to have Query All Files permission. Setup-&gt; Permission Sets / Profile -&gt; App Permission -&gt; Content -&gt; Query All Files. Allows View All Data users to SOQL query all files in the org.
  AWS S3 bucket + IAM user/role with GetObject/PutObject (and optional ListBucket).  

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.awsS3","n8n-nodes-base.salesforce","n8n-nodes-base.code","n8n-nodes-base.salesforce","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.slack","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.salesforce"]

workflow_json_compressed:
  H4sIAAAAAAAAE62Y227cOBKGX0XQdVfAQ/HUd7NJZhAgWC/iyd4EQVAki7aQttQrqTcJDL/7QEp227HVcXd7rkWxPv6sI2/rGx6pXt/WTTuM1CZ+k+t1HchYlYQlq5VCWawlytkowmAoB8/ORmcFF5NK4pC0DITOhIQu5YBcr+qRb7YbGvllz3m45HG3fdndbDc8cq7XY7/ju1XddpmHev3htm4mq0Q+ZlEsOBYIKLSFyDqDK6jZMIYgY72qW7rhel1fpmvOuw1Xf/bN1RX3k81v2+lL61uYt4ZIA78Yfizcr9t2QzM2XVuvP0AQYgXOio+reks93fDI/VCvb+++b/dv7od5pXyh7lY/QBnJRYsZLBoLaKQGb3wA64yxRSg2ytwDHZv0+Vv1z27kw4zzmh9LfsKzYgUGH+HVqWtHbsd6XdePUP8PGorwGNGAKCwBi8gQo7HAhFh8si7ptAd923Xb6uK/3FevKV1Xvzcbrt5x6vp8mHu7acY37T9oTNc81Ku6a1/3fdfX6xmwaXf8jq92G+ovduN2Nz44HdpZfPOU+HovfVZFsGAITkXAaDVQoQxeBueUt5zpno+86r60m47y97O8/CHZocNcj+P2Hf9nx8NDToViBf7xLTzkxHtOkoMSPiUL0SYGtEqBV96CCLYE7ZQO0e1J329nzrGrLvVBQPoyzF9/QjuObM8VM/roI4EN2gOSyeC9NhCSoyKCpKJ4z/UHj9Xbpv3M+XU7NuO3N7kqfXfzPy1fdWl3w+04LTnsJLThoXR9euDcShzHfs+fBekkhQEfWQPmoiCG7IASWopKUChqz/57sxm5ry52Y/V+4L76bRwpXU+4w0HW1OUHlHiywlYn64IvINkUQJEjUDACki7BGqWDSXpP+bJnGrm61J8mJ/30KT0ZcwfktEc66V5ODkhSJQ/KBALU0oJnZDDZ5aCtSMXcy2P/6nlLPT+8+skjur56xRueQY5X1ttTlU1OaS2ygKKlB0R2EBJrkMjOqUAsS7gX/RMSVxd9c9W0tPmeBJq2urwv4ImpQMrD7sBfOe1GvmgT1+tCm4F/kR6UQh1FRGCUDjByAV+ChhxtRPQKk/P3agi3ubrcUPo81ZGmNIl+KfYwLV1KYnYm/8Lxuus+z7UeM5GQ1oLXyQMqqSCwYTCkPGW0qKWon7qhF/sMHckpXawFZbMEVETgU5rOWZIrGbUQebE4yjOroxTqzPIoGK0zwgMWHwBNykCU1ZSiPU3tjUhiEVWdjuomv5m85zxUI0JyCRUgkgZEkyEmihBM9iZgtCqqRdTD1eQgqhHPUlV5ryOzBhE8AWIyQGwkcBQ2qRyS4rSIiqejKv8sVS16DlSm/sgLwMIGvCgBVKGSisiU/LKvmtNRcSY9t5NzwmpWRoAnh4A0Vb6cZlzhhSpCKLlIak8mlXNQSX8mKdlUnEMCIyZ3FcaDt2FqjpG8MqoosRxU7mRS7Z9FGpLyJLiAoqkTcpkhaCnB+piCtwItLTuqP5nUimfdPqmEkoKD7DEBCuEhJKHABOGLT8XnuEwaTib134P/XE1NkVZLUUCLhIDFEUSjHVBgH6wsmQ5E1FxkTnRUgc9iZStJ+ezBJqsAXWDwIUiQxQrOlpOLYZn1jFI1Zyp8PGceh4pBGmcFAYcoAJMuECkjKIWuxEJK+Phz0/7bZvOwUxuqbpO5r8ZraittTZXp21DRVXdyqwnWHzk1331cTSdsOU2/zgf+adRZ39Y31Ex7frid3wPOnTnmXVZ102b+Wq/F3cePd6vHbwSHzJ2n1qLN5ZlzyfDyzLe46cEhYWnfUxv1RYu/eAxYsvlkg/rIyGr/8xNj+iLfr4a7JcCnx6zl23x6hliydsxTyqK9I+9uyeYp486i7VPibgngqHn7oOWTQvBv1Pzu7i+FlskvBRUAAA==

metadata_json:
  {"categories":["integration","automation","backup & archiving","data management"],"complexity":"medium","use_cases":["Archive old Salesforce files to external storage","Reclaim Salesforce org storage","Maintain audit/traceability of migrated files in Salesforce","Automate scheduled file cleanup and notifications","Offsite backup for compliance or cost reduction"],"estimated_setup_minutes":60,"required_services":["n8n (self-hosted or cloud)","Salesforce org with API access and ability to install unmanaged packages (Query All Files permission)","AWS S3 (bucket + IAM user/role with PutObject/GetObject permissions)","Slack (for notifications)"],"key_features":["Scheduled trigger to run periodic file archive jobs","SOQL query for ContentDocument older than configurable days","Download file binaries via REST and upload to S3 preserving filename","Lookup ContentDocumentLink to retain parent record references","Filter out user records (ignore LinkedEntityId starting with 005) before creating trace records/cleanup actions in Salesforce"],"target_audience":["Salesforce admins","Integration engineers / developers","IT operations teams / platform owners"]}


name: Google Maps Lead Generation with Apify & Email Extraction for Airtable
author_name: Ezema Kingsley Chibuzo
author_username: kingsley
categories: []
created_at: 2025-07-23T06:50:51.634Z
updated_at: 2025-07-23T06:50:51.634Z
url: https://n8n.io/workflows/6307
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:33
description:
  🧠 What It Does
  This n8n workflow collects leads from Google Maps, scrapes their websites via direct HTTP requests, and extracts valid email addresses — all while mimicking real user behavior to improve scraping reliability. It rotates User-Agent headers, introduces randomized delays, and refines URLs by removing only query parameters and fragments to preserve valid page paths (like social media links).
  The workflow blends Apify actors, raw HTTP requests, HTML-to-Markdown conversion, and smart email extraction to deliver clean, actionable lead data — ready to be sent to Airtable, Google Sheets, or any CRM. 
  Perfect for lean, scalable B2B lead generation using n8n’s native logic and no external scrapers.

  💡Why this workflow
  Modest lead scrapers rely on heavy tools or APIs like Firecrawl. This workflow:
  Uses lightweight HTTP requests (with randomized user-agents) to scrape websites.
  Adds natural wait times to avoid rate limits and IP bans.
  Avoid full-page crawlers, yet still pulls emails effectively.
  Works great for freelancers, marketers, or teams targeting niche B2B leads.
  Designed for stealth and resilience.

  👤 Who it’s for
  Lead generation freelancers or consultants.
  B2B marketers looking to extract real contact info.
  Small businesses doing targeted outreach.
  Developers who want a fast, low-footprint scraper.
  Anyone who wants email + website leads from Google Maps.

  ⚙️ How It Works
  1. 📥 Form Submission (Lead Input)
  A Form Trigger collects:
       Keyword
       Location     
       No. of Leads (defaults to 10)

  This makes the workflow dynamic and user-friendly — ready for multiple use cases and teams.

  2. 📊 Scrape Business Info (via Apify)
  Apify’s Google Maps Actor searches for matching businesses.
  The Dataset Node fetches all relevant business details.
  A Set Node parses key fields like name, phone, website, and category.
  A Limit Node ensures the workflow only processes the desired number of leads.

  3. 🔁 First Loop – Visit & Scrape Website
  Each business website is processed in a loop.
  A Code Node cleans the website URL by removing only query parameters/fragments — keeping full paths like /contact.
  A HTTP Request Node fetches the raw HTML of the site:
       Uses randomized User-Agent headers (5 variants) to mimic real devices and browsers. This makes requests appear more human and reduces the risk of detection or blocking.
  HTML is converted to Markdown using the Markdown Node, making it easier to scan for text patterns.
  A Wait Node introduces a random delay between 2-7 seconds:
       Helps avoid triggering rate limits,
       Reduces likelihood of being flagged as a bot.
  A Merge Node combines scraped markdown + lead info for use in the second loop.

  4. 🔁 Second Loop – Extract Emails
  In this second loop, the markdown data is processed.
  A Code Node applies regex to extract the first valid email address.
  If no email is found, "N/A" is returned.
  A brief 1 second Wait Node simulates realistic browsing time.
  Another Merge Node attaches the email result to the original lead data.

  5. ✅ Filter, Clean & Store
  A Filter Node removes all entries with "N/A" or invalid email results.
  A Set Node ensures only required fields (like website, email, and company name) are passed forward.
  The clean leads are saved to Airtable (or optionally, Google Sheets) using an upsert-style insert to avoid duplicates.

  🛡️ Anti-Flagging Design
  This workflow is optimized for stealth:
  No scraping tools or headless browsers (like Puppeteer or Firecrawl).
  Direct HTTP requests with rotating User-Agents.
  Randomized wait intervals (2-7s).
  Only non-intrusive parsing — no automation footprints.

  🛠 How to Set It Up
  Open n8n (Cloud or Self-Hosted).
  Install Apify node
    search Apify and click on Install. Do this before importing your file.
    
  Import the provided .json file into your n8n editor.
  Set up the required credentials:
  🔑 Apify API Key** (used for Google Maps scraping)
  🔑 Airtable API Key** (or connect Google Sheets instead)

  Recommended 
  Prepare your Airtable base or Google Sheet with fields like: Email, Website, Phone, Company Name.
  Review the Set node if you'd like to collect more fields from Apify (e.g., Ratings, Categories, etc.).

  🔁 Customization Tips
  The Apify scraper returns rich business data. By default, this workflow collects name, phone, and website — but you can add more in the "Grab Desired Fields" node.
  Need safer scraping at scale? Swap the HTTP Request for Firecrawl’s Single URL scraper (or any headless service like Browserless, Oxylabs, Bright Date, or ScrapingBee) — they handle rendering and IP rotation.
  Want to extract from internal pages (like /contact or /about)? Use Firecrawl’s async crawl mode — just note it takes longer.
  For speed and efficiency, this built-in HTTP + Markdown setup is usually the fastest way to grab emails.

nodes_used:
  ["n8n-nodes-base.limit","n8n-nodes-base.formTrigger","@apify/n8n-nodes-apify.apify","@apify/n8n-nodes-apify.apify","n8n-nodes-base.set","n8n-nodes-base.splitInBatches","n8n-nodes-base.markdown","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","n8n-nodes-base.merge","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.code","n8n-nodes-base.filter","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"]

workflow_json_compressed:
  [encoded data, 6904 characters]

metadata_json:
  {"categories":["automation","data extraction","lead generation","integrations","web scraping"],"complexity":"medium","use_cases":["Collect B2B leads from Google Maps","Scrape websites for contact emails","Enrich and upsert leads to Airtable or Google Sheets","Stealthy, low-footprint prospecting for outreach campaigns","Batch processing and filtering of scraped lead data"],"estimated_setup_minutes":15,"required_services":["n8n (Cloud or Self‑Hosted)","Apify (Google Maps actor)","Airtable or Google Sheets (for storage)","Internet-accessible target websites"],"key_features":["Uses Apify Google Maps actor to gather business records","Cleans URLs while preserving path/query-safety","Rotates User-Agent headers to mimic real users","Randomized wait times (2–7s) to reduce blocking","Converts HTML to Markdown for easier parsing and regex extraction of emails
  (first valid email or N/A)
  – two-pass loop design (scrape then extract)"],"target_audience":["Lead generation freelancers and consultants","B2B marketers and sales teams","Small businesses doing targeted outreach campaigns​
  developers building lightweight scrapers"]}


name: Google Drive Workflow with Nested Folder Support
author_name: Zain Ali
author_username: zain104
categories: []
created_at: 2025-07-23T13:13:22.185Z
updated_at: 2025-07-23T13:13:22.185Z
url: https://n8n.io/workflows/6320
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:34
description:
  👤 Who’s it for

  Anyone* who needs to recursively fetch *all files** from a specific Google Drive folder, including files inside all its nested (child) folders.
  Ideal for automation builders, admins, and integrators who want to process, move, list, or report on all files in a complex folder tree.

  ⚙️ How it works / What it does

  This workflow will:
  Accept a Google Drive Folder ID as an input (from another workflow or trigger).
  Recursively discover all child folders starting from the parent, no matter how many levels deep.
  Collect all file IDs & names from every folder (parent + all descendants).
  Return a clean list of all found files (with IDs and names) for further automation, downloading, or processing.

  Key features:
  💡 Works recursively (handles any depth of nested folders).
  🏷️ Outputs file ID & file name for each discovered file.
  🔄 Can be triggered by other workflows (great for modular automation).

  🛠️ How to set up

  1. Google Drive Credentials
  Make sure you’ve set up a Google Drive OAuth2 credential in n8n.
  Connect this credential to all Google Drive nodes in the workflow.

  2. Parent Folder ID
  Input the Google Drive folder ID you want to start from.
  How to pass it:**  
    If running standalone: update the When Executed by Another Workflow node with your folder ID.
    If called from another workflow: pass the folder ID as an input named id.

  3. Check Set Nodes
  There are two Set nodes (Return parent and Return parent1) and one trigger (When Executed by Another Workflow) where you might want to update the hardcoded folder ID.
  ⚠️ Change these IDs to match your use case.

  4. Run the Workflow
  Start the workflow (or execute it via another workflow).
  The result will be a flat list of files in all subfolders.

  ✅ Requirements

  🟢 n8n instance
  🟢 Google Drive OAuth2 credentials connected in n8n
  🟢 A valid Google Drive folder ID to start from

  🧑‍💻 How to customize

  Return Extra Data:**  
    Add fields in the “Search files” node options to return more Google Drive file metadata (e.g., size, webViewLink).
  Filter by File Type:**  
    Adjust the search query or add a filter node to only include certain file types (e.g., PDFs, Docs).
  Change Output Format:**  
    Edit the “Edit Fields” Set node to structure your output differently.
  Integrate Further:**  
    Add new nodes after the Loop to, for example, download, email, or sync files as needed.

  🚨 Notes & Tips

  Performance:**  
    This workflow is optimized for up to hundreds of folders. For very large Drive accounts (thousands of folders/files), consider pagination or batching.
  Credential Security:**  
    Always use n8n’s built-in credential manager—never hard-code sensitive data.
  Static IDs:**  
    As noted in the sticky note, make sure to update all hardcoded folder IDs for your production use.

  🗂️ Node Overview

  When Executed by Another Workflow:** Accepts a folder ID (entry point).
  Google Drive – Get children folders:** Lists subfolders of the given folder.
  If:** Checks if the folder contains any subfolders.
  Execute Workflow:** Handles recursion (calls itself on child folders).
  Code:** Flattens all discovered folder IDs for next step.
  Loop Over Items:** Iterates over all folders to process files.
  Google Drive – Search files:** Finds all files in each folder.
  Edit Fields (Set):** Structures file data for output.
  Sticky Note:** Documentation and reminders inside your workflow.

  🔄 Example Output

  [
    {
      "file_id": "1A2B3C...",
      "file_name": "MyDoc.pdf"
    },
    {
      "file_id": "2B3C4D...",
      "file_name": "Presentation.pptx"
    }
  ]

nodes_used:
  ["n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.executeWorkflow","n8n-nodes-base.googleDrive","n8n-nodes-base.splitInBatches","n8n-nodes-base.googleDrive","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE62XWW/bRhDHvwqxzxxj70OPORoEaGu0KWoEgR/2mHXYSKRKrpwYhr97QNmRZZu6grxJwu7sb/5z6pY0iczIxc3Fq49//HXx5T/+//nbjxekJgssnsxuSdMOxbcR34/ngqLSisAZ51mnyLXVmgepFDVJGZWccMpQ9BYZUqs1ZRiCCJobEVnMidSk4GI59wVf95iGD1hWy9fdYjnHgonMSr/Cu5q0foFkRt5hqfx8XuVmjkPVtEOTsPLVu667muObvrnG6rdunrAfzfqrgcw+Xdak7RKOH2/vXTM+KasFB+89gnSJgfUyAXNcO41e5YBk8+T7XC19j22p8tpy9dkPVds9fBvfuVmO51rbwvohCH7AsyaTmiy7oSlN15LZJ8Npzbm8rMnS936BBfuBzG7v7u//i/2wPsfP+F39wIncqRSZhoCoQUaewLMogRsVqROIzvpHzg+liV9uqj+7gjuhhvWZhyNbcMC5rEHQF3gkdm3BtpAZIc9R2QZUUO0NTxaYiQGkYwg+GAZKi6QNFSJFeUhQHAqmh1+GquurtitHiyu1rJ0+RdtoqNZJREjBIMjEKFj0BqyUWXqTHQ9qW1vfl+rtN4yr9Yu7uHB9Ai+6/kued1//6Zurq3WObGvN9BGs7GxLXuMTpcyAtwxBMsnBa+dAOeMcM0mg2MrXTYnci9ukYSdu7NKzRHDc1iD4QSU3bFk4hSJQkJRRkBE1BIcSkqRRWPRZI39k+xvLqm+fhb9Ju/MVy0s+Jg9WkTiTG0LtxFjiGpg0HqRXAhxnGbjPIaIzWnJ2kLAqXTWsAnx9iOxpxBOFtY84RmaVlxa0cQJkQg8+yADMS86NcEwp/jw3Rzg8NT9fdqgjYs+2qsgZ6xSXEijVCqT3FgKnFKwxlmcdYrbxaWbGz8089dhuKj333eKITLh67PBPqbmk0+X04Ot5G/F+ijxXvCZ+/tXfDOerslyVN34cbvfT5od3KQtkVEA03oBkKYJXSIEGY4J0ynknHr37veuW1fk19sdU3rCcN+V9+8qX+BmHpx4xTY8KhNiAMpV5iMoDjTyDVNlCMClCkMYoLVnWkU00iKcz9MA82xkAZpWumTsFN6NBYSmg8hwkH+eaYxlEdMLy7BOm/KIifxDvl/V59a3hQNqTys8FLoMw4IxUIFEmCC5EsE4ZrSINnNHJsctOn7ta1sD4C7zjxm5GJ1EbCiYhBckjgrUuQDJKBYkpqJAnQfnJoEzynyG9rImPZUyZWfbzAWsyYClNe7W+uulX5/2YeTNyzUYb1/f319uldMlLJwQImTJIrTM4xhFMSDZTnmjgYyxi17YYR1Nrw8/H9eyWLHwz+vHpdr0MntqM1rdr0rQJv5EZvbu8vKunBu3UQ/v7wqTlqZa+y4ddo37S8CTLlOW9RffCdD2BtL+5TNLt2g5+kar70X7RIwf+LezRevdStE/vk/eVndIcKoYp9J9Z5U8J/Qs3tiD2yD0JMMW/d3faJ/uxfwonnL27+w4fo5JBYg8AAA==

metadata_json:
  {"categories":["integration","automation","file management","data processing"],"complexity":"medium","use_cases":["Recursively list all files in a Google Drive folder tree","Generate reports or inventories of Drive contents","Download or sync files from nested folders","Filter/process files by type for downstream automation","Audit or monitor Drive folder contents"],"estimated_setup_minutes":10,"required_services":["n8n instance","Google Drive (OAuth2)"],"key_features":["Recursive discovery of all child folders (any depth)","Returns file ID and file name for each found file","Can be triggered/called by other workflows (modular)","Configurable output fields and filters (file metadata, types)","Handles batching/looping and flattens results for easy consumption"],"target_audience":["automation builders","IT administrators","systems integrators','developers"]}


name: Extract Local Business Contacts with Google Sheets, SerpAPI, Apify & GPT-4o
author_name: Robert Breen
author_username: rbreen
categories: []
created_at: 2025-07-23T17:25:59.562Z
updated_at: 2025-07-23T17:25:59.562Z
url: https://n8n.io/workflows/6330
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:34
description:
  Extract Local Business Contacts with Google Sheets, SerpAPI & GPT‑4o

  Status: Ready for Use ✅  
  Disclaimer: This workflow relies on community nodes that are not part of n8n’s core package.  
  Install the following from n8n → Community Nodes before running:

  n8n-nodes-langchain**  
  n8n-nodes-openai** (Structured Output Parser)  
  n8n-nodes-apify**

  📝 Description
  This n8n workflow automates discovery of local‑business contact details by search term and location, then enriches the results with publicly listed email addresses using GPT‑4o AI.

  🔑 Key Features

  🔗 Google Sheets Integration
  Reads search terms and locations from a Google Sheet.  
  Processes only rows that are not marked Complete, preventing duplicates.

  🗺️ Google Maps Search via SerpAPI
  Queries Google Maps through SerpAPI for every search‑term‑and‑location pair.  
  Retrieves the following fields: business name, website, street address, and phone number.

  🧠 Website Scraping & Email Extraction
  Scrapes the business homepage content with Apify’s Fast Website Content Crawler.  
  Sends the scraped HTML to a GPT‑4o AI Agent.  
  Extracts any publicly listed email address.  
  Returns a clean, structured JSON object for downstream use.

  💾 Data Storage & Tracking
  Writes every result to a Results tab in the same Google Sheet.  
  Marks the corresponding row in the Searches tab as Complete once finished.

  🧱 Extensible Design
  The workflow uses modular sub‑workflows and AI agents.  
  You can easily extend it to add:

  Phone‑number verification with Twilio  
  Social‑media enrichment with Clearbit  
  Exports to HubSpot, Salesforce, Airtable, PostgreSQL, or CSV files

  📄 Google Sheet Setup
  Create a Searches tab with these exact columns (one header row):

  Search | Area | Area Name | Complete

  Create a results tab with these columns

  title | website | address | phone | Search | Search Name | Area | email (Manual Entry)

  ⚙️ Prerequisites
  Google Cloud Project with Google Sheets API and Google Drive API enabled  
  SerpAPI account (free trial or paid) – obtain an API key  
  Apify account (free trial or paid) with the Fast Website Content Crawler actor installed  
  OpenAI account with an API key that can access GPT‑4o models

  🚀 Setup Instructions

  Copy the Google Sheet  
     Make a personal copy of the template sheet.  
     Ensure the tab names are Searches and Results.  
     https://docs.google.com/spreadsheets/d/1QgcVMlXRlM_5ZFFUHr6bVK-93Tzia9XseTX03ZYnowI/edit?usp=sharing

  Configure Google Sheets nodes in n8n  
     Open the workflow.  
     Update the nodes Extract Search Terms and Save Emails to Sheet to point at your copied sheet.  
     Authenticate using Google OAuth2 credentials that have access to the sheet.

  Add SerpAPI credentials  
     Sign in at &lt;https://serpapi.com&gt;.  
     Copy your API key.  
     In the Search Google Maps node, create a new credential and paste the key.

  Set up Apify  
     Sign up at &lt;https://apify.com&gt;.  
     Add the Fast Website Content Crawler actor to your account.  
     In the Scrape Web Page HTTP node, append ?token=YOUR_API_KEY to the actor URL.

  Add your OpenAI API key  
     Go to &lt;https://platform.openai.com&gt;.  
     Generate an API key.  
     Add it to the AI Agent and OpenAI Chat Model node credentials.

  ✅ Running the Workflow
  Click Execute Workflow in n8n.  
  For each unprocessed row in the Searches tab, the automation will:  
     Retrieve business information from Google Maps via SerpAPI.  
     Scrape the business website using Apify.  
     Use GPT‑4o to extract a public email address.  
     Write all collected data to the Results tab.  
     Mark the original row as Complete.

  🧩 Example Use Cases
  Build highly targeted lead lists for sales and marketing outreach.  
  Compile local business directories for regional websites or apps.  
  Automate contact‑information collection for lead‑generation campaigns and reduce manual data entry.

  🤝 Connect with Me

  Description  
  I’m Robert Breen, founder of Ynteractive — a consulting firm that helps businesses automate operations using n8n, AI agents, and custom workflows. I’ve helped clients build everything from intelligent chatbots to complex sales automations, and I’m always excited to collaborate or support new projects.

  If you found this workflow helpful or want to talk through an idea, I’d love to hear from you.

  Links  
  🌐 Website: https://www.ynteractive.com  
  📺 YouTube: @ynteractivetraining  
  💼 LinkedIn: https://www.linkedin.com/in/robert-breen  
  📬 Email: rbreen@ynteractive.com

nodes_used:
  ["n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.splitInBatches","n8n-nodes-base.executeWorkflow","n8n-nodes-base.googleSheets","n8n-nodes-base.filter","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-serpapi.serpApi","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.summarize","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5348 characters]

metadata_json:
  {"categories":["automation","integration","data enrichment","web scraping","lead generation"],"complexity":"complex","use_cases":["Build targeted local lead lists for sales and marketing","Compile regional business directories","Automate contact-info collection and reduce manual data entry","Enrich search results with publicly listed emails using AI"],"estimated_setup_minutes":45,"required_services":["Google Sheets (Google Cloud project with Sheets & Drive APIs enabled, Google OAuth credentials)","SerpAPI (Google Maps search via SerpAPI)","Apify (Fast Website Content Crawler actor)","OpenAI (access to GPT-4o)","n8n community nodes: n8n-nodes-langchain, n8n-nodes-openai (Structured Output Parser), n8n-nodes-apify"],"key_features":["Reads search terms and locations from a Google Sheet and skips completed rows","Queries Google Maps via SerpAPI to retrieve business name, website, address, phone","Scrapes business homepages with Apify and sends HTML to GPT-4o for email extraction","Returns clean structured JSON and writes results back to a Results sheet","Marks processed search rows as Complete to prevent duplicates and track progress"],"target_audience":["Sales and marketing teams / lead generation specialists","Local SEO and directory builders","Data analysts automating contact-data collection workflows"]}


name: Qualify Real Estate Leads via SMS with GPT-4o, Twilio, and Google Sheets
author_name: Robert Breen
author_username: rbreen
categories: []
created_at: 2025-07-23T18:02:31.495Z
updated_at: 2025-07-23T18:02:31.495Z
url: https://n8n.io/workflows/6332
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  🏡 AI-Powered Real Estate Lead Qualifier (n8n Workflow)

  Description
  This n8n workflow automates lead engagement and qualification for real estate buyers. When someone submits a form on your real estate website, the system instantly responds via SMS, starting a conversation powered by an AI Agent. The AI asks pre-qualifying questions (like budget, location, and timeline), logs the entire conversation, and then summarizes and sends the lead info to a real estate agent. Chat history is stored in a PostgreSQL database (via Supabase) and tied to each buyer's phone number.

  Key Features
  📩 Instant SMS Response: Follows up immediately after form submission.

  🤖 AI Chat-Based Qualification: Conversational agent gathers buyer needs and preferences.

  🗂 Supabase Chat Memory: Stores chat history tied to the buyer’s phone number to maintain context.

  📊 Lead Summary & Agent Handoff: Summarizes conversation and logs it to Google Sheets for the agent.

  🔁 Customizable AI Questions: Easily edit the questions asked by the AI to suit your process.

  🤝 Connect with Me

  Description  
  I’m Robert Breen, founder of Ynteractive — a consulting firm that helps businesses automate operations using n8n, AI agents, and custom workflows. I’ve helped clients build everything from intelligent chatbots to complex sales automations, and I’m always excited to collaborate or support new projects.

  If you found this workflow helpful or want to talk through an idea, I’d love to hear from you.

  Links  
  🌐 Website: https://www.ynteractive.com  
  📺 YouTube: @ynteractivetraining  
  💼 LinkedIn: https://www.linkedin.com/in/robert-breen  
  📬 Email: rbreen@ynteractive.com

nodes_used:
  ["n8n-nodes-base.formTrigger","@n8n/n8n-nodes-langchain.memoryPostgresChat","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.wait","n8n-nodes-base.twilio","n8n-nodes-base.twilioTrigger","n8n-nodes-base.if","n8n-nodes-base.twilio","n8n-nodes-base.twilio","n8n-nodes-base.postgres","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.googleSheets","n8n-nodes-base.twilio","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5580 characters]

metadata_json:
  {"categories":["automation","integration","lead-management","real-estate","ai-assistant"],"complexity":"medium","use_cases":["Qualify inbound real estate buyer leads via SMS","Automated conversational pre-screening (budget, location, timeline)","Persist chat history and context per phone number","Summarize lead info and hand off to agents via Google Sheets","Customize AI question flows for different qualification processes"],"estimated_setup_minutes":45,"required_services":["n8n","Twilio (SMS)","OpenAI / GPT-4o (or compatible LLM)","Supabase (Postgres) or PostgreSQL for chat memory","Google Sheets (Google account / Sheets API)","Website form provider (to trigger workflow)"],"key_features":["Instant SMS follow-up from form submissions","AI-powered chat agent that asks pre-qualifying questions","Chat history stored in Postgres (Supabase) tied to phone number","Structured output parsing and lead summary generation","Automatic logging/hand-off to Google Sheets for agents"],"target_audience":["Real estate agents and brokers","Sales and lead-nurturing teams","Operations/automation consultants implementing CRM workflows"]}


name: Automatic Email Unsubscribe Handler: Outlook to BigQuery Integration
author_name: Robert Breen
author_username: rbreen
categories: []
created_at: 2025-07-23T19:07:02.461Z
updated_at: 2025-07-23T19:07:02.461Z
url: https://n8n.io/workflows/6333
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:34
description:
  🚫 Email Unsubscribe Handler for Outlook 

  Description
  This n8n workflow automatically scans recent email replies from your Outlook inbox and identifies unsubscribe requests. If a contact replies with any variation of "unsubscribe" within the past 7 days, the system performs two key actions:

  Saves the contact’s email address in a BigQuery unsubscribes table (for compliance and tracking).

  Deletes that contact from the active leads table in BigQuery (to stop future outreach).

  This flow can be triggered on a schedule (e.g. every 4 hours) or run manually as needed.

  Key Features
  📥 Email Parsing from Outlook: Automatically monitors for replies that contain unsubscribe language.

  🧠 Smart Filtering: Captures unsubscribes based on message content, not just subject lines.

  🔄 BigQuery Integration: Logs unsubscribed emails and removes them from your leads dataset.

  🤝 Connect with Me

  Description  
  I’m Robert Breen, founder of Ynteractive — a consulting firm that helps businesses automate operations using n8n, AI agents, and custom workflows. I’ve helped clients build everything from intelligent chatbots to complex sales automations, and I’m always excited to collaborate or support new projects.

  If you found this workflow helpful or want to talk through an idea, I’d love to hear from you.

  Links  
  🌐 Website: https://www.ynteractive.com  
  📺 YouTube: @ynteractivetraining  
  💼 LinkedIn: https://www.linkedin.com/in/robert-breen  
  📬 Email: rbreen@ynteractive.com

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.splitInBatches","n8n-nodes-base.summarize","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleBigQuery","n8n-nodes-base.code","n8n-nodes-base.microsoftOutlook","n8n-nodes-base.filter","n8n-nodes-base.merge","n8n-nodes-base.summarize","n8n-nodes-base.googleBigQuery"]

workflow_json_compressed:
  [encoded data, 4328 characters]

metadata_json:
  {"categories":["automation","integration","data processing","email processing","compliance"],"complexity":"medium","use_cases":["Automatically capture unsubscribe requests from email replies","Maintain unsubscribe compliance records","Remove unsubscribed contacts from active leads lists","Email list hygiene for marketing/outreach campaigns","Scheduled or on-demand unsubscribe processing"],"estimated_setup_minutes":45,"required_services":["Microsoft Outlook / Microsoft 365 account","Google BigQuery (project, dataset, tables)","n8n instance with access to the above services"],"key_features":["Monitors Outlook inbox for reply messages","Content-based unsubscribe detection (not just subject)","Writes unsubscribed emails to a BigQuery 'unsubscribes' table","Deletes contacts from BigQuery 'leads' table","Supports scheduled (e.g., every 4 hours) or manual runs"],"target_audience":["marketers","sales/growth teams","CRM administrators and operations specialists\",\"compliance officers\" ,\"developers integrating email and data systems"]}


name: Automated DNS Records Lookup for Subdomains with HackerTarget API Reports
author_name: Adnan Tariq
author_username: adnantariq
categories: []
created_at: 2025-07-24T00:44:06.806Z
updated_at: 2025-07-24T00:44:06.806Z
url: https://n8n.io/workflows/6355
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  🧠 EnumX: Auto DNS Lookup for Subdomains with Markdown Export

  Who’s it for

  Security engineers, red teamers, or automation-curious teams looking to enhance passive reconnaissance with minimal effort. Ideal for early-stage security setups, bug bounty hunters, and SME SOC analysts.

  What it does

  This workflow performs passive subdomain enumeration and DNS record lookup for a given domain. It parses the data, generates a clean markdown report, and sends it via email.

  🌐 Uses HackerTarget APIs for subdomain and DNS data

  🧠 Parses records (A, AAAA, CNAME, TXT, MX, NS, SOA)

  📨 Sends a structured markdown report to a designated inbox

  🛡️ Useful for recon, misconfiguration detection, and compliance evidence

  How to set up
  Replace the email address in the Gmail node with your recipient.

  (Optional) Replace HackerTarget API with your own recon APIs.

  Click Execute Workflow or trigger via cron on schedule.

  View the full markdown output in your inbox.

  Requirements
  Free Gmail account (with n8n Gmail OAuth2 configured)

  (Optional) Replace example.com with your target domain

  Internet access (API calls use HTTPS)

  How to customize the workflow
  Modify the target domain via the "🌐 Target Domain" Set node

  Adjust markdown format in “📝 Format DNS Markdown”

  Replace Gmail node with Slack/Telegram/Notion if preferred

  Add additional enrichment nodes (e.g., Shodan, VirusTotal) for deeper analysis

  *💼 This template is part of the CYBERPULSE AI BlueOps/RedOps suite. 

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

workflow_json_compressed:
  H4sIAAAAAAAAE52X227bRhCGX4XY23KMPR94ZySO0VNSxEFPhi+Wu7MyYYlUSSqOYQjIA/SiQAu0vSjaXgV9rTxBH6Gg7ESyLdpyrzU78+3sz39Gl6SKpCAvnz8/++7Z57F7YZKIRxXJyQx7T4pLUtVd7+uAnw5xOmFKknkfsbSSOiMMci2NTi5SL1VyCjFo7wLTPqVkMVnjteZSqVLHRHLS42w+9T0+aTF2R9gv5k+a2XyKPUZS9O0Clzmp/QxJQQ7qxezbIttf9E329PlR9kXTnC3mWWra7GhRxmbmq7rLzqv+NPvSt2exOa+zgzfzpu2HOn7SkeL48uqCk8N90R0+u6jrg88ODtP35EYRbH1fNXV2UE+qGklOQou+x7jfk4JwyhVQA1y+orTgohBmTxg1pFjM48Nhy5Oc1E3EDRpmY7IoLYhoHEgmEEofKHhqU4xMG6v1mvCbU6yzMK3CWVVPsvdvfzt4g2HRY3betGdp2py/f/v7cOGL+RBd2xpW5aD0He7NfL3w01dtNZlgS3Iyb7pquCspjoEzTnNOT3Iy962fYY9tR4rL5VWur7HtVoFsmV9zcwzSW2GAsSRA+iTAB2FASBVQJu+cNGvuf//88afslW8n2GdPV481Stlhf4uNuZ3YxJ78SGejc9YFDjJRCdIzDhY9ApXeOqZ46ZFv0v3891pG2SCDUbzTvp+/xB8W2N3BNHQXTLnHP2KykuvEFAPOlAdpnYVSeQoKdaIYeRQubmK++yv7yrcdbmh+FDQ0EW8TSrsL4ZoPXVCaBgEylA4kTxxc8AEopcmwYCiN+tYjDx/nSwxNG8fR7ukhlzRnepcm5sRPz/1F92LRzxf9Uz9Y1JVnXMMLZDRZgSAwaJAsIVjvEgTuNY/UmGRuauCP7FnTzny/usMHF3lMf7WkuXxEewNXQplUgtemBOliAKuZBG7jAKiptXKT8Jdfsy+xneAK8JO1CMa/+CH6FqTdCVJsqDQoFQXaBDRSAxKVAc/RgNbKJiMxlt5sVekuWtgmU8p3EsGasJTW2MQ4KFMykBYjWK05RCs5N5w6X+Ka8HDmq+ko0OT61xvu+KFn51ieNs3ZagCi5Yo5h5CCoCC9FmBLJ8B6a2RpjFKrttx/hb21o6ZEhUYWwGvqQRoWwVMnwUUfpYtJlvaGXt/9c62G/en0f8lVPlKuxigrvKPgVJAgmaJgnUgQhArcUtQmbujgqK/C2UX2vOlx3OtXMdchG2g0v4NFQlP3WA/jlYxPpWAEx+AtqFRakMKV4ChFUNqgTZQmq3ErIns0IzBnaQ7sbgd3Q3XJBDH0kFsdQQZtwHFBQTAeDA+MORRbUfnjUQUdSO86//2kJznxoa9eIymSn3aYkw77vqonq6O42jyqpn7RRmxJQV6zIcfrq/OrL6REjIk7BBqZARmohrIUFFIsHQpFlSiHNTA0dY1hSLVKfGeMFJdk5XLF8fHlan3awWWubbGqI74hBV2enCzzbVvI9tz3rAMjie+eeIB62wQfyb3tzPbsY/P3duJ848zDQ+UhrIff6rE12McaWz1uW5Fbpj72TNtn/Mhb3W+wIyVG7zoitQe2jq1VdvobMCqRkT18S6Xl8j8KRXNPFQ4AAA==

metadata_json:
  {"categories":["security","automation","integration","reporting"],"complexity":"medium","use_cases":["Passive subdomain enumeration","DNS record discovery and classification","Reconnaissance for bug bounty and red team engagements","Scheduled monitoring for DNS misconfigurations","Generating compliance or audit evidence (markdown reports) and email delivery"],"estimated_setup_minutes":10,"required_services":["HackerTarget API (or alternative recon APIs)","Gmail account with n8n OAuth2 configured (or other email/notification service)","Internet access (HTTPS API calls)"],"key_features":["Passive subdomain lookup via HackerTarget","Parses DNS records (A, AAAA, CNAME, TXT, MX, NS, SOA)","Generates structured markdown report","Sends report via email (Gmail node)","Configurable target domain and scheduling (cron trigger support)"],"target_audience":["Security engineers","Red teamers","Bug bounty hunters / researchers"]}


name: Automate E-commerce Orders, Inventory & Feedback with Slack, Sheets & Gmail
author_name: Marth
author_username: marth
categories: []
created_at: 2025-07-24T05:08:32.560Z
updated_at: 2025-07-24T05:08:32.560Z
url: https://n8n.io/workflows/6362
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  How It Works ⚙️

  This workflow acts as a central nervous system for your e-commerce operations, automating three critical areas:

  A. Order Fulfillment Notification
  Webhook: New Order: 🚀 The workflow is instantly triggered when a new order is placed on your e-commerce platform (e.g., Shopify, WooCommerce) via a webhook. This provides real-time data to initiate fulfillment.
  Extract Order Data (Function): 🧹 This node parses the incoming JSON data from the new order, extracting crucial details such as Order ID, customer name, email, total amount, products purchased, and shipping address.
  Send Fulfillment Notification (Slack/Email): 📢 A detailed, formatted notification containing all necessary order information is immediately sent to your designated fulfillment team's Slack channel or email inbox, ensuring prompt order processing.

  B. Low Stock Alert
  Schedule Trigger (Daily Inventory Check): ⏰ The workflow runs automatically once every 24 hours (or at your configured interval) to regularly monitor your product inventory levels.
  Read Inventory Data (Google Sheets/API): 📊 It connects to your chosen inventory data source (e.g., a Google Sheet configured with product IDs, names, and stock levels, or an e-commerce platform API) to retrieve current stock data for all products.
  Filter Low Stock (Function): 🧹 This node processes the retrieved inventory data. It uses a defined threshold (e.g., 10 units) to identify and filter out any products whose current stock level falls below this critical limit.
  If Low Stock Items?: 🚦 This conditional node checks if the previous step found any products that are low on stock. If yes, it proceeds to send an alert.
  Send Low Stock Alert (Slack/Email): 🚨 A warning notification is sent to your purchasing or inventory management team via Slack or email, providing details on the low-stock items and prompting them to reorder before stock runs out, preventing lost sales.

  C. Post-Purchase Feedback Request
  Webhook: Order Fulfilled (Delayed): 📦 This branch is triggered when an order is marked as fulfilled or delivered in your e-commerce system. Crucially, this webhook should be sent by your e-commerce platform or a separate automation *after a specific delay* (e.g., 3-7 days post-delivery) to ensure the customer has received and experienced the product.
  Extract Customer Data (Feedback) (Function): 🧹 This node extracts the customer's name and email address from the fulfilled order data, preparing it for the feedback request.
  Send Feedback Request (Gmail/Email Service): 📧 A personalized email is sent to the customer. This email thanks them for their purchase and includes a direct link to your chosen customer feedback form (e.g., Google Form, Typeform). This systematic approach encourages valuable insights for continuous business improvement.

  How to Set Up 🛠️

  Follow these steps carefully to get your "E-commerce Operations Hub" workflow up and running in n8n:

  Import Workflow JSON:
      Open your n8n instance.
      Click on 'Workflows' in the left sidebar.
      Click the '+' button or 'New' to create a new workflow.
      Click the '...' (More Options) icon in the top right.
      Select 'Import from JSON' and paste the entire JSON code for this workflow.

  Configure Webhook: New Order (Branch A):
      Locate the 'Webhook: New Order' node (1. Webhook: New Order).
      Activate the workflow. n8n will provide a unique 'Webhook URL'.
      Crucial Step: Go to your e-commerce platform (Shopify, WooCommerce, etc.) and configure a new webhook. Set it to trigger on 'Order Created' or 'New Order' events, and paste the n8n Webhook URL there. Ensure the data format sent by your platform is JSON (most do by default).

  Configure Extract Order Data (Function - Branch A):
      Locate the 'Extract Order Data' node (2. Extract Order Data).
      Adjust Field Names: Review the functionCode inside this node. You MUST adjust the variable assignments (e.g., orderData.id, orderData.customer?.first_name) to accurately match the exact field names sent by your e-commerce platform's new order webhook. Use the 'Test Workflow' feature in n8n (after sending a test order webhook from your platform) to inspect the incoming items[0].json.body data structure and make precise adjustments.

  Configure Send Fulfillment Notification (Slack - Branch A):
      Locate the 'Send Fulfillment Notification (Slack)' node (3. Send Fulfillment Notification (Slack)).
      Credentials: Select your existing Slack API credential or click 'Create New' to set one up. Replace YOUR_SLACK_CREDENTIAL_ID with the actual ID or name of your credential from your n8n credentials.
      Channel: Replace YOUR_FULFILLMENT_SLACK_CHANNEL_ID_OR_NAME with the exact ID or name of the Slack channel where your fulfillment team receives notifications (e.g., #order-fulfillment).
      (Optional: Switch to Email for Fulfillment): Delete this Slack node and add a Gmail or SendGrid node. Configure its credentials, 'To Email', 'Subject' (e.g., New Order #{{ $json.orderId }}), and 'HTML' body (e.g., ={{ $json.fulfillmentMessage }}).

  Configure Schedule Trigger (Daily Inventory Check - Branch B):
      Locate the 'Schedule Trigger (Daily Inventory Check)' node (4. Schedule Trigger (Daily Inventory Check)).
      Adjust 'interval', 'value', and 'timezone' to your preferred daily check time (e.g., every 24 hours at 3 AM in your local timezone).

  Configure Read Inventory Data (Google Sheets - Branch B):
      Locate the 'Read Inventory Data (Google Sheets)' node (5. Read Inventory Data (Google Sheets)).
      Credentials: Select your existing Google Sheets OAuth2 credential or click 'Create New'. Replace YOUR_GOOGLE_SHEETS_CREDENTIAL_ID with the actual ID or name of your credential.
      Sheet ID: Replace YOUR_INVENTORY_GOOGLE_SHEET_ID with the actual ID of your Google Sheet where your inventory data is stored.
      Range: Ensure the 'range' (e.g., Inventory!A:C) correctly covers your product ID, name, and stock level columns. Crucially, ensure your Google Sheet has columns with exact names: ProductID, ProductName, and StockLevel (as numbers).

  Configure Filter Low Stock (Function - Branch B):
      Locate the 'Filter Low Stock' node (6. Filter Low Stock).
      Set Threshold: Inside the functionCode, adjust const lowStockThreshold = 10; to your desired low stock alert level.
      Adjust Field Names: Review the functionCode and adjust the variable assignments (e.g., product.ProductID, product.StockLevel) if your Google Sheet uses different column headers.

  Configure Send Low Stock Alert (Slack - Branch B):
      Locate the 'Send Low Stock Alert (Slack)' node (8. Send Low Stock Alert (Slack)).
      Credentials: Ensure your Slack API credential is selected (same as in step 4).
      Channel: Replace YOUR_INVENTORY_SLACK_CHANNEL_ID_OR_NAME with the exact ID or name of the Slack channel for inventory alerts (e.g., #inventory-alerts).
      (Optional: Switch to Email for Low Stock): Delete this Slack node and add a Gmail or SendGrid node. Configure its credentials, 'To Email', 'Subject' (e.g., Low Stock Alert!), and 'HTML' body (e.g., ={{ $json.alertMessage }}).

  Configure Webhook: Order Fulfilled (Delayed) (Branch C):
      Locate the 'Webhook: Order Fulfilled (Delayed)' node (10. Webhook: Order Fulfilled (Delayed)).
      Activate the workflow. n8n will provide a unique 'Webhook URL'.
      Crucial Step: This webhook should be triggered when an order is fulfilled or delivered. You will need to set up a mechanism in your e-commerce platform or a separate automation tool to send a webhook to this n8n URL after a specific delay (e.g., 3-7 days after the order is marked as delivered). This allows customers time to receive their product before being asked for feedback.

  Configure Extract Customer Data (Feedback) (Function - Branch C):
      Locate the 'Extract Customer Data (Feedback)' node (11. Extract Customer Data (Feedback)).
      Adjust Field Names: Review the functionCode and adjust the variable assignments (e.g., fulfilledOrderData.customer?.email) to accurately match the exact field names sent by your 'Order Fulfilled' webhook.
      Set Feedback Form URL: Replace YOUR_GOOGLE_FORM_OR_SURVEY_LINK with the actual public URL of your customer feedback survey (e.g., Google Form, Typeform, SurveyMonkey).
      Set Store Name: Replace [Your Store Name] in the emailBody with your actual store name.

  Configure Send Feedback Request (Gmail - Branch C):
      Locate the 'Send Feedback Request (Gmail)' node (12. Send Feedback Request (Gmail)).
      Credentials: Select your existing Gmail OAuth2 credential or click 'Create New'. Replace YOUR_GMAIL_CREDENTIAL_ID with the actual ID or name of your credential.
      From Email: Replace YOUR_STORE_EMAIL@example.com with the email address you want feedback requests to be sent from.
      The 'To Email', 'Subject', and 'HTML' body fields are dynamically generated by the previous 'Function' node.
      (Optional: Switch to another Email Service): Delete this Gmail node and add a SendGrid or Mailgun node, configuring it similarly.

  Review and Activate:
      Thoroughly review all node configurations. Ensure all placeholder values (like YOUR_...) are replaced and settings are correct.
      Click the 'Save' button in the top right corner.
      Finally, toggle the 'Inactive' switch to 'Active' to enable your workflow. 🟢 Your "E-commerce Operations Hub" is now live, ready to automate and optimize your store!

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.function","n8n-nodes-base.slack","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.function","n8n-nodes-base.if","n8n-nodes-base.slack","n8n-nodes-base.noOp","n8n-nodes-base.webhook","n8n-nodes-base.function","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE51YXW/bOBb9K4ReNgOIHpGiJNIvi0HazmYxaAfN7vah6MMleWkL0YdXpJN6gvz3BWU7djey4/TNgMh7z7mfh35MapvMk8Wy//xl47/oRftdLFb/TNKkxQDJ/DGpOx+gM3gTzwGXVclyxwpVWqiqUhSqUKKUhdNOINcCGGdcOJmBlkZWFXcF5pV2jmU5YJImAdtVAwGvB7T+FsN6dd23qwYD2mQehjU+pUkHLSbz5D01fdviYJB8WuEAoe47T/6x1uS3G3K78QHbaBAWPpl//ZYmXW8x/nzcksoZiiwrBS0sCiq4sFSDRlpykChzzapcJs/O2Ix8Qb3s+7s5+YgP5NNgcYjmN6v4uZMdHe1TDR5nD9ujSZqsel9HYMn8K2VCpDn/lia7z2PMSsFAMV5RbbOMiqwACqJgVFbAbJ5JVxgV7cAALQYcfDJ/fEoTi94M9WprOvnXUC8WOKAlekOAdPhAzNqHvsWB9BEpucLZYpYSN/QtuV32q9ptfv3S99f7CO4g/TIj1/1qQ8Ky9nvC5N+f/yB1F3qy6dcDwUPYY6ZcP7R/8/v7xGMIdbfwxPXDiGN072e7UP0HBz9CZk/pLg8uQ2WUKCkokVGhi5IqJhTVOauUUUyZyh3ywGfk/fcwgAnbFJB3EOBkHty6M2OIfkgE43Kbh/NB3fnxZMAG76ELxGKAuvHbKIYlkrozfVt3i12QLQQ4w7QSxiiZA1VcKiqcM1SCqiiCVFY5xXLODkzzGbnFzpIP68bVTdNiF8jHPtSuNmOpk6vbBszdLyfJ+/j5R+Z5eRHzrRv024S7IwABoSWg+3UY+T8n+Azr3IjSGO0oq0zMr1BUcsGpMizPhMihyPHAWszIrVmiXTdIdlVNrt5B3WzITXePXeiHDble4lniOwO7+5NdmL0ahN1tT+zoPfTERLdjYTf9A/GhN3dkNfR2bcK5AheV4ZXiFbUls1SUOqc6qywFjiANIjcMDgEoZuQzgj1iGyucXP3e94sGye0SMfjT3Bfjse2pqap/nXf07ve8SP0Mo8F73Nf+WBfHiGbkfefXAxLTN+u286Sp73BO/txauXmX7n9+hBZTchtj90c0+CJu/DlurMAit0pRwNguqE2cCUCZKQouGGZM20Pcyhn5UDcBB/JH/7B18MaxsG2O1wN0Y7Hb9cc+++ShDstdRezipDEWCRCLru7QkrAc0C/7xp6rFMOdVVVFkVWCCuSKSouOKs1QgixKgUeVUs3IjTuwJTcBW//3k6Rr9yPdkl/WB2OzeVI7At3mwBgGHNug77a8z9DiFowpZU51YQ0VRaaokkWcgCCkUVVWAT/Qkru5dyD2W4ND+JlxpxhPmXp93kV/Pu7N4/G633fPHfDraj2YJfg47+McPMPYlEXMJKPaoaLCKqASDKeQCZ4zyUoQ+sBYzcjH/oKy7fpPq5cERSleJfgnhGXMYNcfja461suYR9evu3N1WUqbVULktEQ0VLjMUjB5QTnTuTa5yWymjqRSdqSVtkt6t8PQkqt32MAG7ek8ntZOJRf/J54MN7YSDCgiz6lwUTvozFHHGJeVYVxb/gbx9LDEjkC32+a1Jy0Md2gJ+P0SRJuS2iI0zYaAi9MmdngDm73AymlFLGz87qvFpr7HYXOBrvKjYiVhCYFE4XHndziO968PENbnlo3NpMzQOZoXUFFRspzKiikqFJYO84yhEUepYgc5db0XjNt98wHR6rMNd1pcbRN1obp6FqrP6qofiMfOxj5zOxRkwP+u0Z/ds8hyzDkUFEpXUCGVoToTivK8cqriWhfimDrf66u9i89bF+Tq9xbq5syKjZ9fro5LSO8HzQoH33fQ1H+hJRjtxXETFdVzNMDfjQHoh+cgnBPRoigrpQrKnUMqotKSDnNqhGC5dpiBO5KWt6E2d5uoJvH0OB3P7I4cdyLPZMqrF0M1MX0XsAvJPEmeTuKUonJ5aZDyLJdUoEEKhasos1ZLZ4oyV3YSJ/s5oEX5YsFdBhRLYBJ0RlmVcSqMy6nmuqTaOWMxyyRqnATKfw4oFfLngDJtpFAGaGVAUFGAoCAypAbLojKFMQ5gEmj+dqAs+xmk39IETKjvMZk7aDymyf6RGK/idzTr6GD7op4n9yzauN/e3055zDDnOacG4vrBoqLaZUCdk6A0WFuZKkkjiA7HiTQanhKE88ekhTpy+fo4/h9wgYwaL6RJ3Vn8nsyzp2/fntITfwdMmX/lwTppffrOlPW3PxInHZ6IwZTHi+XZC0fpwchJxTMd7Eu21BTWN8z4aceXKZlJ12/arJPeL3wJTnk/+xiadPaWd/eUx7c+WydAPD39D1nLJlBvFAAA

metadata_json:
  {"categories":["automation","e-commerce","integration","notifications"],"complexity":"medium","use_cases":["Real-time order fulfillment notifications","Daily inventory monitoring and low-stock alerts","Automated post-purchase feedback collection","Centralizing e‑commerce operational events","Replacing manual reorder/notification processes"],"estimated_setup_minutes":45,"required_services":["n8n instance","E‑commerce platform with webhooks (Shopify, WooCommerce, etc.)","Google Sheets (or inventory API)","Slack (or email service)","Gmail/SendGrid/Mailgun (for feedback emails)","Survey provider (Google Form, Typeform, etc.)"],"key_features":["Webhook-triggered new order notifications to Slack/email","Scheduled daily inventory reads from Google Sheets/API","Function node filtering with configurable low-stock threshold","Conditional branching to send alerts only when low-stock items exist","Delayed webhook handling to send post-delivery feedback emails after X days (configurable)"],"target_audience":["E‑commerce store owners","Operations / fulfillment teams","Inventory managers and purchasing teams」「Developers and automation engineers working on e‑commerce workflows"]}


name: Generate & Upload Images with Leonardo AI, WordPress and Twitter
author_name: Jay Emp0
author_username: jay-emp0
categories: []
created_at: 2025-07-24T05:35:19.947Z
updated_at: 2025-07-24T05:35:19.947Z
url: https://n8n.io/workflows/6363
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  Prompt-to-Image Generator & WordPress Uploader (n8n Workflow)

  This workflow generates high-quality AI images from text prompts using Leonardo AI, then automatically uploads the result to your WordPress media library and returns the final image URL.

  It functions as a Modular Content Production (MCP) tool - ideal for AI agents or workflows that need to dynamically generate and store visual assets on-demand.

  ⚙️ Features

  🧠 AI-Powered Generation  
    Uses Leonardo AI to create 1472x832px images from any text prompt, with enhanced contrast and style UUID preset.

  ☁️ WordPress Media Upload  
    Uploads the image as an attachment to your connected WordPress site via REST API.

  ☁️ Twitter Media Upload  
    Uploads the image to twitter so that you can post the image later on to X.com using the media_id

  🔗 Returns Final URL  
    Outputs the publicly accessible image URL for immediate use in websites, blogs, or social media posts.

  🔁 Workflow-Callable (MCP Compatible)  
    Can be executed standalone or triggered by another workflow. Acts as an image-generation microservice for larger automation pipelines.

  🧠 Use Cases

  For AI Agents (MCP)
  Plug this into multi-agent systems as the "image generation module"
  Generate blog thumbnails, product mockups, or illustrations
  Return a clean image_url for content embedding or post-publishing

  For Marketers / Bloggers
  Automate visual content creation for articles
  Scale image generation for SEO blogs or landing pages
  Supports media upload for twitter

  For Developers / Creators
  Integrate with other n8n workflows
  Pass prompt and slug as inputs from any external trigger (e.g., webhook, Discord, Airtable, etc.)

  📥 Inputs

  | Field  | Type   | Description                            |
  |--------|--------|----------------------------------------|
  | prompt | string | Text prompt for image generation       |
  | slug   | string | Filename identifier (e.g. hero-image) |

  Example:
  {
    "prompt": "A futuristic city skyline at night",
    "slug": "futuristic-city"
  }
  📤 Output
  {
    "public_image_url" : "https://your.wordpress.com/img-id",
    "wordpress":{...obj},
    "twitter":{...obj}
  }
  🔄 Workflow Summary
  Receive Prompt & Slug
  Via manual trigger or parent workflow execution
  Generate Image
  POST to Leonardo AI's API with the prompt and config
  Wait & Poll
  Delays 1 minute, then fetches final image metadata
  Download Image
  GET request to retrieve generated image
  Upload to WordPress
  Uses WordPress REST API with proper headers
  Upload to Twitter
  Uses Twitter Media Upload API to get the media id incase you want to post the image to twitter
  Return Result
  Outputs a clean public_image_url JSON object along with wordpress and twitter media objects

  🔐 Requirements
  Leonardo AI account and API Key
  WordPress site with API credentials (media write permission)
  Twitter / x.com Oauth API (optional)
  n8n instance (self-hosted or cloud)
  This credential setup:
  	httpHeaderAuth for Leonardo headers
  	httpBearerAuth for Leonardo bearer token
  	wordpressApi for upload

  🧩 Node Stack
  Execute Workflow Trigger / Manual Trigger
  Code (Input Parser)
  HTTP Request → Leonardo image generation
  Wait → 1 min delay
  HTTP Request → Poll generation result
  HTTP Request → Download image
  HTTP Request → Upload to WordPress
  Code → Return final image URL

  🖼 Example Prompt
  {
    "prompt": "Batman typing on a laptop",
    "slug": "batman-typing-on-a-laptop"
  }
  Will return:
  {
  "public_image_url": "https://articles.emp0.com/wp-content/uploads/2025/07/img-batman-typing-on-a-laptop.jpg"
  }
  🧠 Integrate with AI Agents
  This workflow is MCP-compliant—plug it into:
  Research-to-post pipelines
  Blog generators
  Carousel builders
  Email visual asset creators

  Trigger it from any parent AI agent that needs to generate an image based on a given idea, post, or instruction.

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

workflow_json_compressed:
  H4sIAAAAAAAAE91Y647bNhZ+FS1bYBPAtEmKoigXwe4kM0mnu03S7bQpkBkEvBzZSmRJlei43oGBPsbu6/VJFpRkj8e36RSL/bH/bOrw8Fy+7/Ac3qIZOIXGtygrGqcKA5cWjVHEWMS5FJpGiQ55EoY8iUJD41BalXBICI9jEwvClZJWMyKYpVSlhlBG4jBBqwEqSgsNGr+/RZlXKaPIhoZYTBTXmCuhsZLGYg0iNmlKEiY1GqBCzQCN0Q9VXiobZDM1AYYGyC0rv1zIArd6sVYNDKfOVf+An+fQODRAVdlkLisLNH6fUDbAVNwMUKVqNQMHdeOdnNc5GiO/rRmPRstyXg8XZW2rGppmaMrZaFHhj01ZjBbV6DMbzcBmCg18jKald+Ltm++v0ACVlT/Ha1wNUAOFfV7aJRq7eg4DZMrCQeGuOot1Vqh6ea6c1+NFvwZlW2s6aTV3UyhcZlRnOqpqsJBmBdgX/lfhMpW3ugZo2m59e8+jbf/e367D96KzAZ9nzSYqA/RZ5XP/9ZlyTpnpDAr3VZBmOfhdz65RNpvg29vgyyd/flFaoH9+OswczIY+IMMmn0+C1Wr4sZpcI7S6WQ1QVlRz5z17mUFuX3cn285Tn6Qd+8doE+qzKvMIMRuB1pV7n8c9bF7RV/Ljub0o3539uHTfbUHk3Vo8CHDgU/lXmKks92lEq9UA1eDq5ZvipcrydbA9in6EumkjzYdsgBYqc8/BLQCKqzrzeI0IIatBf7qILTEp55iGmmFuALCKE4Flagmj1nLFtiz6+urqbdDjkT4etIzx3wFak5dzO8yhLFRty6HKRqrKRjU0bvSZjiZQQK06dD6AW5/WDrfo2e11EQTXaFZayC/tNRoH10gzQTkXIWaJMJgLpnASSYGVSq2WKSEQims06HZ60NeqcX5rOIz61aouZ5Xr1N3eftkCqVsLVqvN3mI++9ASvfGStF9dZNZN2wUes35tCtlk2uqT4Xqtccscfvjh8rw7hlJqjUgYtjwmmAMYrOOE4pDHkdLKcMPvrIZi6kve242ZHibXxQrts/oAdZsKTJYu+xh659ABPrcZycwemfv1s7mb9vTwGe6O8IuP4ntfc7DrdK+Jrqoq7y0ZtfZ5YPdblDFQuZPCN6t9knojn4OqeyPXNP3m8/S7swvFX9YL8uK8/PmOFH/vkRqcXXrO7zi53l+/ev634vxT+PINfZee8X9ukaoVDrx0gIM17gOVtSTfZfSGuUTzWNoQMJfUYE4TgnUKCoNiloaWGJqaw8z9A9dNJMgJ5j57NHVHvgp3Zde+2ix/U+rhndClDVarQ3fRQxfM/wSQ/+fo4opTI0yCJRcx5pYnWMWRxDQ0Oo11ZISBrZtKZe4oqBbdxy00cbJG0wL0tCw/tS2ZtIbLNFKYilBjnkSAFY9jHGmSaM654TREewAsMofGaJYVcwf+RlCzcl44NKa73tEh3XjHWARM6AgnsY4xp1LgxMQUa82s1Eap2IjD3Akfz504FKe4s2HCFj0+6OWH6tN6BWx/e7wnN8N5ne/R4lQirdRKh3GCQysF5nHEcSITjoHwKBEyZFzwO1e/d5n5tAxelw6OOtq0Mr3Ilp808S0pZXuOmjIvazSOBt2Vh8YiZoP+qkNj5v/05R2N0RdfBH1BgK45DhaZm26Ai/bSuvHUgNQRiQ1mNDSYMymxlJbhMBIqEWCjJBIHPT3eyRxzVUpy0lWxcZUKccrVfgpwZeCbvbe+2TvhIQFLWZzGmAltfC4JlsoCFtqKmNkkUlF60MPjFf9UMmm8D9rewfhwLnm46+Blm8INkK+LP73Xys1U4W/yrJjgssAK56pyZXXzZH2PqNplJodmCLOKrMeWXu9o3sasGTHCohGJR76pP6rTt/NPT4Q0FqBSLWIMkRaYa8OwMtJiYEJQSClJ+RY93k2hCEyemU9ZMQl++/VfF7+AmTsIFmX9Kc3LxW+//vtoqGeqmKv8qs4mE6jvRxtTzgdUkN1wnwA7Zdwyo3Aqlbc78pXaWiwolVQbwyJC7+z2085Ru0z3cTv5PBKDPWPQx6bVM/aDx7wugr6nruY6z0xXoj7M6/waBeMv29FpmGZ145487QYsPzj5CjaZZ3ZYq8W6DV5POdfo1LZe2i0y56A+JUtvfIO7G7q7isjCRCkKgCGVFnOaCqxCbrAiliQxJFbyZCflfZptoJfBWVG6KdSesG3Kj8YVuk1rueOJP3Q5rAF16Z1sV9o+414L0g0a2y2vn2H7vuPo3RfHISidMCxSnmCuwwhrCxITSY0UsYxMou4j53h93IeOOOzOLnT65Kk8f/L0qxO5SiMtSMQjHKYCMI9CgyWxfkYVRlCukkjTgxXv+D19qqbT5L9Z0q86rJ6oPlRzowy3mMaaYM6txpIrhS0kMUk1l2DJnXvfQj05TuNZ/3Wbx5SRfR7vmhNudQtpLFOjQsCW+8ZIhgIr64djyiyLQpAk2n/D+tY/IgVPfnr6x56xmJQPvAh0FX/Yc7+9D+iQdo9X64+e/39pVz4Y5WBS1stnV+8uLq4+XH579uri5FsBqqGpyqKBY79flvVMufUMvFo9+Cg2m+cuq1TtcFrWM9y/GT3mKUyXdvl75pD1C97ma2+BP/f59tPc8ces9q3r4HtWH/E3fnqgh9+09kTWI8nXy8XrKx5/vCDnU/n683d3sPkpaKUDZUzbq5/sX00IIGJgONExxTyKGJYiCTFwE2tNCE/NFkXOJpMaJupE96q2JLapwuQBqtyfPe+2ju9+n+X5pYNZG+R9ot+0wCjAbKDWjkrjWzRTmT/XJ7KrjEcm9FbOZ8/CL2hMVjc+WV1VfkgLfUBLV08OaTkQxoMa7uQOabnfdRxUcN/cQ0ruj5YPKmEPRiV8hLbwoLYjT/e72ga7Gw7UyYMW3Nd/yIKdm+CUlrtDH62Idooe7oCOJf8hAP6udvqPKV+t/gPkW9ak+RkAAA==

metadata_json:
  {"categories":["automation","integration","content production","social media"],"complexity":"medium","use_cases":["Generate on-demand AI images for blog posts or product pages","Automate creation and upload of visuals for social media (Twitter/X)","Act as an image-generation microservice for AI agent pipelines (MCP)","Scale thumbnail and illustration production for SEO/content teams","Integrate prompt-driven image creation into other n8n workflows"],"estimated_setup_minutes":30,"required_services":["Leonardo AI API (API key)","WordPress site with REST API and media upload credentials","Twitter / X API (OAuth) — optional for social upload","n8n instance (self-hosted or cloud)"],"key_features":["Prompt-to-image generation via Leonardo AI with preset styling and resolution","Polling and download of generated images","Automatic upload to WordPress media library via REST API","Optional upload to Twitter to obtain media_id for posting","Returns publicly accessible image URL and full media objects (WordPress, Twitter) as output','MCP-compatible: callable as a sub-workflow with prompt and slug inputs"],"target_audience":["Developers building content automation","Marketers and bloggers automating visual asset creation","AI agent builders integrating image-generation modules (MCP)"]}


name: Generate Complete SEO Audits with Apify, Claude Sonnet 4, and Gmail Delivery
author_name: Luka Zivkovic
author_username: zivkovic58
categories: []
created_at: 2025-07-25T01:31:37.434Z
updated_at: 2025-07-25T01:31:37.434Z
url: https://n8n.io/workflows/6403
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:34
description:
  Description
  Get professional SEO audits delivered automatically in under 5 minutes. This complete n8n workflow analyzes any website and generates 4 comprehensive reports that you can send directly to clients.

  What You Get:
  ✅ Complete n8n Workflow - Ready-to-import automation that runs entire SEO audits
  ✅ Technical SEO Analysis - HTML structure, performance, and crawlability assessment
  ✅ Content Quality Audit - Keyword optimization, readability, and E-A-T evaluation
  ✅ Strategic Opportunities Report - Growth strategies and competitive insights
  ✅ Executive Summary - Client-ready action plan with prioritized recommendations
  ✅ Professional Email Templates - Branded delivery system with all reports attached
  ✅ Setup Documentation - Complete installation guide with API configurations

  Perfect for agencies, consultants, and freelancers who want to offer high-value SEO audits without manual analysis.

  Get Started: []https://n8n.partnerlinks.io/ds9podzjls6d

  SEO Audit Workflow Product Window
  Product Name
  "AI-Powered SEO Audit Automation"
  Product Description
  Get professional SEO audits delivered automatically in under 5 minutes. This complete n8n workflow analyzes any website and generates 4 comprehensive reports that you can send directly to clients.
  What You Get:

  ✅ Complete n8n Workflow - Ready-to-import automation that runs entire SEO audits
  ✅ Technical SEO Analysis - HTML structure, performance, and crawlability assessment
  ✅ Content Quality Audit - Keyword optimization, readability, and E-A-T evaluation
  ✅ Strategic Opportunities Report - Growth strategies and competitive insights
  ✅ Executive Summary - Client-ready action plan with prioritized recommendations
  ✅ Professional Email Templates - Branded delivery system with all reports attached
  ✅ Setup Documentation - Complete installation guide with API configurations

  Perfect for agencies, consultants, and freelancers who want to offer high-value SEO audits without manual analysis.
  Requirements: You'll need an n8n account to run this workflow.
  Get Started: https://n8n.partnerlinks.io/ds9podzjls6d

  🚀 How to Setup
  Prerequisites
  Before importing this workflow, ensure you have:

  n8n account (cloud or self-hosted)
  Apify account for web scraping
  Anthropic account for AI analysis
  Gmail account for report delivery

  Step 1: API Credentials Setup
  1.1 Apify API Setup

  Sign up at Apify
  Go to Account Settings → Integrations
  Copy your API Token
  In the workflow, update the Apify Crawl Request node URL with your token

  1.2 Anthropic API Setup

  Create account at Anthropic Console
  Generate an API Key
  In n8n, go to Credentials → Add Credential → Anthropic API
  Enter your API key

  1.3 Gmail OAuth2 Setup

  In n8n, go to Credentials → Add Credential → Gmail OAuth2
  Follow the OAuth2 flow to connect your Gmail account
  Grant permissions for sending emails with attachments

  Step 2: Workflow Configuration
  2.1 Import Workflow

  Copy the provided workflow JSON
  In n8n, click Import from URL/File
  Paste the JSON and import

  2.2 Update Variables

  Open the Variables node
  Set your target website URL (include https://)
  Set the recipient email address
  Save the node

  2.3 Configure Credentials

  Assign your Anthropic API credential to all Claude model nodes
  Assign your Gmail OAuth2 credential to the Gmail node
  Update the Apify URL with your API token

  Step 3: Test & Run
  3.1 Test Run

  Start with a simple website (your own site recommended)
  Click Execute Workflow on the manual trigger
  Monitor execution progress (takes 3-5 minutes)
  Check for any error messages

  3.2 Troubleshooting

  Apify errors: Verify API token and URL format
  Anthropic errors: Check API key and usage limits
  Gmail errors: Re-authenticate OAuth2 connection
  Timeout issues: Increase node timeout settings if needed

  Step 4: Customization (Optional)
  4.1 Audit Scope

  Modify maxCrawlDepth in Apify node for more pages
  Adjust maxCrawlPages for larger sites
  Update CSS selectors for specific content extraction

  4.2 Email Template

  Customize the HTML email template in Gmail node
  Update sender information and branding
  Modify report descriptions and formatting

  4.3 AI Prompts

  Fine-tune prompts in the three audit nodes for specific industries
  Adjust analysis depth and focus areas
  Modify scoring criteria and recommendations

  📋 Workflow Overview
  The complete process takes 3-5 minutes and includes:

  Website Crawling (30-60 seconds) - Extracts content and HTML
  AI Analysis (2-3 minutes) - Three parallel audits using Claude Sonnet 4
  Report Generation (1-2 minutes) - Creates and emails 4 professional reports

  💡 Pro Tips

  Test with smaller websites first to verify setup
  Monitor Anthropic API usage to avoid rate limits
  -Keep backup copies of your customized prompts
  Set up email filters to organize audit reports

  📦 What Workflow does

  Technical SEO Audit PDF (≈ 8-12 pp)
  Core Web Vitals snapshot
  Crawl/index errors & fixes
  Schema, canonical, robots, mobile UX checks
  Colour-coded priority list (🔴 / 🟡 / 🟢)

  Content Quality Audit PDF (≈ 6-10 pp)
  E-E-A-T scoring & gaps
  Keyword density + missed terms
  Readability metrics (Flesch, Gunning-Fog)
  Duplicate-content & freshness flags

  Strategic SEO Opportunities PDF (≈ 5-8 pp)
  SERP-feature wins (Featured Snippets, PAA)
  Competitor content gaps & topic ideas
  Link-building prospects & internal-link map
  ROI-ranked action list

  Executive Summary PDF (≈ 3-4 pp)
  Health scores (/100) for Tech, Content, Strategy
  7-day / 30-day / 90-day action roadmap
  KPIs & ROI projection panel
  Resource/time estimates for each phase

  Potential Improvements
  If you can self-host Gotenberg, you can use it's html-to-pdf function and attach the audit as a document

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.merge","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.lmChatAnthropic","n8n-nodes-base.convertToFile","n8n-nodes-base.stickyNote","n8n-nodes-base.html","n8n-nodes-base.convertToFile","n8n-nodes-base.html","n8n-nodes-base.convertToFile","n8n-nodes-base.html","n8n-nodes-base.convertToFile","n8n-nodes-base.markdown","n8n-nodes-base.html","n8n-nodes-base.markdown","n8n-nodes-base.markdown","n8n-nodes-base.markdown","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","n8n-nodes-base.gmail","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE62Z224jxxGGX4WYa9amD9UnXWWxthMDcRx4F87FYhFUV1dLxFJDhRxZWQgC/BjJ6/lJgqG0JpeaITlaX5Js1nxTh7+rq++ba+moubhvFu2mo5bl+9JcNOx99NZUx4RJxVop+FxC5pRFuSKsk2XvjU9SAmntVVIpG4leK6dyaOZNJ9c3S+rkzVrK5q10tzdvVtc3S+mkNBfd+lYe5k27KrJpLt7fN4v+qTXawslmyNZmQEsREhkNtmafUi0us27mTUvX0lw037ZXPW+ZvVm1nbTd7PVtWXT9kz/d9L//uY3tn9rYwvYpsKT2kq9o0b6iS2n7dTerzaJbrNrm4j04xDnGD/PmhtZ0LZ2sN83F/cOjsZ9lvdmu06/Cw/wJViv0PpMFlcQDEgnk4hQoUoUs15BCHIB9J3zVLpiWX40L1qgpwM6jD9pbUCEGwJAtZMMMppBHDCb7vOfdt92aOrlc8Ozttz/OXre0/LRZbL7Gu2oSLfvsozUVKOYEiAYhR4tgCvuMKRaneUf7g6wvZfaTbG6X3R7kji/TRl5d96sO0Pw5cbfzhpZ39Gnz4213c9t9Q33JPObwE67JGW3wFRI7BoyKIEYyYLI2gWo0Tpcd7uvLy7VcUtcj36zWR5Dp88ovsbWJ56TrLvZkFBorgKY4wGIYcuAMKnN23mcr0ewl63+Eb7vFLzJ7e3t9TetPs79IK2vqVuuXJYBVk6sraq1MyVCSzoDRZ4jZMWQkj8kri1l2wAdFNfthVWR5Bury+s0Vda/b7mq9ulnwQWpgVHPQ5gxuu0vb5Fm88sA2VUCOFmKIGozJxpJhKmrP0V8o1x9E7YKfm2CmQCfDUXlDoINWgOI9kMcAohSlYFl5qkPK8FkV/kByb3AKOQYVFLoCrtgCGAtDVsVBVcVQVkLK7mvaUzb/UekxP0uBd7Sl1KClaPAmMiAmhihOA2Pxka01hemL5PhF1t2sW83++u6Hv41KBD+ue7f6brE8lAkMZg7W+vOVQmdxGGuEklIELFb3CmzAKBWViyhKaD8XFvzx0+zvq070KOBmu6hfc+DBoHAOA/tCw4910Vw0zTgpFZtdVh5IVw+o2EA2pQKn5LgG64rak9wnBZOtL2efm5Nx6KvuevlMc3s9wNMJ+jtiiCw2UoWiggHEYCG5XsrYKrYcVSk4GvBxtpMRnwSpNFbfbwYYiQCV85BqKKBydNWkmLzBU340U/0YTxfO74ARtRQjFRxnByhcIVYTAHWyUiqXYP2oF8fJTnlxCqJEZiJNoGwpgOwQkvIBFFZHmmPQfNKHdqoPrZoQ5eSsNsUIaIMVMCWG5CqDy+StIawhpVEnjqOdcuIkxqIZTRAPhCoDmsxA3jhITFk5itUrGt/0u9XsH998N9780fpjWd21B5Aqxon1wqFiJKvBOVUAFXrI0RkQJiXZYjZ6YM85peJjejNJvKPrD0pZIBD29aEVJL8VHSaMRVVxMtZ9nAI84r8plWI4mkLRgceSARUViCpGCIFN9NoobWnUe+OSeCy6k1zIWJDQR/AuE2A0DJS8g+iLQ62KC26/F9o7G32NByeViTFEGqMDG9EDchLIthI4cZKj+IBsDo5GU45EOvZOO+NQ9MrsvJYzIpKGyKYCIheIHhkShhp1ZbaYBruGcXke6xqC7+n0s5Ce1zTYWrMJ1oIW4wDZMiQpFnzIqUatDcd9ob6mxXKU8PLp1z04Y7Zy0sPdSb5arT5uxymkjc9cBQJvTzO6QIopQUaXdPHkS+odcdTd5tVeBoRc2NUEtbeCORNEJgLrsyTxUZeiBk6bU0+ZRuHntzlXgER7JdEDSV/dLgYgY/o8IPZaJ+/J7sB+pvWC8lLGj78bORwlbFXRn6wW+wp3UMEoL96AMh4BMzNE3TOqaL0vZLTf89Y/r6Sd8XLBHxft5ey3X//7eBqW2d1q/bEuV3e//fq/IyXe3tLy3XpxeSnrQ3J0fpi8XXWy+b79brm6ay4qLTcy6uCqAkrODozuD/IxOciBSq+maIWCrzxcaGl6e66d9UPhP6/ScjWuBqpQc5/zKVZIgTVkoZAYk6t+r2t7fbOon2Zv1nS3nP0k/76VTXdkq+xudmtW7bfr9Wrdi9Cq7RbtrWw/P05qDt+o19rTyYN7ylYpxl5YQRnU0G8NEF0IIJ6lLzNv7fB5aLq/jRocRp3nbkU19M0wSO23/oAVkssBUjKkVaJgCw9yjvd2RxLDqLl1z2YM55F6Drr2+xXH/hRss4aM4kETiU5RknHDpPjSFMbnIT8zh3MVFVSC2ostZiTInhkKJy7s0DrjB1HdC6Kvg59DeN6rnIdqIldHKQMpNIC2aCBJCFaqeF2DZRlG9dNRfb/Jxedd33mkaDhkrAYSOgH07IFCscBKOe1z5azrIGmYTKq9+grQ7JzFqCpo8qlPIoRcfQGtnBeLxSRWg6DxRaApvbCgrNEYjctgs7f9rDRBCtaAwuBYqo1VD3Nuv37BzObFpByEbFAMivt6KkZD9iKAkm0OxntGHCadPl0yBucmvlBNgzNBhBGUBAb0hSFlCZBFYQpeO+E8DDq9oTXB9Oe8OFGjPsz731vh3sx2+WO3enHfXNOiN/z+w4eH+VP/v/ft/fbabbgv3K6ZN4u2yH+aC/WwtbBbN2TloEcetLBr9AY5ju39g/a+vO45+m7Pb1gGLX45Gr64b2jxr34QfEuX8vTdnvWzLkieWTh85uGAd+g9Dk5vR9mP2RkdJg9afDaJnIymBw2Z6YbMoCE73ZAddNbwq40ObY7Xx++5NmTzrJwZtj9QH4NPOHEhfmh8/vyfo7fT4/89dVH87JXm7z9H9Nnd18m6O/GGJ0tucF4zqGqnRrRjdTMwUTvfvjlhf/ie82yvjUb3pN9GHD9ahM+v4gflYSR3XmzWDLvpaTJ8fhz0iTiM/esM5X2Z6WHhHL/qmGB6WErHLwAGTY+m2ItDqQ4z5OCy+VTSn5Kl0yl/RK/P2DOOxHmnnaeuMMb/eWJ2f0Suj06sB2Nw1kRsyCUD872BBzw8/B82iCmWhSYAAA==

metadata_json:
  {"categories":["automation","integration","data processing","SEO auditing","content analysis"],"complexity":"complex","use_cases":["Automated full-site SEO audits","Client-ready reporting and delivery","Lead generation through free/paid audits","Technical SEO monitoring and remediation","Content quality and E-E-A-T assessments"],"estimated_setup_minutes":45,"required_services":["n8n (cloud or self-hosted)","Apify (web crawling)","Anthropic (Claude Sonnet 4)","Gmail (OAuth2 for sending emails)","Optional: Gotenberg (html-to-pdf)"],"key_features":["Ready-to-import n8n workflow (41 nodes)","Website crawling and HTML extraction via Apify","Three parallel AI audits using Claude Sonnet 4 (technical, content, strategy)","Generates 4 PDF reports including executive summary","Automated branded email delivery with attachments via Gmail OAuth2 credentialed node (supports templates)  - customizable templates and prompts  - priority-color coding and KPI/ROI panels"],"target_audience":["SEO agencies","Independent consultants and freelancers","Digital marketers and growth teams','SEO specialists and analysts','Developers/automation engineers implementing client reporting']}'}{"]}


name: CYBERPULSE AI BlueOps: Asset Enrichment Engine
author_name: Adnan Tariq
author_username: adnantariq
categories: []
created_at: 2025-07-25T06:15:15.618Z
updated_at: 2025-07-25T06:15:15.618Z
url: https://n8n.io/workflows/6410
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:34
description:
  👤 Who it’s for
  Blue teamers, SOC operators, cyber analysts, and SME defenders who want to automatically enrich daily CVE/IOC threats by matching them to their internal asset database.
  Ideal for compliance-driven teams (NIST CSF, Essential Eight) seeking automated enrichment and alert routing.

  ⚙️ How it works / What it does
  Loads current threat data from Sheet or Module 1 output

  Loads internal asset database from Google Sheets

  Merges based on matching IP fields

  Calculates impact score (threat score × asset value)

  Applies basic playbook logic to classify action

  Sends summary emails for matched threats

  Logs to archived and live threat monitoring sheets

  Built with modular, no-code logic and alerting support

  🛠️ How to set up
  Google Sheets:
  Authenticate your Google account
  (OAuth2) and set your Asset DB and Threats log sheet IDs.

  Email:
  Add sender/recipient addresses and SMTP credentials.

  Customize Matching Logic:
  Adjust enrichment rule in the “🧠 Match Threats to Assets” node.

  Triggers:
  Add a Cron node or Webhook to schedule the enrichment job.

  Review sticky notes:
  All steps are explained clearly within the workflow nodes.

  📋 Requirements
  Google Sheets with asset inventory + threat log

  Google account with Sheets API access

  SMTP service (Gmail, Mailgun, SendGrid, etc.)

  Optional: OpenAI for dynamic playbook scoring (if extending logic)

  🧩 How to customize the workflow
  Replace Google Sheets with Supabase, Airtable, or Postgres

  Extend enrichment rule to include hostname or UUID matching

  Fine-tune scoring logic by severity, CVSS, or business unit

  Route alerts via Slack, Discord, or n8n Webhook endpoints

  Add conditional routing for alert suppression or review queues

  📦 No sensitive data included. All credentials and sheet IDs are placeholders.

  🔐 This module is part of the CYBERPULSEBlueOps Pro Pack.
  For full access to advanced Blue Team automations, visit cyberpulsesolutions.com/blueops

nodes_used:
  ["n8n-nodes-base.merge","n8n-nodes-base.cron","n8n-nodes-base.function","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.emailSend","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE52VvW7jRhDHX4XYmmNwl/tFdc75AhjInYH4kMYwgtndWZk5iRRIyneCoCJIlyZFAqRMujR5gLxV8ggBKcWyZTH+6Ehw9r+//8xwZs3KwCbsy+Xszflq8Z0U1fnH2ZsLlrI5dcgma1ZWbYeVp/M+TkeKUXLEQM7KrDC5IaGl0bEIGUoVC0XkNRaea4wxWorWoNZCKuV0iGyTsgrnxCbsnUggOW1b6pK3VVP6mzlV/eO0rIilrMNpyyZX1ymr6kD943qLyiUaoS2CI8lBokJA5R0URhjHow6WS7a/hZrpILda9K+VrWDQA4ctncx3Xxd1W3ZlXbHJFc+yVMjsOmULbHBOHTUtm6w3W4lvqGmHuPyEb9IdkXJIqIIAL3kESY6D7QFFnhkSrsi5F3uif3775fvkDMvZKvnQlNMpNaN4vqmrh3QgxbPw9nABXRS+MBC4MSB9QCh4lkOIyhaYxZy0vg/3x+/vsPM3yYebhrBrk67eFqkdpYzLyg94D0jzUVD6TH7Z0UXliU26ZkmH7CnD2SdctRfLbrHszrDvwz7uzhPlJgsahxYwIA3mYFFZ4FYHr4KTQfv7nn7+MTldUBWS9/RpZ2zUzbSupzO6vKGt5XuOlH5W6uWJugNFTsZwZ0BHbkE6Q4DcOZAFz4tApLxRB6BnNKOOkq/rT69ElOJFiFpwH61VEDNFIKPPoeC2ABdjpAJlVNI8QPzzss/k5XI+x2aVvJ1jORslpf5rH/8Y076gh02WoREiBxcDgURdgHNOAhWyKArno5TyPuOvP/z9109Jctr4m/KWwre7Xn5FQo18ec2ltiHzEaTxFqTOJFiVZZATaa1FFgW3D2v+3692B/BSShBZlnL9IszoKEdrJRRccZDSIxQiSDAkpSryqL08wPyqxrAb2GdfvJYyf5pyX3dUVnmda0DyCqRTGdjIPWiLQVinTYy4Z7zsSv9xlbyvu/GB3w4xu5B7bFn6CIv5uuqo6tiEsceI1ylD35W3xCYRZy2lrKWuK6vpcHQ74sq6umgCNWzCbnmvcbs9P2xS7oTMY6ZBkBAgtTeAQheglctVpNy70Pe0r6uKhvE6CG/X2WTN5lj23FfrYT0+d3IPp1JWVoE+s0m2ub7epEdqe0z/YJE+VOJ7pYNmPo462kyHgOnz7r9z8mi1jt0/9s+NZujxBjku/eTsGblhvHojFv53Do/n8Ylt+MTBY9vpiKHN5l87JUkwWAoAAA==

metadata_json:
  {"categories":["security/incident-response","integration","automation","data-enrichment","alerting"],"complexity":"medium","use_cases":["Enrich CVE/IOC feeds with internal asset context","Automated triage and prioritization of threats","Email alerting and routing for matched threats","Maintaining live and archived threat logs for compliance","Applying simple playbook logic for response actions"],"estimated_setup_minutes":45,"required_services":["n8n (runtime)","Google Sheets (Sheets API + authenticated Google account)","SMTP provider (Gmail, Mailgun, SendGrid, etc.)","Optional: OpenAI (for dynamic playbook scoring)"],"key_features":["Load threats and internal asset inventory from Google Sheets","Merge/enrich threats to assets by IP matching","Calculate impact score (threat score × asset value)","Apply basic playbook logic to classify required action","Send summary emails to configured recipients via SMTP"],"target_audience":["Blue teamers","SOC operators","Cybersecurity analysts / SME defenders focused on compliance (NIST CSF, Essential Eight)"]}


name: Track Crypto Prices, New Listings & Transactions with CoinGecko & Google Sheets
author_name: Marth
author_username: marth
categories: []
created_at: 2025-07-26T03:37:57.997Z
updated_at: 2025-07-26T03:37:57.997Z
url: https://n8n.io/workflows/6473
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:33
description:
  ⚙️ How It Works

  This workflow is a comprehensive crypto automation system that combines three critical functions for traders and investors into one powerful tool:

  📊 Price Monitor
  A Cron trigger runs on a schedule (e.g., every minute).
  A HTTP Request node checks the cryptocurrency's price.
  An If node compares the price against a defined threshold.
  If the condition is met, a Telegram node sends an alert.

  📰 New Listing Notifier
  An RSS Feed Trigger monitors exchange announcements.
  When a new listing is published, a Telegram node sends a real-time notification.

  🧾 Automated Crypto Transaction Logger
  A second Cron trigger runs daily (or as scheduled).
  A HTTP Request node fetches trade history from your exchange’s API.
  A Code node formats the transaction data.
  A Google Sheets node logs it in your spreadsheet.

  🛠️ How to Set Up

  1️⃣ Configure Credentials
  You will need credentials for:
  Telegram**: To send alerts and notifications.
  Google Sheets**: To log transaction history.
  Exchange API** (e.g., Binance): To fetch your trade history.

  2️⃣ Customize the Price Monitor
  Node 2**: HTTP Request (Check BTC Price)  
    Change the url to monitor a different crypto (e.g., Ethereum).
  Node 3**: If (Price &gt; $50k)  
    Adjust rightValue to set your target price threshold.
  Node 4**: Telegram (Send Alert)  
    Replace [YOUR TELEGRAM CHAT ID] with your actual ID.

  3️⃣ Customize the Listing Notifier
  Node 1**: RSS Feed (New Listing Trigger)  
    Replace feedUrl with your preferred exchange’s RSS feed.
  Node 2**: Telegram (Listing Notif)  
    Replace [YOUR TELEGRAM CHAT ID] with your actual ID.

  4️⃣ Customize the Transaction Logger
  Node 2**: HTTP Request (Get Binance Trades)  
    Set the url to your exchange’s trade history endpoint.  
    Configure headerParameters for Authorization with your API key.
  Node 4**: Google Sheets (Log Transactions)  
    Replace [YOUR SPREADSHEET ID] and [YOUR SHEET NAME] accordingly.

  5️⃣ Final Activation
  Once credentials and parameters are configured:
  ✅ Save the workflow
  🔁 Activate it!

  Ready to give this a visual punch with icons or a mini preview for the n8n template gallery? I can help dress it up in seconds!

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

workflow_json_compressed:
  H4sIAAAAAAAAE6WXy24byxGGX6UxCBIZYAl9qb5xEcBHhh0DimNISjaGFn2pJgciZ5iZkS1HEJDnOJvziucRDoaSrUtIkVJ2s6ju+qq66q+a66rO1bQ61uk/n+Kqu7i8ks3VW1tNqiUNoZpeV3XTD6FJ9HG0C9JZI1QR2pscrDWovfZonC6xIMmIQUghsTgeokvOWlk0KRtLEVwFqibVQMvVIgx01FHuT2m4XB21y9WCBsrVdOgu6WZSNWFJ1bT6/bdf/8uOuu+roWWn1Ax1Q4spe7ugbpiwd3Wf2q/UsT+z43bG3l4O7TIMdduwzyFdjI7CrK+mX84nVdNmGj+vb4NFb2xwJYHM1gDyoiAQVxCcR+tcDt7H6ieEOGRHXduwg89dnYj9vW3qoe3YWVfPZtS9GR19X42GjWtg7Qli6OmwT3PKlwu6M6wm1art6xGwmn7hE34+qVahC0saqOur6fXN7UX/oq5f24hDeTP5QUxKa24TmBw4oCIOTkQLOqE13KiCJd0Ty0P2t7Ozz+yE/n1J/cAOjuaULtgvZ0dsHcN25vkwrO5OPeaVEncT4wNiTaS4iQWC9REwo4VgI0IJJY9lorR098TqkH0sPzL8V/YnzS+2Q9blMRui280mH7AVoXm2SkOIqgB68hAEd+CNL0KKVEwU92x4yM5oQbMuLNnBKTX5tgC38w131o8pjZVrym8U5217cdtNqUirsoIScgY03oCnokGIUIwvIZJex7pvmQjUIcUcwZZUANFwiJg0JGuNJRV5ofKosE9OT9l7oswOPtE3dlz3Q93Mdpd21/fjqRMK+b66m3YYm6w6OKHVIiRiw5zYP0+O2bd6mLPQtMOcOkZXaR6aGf2lXzsvo/O6sIYoU37ztEmkNjvb5Gf0NmOK3EbAmBIgFoRgDQfrZJY+8iwkPWqS+2f9EfmndqjLS19WcncH+vBtKRbDs/ZQHHeA3CrwQmsIKaWcVRIWw0veNhfPNXINxFEAKl0gllwgWu+49N5YxzeI1lkXmj6ktS4et+NT/d/KpYV8iXYpwmQMEqDOHLDEANGFAFFnbY0XwXv/jHZ9oIH9UjfjBGJnXcjUv0a+uNsHGx9hW25yzpDl2JsyRIjRGQjSycRlxCz0IwF7f9ncpvngfdstw8DehSFsZ01tpic6Jsw+kPeIRmbDdQhgQ0bApCP4Eg1QQo82ByENPdKxD207WxA7nRMNPTsYx+aD+ngmsbP1wdtzT2RN4n6ZNT+xg/fWROJARSlAb8fxWwiicNwbJ7g26h77dKjTxfexM2l7wa5t7kwewIHBCaB7ClelthmoGappVW2XE4fBBIcaSCYD6DJC8ILGFKtkpCSZaCOmeBWn5K/ltCIiKYRgcgIsNoKzaEArq22WquiIGznlqzjR4Os4rVQ8CZ8gKIyACQPEVARYUmiizClwvZFTvZwTvZlY9T+zYz9Qbqz3Sghw2WlAMg58lBKUlYkC5z4+XA8egOKLQSXy13OqpIKhMtZmUIBZFwhJSMjZSok4jkK5kVO/mNPbV+TzfFKNwvKVqmkJi54mVU/DOGbXR+mK0uV4/T+6TF01rb6K8Y6vt+fXIzRK5wtmDcJwC0hlDFALKJGS4lYL48atN7VNQ7cKNl68cZecXlfLUI+hfLle/w7stditj0yqusl0VU35zfn5zeQZqd/iZH/V3ehv1//HJq8v+APY5nPHarjF6+6VaqO/3byb/D3/1/B8Mp/bi/bK6LN7yX5BbrpiS5y7losNDm9u/gARGSy13A8AAA==

metadata_json:
  {"categories":["automation","monitoring","integration","data logging"],"complexity":"medium","use_cases":["Real-time price alerts for cryptocurrencies","Detect and notify about new exchange listings","Automated transaction logging and trade history bookkeeping","Portfolio monitoring and trade auditing","Integrating exchange APIs with Google Sheets and messaging apps"],"estimated_setup_minutes":25,"required_services":["CoinGecko (or another crypto price API) for price checks","Exchange API (e.g., Binance) for trade history","Telegram for alerts/notifications","Google Sheets for transaction logging","Exchange RSS feed (or announcement RSS) for new listing detection"],"key_features":["Scheduled price monitoring with threshold-based alerts","RSS-based new listing notifications","Daily/periodic trade history fetch and Google Sheets logging","Configurable HTTP Request nodes for different APIs","Customizable thresholds and scheduling via Cron triggers"],"target_audience":["Cryptocurrency traders","Investors and portfolio managers","Crypto analysts and researchers"]}


name: Automate Service Booking & Payment with WhatsApp and Xendit
author_name: Khairul Muhtadin
author_username: khmuhtadin
categories: []
created_at: 2025-07-26T03:52:56.500Z
updated_at: 2025-07-26T03:52:56.500Z
url: https://n8n.io/workflows/6474
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:33
description:
  ⚠️ Disclaimer: This workflow utilizes community nodes that needs self hosted version

  Code for UI Form is accessible here

  The bykhaisa workflow streamlines makeup service bookings by capturing customer details via webhook, calculating pricing including add-ons and payment types, generating payment invoices with Xendit, and sending personalized WhatsApp booking confirmations.

  This powerful combination of n8n, GoWhatsApp API, and Xendit reduces manual work and accelerates payment collection, saving you valuable time and boosting client satisfaction.

  💡 Why Use bykhaisa?

  Save Time:** Automate booking and payment processes to eliminate hours spent on manual data entry
  Simplify Payments:** Generate invoices instantly with Xendit, making it easier for clients to pay securely and promptly


  Enhance Communication:** Send automated WhatsApp messages that keep customers informed and engaged without lifting a finger
  Stand Out:** Offer a modern, seamless booking experience that elevates your makeup business above competitors still stuck in the stone age

  ⚡ Perfect For

  Makeup Artists & Studios:** Who want a hassle-free booking and payment system
  Beauty Salons:** Seeking smooth client communication and invoicing automation
  Freelancers:** Looking to appear professional with automated workflows and instant payment requests
  General Business with booking system**: to make a seamless booking process

  🔧 How It Works

  ⏱ Trigger: Customer sends booking details via Form (a POST request to the webhook)
  📎 Process: Extract and format booking data, calculate prices with add-ons and urgent fees, and create a unique booking ID
  🤖 Smart Logic: Calculate whether payment is a Down Payment (DP) or full amount, set invoice expiry, and generate Xendit invoices automatically
  💌 Output: WhatsApp notification with booking details and payment link sent to customer, complete with friendly typing delays for that human touch
  🗂 Storage: Booking data enriched with pricing and payment state, ready for follow-up or record-keeping

  🔐 Quick Setup

  Import JSON file to your n8n instances
  Add credentials: Xendit API key, GoWhatsApp API credentials
  Customize: Adjust pricing logic, add-on fees, and payment types as needed
  Update: Replace webhook URLs and redirect URLs for payment success/failure pages
  Test: Run the workflow with sample booking data to verify end-to-end automation

  🧩 Requirements

  Active n8n instances
  Xendit account & API credentials for invoice generation
  GoWhatsApp API setup for WhatsApp messaging
  Optional: Custom domain for webhook endpoint

  🛠️ Level Up Ideas

  Add calendar integration to automatically block booked slots
  Integrate Google Sheets or Airtable for backup and reporting
  Set up payment reminders and follow-ups via WhatsApp automatically

  🧠 Nodes Used

  Webhook** - Receives booking requests
  Set (Process Booking)** - Data transformation and formatting
  Code (Calculate Price)** - Custom pricing logic with add-ons
  HTTP Request (Generate Invoice)** - Xendit invoice creation
  Respond to Webhook** - Send response back to client
  GoWhatsApp** - WhatsApp messaging functionality

  📋 Workflow Categories

  Category:** E-commerce, Bussiness
  Tags:** automation, booking, invoicing, payments, whatsapp, makeup

  Made by: khaisa Studio  
  Need custom work? Contact Me

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.respondToWebhook","n8n-nodes-base.wait","@aldinokemal2104/n8n-nodes-gowa.gowa","@aldinokemal2104/n8n-nodes-gowa.gowa","@aldinokemal2104/n8n-nodes-gowa.gowa","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5784 characters]

metadata_json:
  {"categories":["automation","e-commerce","communications"],"complexity":"medium","use_cases":["Automate service bookings and capture customer details via webhook/form","Calculate pricing with add-ons, urgent fees, and payment types (DP or full)","Generate and send Xendit payment invoices automatically","Send personalized WhatsApp booking confirmations and payment links","Store/enrich booking records for follow-up or reporting"],"estimated_setup_minutes":45,"required_services":["n8n instance (self-hosted recommended for community nodes)","Xendit (API key for invoice generation)","GoWhatsApp API (for WhatsApp messaging)","Hosted form or any service that can POST to the webhook (UI form code provided)","Optional: custom domain for webhook endpoint"],"key_features":["Webhook-triggered booking intake from a UI form","Custom pricing logic with add-ons and urgent fees (Code node)","Automatic Xendit invoice creation with expiry and DP/full payment handling","Automated WhatsApp messages with typing-delay behaviour for a human touch","Booking ID generation and enriched booking data storage for records/follow-up"],"target_audience":["Makeup artists and beauty salons","Freelancers offering appointment-based services","Small businesses with booking/payment workflows looking to automate operations"]}


name: PDF Invoice Data Extraction & Tracking with Google Drive, Claude AI & Telegram
author_name: Automate With Marc
author_username: marconi
categories: []
created_at: 2025-07-26T08:17:55.222Z
updated_at: 2025-07-26T08:17:55.222Z
url: https://n8n.io/workflows/6480
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  📥 Invoice Intake & Notification Workflow

  This automated n8n workflow monitors a Google Drive folder for newly uploaded invoice PDFs, extracts essential information (like client name, invoice number, amount, due date), logs the data into a Google Sheet for recordkeeping, and sends a formatted Telegram message to notify the billing team.

  For step-by-step video build of workflows like this:
  https://www.youtube.com/@automatewithmarc

  ✅ What This Workflow Does
  🕵️ Watches a Google Drive folder for new invoice files
  📄 Extracts data from PDF invoices using AI (LangChain Information Extractor)
  📊 Appends extracted data into a structured Google Sheet
  💬 Notifies the billing team via Telegram with invoice details
  🤖 Optionally uses Claude Sonnet AI model to format human-friendly summaries

  ⚙️ How It Works – Step-by-Step
  Trigger: Workflow starts when a new PDF invoice is added to a specific Google Drive folder.

  Download & Parse: The file is downloaded and its content extracted.

  Data Extraction: AI-powered extractor pulls invoice details (invoice number, client, date, amount, etc.).

  Log to Google Sheets: All extracted data is appended to a predefined Google Sheet.

  AI Notification Formatting: An Anthropic Claude model formats a clear invoice notification message.

  Telegram Alert: The formatted summary is sent to a Telegram channel or group to alert the billing team.

  🧠 AI & Tools Used
  Google Drive Trigger & File Download

  PDF Text Extraction Node

  LangChain Information Extractor

  Google Sheets Node (Append Data)

  Anthropic Claude (Telegram Message Formatter)

  Telegram Node (Send Notification)

  🛠️ Setup Instructions
  Google Drive: Set up OAuth2 credentials and specify the folder ID to watch.

  Google Sheets: Link the workflow to your invoice tracking sheet.

  Telegram: Set up your Telegram bot and obtain the chat ID.

  Anthropic & OpenAI: Add your Claude/OpenAI credentials if formatting is enabled.

  💡 Use Cases
  Automated bookkeeping and invoice tracking

  Real-time billing alerts for accounting teams

  AI-powered invoice ingestion and summary

nodes_used:
  ["n8n-nodes-base.extractFromFile","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.informationExtractor","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.googleSheets","n8n-nodes-base.noOp","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4496 characters]

metadata_json:
  {"categories":["automation","document processing","integration","AI-powered"],"complexity":"medium","use_cases":["Automated bookkeeping and invoice ingestion","Real-time billing alerts for accounting/billing teams","Centralized invoice tracking in Google Sheets","Reducing manual data entry for accounts receivable"],"estimated_setup_minutes":30,"required_services":["Google Drive (OAuth2)","Google Sheets","Telegram (bot + chat ID)","Anthropic Claude or OpenAI (optional for formatting)","LangChain Information Extractor (n8n node)","n8n PDF extraction/parsing node"],"key_features":["Watches Google Drive folder for new PDFs","Extracts structured invoice data from PDFs (AI-powered)","Appends extracted rows into a Google Sheet","Formats human-friendly summaries via Claude/OpenAI (optional)","Sends formatted notifications to Telegram channel/group"],"target_audience":["Accountants / bookkeepers","Finance / billing teams","Small business owners managing invoices manually​​​​​​​  ​​​​​​​  ​​​​​​​  ​​​​​​​  ​​​​​​​  ​​​​​​​  ​​​​​​​  ​​​​​​​  ​​​​​​​  ​​​​​​​  ​​​​​​​  ​​​​​​​  ​​​​​​​  ​​​​​​​  ​​​​​​​  ​​​​​​​  ​​​​​​​  ​​​​​​​  ​​​​​​​  ​​​​​​​  ​​​​​​​  ​​​​​​​  ​​​​​​​  ​​​​​​​  ​​​​​​​  ​​​​​​​  ​​​​​​​  ​​​​​​​  ​​​​​​​  developers/automation engineers"]}


name: Automated Client Journey Appointment Reminders & Follow-ups with Twilio
author_name: Marth
author_username: marth
categories: []
created_at: 2025-07-26T15:49:49.930Z
updated_at: 2025-07-26T15:49:49.930Z
url: https://n8n.io/workflows/6491
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  How It Works ⚙️

  This workflow is a comprehensive, AI-powered system that acts as a virtual client relationship manager for any appointment-based business. It handles the entire client journey—from appointment booking to follow-up and re-engagement—all on autopilot.

  Appointment Trigger: The workflow starts when a new event is created in your Google Calendar.
  Client Data Management: It queries your client CRM database (Airtable or Google Sheets) to check if the client's email exists, preparing to send a personalized message.
  Dynamic Reminders: An If node splits the workflow. It sends a personalized welcome message for new clients and a standard reminder for returning clients, drastically reducing no-shows.
  Post-Appointment Follow-up: A Wait node pauses the workflow until after the appointment ends. It then sends a personalized "thank you" message via Twilio with a link to a review or survey.
  Re-engagement Loop: A separate Cron trigger runs weekly, automatically identifying clients who haven't rebooked in a set period (e.g., 30 days) and sends them a personalized offer to encourage them to return.
  Data Logging: It automatically logs all client data and engagement actions into a central database like Airtable or Google Sheets, creating a real-time dashboard for your business.

  How to Set Up 🛠️

  Import the Workflow: Copy the provided workflow JSON and import it into your n8n instance.

  Configure Credentials:
      Google Calendar: Add your OAuth2 credential.
      Twilio: Add your API credentials.
      Google Sheets / Airtable: Add your credentials for your chosen CRM.

  Customize Workflow Nodes:
      Node 1 (Google Calendar Trigger): Select your Google Calendar credential and the calendar you use for bookings.
      Node 2 (Google Sheets / Airtable): Connect to your client CRM. Adjust the filter to search by the client's email from the calendar event.
      Node 4 & 5 (Twilio Reminders): Replace YOUR_TWILIO_NUMBER with your Twilio number. Customize the message body to fit your business.
      Node 6 (Wait): Adjust the Wait Duration if you want to send the follow-up message at a different time after the appointment.
      Node 7 (Twilio Follow-up): Replace the placeholder [LINK TO YOUR REVIEW/SURVEY PAGE] with your actual link.
      Nodes 8, 9, 10 (Re-engagement Loop): This is an optional, high-value part of the workflow. Configure the Cron node to run on your desired schedule. Adjust the filter in the Find Clients node to your specific re-engagement criteria (e.g., last visit date is older than 30 days).

  Save & Activate: Once all settings and credentials are configured, save the workflow and click the "Inactive" toggle in the top-right corner to make it live.

nodes_used:
  ["n8n-nodes-base.googleCalendarTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.twilio","n8n-nodes-base.twilio","n8n-nodes-base.wait","n8n-nodes-base.twilio","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.twilio","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE62W227bOBCGX0XgxaILeLI8H3xXpHvoLrYFkqK9KHIxJIeuUFtyJTlpN8i7L+S2ibOVYyfYOwEa8v84nPk516zObM5efv7zjX776epX/1c5/eOfF2zGVjQgm1+zuukHbBK9HONQemeFKsIEm9E5q00wQVtvSiyaZNQopJC6eI7RJ++cLIaUi6UIrpDYjA20Wi9xoNOOcn9Ow2Z92q7WSxoos/nQbehmxhpcEZuz8xV2Q3W6rKkZqjNa4lC3Tf+hXlc/Vc/X67ZuhtX46/lmaFfbn+P+uOjZ/P3FjDVtpvHz+usZvfTZIiog4RF0xgSBRw+Sc04y6WRIsFvt39t2saTqFJfUZOyqN129WFA3CnxZjwGNb2CrABF7Olls47+H30Wv277eks3fg7Az0P5ixtbY4YoG6no2v775uuVb6vptnLiZfSc21nh0CEEmCTpaCVFjBq8Fd16RIY47xHSbqxc4YFW6dlWdnv19APn8A9HQ3yeV3B9Dqk/sLSsqQ8WgAVOsA52sg2hIQeE6YnZBRsfvWF+W6tkruqou+5PqjIZN19TNojrd9EO7ou7nvch1uQ+qlTwGVJ7IW1DtXUo6JyCPCnSMBQJpBCc450rb6Hi4Ax0hv2NV72iZ2hVVP1VntKqb/EA5DFf1sm7vw1pjZyC0Pr4AxkYT0XowPAjQXBGElDmIxGNU2isU+o71x0Q+nfMxZZqC4jJ4A0K7AFoqAi8FQjFe5cKdzsHdUb7DeqiePS8DdbtNvP/Or7Ae7gN6z7/d+hXFD237cetNUWYnhUEgEh60sh6CNgGEtIlLVxQnww4d6mTnWAJRJkPgAhJocgaiQwlOWx5C8MHgjl+cU5Or8013SV9+OaPLmq6qM/q0oX54VO6F4PqRJoGUEvcZtMAAOmYBISoNxqI0PEev+b0aAWoWuKCtcR4ytT59oLxZ0l4705wfJN3pPVUEd9JryCo50NI5QAoJMLsUDeZSVLlj/a1u8jdH66tXRHks7XsHeKK1HUG9a22UnZTKciDuHWjrJWCJHnSIVmdvhYthX4Zfl/LI7hst7Zi03uJFJyUmUyBwOSa1eAhIHpTTRJkbDNzv1OlQp49fqlftQPuvfRvzLWT3xse+E87+l42lthnG65gz9kChBuPI+wxKKwIdhQfvpQfKVLzzQllFk5ziSaBK/pDD4zhFMdzajBCMCqC9TRCoGPBa8uKEssHZSU75BM4nZfRixjAN9SWxecFlTzPW0zDUzWK7lD5T2owCr7vR+efsUox7XH5dv7VK0ikpFwrk4j1oThmiQg06SK2iUkXkyGYjRENpO3SNG097x/yarbAeT/P+ejtyPbJzt4tnbHymPrM5v7m4uJntnb6mxA7PPdMS+5ZNaRw9r0xK7X3ypqSOeUgmVR56/qeEDj/EkzKHUjEldfQU9YPi7G6To8abSeRD8v9jdo6o/Cm1Bx+NCaGbm38B3nHsBLkNAAA=

metadata_json:
  {"categories":["automation","customer engagement","scheduling","CRM","communications"],"complexity":"medium","use_cases":["Automated appointment reminders to reduce no-shows","Post-appointment thank-you and review requests","Automated re-engagement campaigns for inactive clients","Centralized client activity logging and dashboarding","Personalized messaging for new vs. returning clients"],"estimated_setup_minutes":45,"required_services":["Google Calendar API (OAuth2)","Twilio API (SMS/voice)","Google Sheets or Airtable (CRM)","Optional AI/ML service (e.g., OpenAI) for message personalization"],"key_features":["Calendar-triggered appointment flow","CRM lookup to personalize messages (email-based)","Conditional branches for new vs returning clients","Wait node for post-appointment follow-up","Cron-driven re-engagement loop (e.g., 30-day lapse)`,`Automated logging to Sheets/Airtable for dashboards`,"],"target_audience":["Small businesses with appointment-based services (salons, clinics, consultants)","Operations or office managers handling bookings","Marketing teams running retention campaigns for clients or patients  ,  developers/automation engineers implementing integrations"]}


name: CYBERPULSE AI RedOps: Internal Phishing Simulation for Security Training
author_name: Adnan Tariq
author_username: adnantariq
categories: []
created_at: 2025-07-27T01:35:46.722Z
updated_at: 2025-07-27T01:35:46.722Z
url: https://n8n.io/workflows/6506
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:34
description:
  Description:

  Simulate phishing awareness campaigns using OpenAI-generated emails. Send to target lists, log clicks with a webhook, and store results in Google Sheets. Built for internal testing and cyber awareness training.

  Who’s it for:

  Security teams conducting internal simulations
  GRC teams doing phishing awareness
  Red Teams wanting modular test setups

  How it works / What it does:

  Loads targets from Google Sheets
  Uses OpenAI to write realistic phishing emails
  Sends them via Gmail
  Tracks who clicked via webhook
  Logs actions in Sheets

  Requirements:

  Gmail or SMTP credentials
  Google Sheets OAuth2
  OpenAI API Key
  Self-hosted webhook or tunnel for /phishlink tracking

  How to customize:

  Replace email template with your own LLM prompt
  Swap Gmail for SendGrid, SES, etc.
  Edit domain in tracking link
  Use Cron or manual start

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

workflow_json_compressed:
  H4sIAAAAAAAAE52WS28cRRDHv8qoz1OmX9OPPRGsxEQkJIotkIgs1I/q8ci7M8vsrJ3IWinixgUOIB4SEhckjlw4cOLD+AvAR0Aza3nt9dpe57pbXfWrf/+7as5IFcmIvDn1ZfzkWDBvDVdYkZxMsHNkdEaqeta5OuDTPk4lTEky5yJ6I6nVQiNXUqtkI3WySLZADMrZwJRLKRlMRjuluCwKr2IiOelwMh27DndbjLN97ObT3WYyHWOHkYy6do6LnNRugmRE/vvth7+yVxhfTGfZ8ybOx5ix7Pzd99nLo2p29KRpS+wTunJGRq/Plp3MP/3q40fjk4+657OXsnwSyWW2l21DchJadB3GRx0ZEU55AVQD1QfUjoQccbojhf6C5GQ+jfeHLQ5zUjcRr5T3kQXGCw8ieAPShwDWGwqykD4YDAKNWyF9foR1FsZVOK7qMjt/9/PjNxjmHWanTXucxs3p+btf+g7fTvvo2tQwlAPvZrgzcfXcjQ/aqiyxJTmZNrOqq5qajF6DYIrmwDk9zMnUtW6CHbYzMjpbLLN9hu1sCGWL/IJ8uDlnPQQeKEh0BXhlJBRCmIKrxIIQK/L9rgrHb7NPmw5vBZwNMRchV+mYoDQHaW7QkdDUHda96OR2UiUpUukopOA1yKAKMN4yoJRzxYSOVhfkiol+/zHbwxpb1+HSOb3YjyeuGq/QP6xN/cGKf+zqMhy5qt5xZc9znZ9rvp26/JLZmMCV9gq4ZAGkLyw4bhMo67UwBSuClSvmF1OsHz3Ndo9c1xsftwEdT/rw4WR1g5fSfAsv7Kx4U1BeGC+AeXQgHTPgpUpAIxPcM6G91Sve81+/+ffv77InTTtx3VLaLDVtto91rOrydofgDWnFlsYVO/IS1inBjEkKNA0MJFoPPiULOghacOeEUGYFu3f95teQyot/r0ExeQl1iv6oaY6HaaiRuWipgMQNA8lEAMNcAG2dLXzigsd+/txtkZ0rT9Cb6JnWYILWIE3BwfAigLDcCB+LoJ25auw//smeNWWvcrfu5/WumqYc4/4RYjdbf4x2SzPLHXVJqqOlsrcHRUlBUsfAiRiAFZZFF3tXX3uC3/6Z7fZjLjtoXTgextVm0At5b1yA6g28rr/SQhvFEGyMHCSGBC4EBkoUtGDILQ14r/6XPYWQkvLKgQr9AGQhgYmFB80YIholuL+m/k9f955/haFp47K7B/h8UH3Z0dY2t1r2LufAIkaQMUhwFjUU2ioZ0EXD1+2xFd1d5lhOjgd5g1rBVfKyX4EOpNcCTJQUCp4U40WKQuHGRcLeZ5MML/M9FwmqgNFLBZZGC5J7BpYyBgqRU+k5T/KKi/ewO3Btid2zata9j5jcyu1f2mFOXOiqEySj5MYzzMkMu66qy6E9HL4TqqZ+0UZsyYicsL7Pk2WG4XFQmrxVzgBnpgDJrQA7DBMlREGVd873Ezw0dY2hTzUkXg7H0RmZuKqHfn02fOHcN26G6JxUdcQ3ZEQXh4eLfE2wzTm32c0bk99ckaMz4qov+4U4dyVe/PbgYjdSrBfeMMw2t3bXfNjY0sYjt17FgxLf0fmmAlvv843l7ju9qeLeFle+1dfyxuSbX+6GIovF/6YrZjgRDQAA

metadata_json:
  {"categories":["security","automation","integration","training"],"complexity":"medium","use_cases":["Internal phishing awareness campaigns","Red team phishing exercises","GRC/compliance training and reporting","Tracking and logging phishing engagement metrics"],"estimated_setup_minutes":45,"required_services":["Google Sheets (OAuth2)","Gmail or SMTP credentials (or SendGrid/SES)","OpenAI API Key","Public webhook endpoint or tunnel (e.g., ngrok)"],"key_features":["Loads target lists from Google Sheets","Generates realistic phishing emails using OpenAI","Sends emails via Gmail/SMTP","Click tracking via webhook endpoint","Logs results and actions back to Google Sheets for reporting and analysis','Customizable LLM prompt and email template"],"target_audience":["Security teams","GRC/compliance teams","Red Teams/penetration testers','IT/security engineers"]}


name: CYBERPULSE AI RedOps: Validate Email Security Gateways Generated Payloads
author_name: Adnan Tariq
author_username: adnantariq
categories: []
created_at: 2025-07-27T01:42:49.951Z
updated_at: 2025-07-27T01:42:49.951Z
url: https://n8n.io/workflows/6507
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:34
description:
  Description:
  Automatically send structured benign payloads (PDF/HTML/JS markers) to test email gateways and sandbox response. AI-generated phishing-style content helps simulate real-world threats without malicious intent. Results logged in Google Sheets.

  Who’s It For:
  Security teams validating email filters and sandboxes

  Red Teams doing payload simulation

  GRC/compliance teams testing Secure Email Gateway (SEG) controls

  How It Works:
  Loads target list from Google Sheets

  Crafts payload using OpenAI prompt logic

  Sends emails with embedded controlled markers

  Logs responses back to the same sheet

  Requirements:

  Google Sheet Requirements

  Sheet Name: Payload_Validation_Log
  Required Columns:
    payload
    status
    response
    timestamp

  Gmail/SMTP or email-sending node

  Google Sheets credential

  OpenAI API Key

  File Templates:
  RedOps_PayloadValidator_Log_Template.xlsx – track targets, payload, status

  How to Customize:
  Modify the OpenAI prompt for alternate payload types

  Adjust fields or webhook triggers

  Add logging to SIEM or ticketing platforms

  This module is part of the CYBERPULSE AI RedOps Suite
  🌐 https://cyberpulsesolutions.com

  Detailed README:

  Purpose

  Simulate benign payloads (e.g., links, encoded HTML) to test how your email security gateway and sandbox environment responds.

  How It Works

  Trigger Test Batch  
     Starts manually or on schedule.

  Get Targets  
     Loads email recipients from Google Sheets.

  Generate Payload  
     Prepares static payload like a fake link.

  OpenAI Node  
     Generates a realistic simulation email using the payload.

  Merge + Format  
     Combines recipient info with OpenAI output, formats the message, and tags it as simulated.

  Validated Node  
     Appends results to Google Sheets with fields like:
     email, payload, response, status, module, time

  Google Sheets Requirements

  Sheet Name: RedOps_Targets
  Columns: email, name, team, payload, status, response, module, time

  Security Note

  This workflow uses simulated payloads and never sends real malicious content. No real user data is stored or transmitted. Meant for internal Red Team and security validation use only.

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

workflow_json_compressed:
  H4sIAAAAAAAAE52Vz27TQBDGX2U1593gOG1kfCJIpeJQimiUSxRVi3fqrLB3LXtbEUWWeAMORVx7QkicUcXz9AXoIyD/iW2StWo4enb3m9/MtzveguIxgg+Pd19+kncozpOMnGlxHSFxycOnW/KWbyLNxeWCR1Jwo1OgoLTADPzlFqQAHzIjgw8bprTBYrESvCiD5E0VNJukCCpPsfIwe88zHFUH6y2JzqSRWoG/9KYOnTorCglPeYwG0wz8LQRaGVQGfIC8klxgmpVHxjmtYUwqwxDTFuTh6/3vX5/JvIqTOWaGvOQmWPdixVxd82jeCHXI2Nh1HDr2DuD6gUI0zPA0RJO1UI93t9/IKRoyb1bsLKHWYYQXa6w2dVGee4NIjkbTDovClBtkSeVqF+j7D3JaL+9M7zcOzR7M8dShbADNZHTU0OgEFZdsB9XCnCeoZq/b7C+Up561CBFXYbDmUo0KhZncQ5kUDrlPOzTyGhIU0rAriZHoeHQipCGvdsGBjZhMHfpvXbipHhYKFumwzb7Yhf/jahwPguhejBjTsGPAWf3Z8z7q1U5G1y3sP3yzh4W7TU4uBMOYy6jNOxOCnNShgQ33BpldNHxFgQdG3iD4VzzKkBYDRWFQCJXzpara30LMZSG93JaTru8qlLsoSCXwI/hOvlrldHd1bSKW4qwS7T6byp41fyuMK4Uurk3DcresJAdTyib2xOToEbadadUb8f1JsK9Gh/XFyYus/X8Ce119I9pSUp7/AdWdoa9KBwAA

metadata_json:
  {"categories":["security testing","automation","integration","email security"],"complexity":"medium","use_cases":["Validate Secure Email Gateway (SEG) and sandbox detection","Red Team benign payload simulation and testing","GRC / compliance control verification","Logging and tracking email gateway responses for audits","Prototype integration with SIEM/ticketing for incident workflows"],"estimated_setup_minutes":45,"required_services":["Google Sheets (Google Sheets API / Google account)","OpenAI API","Gmail or SMTP email-sending service"],"key_features":["AI-generated benign phishing-style payloads (PDF/HTML/JS markers)","Loads target recipients from Google Sheets","Sends simulated emails with embedded controlled markers","Appends response, status and timestamp back to Google Sheet","Configurable OpenAI prompt and payload templates for customization (XLSX template provided)"],"target_audience":["Security teams (email gateway validation)","Red Teams (payload simulation)","GRC / Compliance teams (control testing and evidence collection)"]}


name: CYBERPULSE AI RedOps: Role-Based LinkedIn Profile Discovery with Google OSINT
author_name: Adnan Tariq
author_username: adnantariq
categories: []
created_at: 2025-07-27T01:47:52.766Z
updated_at: 2025-07-27T01:47:52.766Z
url: https://n8n.io/workflows/6508
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:34
description:
  Description:
  Automates public profile discovery for CISO, CEO, and other key roles using Google Programmable Search. Extracts LinkedIn profile links, names, and timestamps to a structured Google Sheet for OSINT, exposure analysis, or Red Team prep.

  Who’s It For:
  Red Teams planning phishing simulations

  OSINT investigators and social engineers

  Cybersecurity trainers mapping exposure risk

  How It Works

  This workflow simulates role-based OSINT (Open Source Intelligence) by performing automated LinkedIn discovery using Google Search. Here's a breakdown:

  Trigger: 
     Can run manually or via Cron for daily/weekly scraping tasks.

  Load Roles to Target: 
     Reads role-based search queries (e.g., "CISO site:linkedin.com/in/") from a pre-filled input list or Google Sheet.

  Query Google Custom Search API: 
     Sends requests to the Programmable Search Engine using secure API credentials (CSE ID + API Key).
     Each query returns up to 10 LinkedIn profile results.

  Parse and Extract:  
     Captures full name, title snippet, LinkedIn URL, and description using JSON response parsing.

  Output:  
     Logs results to a structured Google Sheet for review or later enrichment.
     Sheet columns include: role, name, snippet, url, timestamp

  Optional enhancements can include:
  Entity tagging by organization
  Filtering by location or keyword
  Lead scoring based on search terms
  Search query editing
  Requirements:
  Google Programmable Search Engine (API key + CX ID)

  Google Sheets credentials

  File Templates:
  RedOps_SocialGraph_Log_Template.xlsx

  name	linkedin	team	status	module	timestamp
  John Doe	https://linkedin.com/in/johndoe	GRC	active	Social_Graph_Builder	2025-07-27T12:00:00Z

  Customization Tips:
  Update queries (CISO, CEO, VP IT, etc.)

  Filter results by region or org using site filters

  Extend to track Twitter or GitHub links

  Setup Instructions

  Set up a Google Programmable Search Engine (CSE) at https://programmablesearchengine.google.com/
  Restrict it to search only linkedin.com/in/
  Copy your CSE ID and generate a Google API Key from https://console.cloud.google.com/apis/credentials
  In n8n, use the HTTP Request node:
     Select Use Authentication: Yes
     Store your API Key and CSE ID in n8n credentials (not in query parameters)
  Configure pagination to extract multiple results
  Optional: Append results to Google Sheets or another storage system

  Ethics Note:
  This tool uses public Google Search results. It is meant for educational or internal red teaming only. Do not use for scraping or unauthorized targeting.

  🔗 Part of the CYBERPULSE AI RedOps Suite
  🌐 https://cyberpulsesolutions.com
  📧 info@cyberpulsesolutions.com

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

workflow_json_compressed:
  H4sIAAAAAAAAE62Vz27cNhDGX0XgWTQo/hV1s4E2ddEkTtboIcbCGJHDtZC1tJG4ho3FAi3QYw8FklMubU8Feu4T5Qn6CIVk11HTlb0pev/mm9/McIYbUnlSkMV1zm6Wr6N+gfab+HVLUnKJEUixIVXdRagdHvc6HTAEmQF4LHPJrBEGuZZGB+sZSBWsQnQarMs0hBByDLkBrblUqtQ+kG1KarhEUpA/f373R/IS/fNVlzxt/HqJiUg+fPc2mTWuguX5kxZWF+dH62rpseeJsOhIcba5BV4/e/PV4fLqKD7tTuTiS0/ufU/ahqTEtQgR/WEkBeGMK8oMZeaU2ULIgrMDKcwrkpL1yj8u285TUjceR+mZkczlglOOJlCJxlFQMqc+lFaD8r4M5iPSh/e/JqdttVhge1fdUFxf1M2qF9R5TYcMtIQODy6hXsPyLoKkZNV0VayamhRnNBOapVKzeUpW0MIlRmw7Umy2t2bfYtsNymyb3rEa441iOacglKfSBknBh4w6Zq3SmotMWTIay2+/JDOMyQyhdRfJizW2FXaTrB3GTwkzuRehOJD3jMIi07zUVKJzVJoyUAvKUsy08qBzYZgYM777PpmtllV8HK9XHddHEN3FIBuTWr4f6D0mC2WZZ6ioEpmiUjFPSx1yWmptM5cxLpGPMX/8KXnSNIsl/t3Nw5PjSdSLGFcv8c0au087qjVLFX+UUx7we1Iw3JVcS2oYOCpZ8LS0UlPg6K3lpRRC/2PovydfXMcWXExO2iZUy88aueR7AY4nbhkTPJeMhkxZKm1uKXgvqeKoVZC59M6NAd/+kByuVlj7JDZ3Z+P8FNoFxmnQxdD72QXeisbEnO3ZUv3xjWqbSx8MRS4klT4oWnIXKBOClTzPuIPR8Gexcq9vkmdNxOlGDpo7yYiOpf8CI66pI9b9nSIPrLqCLMslUJ87oJJnnlpjkTLkNs/BocVyJ2L2Hxg5+0zKeUrAxeoKSRFg2WFKOoyxqhdDKF6jW/fmz9v+4BfkKus9rm7jh9+nFCIEREsh15zKjAMtDWrqS8eNQOO1Df3tb+oaXW81GO+4FsWGXELVl3E2T882w3XfY2GHmJRUtcdrUrDtfL5NJ3ZnlGFkv9cjnsiyE213mgeXeaf91A814f/wDzHVpp1RuzNM3/cJ84c6+z+k2G7/AtjJ60spCQAA

metadata_json:
  {"categories":["automation","integration","data processing","OSINT","security"],"complexity":"medium","use_cases":["Role-based LinkedIn profile discovery for Red Team ops","OSINT investigations and exposure analysis","Phishing simulation target discovery","Cybersecurity training and attack-surface mapping","Lead enrichment and contact harvesting"],"estimated_setup_minutes":30,"required_services":["Google Programmable Search Engine (CSE / API Key)","Google Cloud Console (API credentials)","Google Sheets (for output)","n8n instance"],"key_features":["Role-based search queries (e.g., CISO, CEO)","Integration with Google Programmable Search API","Parsing JSON responses to extract name, snippet, LinkedIn URL, timestamp","Pagination handling to collect multiple results","Append structured results to Google Sheets (pre-built template)"],"target_audience":["Red Teams","OSINT investigators","Social engineers (ethical) / security researchers geared to legit use only) - consider policy constraints]','Cybersecurity trainers','Security analysts']}ampshire}"]}


name: CYBERPULSE AI RedOps: Phishing Simulation with Redirect Tracking
author_name: Adnan Tariq
author_username: adnantariq
categories: []
created_at: 2025-07-27T01:52:22.617Z
updated_at: 2025-07-27T01:52:22.617Z
url: https://n8n.io/workflows/6509
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:34
description:
  Description:
  Simulate cloaked phishing links that redirect through a controlled proxy. This module tracks if secure email gateways (SEGs) or sandboxes trigger the redirect before users do. Logs access, response, and timestamps in Google Sheets.

  Who’s It For:
  Red Teams simulating real-world phishing redirects

  Security teams testing gateway/sandbox behavior

  Awareness teams tracking click-throughs

  How It Works:
  Loads target list from Google Sheets

  Generates dynamic redirect links per target

  Emails the links using Gmail or SMTP

  Simulates access via webhook or internal call

  Logs metadata and redirect access to Sheets

  Requirements:

  Google Sheet Requirements

  Sheet Name: Redirect_Logs
  Required Columns: name, team, email, module, status, payload, response, timestamp

  Google Sheets credentials

  Email service (Gmail, SMTP, or custom node)

  Optional: Real endpoint for link redirection (e.g., Vercel Function, Cloudflare Worker)

  Setup Instructions

  Clone or copy the provided Google Sheet template (linked below).
  Set up the webhook trigger in the Redirect Proxy node.
  Use URL shortener node (optional) to obfuscate redirect links.
  Connect Google Sheets node and map fields: timestamp, IP, user-agent, original URL.
  Configure redirection logic using IF and Set nodes.
  Run a test redirect to validate Google Sheet logging.

  File Templates:
  RedOps_RedirectCloak_Log_Template.xlsx

  email	name	team	payload	response	status	module	timestamp
  test@org.com	John Doe	IT	redirect.link/...	Redirect triggered	Simulated	RedirectCloak	2025-07-27T12:00:00Z

  Customization

  Redirect Logic**: Modify the HTTP Response or Set node to redirect to real servers or simulation targets.
  Tracking Format**: Adjust the structure of the logged data — include fields like user-agent, referrer, campaign ID, etc.
  Redirection Endpoint**: Host the redirection logic on a public API gateway (e.g., AWS API Gateway, Vercel Edge Function) if deploying outside of n8n.
  Obfuscation**: Integrate a URL shortener (like Bitly) or a custom domain to hide the true destination during simulations.

  Ethics Note:
  This module is intended for internal simulations only and does not contain malicious payloads. Always use with authorization and red team awareness protocols.

  🔗 Part of the CYBERPULSE AI RedOps Suite
  🌐 https://cyberpulsesolutions.com
  📧 info@cyberpulsesolutions.com

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

workflow_json_compressed:
  H4sIAAAAAAAAE52VzW4cRRDHX2XV5ymrP2r6Y27GEkkkEltx4IBlRT3d1ZtRdmeWmV7LwVqJA3cOQUKCA+INOHDgefIC8Aho1tZmHdbO2tdW1b9+9dlXrImsYheouwv6mtvvL5o3L58ds4LNKXtWXbGmHbJvAz0b7XSilFB4H6m2yJ1RhqRGo5OL3GOZXEkUtHdBaJ9SspSs8VpLLMtax8QKlmm+mPlMRz3F4ZTycnHUzRczyhRZlfslrQrW+jmxiv37+89/TV5SPF4Mk+ddXM5ogpMPP7wf35qeQn590neX714fzTr/dpT204FVZ1fXOS1ffPf0cHbxRX4+nOD0y8g2uid9xwoWevKZ4mFmFZNclsANcPOKu0phJfkBKvMtK9hyET9vtjovWNtF2gof0aMoDQFK4oDGOaiV90CpTsYlxbk1H5FOcxPevpu86DKNibxbjI+tbWGtCrUf6GBY29yYLLqhyU3XsuoMSs0LQH5esIXv/Zwy9cPYutC1mdoRnK2uRb+hflg7iVVxw+mDStyih6ScBhTKgOcigSIf62AoGF1/5Pzw6x+TV30znVK/6cKm/Dup575d+tmNzyfgwiEvSvs/8rtpBRdeyZCAKAjA4CQ4RA0q8cRTMBjDVqOfdN10RpPTN0R5uJNwurbaGN0CNHIvQDzQG0QbjUEXa3CxrAFTHaB2iJDqSB6ptiI4tj3jv0yeUEu9z7Qp6eSrpr27pAPlTzlLvhenOsANJ2rHk+AWPJEH9ByhFpaA105YyQ3Wtd3m/O3Pf/7+aXLazJezW6hPm/wQUrlfRbdJtVKGYwoQShUBjXbgozBgyUYrtRDe652rJB6+S0JJXpjHLhNaiZZjBBVIA+o6Qi1LC8lHJWQtShvEdk3f/zg5XCyojVud76aPGlW33wRsT6qXppRBK0jaOUAXJLhkJChEUSpJKhHurKt83I2S8pFlFQqtU5yArNWAmBJ4JzgoKrXxqU4ypZ2g6nGgqB8Iel4wH3JzQaxKfjZQwQbKuWmna1e6pLAc9Y/7SP343YpR4+La//pjjZFbazg4bzigSB6c8QZktDJoTlyJ8QqHrm0pjFJr4dv3rbpic9+MSZxdrX+jfc/L2qtgTRvpklV8dX6+Ku659Lvi3HFpdyrfx7Q7h71Ozx2x7vPdHe2zS7kj0mr1HwQqd0xKCQAA

metadata_json:
  {"categories":["security testing","phishing simulation","automation","integration"],"complexity":"medium","use_cases":["Simulate cloaked phishing links that redirect through a controlled proxy","Test secure email gateways (SEGs) and sandbox behavior against redirect chains","Track click-throughs and redirect triggers for awareness campaigns","Log redirect access metadata (IP, user-agent, timestamps) to Google Sheets","Validate redirection workflows and obfuscation (URL shorteners/custom domains)"],"estimated_setup_minutes":30,"required_services":["Google Sheets (credentials & template)","Email service (Gmail, SMTP or custom SMTP node)","n8n webhook / redirect proxy (or hosted redirect endpoint)","Optional: URL shortener service (e.g., Bitly) or hosting for redirect endpoint (Vercel, Cloudflare, AWS)"],"key_features":["Load target list from Google Sheets and map fields","Generate per-target dynamic redirect links","Send emails with redirect links via Gmail/SMTP","Track and log redirect accesses, responses and timestamps to Google Sheets","Optional obfuscation via URL shortener or custom domain and configurable redirect logic"],"target_audience":["Red teams","Security teams (SOC/IR)","Security awareness/training teams (phishing campaigns administrators)"]}


name: CYBERPULSE AI RedOps: Credential Trap Sim: Fake Login Page Simulation
author_name: Adnan Tariq
author_username: adnantariq
categories: []
created_at: 2025-07-27T01:56:24.179Z
updated_at: 2025-07-27T01:56:24.179Z
url: https://n8n.io/workflows/6510
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:34
description:
  📝 Description:
  Simulate a phishing login page to test user behavior and SOC response. This controlled workflow sends trap links to predefined targets and logs simulated interaction results—without capturing real credentials.

  ✅ Who’s It For:
  Red Teams conducting phishing awareness campaigns

  SOCs validating alert triggers for credential-based phishing

  GRC/Compliance teams performing control testing

  ⚙️ How It Works:
  Loads test targets from Google Sheets

  Generates trap page URLs (non-malicious)

  Fakes login interaction upon click

  Logs timestamped event and status to Google Sheet

  📦 Requirements:
  Google Sheets credentials

  Optional: Use Vercel/Cloudflare to deploy a real HTML page for advanced simulation

  No sensitive data is collected

  📁 File Templates:
  RedOps_CredentialTrapSim_Log_Template.xlsx

  email	name	team	payload	response	status	module	timestamp
  jane@org.com	Jane Doe	HR	fake-login.com	User clicked	Simulated	Credential_Trap_Sim	2025-07-27T11:00:00Z

  🧠 Customization Tips:
  Change trap content using a public static site

  Connect to real EDR/alert system for end-to-end SOC validation

  Adjust payload wording for different awareness campaigns

  ⚠️ Ethics & Warning:
  This module is 100% simulated and does not capture real credentials. Use only in authorized environments with informed consent. It is designed for training, awareness, and control testing under ethical guidelines.

  🔗 Part of the CYBERPULSE AI RedOps Suite
  🌐 https://cyberpulsesolutions.com
  📧 info@cyberpulsesolutions.com

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

workflow_json_compressed:
  H4sIAAAAAAAAE52Vu47bRhSGX4WYmkeYG+fCbhPAmwCx17AWLrIQjLmckQlLpExSCxuCutRpnCpNECBAgDRp0uR18gR5hICUsCtvJGjXLfHPf745c87PDakiKYmPr+zivYzN1aVhb7s5yckSe0fKDanqrnd1wG8HnUqYkmTORfRGUquFRq6kVslG6mSRbIEYlLOBKZdSMpiMdkpxWRRexUS2OandEklJ/v3lp7+yVxivVl32vInrBWZF9nWLEeu+cos3161bvZlWS5KT3s07Ut5sdqzrF++/uVjcftU/717K+bNI7ixftg3JSWjR9RgvelISTnkBVAPV19SWQpacTqTQ35OcrFfxvGw7y0ndRDwoL5QNDCOFAtGD5EqBs8iBqcRc8iiEFPdI074K7z5mL5oeh4t8XA0fa1PD6AredTjpRs1esmq6qq+ampQ3NKeznKxc65bYY9sNrxGausd6YB5aOfi9xrYb9Wyb7xGpDYLyYMDwIoL0gYONXkFgWqRACx24vkf85+dfs+u2ms+xzYam73t+FHXp6rVb7NWf0wIThubM/I/5NKcPlgs0AlIMAaQ0DlxCBOUcKp4Y42jIwcB8+iG7xH6EzK5dO8e+O0k6b5r5AqdvcSf6DJSpR4HKibpvqRdceiaAxoAgqYzgtdGgGacJg47RhEPU3//OnlWLHtvstVtU8SxulR5AWvkoRj7hd4zJGIZMBdDaCpCcFeB4lCCVlVZKqpX3h4w//pldYo2t63HX0++q+t3pKcX+AaLmND9PKCbyjjAIE4oUCpBKe5BKSPDKMLDCa+uSCVG4Q8I/fsum1XK9GAjvoyGbrv2y6kb7x9MW9Km0Lipb8MJDYC6ANNyDjTFASikiU54LIx+M58VqhXXcd7OZf8l0cvMYzsPZTJoZZRiCptSAjKIAy50A5ZHzoIVzqTiaSPwLIknQJ4bSLCcu9NUtkjK5RYc56bDvq3o+HsUPGNaD+VUbsSUluWWDx+3u/O6fw33gtFAghNQgU2HBcGEgxOg8HRNtWJ7Q1DWGwWo0PpZq5YYsXTXc42Yzxvr5VBn1OanqiB9ISbez2TY/cea4+9kgOFHh+HIer/GENTlR7RTl8XpnguNEjfOUJ9/n5FodKbXd/gfgP6pn1AgAAA==

metadata_json:
  {"categories":["cybersecurity","red teaming","security awareness","automation","integration"],"complexity":"medium","use_cases":["Phishing simulation for user awareness training","SOC alert/response validation for credential-based phishing","Control testing for GRC/compliance","Red team exercise for credential trap scenarios","Logging and analytics of simulated interactions"],"estimated_setup_minutes":30,"required_services":["Google Sheets (credentials required)","Static site hosting (e.g., Vercel or Cloudflare) - optional for advanced simulation","EDR/alerting system integration - optional for end-to-end validation"],"key_features":["Loads target list from Google Sheets","Generates non-malicious trap page URLs","Simulates fake login interactions without capturing real credentials","Logs timestamped events and status back to Google Sheets","Configurable trap content via public static site templates/HTML files"],"target_audience":["Red Teams","Security Operations Centers (SOCs)","GRC / Compliance teams performing control testing and audits of phishing controls','Security awareness trainers and program owners"]}


name: CYBERPULSE AI RedOps: Generate Daily RedOps Security Simulation Reports
author_name: Adnan Tariq
author_username: adnantariq
categories: []
created_at: 2025-07-27T02:00:33.516Z
updated_at: 2025-07-27T02:00:33.516Z
url: https://n8n.io/workflows/6511
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:34
description:
  Description
  Automatically compiles a daily HTML report of all RedOps simulations (Modules 1–5), summarizing offensive activity, response logs, and module effectiveness. Designed for GRC teams, Red/Purple teams, and internal auditors — no manual formatting required.

  Who’s It For:
  Red Teams running daily simulations

  Purple Teams reviewing impact and response

  CISOs, SOCs, or compliance teams requiring summaries

  How It Works:
  Trigger manually or on schedule (e.g., daily cron)

  Reads simulation logs from a shared Google Sheet

  Filters data by time or module

  Formats data into an HTML summary table

  Sends email with report or uploads to Drive/S3

  Requirements:
  Gmail or SMTP node for email

  Google Sheets connected (OAuth)

  Google Sheet Requirements:
  Columns: Date, Module, Action, Result, Status
  One row per offensive simulation log
  Make sure headers are in the first row


  Unified log format for RedOps Modules 1–5

  File Templates:
  RedOps_AutoReport_Log_Template.xlsx

  email	module	payload	status	response	timestamp

  Customization Tips:
  Set filtering timeframe (24h, 7d) in JavaScript node

  Modify the table style in the HTML generator

  Connect to PDF node or S3 for exporting to other tools

  Ethics & Compliance:
  This workflow is designed for internal reporting only. It does not simulate attacks or initiate actions.
  Use for audit logs, red team reviews, and awareness tracking only.

  Setup Instructions

  Copy the provided Google Sheet template (linked in File Templates).
  Fill in your RedOps logs (columns: date, module, action, result, status).
  Connect Google Sheets node using OAuth credentials.
  In the Gmail node:
     Set recipient email (use your_email@example.com as a placeholder).
     Choose HTML output from the summary table.
  Trigger via Cron node (daily) or manually.
  Optional: Connect Drive or S3 node to store a backup.


  Supports:

  NIST 800-53 AU-6, AU-12

  ISO 27001 A.16.1.6

  ACSC Essential Eight reporting practices

  🔗 Part of the CYBERPULSE RedOps Suite
  🌐 https://cyberpulsesolutions.com
  📧 info@cyberpulsesolutions.com

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

workflow_json_compressed:
  H4sIAAAAAAAAE5WUy27cNhSGX0XgWjQoilftHLSBU8SxYQ+6qGEUh+ThRPFImuoyjTGYXVfdtUnWXfYF+mB9hELyJBmnkR1vpcPzf+f2b0kZSEHOb8TZYF4sPLLNmx9O3pCUVNgDKbakrLseao8vxjgVMUaRAQR0RjCrc41cCa2iDQyEjFYiegXWZwpijAaj0aAUF1I6FSLZpaSGCklB/v3r/T/JBYazdZecNmFYYaISmhwPffPzBa6bticp6WHZkeJqe0c5vPrl5Hi1edafdudi+TyQT8nO24akxLcIPYbjnhSEMy4p05TpBbNFLgrOjkSufyIpGdbh8bDddUrqJuCBvLGgM2YC1TGXVHDtqEUG1GXGxBA4B6Y+I132pb+5TV41PY6F3K7Hj7Wp6ZSVOujwqJti9iHrpiv7sqlJccVSdp2SNbRQYY9tN87BN3WP9cg8NnHM9yO23RSf7dI9YojImVOR+igsFV4o6qTVFKRlucwYOOXIwQg+/Jks2nK5xHZq/Oe+fxW3gnqA1f7BfWKaGcFS8T/seVQmrWfaCCqsyagwLFCrNdI8E1F5rhFZfoj67rfkAiEkixbWyctmmVy+RpxnXTbNcoVTTPclquLfgiqO1CdYmRntACwFLjQVAYFa5TRFHYR1insu1D3Y35PnTVtBn9y1NPkOephl9U3ALxkF+xZGftDOPDoTOZVoGRXSeGp9yKi03lmFXEvN7xH+kTwbylVIThanLz9SXg5VBe3tk0Az8zRQQM+jNZp6lQEV0iI1HJE6kVuISjvr7q3ou7+TS6zDR7bk+wrK1fzY938PEa3aE/6K7nXT3Nw5mUAuuORUOZwwgBomM2qN5IAGcuSaPFbUUTbaBPi+3CApIqw6TEmHfV/Wy+lo8S36YeQ4awO2pCCbbLzezV2GCSS6zKBygjLINRUyd+OSBYq5EqO7OpH50duaukY/ppoSz61YsSUVlGPZV9vJv54w7OlhSso64FtSsN319S6d9YgZoUeOdEZi5tmMxsO3NSfxUAtmhB7evK8I7Xb/AfLewHxQBwAA

metadata_json:
  {"categories":["automation","reporting","security","compliance","integration"],"complexity":"medium","use_cases":["Daily RedOps simulation reporting","Compliance and audit summaries","Red/Purple team impact and response reviews","SOC/CISO executive summaries","Archival backups of simulation logs (Drive/S3)"],"estimated_setup_minutes":20,"required_services":["Google Sheets (OAuth)","Gmail or SMTP email service","Optional: Google Drive or Amazon S3 for backups"],"key_features":["Reads unified RedOps logs from Google Sheets (Date, Module, Action, Result, Status)","Filters logs by timeframe or module (configurable in code node)","Generates HTML summary table of offensive activity, responses, and module effectiveness","Sends report via email or uploads to Drive/S3; supports PDF export via additional node","Scheduleable (cron) or manual trigger; uses template spreadsheet"],"target_audience":["Red Teams","Purple Teams","GRC teams/internal auditors/COMPLIANCE teams (CISOs, SOCs)"]}


name: Automate Patient Journey with GPT-4, Twilio & Slack Notifications
author_name: Marth
author_username: marth
categories: []
created_at: 2025-07-27T06:31:27.139Z
updated_at: 2025-07-27T06:31:27.139Z
url: https://n8n.io/workflows/6517
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:34
description:
  How It Works ⚙️

  This workflow is a comprehensive, AI-powered system that acts as a virtual patient assistant for clinics. It automates the entire patient journey from appointment confirmation to post-procedure follow-up.

  Appointment Trigger: The workflow starts when a new event is created in your Google Calendar for a patient appointment.
  AI-Powered Education: The new appointment is sent to an OpenAI (GPT-4) node, which acts as a virtual clinic assistant. It instantly generates a personalized pre-procedure guide based on the appointment's details.
  Automated Communication: The workflow then uses Twilio to send this AI-generated guide directly to the patient via SMS or WhatsApp, ensuring they are well-prepared for their appointment.
  Post-Procedure Follow-up: After the appointment ends, a Wait node pauses the workflow for a set period. It then sends a personalized follow-up message—also generated by OpenAI—to the patient, encouraging them to provide feedback.
  Staff Notification: A Slack notification is sent to the team once a follow-up message has been dispatched, keeping everyone informed and ready to act on incoming feedback.

  How to Set Up 🛠️

  Import the Workflow: Copy the provided workflow JSON and import it into your n8n instance.
  Configure Credentials:
      Google Calendar: Add your OAuth2 credential.
      OpenAI: Add your API Key.
      Twilio: Add your API credentials.
      Slack: Add your Bot Token credential.
  Customize Workflow Nodes:
      Node 1 (Google Calendar Trigger): Select your clinic's booking calendar.
      Node 2 & 5 (OpenAI): You can customize the prompts to better match your clinic's tone and specific procedures.
      Node 3 & 6 (Twilio): Replace YOUR_TWILIO_NUMBER with your Twilio number and ensure you can extract the patient's phone number from your calendar events (e.g., from the event description).
      Node 7 (Slack): Replace YOUR_SLACK_CHANNEL_ID with the ID of your team's feedback or operations channel.
  Save & Activate: Once all settings and credentials are configured, save the workflow and click the "Inactive" toggle in the top-right corner to make it live.

nodes_used:
  ["n8n-nodes-base.googleCalendarTrigger","n8n-nodes-base.openAi","n8n-nodes-base.twilio","n8n-nodes-base.wait","n8n-nodes-base.openAi","n8n-nodes-base.twilio","n8n-nodes-base.slack","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE52VTW/jNhCG/4rAQ5ECGoPfpHwLijZYFNsNmqBFEeQwJIdeIbaUSnKyQeD/vpCdrputnNi98fDOvM8Q8/HM6sTmTP39+18Xvy6X2VfGNP0DK9mKBmTzZ1Y3/YBNpA+jDqV3VqgsTGUTOme1qUylrTc5ZE0yaBRSSJ09x+Cjd05mQ8qFnAVXSGxTsgZXxObsfD20KxwoFZc41NQMxUdscEGr8flD8XNaRxzqtimunvqBVsVjPXwuLi6vQbOSDbjo2fzmtmRNm2h8Pu8KcTGLQJkAeQqguRfgrQ2QglaGJ4EyJPaNQcyKi7ZdLKn4CZfUJOyK665eLKgbPZ7uR03jG9iaQMCeZout/h/5Xn3f9vWIy+Y3IKQvhb0t2T12uKKBup7Nnze7lH9Q1291YlO+QCshs1KSQ+W1B006QuApg0Plncs2uPQvaDkrPt1Tc/6hOLvsCC67NlJad1RcrOtEPx4kb8eg+jVqZU8CFYE0FzG9/C6RAxQmQk5ZO+eM4lbtQdWsuH6sl3VbnF1Rk97jG7ba13xK8pMAvZA6yhxAhhhBcyPBC+QQpHGoHVbW5j2gnhV/Yj0UZ+d5oK749pOHGR+xHl4TGq13hI8UPrft3XZMYmWooliB59mB5tZCqMiAkySkVAG14OzoojBG47mywJW0oKMTUFnDIQfppdTSBE37osy+PX5pl8v2Edb3xUfqe1yc2BzOntbGKVEmmRDGaQdtSQNGK0Brl7T2Jqhs95z2u+44AXaqU6pKngQro00mk4YUXQadXAWV4Aq00qRkRc7nag/rZsXVEuNdcXY1YM7Fb+1Q53q3oA5z9mPIa0whxWkjh8Fo770HcqRAG3IQLCfwKChEVJiS3nNeDXW8exrx6DDVVvMiebW2KlmC9t+zsdg2AzUDmzN2mDOnTFyhhiCcBF0ZC6i0BBOVk8oJpVFOcor/ByrNfz7xbdDbkmEc6gdi84zLnkrW0zDUzWIbSl8orsf8n7pEHZuzBzHmeNjF726fsSi10yCs325pCT5xAheENTn7ivw41LFtGopjqm3iA0tw/sxWWI/V3Dxvb9hx62gbU7K6SfSFzfnm9nZTvhE35XLkfph0euNeTlkdfakmzd4GnfI7ZaVMWr4HPGX63pWbNDqCdMrryDU0YbnZfAVhMASX6gkAAA==

metadata_json:
  {"categories":["automation","healthcare","communication","ai","integration"],"complexity":"medium","use_cases":["Automated appointment confirmation and reminders","Personalized pre-procedure education via AI","Post-procedure follow-up and feedback collection","Delivering SMS/WhatsApp messages to patients","Notifying staff of patient follow-ups via Slack"],"estimated_setup_minutes":30,"required_services":["Google Calendar (OAuth)","OpenAI (GPT-4 API)","Twilio (SMS/WhatsApp)","Slack (Bot token)","n8n instance"],"key_features":["Calendar-triggered workflow that starts from appointments","AI-generated personalized pre-procedure guides and follow-ups (GPT-4)","SMS/WhatsApp delivery through Twilio","Configurable wait node for timed post-procedure follow-up","Slack notifications to staff after follow-up messages are sent (operational alerts)"],"target_audience":["Clinics and healthcare providers","Clinic administrators and operations teams","Patient engagement teams/coordinators」「Developers/IT staff setting up integrations"]}


name: Automatic Job Listings Extraction and Publishing Template
author_name: Khairul Muhtadin
author_username: khmuhtadin
categories: []
created_at: 2025-07-27T06:42:41.239Z
updated_at: 2025-07-27T06:42:41.239Z
url: https://n8n.io/workflows/6518
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:33
description:
  Automatically extract job listings from any website URL, format them with AI, and publish directly to WordPress. Just send a URL via Telegram, and watch as the workflow scrapes the job details, enhances the content with GPT, and creates a polished post on your site.

  💡 Why Use Job Repost?

  ⏰ Save countless hours
  Automatically extract, process, and publish job offers from any website, freeing your time from repetitive tasks.

  ✅ Eliminate human errors
  Say goodbye to typos and missed fields — every job post is validated before going live.

  📈 Boost engagement
  Fresh, well-structured job listings attract more candidates, improving your site's reach and authority.

  🚀 Stay ahead
  Leveraging AI with GPT means your content is not just automated but polished and SEO-friendly — the digital assistant you never knew you needed.

  ⚡ Perfect For

  Job board managers:** Want to aggregate listings from multiple sources with minimal effort
  Recruiters & HR teams:** Who need to streamline job posting workflows without technical hassles
  Content creators & marketers:** Looking to automate publishing while maintaining style and SEO standards

  🔧 How It Works

  | Step | Process | Description |
  |------|---------|-------------|
  | 📱 | Trigger | Send a job URL via Telegram bot to initiate the process |
  | 🔥 | Extract | Firecrawl API scrapes and extracts clean content from the provided URL |
  | 📎 | Process | Job data is extracted via AI, text split and cleaned, job categories and types mapped to your system |
  | 🤖 | Smart Logic | GPT crafts formatted job posts, intelligent validation ensures all key data is present, default values fill in the blanks if necessary |
  | 💌 | Output | Posts automatically published to WordPress with company logos uploaded, and success or error notifications sent via Telegram |
  | 🗂 | Storage | Uses Supabase vector store for managing document embeddings, ensuring quick lookup and reference compliance |

  🔐 Quick Setup

  Import the provided JSON file into your n8n instances
  Add credentials:
     Firecrawl API key
     Google Drive OAuth2 (for RAG storage)
     OpenAI API
     WordPress API
     Telegram API
     Supabase
  Customize:
     Telegram bot token
     WordPress URLs
     Default images and category mappings if needed
  Update: URLs and API tokens where placeholders are used
  Test: Send a job URL to your Telegram bot to verify accurate extraction and posting

  🧩 You'll Need

  ✅ Active n8n instances
  ✅ Firecrawl account with API access
  ✅ Google Drive account for RAG document storage
  ✅ OpenAI account with GPT API access
  ✅ WordPress site with autojob plugin and API enabled
  ✅ Telegram bot for URL submission and notifications
  ✅ Supabase account for vector store management

  🛠️ Level Up Ideas

  🌍 Add multi-language support to expand global reach
  🔗 Support batch URL processing for multiple jobs at once
  💬 Integrate Slack or email notifications for wider team alerts
  🎯 Use more AI nodes to summarize or rate job offers for quality control
  🔄 Schedule periodic cleanup of vector store for performance optimization
  📊 Add analytics tracking for published jobs performance

  🧠 Nodes Used

  Core Components:
  Firecrawl HTTP Request** (Web scraping and content extraction)
  Google Drive** (RAG document storage)
  Supabase Vector Store**
  OpenAI** (Embeddings, GPT Extraction)
  Code Nodes** for mapping categories
  Telegram Trigger & Message**
  HTTP Request** (for WordPress API and image uploads)

  Made by: Khaisa Studio  
  Tags: automation recruitment job-posting wordpress AI web-scraping firecrawl  
  Category: Human Resources, Recruitment, Wordpress, Scrapping  
  Need a custom? contact me on LinkedIn or Web

nodes_used:
  ["n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.vectorStoreSupabase","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.vectorStoreSupabase","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.telegramTrigger","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.telegram","n8n-nodes-base.wait","n8n-nodes-base.if","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.code","n8n-nodes-base.telegram","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.stickyNote","n8n-nodes-base.errorTrigger","n8n-nodes-base.telegram","n8n-nodes-base.code","n8n-nodes-base.telegram","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest"]

workflow_json_compressed:
  [encoded data, 16972 characters]

metadata_json:
  {"categories":["automation","recruitment","web-scraping","content-publishing","cms-integration"],"complexity":"complex","use_cases":["Automatically aggregate job listings from arbitrary websites","Enrich and format job posts with GPT for consistency and SEO","Publish job listings directly to a WordPress site","Validate and fill missing job fields automatically","Maintain searchable embeddings / RAG storage for job content"],"estimated_setup_minutes":45,"required_services":["n8n instance","Firecrawl API","OpenAI (GPT + embeddings)","WordPress API (autojob plugin enabled)","Telegram bot/API","Supabase (vector store)","Google Drive (RAG document storage / OAuth2)"],"key_features":["Telegram-triggered workflow: send a job URL to start","Web scraping and content extraction via Firecrawl","AI-powered extraction, cleanup and GPT-based post formatting","Category/type mapping and code-driven data normalization","Automatic image/logo uploads and WordPress posting via API\n(creates polished posts automatically)"],"target_audience":["Job board managers","Recruiters and HR teams","Content creators and marketers publishing job posts at scale"]}


name: Automate AI News Videos to Social Media with GPT-4o & HeyGen and Postiz
author_name: David Olusola
author_username: dae221
categories: []
created_at: 2025-07-27T10:50:06.847Z
updated_at: 2025-07-27T10:50:06.847Z
url: https://n8n.io/workflows/6524
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:34
description:
  🤖 Automated AI News Video Creation and Social Media Publishing Workflow
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  🎯 Overview:
  This workflow fully automates the creation and social media distribution of AI-generated news videos. It fetches news, crafts captions, generates avatar videos via HeyGen, stores them, and publishes them across Instagram, Facebook, and YouTube via Postiz.

  🔄 WORKFLOW PROCESS:
  News Fetching: Reads the latest news from an RSS feed.
  AI Captioning: Generates concise, engaging captions using an AI agent (GPT-4o-mini).
  Video Generation: Creates an AI avatar video using HeyGen with the generated caption.
  Video Storage: Downloads the video and uploads it to Google Drive for archival.
  Data Logging: Records all news and video metadata into Google Sheets.
  Postiz Upload: Uploads the video to Postiz's internal storage for publishing.
  Social Publishing: Fetches Postiz integrations and routes the video to Instagram, Facebook, and YouTube after platform-specific content cleaning.

  ⚙️ KEY TECHNOLOGIES:
  RSS Feeds:** News source.
  LangChain (n8n nodes):** AI Agent and Chat OpenAI for caption generation.
  HeyGen API:** AI avatar video creation.
  Google Drive:** Video file storage.
  Google Sheets:** Data logging and tracking.
  Postiz API:** Unified social media publishing platform.

  ⚠️CRITICAL CONFIGURATIONS:
  API Keys:** Ensure HeyGen and Postiz API keys are correctly set in credentials and the 'Setup Heygen Parameters' node.
  HeyGen IDs:** Verify avatar_id and voice_id in 'Setup Heygen Parameters'.
  Postiz URL:** Confirm https://postiz.yourdomain.com is your correct Postiz instance URL across all HTTP Request nodes.
  Credentials:** All Google, OpenAI, and Postiz credentials must be properly linked.

  📈BENEFITS:
  Automated content creation and distribution, saving significant time.
  Consistent branding and messaging across multiple platforms.
  Centralized logging for tracking and performance analysis.
  Scalable solution for high-volume content demands.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.rssFeedRead","n8n-nodes-base.limit","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.switch","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.code","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","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, 10296 characters]

metadata_json:
  {"categories":["automation","content-creation","social-media","video-production","integration"],"complexity":"complex","use_cases":["Automated news video generation from RSS feeds","Cross-platform social media publishing (Instagram, Facebook, YouTube)","AI-driven caption and script creation for short videos","Centralized archival and metadata logging","High-volume scalable content distribution"],"estimated_setup_minutes":90,"required_services":["RSS feed (news source)","OpenAI (GPT-4o-mini or GPT-4o via n8n LangChain nodes)","HeyGen API (avatar video generation)","Google Drive (video storage)","Google Sheets (logging/metadata)","Postiz API / Postiz instance (social publishing and integrations)","Valid credentials for Google, OpenAI, HeyGen, and Postiz"],"key_features":["Automated RSS news ingestion","AI caption/script generation with GPT-4o-mini","Avatar video generation via HeyGen","Automatic download and archival to Google Drive","Metadata logging to Google Sheets for tracking and analysis"],"target_audience":["Social media managers","Content creators and producers","Newsrooms and publishers looking to scale video output"]}


name: Fetch All Page Content from Website and Store with Gemini Embedding in Pinecone
author_name: Zain Khan
author_username: zain
categories: []
created_at: 2025-07-27T13:54:43.036Z
updated_at: 2025-07-27T13:54:43.036Z
url: https://n8n.io/workflows/6526
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:33
description:
  Fetch and Extract all Website Pages Content and Store in Pinecone Vector Database as KnowledgeBase with Google Gemini Embeddings
   
  Use cases are many: Populate a custom chatbot's knowledge base, create a powerful search index for your website, or build a comprehensive repository of information for internal tools!

  Good to know

  At time of writing, Pinecone and Gemini API costs apply based on usage. Refer to their respective pricing pages for updated information.
  The models used in this workflow are subject to regional availability. If you encounter a "model not found" error, the service may not be available in your country or region.

  How it works

  Input Collection: The workflow starts by collecting URLs, either from a user-provided sitemap or a list of individual page URLs.
  URL Processing: It then fetches sitemap XML (if provided), converts it to JSON, extracts all page URLs, and merges them with any manually entered URLs. All duplicate URLs are removed to ensure efficiency.
  Content Fetching: The workflow iterates through the unique URLs, sending HTTP requests to download the HTML content of each page. A small delay is added between requests to be courteous to the website servers.
  Content Extraction: The HTML content is then processed to extract the main textual content from the page's body, excluding images, and cleaning the text for better quality.
  Embedding Generation: Gemini's embedding model converts the extracted text into vector embeddings, capturing the semantic meaning of the content.
  Pinecone Storage: Finally, these vector embeddings, along with their associated content, are uploaded to your specified Pinecone index, creating a searchable knowledge base. Existing data in the namespace is cleared before new data is inserted.

  How to use

  The workflow is triggered by a form where you input your sitemap or page URLs.
  You can monitor the execution flow within n8n to see pages being processed and uploaded.
  The Wait 5 sec node can be adjusted if you need to fetch content more rapidly or slowly, depending on the website's rate limits.

  Requirements

  Google Gemini API key** for text embeddings.
  Pinecone API key** for vector database storage.

  Customising this workflow

  This workflow can be adapted for various purposes. Consider:

  Adding more sophisticated HTML parsing logic to extract specific sections of a webpage.
  For building a Web Support Chatbot
  Integrating with other services to trigger updates to the knowledge base (e.g., automatically updating when new blog posts are published).
  Connecting the Pinecone knowledge base to a chatbot or search application for enhanced functionalities.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.xml","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.removeDuplicates","n8n-nodes-base.splitInBatches","n8n-nodes-base.html","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.embeddingsGoogleGemini","@n8n/n8n-nodes-langchain.vectorStorePinecone","n8n-nodes-base.formTrigger","n8n-nodes-base.switch"]

workflow_json_compressed:
  H4sIAAAAAAAAE62WaW/bRhCG/wrBz5p070OfipwN6rRBkh5AYBSzu7M2UYlUJdpOYPi/F5QPMhR1pOhXaebls7Pzzs5tWTeJNuX8821ZpXJeakwGNWcgo0JQlhQElzNERtpoEjoJXc7KGpdUzsuPbRX//lr80rRUzsr266r7sXY1bFUh4IaebbYxDyGrZlO1VVOX88/SuJlX6nxWrnCNS2ppvSnnt2Vs6pbqtpyX5d295u+03mxz+N3sAVPmbK0NFoQKCZRgETBLB0ag9DprgRx7zFdf2jXGtniPF1T89uFssxc2NmmEyb00My69GIOO4cQTnOHWkNEcImUNSpEDDJSAZZNNcFxzG3q4P9+dFS+a+vpBZx/Zl+ViBGa9OAmsr1qMyMmSBSmyASVygiBkBBmFdkYqhZr1YK+pjZfFx6qlJa72cl227eoD/XNFm3bEZ+RpfOpZXzotGHHJEwSdBSinLSCFBNoKlVCgY04O2m+1qO5vddNd6/fc6rZ4gpvTb9WSzaSFA2eVA2VZgGCEBWTR+qAxY6Qe7R2tj/Xasgv5Fktw4WZcyKM1k4OaIdPcImYwMSZQrquetwSBO5kk00rzQbt9oGVzTcXLq9WiitgeYVxvo5+CNyNcYcVJuIMqiuh0jBnQp64FAwen0YI1jrGATnIazJezplkVv17T+gTrbrpmeFs/xzZe7oAqx06raw8qu8bjHgxDAsUSB7TKAgteS5t8MjbuTpgXD8Nrv1vGNhamqyGXRzuRD66cpZAtixxi0BaU8Rw8NxkECkSPKlLcMfK2gj99endWvG7WRTwKusfW97xSuO+xdUYeuYsGTBQeFFkOnmkC5pX2zGP2ftCif2DVFrrYUNyLd4PVmMvJJ64bCpdN8/fb7tM+OUuGZfApO1DIJfgoBJAkjToEH9nWhIdL389QEbLEZDNgNz6Vyh6CwQwaNWOUHdOe90d5iS0WZw0mWvdn+bF29Q/9gRZYX8RLrOpnqYlXS6rbl5TxatF2yU+5w5dTGDXjcvftPMSNziQVBYHWPoLySgBGlkCkFKOlYLP0PfcbWlZ1VbxaBkqpqi82J9DTU/CbprlY0L3GCJ1tu+cE9L53lOHOhQSRoQCVlAcfjAXmpc3OcyRpevD3VU2xqan4uW5uFpQu6Dlu6AT6a4pts/7YNmt61JhCP8mo/RRRWadoSILLVoMyGCBI4qB8omCN18oMqv62Xl21jy9u0ayLVefZq/Vi/9TLzXr5aV1dXIybhAvf7S3WjPyAQSsUMYGghKBithCcEOByUJ5iENoe9YMYWNvYbMg7BK9MBKUMAy+TAsus5jxRUHm4MN5UbbzcP8Mf/x4eRCn2eJCjb+L5rNsfa4pd8nadfPji/LZcYtXpfb7d7ryH1odt5Kys6kRfyjm7O5/1SXu2op2U87vZcAmY+v6Rp3hScjAbpyQPPpiTgsMJNb8tsfrrcQp9I3zMV8O88Se+LdkU9r4deJJ4FDyld2Dhn5QcP99TmscqMCk8brEp4alV8SBlf6r/Jsfv5XZn/P39P83x722APnFMPtWWh+5tZ4067sgj681kQacN+P/46sAsn5xFo8E4qXnopFOiU4vUhPDd3b8zt5y0BxAAAA==

metadata_json:
  {"categories":["web scraping","embeddings & vector search","knowledge management","automation","integration"],"complexity":"medium","use_cases":["Populate a custom chatbot knowledge base","Create a semantic search index for a website","Build internal documentation or knowledge repository","Automate periodic updates of site content to a vector DB","Support search-driven customer support and tooling"],"estimated_setup_minutes":20,"required_services":["n8n","Google Gemini API (embeddings)","Pinecone (vector DB)","Target website(s) with sitemap or accessible URLs","Optional: web hosting/site with sitemap"],"key_features":["Import URLs from sitemap or manual list","Sitemap XML → JSON conversion and URL extraction","Merge and deduplicate URLs","Fetch HTML pages with polite rate limiting (configurable Wait node)","Extract and clean main textual content from HTML body (exclude images)"],"target_audience":["Developers","Data engineers","ML/AI engineers building retrieval systems or chatbots‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎)"]}


name: Generate Personalized Icebreakers
author_name: Abdul Mir
author_username: abdulmir
categories: []
created_at: 2025-07-27T14:53:36.549Z
updated_at: 2025-07-27T14:53:36.549Z
url: https://n8n.io/workflows/6530
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  Overview

  Create hyper-personalized cold outreach messages at scale by combining Google Sheets, web scraping, and AI.
  This workflow is perfect for sales teams, SDRs, and agency owners looking to boost reply rates with icebreakers that actually feel personal. It takes lead info from a Google Sheet—including name, email, company, and website—then visits each site, pulls meaningful text, and crafts a tailored message using AI. The personalized message is then written back into your lead sheet, ready for use in cold email, LinkedIn DMs, or CRM enrichment.

  Who’s it for
  Cold email outreach specialists  
  B2B sales and SDR teams  
  Lead generation agencies  
  Founders doing outbound manually  

  How it works
  Pull lead data from Google Sheets  
  Loop through each lead and scrape their website using an HTTP node  
  Clean and format the website content  
  Use OpenAI to generate a custom-written icebreaker for each lead  
  Write the final icebreaker back into the spreadsheet

  How to set up
  Connect your Google Sheets account  
  Replace the spreadsheet ID and column names with your own  
  Set up your OpenAI credentials (or whichever LLM you prefer)  
  Tweak the prompt for tone or style  
  Hit "Execute Workflow" and watch the sheet populate

  Requirements
  Google Sheets credentials  
  OpenAI (or any compatible LLM node)  
  The websites listed must be publicly accessible and static

  How to customize
  Modify the scraping logic to focus on specific sections (e.g. About page, Case Studies)  
  Adjust the AI prompt to match your brand’s tone  
  Add filtering logic to skip low-value leads  
  Integrate with your CRM to send the data downstream

nodes_used:
  ["n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.markdown","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.limit","n8n-nodes-base.manualTrigger","@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:
  [encoded data, 8636 characters]

metadata_json:
  {"categories":["automation","integration","data enrichment","web scraping","ai"],"complexity":"medium","use_cases":["Generate personalized cold outreach messages at scale","Lead enrichment and CRM data augmentation","Improve reply rates for cold email/LinkedIn outreach","Batch website scraping for lead insights","Create tailored messaging using LLMs"],"estimated_setup_minutes":15,"required_services":["Google Sheets account","OpenAI or compatible LLM credentials","Publicly accessible target websites to scrape","n8n instance with HTTP/web access"],"key_features":["Pull leads from Google Sheets","Scrape and clean website content via HTTP node","Generate hyper-personalized icebreakers with AI","Write personalized messages back to the sheet","Batch processing and loop handling (splitInBatches)"],"target_audience":["Cold email outreach specialists","B2B sales and SDR teams","Lead generation agencies/freelancers doing outbound at scale\",\"Founders or solo operators doing manual outreach"]}


name: LinkedIn Content Creator System
author_name: Abdul Mir
author_username: abdulmir
categories: []
created_at: 2025-07-27T15:10:25.327Z
updated_at: 2025-07-27T15:10:25.327Z
url: https://n8n.io/workflows/6531
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  Overview

  Automate your entire LinkedIn content machine — from research and image generation to scheduling and posting — with this AI-powered workflow.

  This workflow pulls in past content ideas, researches new ones using Perplexity, generates a new post (with image) using your brand's voice and style, saves the output to Google Sheets, and auto-posts twice a week to LinkedIn. It’s perfect for founders, creators, and marketers who want to stay consistent on LinkedIn without manually writing or designing every post.

  Who’s it for

  Solo founders or marketers building a LinkedIn presence  
  Content creators growing their audience  
  Agencies managing client content calendars  
  Anyone who wants to post consistently without spending hours on content  

  How it works

  Pulls old ideas from a Google Sheet  
  Schedules content creation using n8n’s cron node  
  Uses Perplexity to research current topics and trends  
  Feeds the data into an AI agent (like Claude or GPT) to generate post copy  
  Creates a branded image using a reference style and OpenAI’s image model  
  Saves post content + image URL into Google Sheets  
  Twice a week, selects one ready post, downloads the image, and publishes it to LinkedIn

  How to set up

  Add your Google Sheet ID and column names for posts  
  Connect your OpenAI (or Claude) and Perplexity API keys  
  Upload a brand-style reference image to Google Drive  
  Configure your LinkedIn account and connect the node  
  Adjust the cron schedule for both post creation and auto-posting  
  (Optional) Edit the AI prompt to match your personal voice or niche  

  Requirements

  Google Drive & Sheets access  
  OpenAI or Claude API key  
  Perplexity API key  
  LinkedIn credentials (via n8n’s LinkedIn integration)

  How to customize

  Change the prompt for the AI to fit your voice or audience  
  Swap out Perplexity for another research method  
  Adjust how often you want posts scheduled or published  
  Swap LinkedIn for Twitter, Slack, or another platform  
  Add Notion or Airtable as your CMS backend

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.convertToFile","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.code","n8n-nodes-base.limit","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","n8n-nodes-base.googleSheets","n8n-nodes-base.googleDrive","n8n-nodes-base.googleSheets","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.googleDrive","n8n-nodes-base.linkedIn","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7988 characters]

metadata_json:
  {"categories":["automation","content-creation","social media","AI","integration"],"complexity":"medium","use_cases":["Automate LinkedIn content research, writing, image generation and posting","Maintain a consistent posting schedule without manual content creation","Repurpose past ideas and store new posts in a central CMS (Google Sheets)","Generate branded images and copy in a consistent brand voice","Agency or multi-client content pipeline management"],"estimated_setup_minutes":45,"required_services":["Google Sheets","Google Drive","OpenAI (images +/or text) or Anthropic Claude","Perplexity API","LinkedIn (via n8n integration)"],"key_features":["Pulls past ideas from Google Sheets as input","Scheduled research + content generation using cron/schedule nodes","Uses Perplexity for topic/trend research","AI agent (GPT/Claude) generates post copy in brand voice","Generates branded images from a style reference using OpenAI image model and stores them in Drive/Sheets URL fields"],"target_audience":["Solo founders","Marketers","Content creators/influencers building an audience on LinkedIn or similar platforms"]}


name: Lead Gen Agent (Telegram)
author_name: Abdul Mir
author_username: abdulmir
categories: []
created_at: 2025-07-27T15:18:20.672Z
updated_at: 2025-07-27T15:18:20.672Z
url: https://n8n.io/workflows/6532
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  Overview
  Use your voice or text to command a Telegram-based AI agent that scrapes leads or generates detailed research reports—instantly.

  This workflow turns your Telegram bot into a full-blown outbound machine. Just tell it what type of leads you need, and it’ll use Apollo to find and save them into a spreadsheet. Or drop in a LinkedIn profile, and it’ll generate a personalized research dossier with info like job title, company summary, industry insights, and more. It handles voice messages too—just speak your request and get the results sent back like magic.

  Who’s it for
  Cold emailers and growth marketers  
  Solo founders running outbound  
  SDRs doing daily prospecting  
  Agencies building high-quality lead lists or custom research for clients  

  How it works
  Triggered by a message (text or voice) in Telegram  
  If it’s voice, it transcribes using OpenAI Whisper  
  Uses an AI agent to interpret intent: scrape leads or research a person  
  For lead scraping:
    Gathers criteria (e.g., location, job title) via Telegram  
    Calls the Apollo API to return fresh leads  
    Saves the leads to Google Sheets  
  For research reports:
    Takes a LinkedIn profile link  
    Uses AI and lead data tools to create a 1-page professional research report  
    Sends it back to the user via email

  Example outputs
  Lead scraping**: Populates a spreadsheet with names, roles, LinkedIn links, company info, emails, and more  
  Research report**: A formatted PDF-style brief with summary of the person, company, and key facts

  How to set up
  Connect your Telegram bot to n8n  
  Add your OpenAI credentials (for Whisper + Chat agent)  
  Plug in your Apollo API key or scraping tool  
  Replace the example spreadsheet with your own  
  Customize the prompts for tone or data depth  
  (Optional) Add PDF generation or CRM sync

  Requirements
  Telegram Bot Token  
  OpenAI API Key  
  Apollo (or other scraping API) credentials  
  LinkedIn URLs for research functionality

  How to customize
  Replace Apollo with Clay, People Data Labs, or another scraping tool  
  Add a CRM push step (e.g. Airtable, HubSpot, Notion)  
  Add scheduling to auto-scrape daily  
  Reformat the research report as a downloadable PDF  
  Change the agent’s tone or role (e.g. “Outreach Assistant,” “Investor Scout,” etc.)

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

workflow_json_compressed:
  [encoded data, 6480 characters]

metadata_json:
  {"categories":["automation","integration","lead generation","data enrichment","research"],"complexity":"medium","use_cases":["Automated outbound lead scraping","Prospect research and dossier generation","Voice-driven agent commands via Telegram","Populating contact lists in Google Sheets","Generating client-ready research briefs for outreach"],"estimated_setup_minutes":45,"required_services":["Telegram Bot (Bot Token)","OpenAI (Whisper for transcription + Chat/LLM)","Apollo (or alternative lead-scraping API like Clay/People Data Labs)","Google Sheets (or alternative spreadsheet)","Email delivery service (SMTP/Gmail/API)","LinkedIn profile URLs (input source)"],"key_features":["Handles text and voice messages from Telegram (Whisper transcription)","AI agent interprets intent: lead scraping vs. research report","Calls Apollo (or chosen provider) to fetch fresh leads","Saves leads directly to a spreadsheet","Generates 1-page research dossiers (can be formatted as PDF) and emails results back to user"],"target_audience":["Cold emailers","Growth marketers","Solo founders doing outbound sales/marketing」「SDRs and sales reps」「Agencies building lead lists or client research"]}


name: Personalized Thank-You Emails with Website Scraping, GPT-4o, and Gmail
author_name: Abdul Mir
author_username: abdulmir
categories: []
created_at: 2025-07-27T15:27:41.560Z
updated_at: 2025-07-27T15:27:41.560Z
url: https://n8n.io/workflows/6533
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:34
description:
  Overview
  Impress your leads with ultra-personalized “thank you” emails that look hand-written — sent automatically seconds after they submit your intake form.

  This workflow instantly scrapes the prospect's website, extracts meaningful copy, and uses AI to write a custom thank-you message referencing something specific from their site. It gives the impression you immediately reviewed their business and crafted a thoughtful reply — without lifting a finger.

  Who’s it for
  Agencies and consultants using intake forms  
  Freelancers booking discovery calls  
  B2B businesses that want high-touch first impressions  
  Sales teams automating initial follow-ups  

  How it works
  Triggered when a form (e.g. Tally, Typeform) is submitted  
  Scrapes the website URL provided in the form  
  Converts HTML to Markdown and extracts plain copy  
  Uses AI to write a personalized thank-you message referencing the site  
  Waits briefly to simulate real typing delay  
  Sends the message via Gmail (or any email provider)

  Example use case
  &gt; Prospect submits a form with their website: coolstartup.ai  
  &gt;  
  &gt; 30 seconds later, they receive:  
  &gt;  
  &gt; “Thanks for reaching out! I just checked out Cool Startup’s homepage — love the clean UX and mission around AI for teams. Looking forward to diving into how we might collaborate!”

  How to set up
  Connect your form tool (e.g. Tally or Typeform)  
  Connect Gmail or another email provider  
  Customize the AI prompt to match your tone  
  Set the wait time (e.g. 30 seconds) for a realistic delay  
  Update your website scraping logic if needed  

  Requirements
  Form tool with webhook support  
  OpenAI (or other LLM) credentials  
  Email sending integration (Gmail, Mailgun, Postmark, etc.)

  How to customize
  Edit the email tone (casual, formal, funny, etc.)  
  Add CRM integration to log form submission and response  
  Trigger additional workflows like lead scoring or Slack alerts  
  Add fallback logic if the website doesn’t scrape cleanly

nodes_used:
  ["n8n-nodes-base.markdown","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.wait","n8n-nodes-base.typeformTrigger","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4416 characters]

metadata_json:
  {"categories":["automation","sales & marketing","personalization","integration"],"complexity":"medium","use_cases":["Automated personalized thank-you emails","Immediate lead follow-up","Pre-call prospect warm-up","High-touch onboarding for B2B leads"],"estimated_setup_minutes":20,"required_services":["Form tool with webhooks (Typeform, Tally, etc.)","OpenAI or other LLM (GPT-4o)","Email provider (Gmail, Mailgun, Postmark, etc.)","Website scraping/HTTP access"],"key_features":["Scrapes prospect website and extracts meaningful copy","Converts HTML to Markdown and extracts plain text","Uses LLM to generate ultra-personalized thank-you messages referencing site content","Simulates typing delay before sending to feel hand-written","Sends email via connected provider and supports tone customization and fallback logic"],"target_audience":["Agencies and consultants","Freelancers booking discovery calls","B2B sales teams and marketers"]}


name: AI Proposal Generator
author_name: Abdul Mir
author_username: abdulmir
categories: []
created_at: 2025-07-27T15:40:45.891Z
updated_at: 2025-07-27T15:40:45.891Z
url: https://n8n.io/workflows/6534
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  Overview
  Stop spending hours formatting proposals. This workflow turns a short post-call form into a high-converting, fully-personalized PandaDoc proposal—plus updates your CRM and drafts the follow-up email for you.

  After a sales call, just fill out a 3-minute form summarizing key pain points, solutions pitched, and the price. The workflow uses AI to generate polished proposal copy, then builds a PandaDoc draft using dynamic data mapped into the JSON body (which you can fully customize per business). It also updates the lead record in ClickUp with the proposal link, company name, and quote—then creates an email draft in Gmail, ready to send.

  Who’s it for
  Freelancers and consultants sending service proposals  
  Agencies closing deals over sales calls  
  Sales reps who want to automate proposal follow-up  
  Teams using ClickUp as their lightweight CRM  

  How it works
  After a call, fill out a short form with client details, pitch notes, and price  
  AI generates professional proposal copy based on form input  
  Proposal is formatted and sent to PandaDoc via HTTP request  
  ClickUp lead is updated with:
    Company Name  
    Proposal URL  
    Quote/price  
  A Gmail draft is created using the proposal link and a thank-you message  

  Example use case
  &gt; You hop off a call, fill out:  
  &gt; - Prospect: Shopify agency  
  &gt; - Pain: No lead gen system  
  &gt; - Solution: Automated cold outreach  
  &gt; - Price: $2,500/month  
  &gt;  
  &gt; 3 minutes later: PandaDoc proposal is ready, CRM is updated, and your email draft is waiting to be sent.

  How to set up
  Replace the form with your preferred tool (e.g. Tally, Typeform)  
  Connect PandaDoc API and structure your proposal template  
  Customize the JSON body inside the HTTP request to match your business  
  Link your ClickUp space and custom fields  
  Connect Gmail (or other email tool) for final follow-up draft  

  Requirements
  Form tool for capturing sales call notes  
  OpenAI or LLM key for generating proposal copy  
  PandaDoc API access  
  ClickUp custom fields set up for lead tracking  
  Gmail integration

  How to customize
  Customize your PandaDoc proposal fields in the JSON body of the HTTP node  
  Replace ClickUp with another CRM like HubSpot or Notion  
  Adjust AI tone (casual, premium, corporate) for proposal writing  
  Add Slack or Telegram alerts when the draft is ready  
  Add PDF generation or auto-send email step

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

workflow_json_compressed:
  [encoded data, 8688 characters]

metadata_json:
  {"categories":["automation","sales","document generation","CRM integration","AI"],"complexity":"medium","use_cases":["Generate polished proposals from post-call notes","Automate proposal creation in PandaDoc","Update CRM lead records with proposal link and quote","Create follow-up email drafts in Gmail","Standardize and speed up sales follow-up process"],"estimated_setup_minutes":45,"required_services":["Form tool (Typeform, Tally, etc.)","OpenAI or other LLM API","PandaDoc API","ClickUp API (or other CRM)","Gmail (or email provider) integration","n8n HTTP/Webhook access"],"key_features":["AI-generated, personalized proposal copy","Creates PandaDoc draft via HTTP/JSON","Updates ClickUp lead fields (company, proposal URL, quote)","Creates Gmail draft with proposal link and thank-you message","Configurable JSON body for PandaDoc templates and fields"],"target_audience":["Freelancers and consultants","Agencies closing deals over calls","Sales reps automating follow-up tasks 
  (inside sales/outbound) 
  Teams using ClickUp as CRM"]}


name: Lead Research Report Emails
author_name: Abdul Mir
author_username: abdulmir
categories: []
created_at: 2025-07-27T15:54:08.744Z
updated_at: 2025-07-27T15:54:08.744Z
url: https://n8n.io/workflows/6535
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  Overview
  This workflow auto-generates a personalized research report on any prospect who books a call with you—using their LinkedIn profile and advanced web research.

  When a call is booked in your calendar, the system looks up the lead’s LinkedIn URL from a Google Sheets database. That profile is then scraped using Relevance AI to extract posts, experiences, and education. It also runs a deep-dive query on the person using Perplexity to uncover relevant news, insights, and context. This structured data is passed to an AI model that produces a clean profile summary, suggested pain points, and solution ideas. Finally, the system builds and sends you a fully formatted HTML report via email—ready to review before your meeting.

  Who’s it for
  Founders taking high-stakes sales calls  
  SDRs/BDRs booking back-to-back meetings  
  Agencies and consultants who want to personalize discovery calls  
  Teams doing high-touch enterprise sales or B2B outreach  

  How it works
  Triggered when a new call is booked via Cal.com  
  Finds matching LinkedIn URL from a local database (Google Sheets)  
  Scrapes public LinkedIn data via Relevance AI  
  Runs a Perplexity query on the prospect for deeper context  
  Formats the scraped data using Code nodes  
  Sends structured info to AI to generate:
    A company + person profile  
    Suggested pain points and solutions  
  Formats everything into a clean HTML report  
  Emails you the final summary to prep for the call

  Example use case
  &gt; Someone books a call. You receive a report 2 minutes later in your inbox with:  
  &gt; - Their role, company, and latest posts  
  &gt; - What their business does  
  &gt; - Recent news and context from Perplexity  
  &gt; - Predicted pain points and how you might help  
  &gt;  
  &gt; You show up to the call prepped and ready

  How to set up
  Connect your Cal.com trigger (or replace with any booking tool)  
  Set up your Google Sheet(s) with contact info + LinkedIn profiles  
  Add Relevance AI API key and configure LinkedIn scraping (they have free credits)  
  Link Perplexity API for web research  
  Customize the AI prompts and report formatting  
  Connect Gmail or preferred email provider to send reports

  Requirements
  Cal.com or other booking platform  
  Google Sheets for lead storage  
  Relevance AI account and API access  
  Perplexity API key  
  OpenAI or similar LLM for summarization  
  Email integration (e.g. Gmail)

  How to customize
  Replace Cal.com with Calendly, SavvyCal, etc.  
  Change AI prompt tone and structure of the report  
  Add CRM push (e.g. log into HubSpot, Notion, or Airtable)  
  Add Slack or Telegram notifications for call alerts  
  Format reports as PDF instead of HTML for download

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.code","@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.html","n8n-nodes-base.gmail","n8n-nodes-base.calTrigger","n8n-nodes-base.perplexity","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","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"]

workflow_json_compressed:
  [encoded data, 11360 characters]

metadata_json:
  {"categories":["automation","integration","sales enablement","data enrichment","research"],"complexity":"medium","use_cases":["Personalized meeting/intro call preparation","Lead research and enrichment","SDR/BDR outreach and handoff","Agency/consultant discovery call prep","High-touch B2B/enterprise sales personalization"],"estimated_setup_minutes":45,"required_services":["Cal.com (or other booking tool like Calendly/SavvyCal)","Google Sheets","Relevance AI (for LinkedIn scraping)","Perplexity API (web research)","OpenAI or similar LLM (summarization)","Email provider (Gmail/SMTP)"],"key_features":["Trigger on new booked call","Lookup lead LinkedIn URL from Google Sheets","Scrape public LinkedIn data via Relevance AI","Deep-dive web research using Perplexity","AI-generated profile summary, pain points, and solution ideas via LLMs"],"target_audience":["Founders doing high-stakes sales calls","SDRs / BDRs","Agencies and consultants preparing for discovery calls"]}


name: Inbox Manager (GPT, Google Calendar & Supabase)
author_name: Abdul Mir
author_username: abdulmir
categories: []
created_at: 2025-07-27T16:09:15.362Z
updated_at: 2025-07-27T16:09:15.362Z
url: https://n8n.io/workflows/6537
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:34
description:
  Overview
  Turn your cluttered inbox into a smart, autonomous assistant that categorizes emails, replies to leads, checks your calendar, and notifies you on Telegram—all without lifting a finger.

  This workflow is designed for a marketing agency, but can be adapted for any business. It classifies incoming emails into categories like Sales, Client Communication, Reports, Billing, and Other. If it detects a new lead or priority message, it routes the email to one of two agents:
  The Calendar Agent checks your availability in Google Calendar and drafts a consultation reply  
  The Knowledge Agent answers FAQs using your business knowledge base (with Supabase embeddings)  

  Both agents create draft email responses and send a Telegram alert so you're always in the loop.

  Who’s it for
  Founders and agency owners buried in emails  
  Marketing teams handling lots of inbound leads  
  Customer support managers automating Tier 1 replies  
  Anyone who wants a cleaner, smarter inbox without hiring a VA  

  How it works
  Gmail trigger watches for incoming emails  
  Email content is passed to an AI classifier to apply a label (Sales, Client, Billing, etc.)  
  If the message is a new inquiry or lead, it’s routed to:
    Calendar Agent → checks Google Calendar and drafts a reply with available slots  
    Knowledge Agent → searches vector DB and drafts a helpful reply from documentation  
  Both agents create a Gmail draft response and send a Telegram notification with summary  

  Example use case
  &gt; A lead emails you asking for a discovery call.  
  &gt;  
  &gt; ✅ Email is labeled "Sales"  
  &gt; ✅ AI Calendar Agent checks your Google Calendar  
  &gt; ✅ A reply is drafted offering free time slots  
  &gt; ✅ You get a Telegram ping:  
  &gt; "New lead: Abdul Mir. I checked your calendar and drafted a reply. Check your email!"  

  How to set up
  Connect your Gmail and set up a trigger for new messages  
  Train the AI classifier with example categories and emails  
  Connect Google Calendar API for availability checks  
  Upload your internal docs and sync to Supabase vector store  
  Connect Telegram for alerts  
  Customize AI prompts and escalation logic as needed  

  Requirements
  Gmail integration  
  OpenAI or Claude API (for classification + chat agents)  
  Google Calendar API  
  Supabase (or Pinecone, Weaviate) for RAG vector DB  
  Telegram bot API key

  How to customize
  Add custom labels like “Recruiting,” “Investor,” or “Support”  
  Replace Telegram with Slack or SMS alerts  
  Add CRM sync to update lead status  
  Escalate complicated replies to a human via task creation  
  Add auto-send (instead of drafts) after review or based on confidence score

nodes_used:
  ["n8n-nodes-base.gmailTrigger","@n8n/n8n-nodes-langchain.textClassifier","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.stickyNote","n8n-nodes-base.googleCalendarTool","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.toolThink","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.gmail","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.switch","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.vectorStoreSupabase","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.toolVectorStore","n8n-nodes-base.gmail","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 12916 characters]

metadata_json:
  {"categories":["automation","integration","email management","customer support","lead management"],"complexity":"complex","use_cases":["Automated email triage and labeling","Routing inbound leads to calendar scheduling agent","Drafting replies using knowledge base (RAG)","Notifying team via Telegram of important emails","Reducing manual inbox workload for marketing/agency teams"],"estimated_setup_minutes":90,"required_services":["Gmail","OpenAI or Anthropic Claude (LLM)","Google Calendar API","Supabase (or Pinecone/Weaviate) vector DB","Telegram Bot API"],"key_features":["AI classification of incoming emails into custom labels","Calendar Agent: checks availability and drafts scheduling replies","Knowledge Agent: RAG search over Supabase embeddings to draft FAQ/responses","Creates Gmail drafts for review (optionally auto-send)","Telegram notifications with summaries for new leads/priority messages','Configurable labels, prompts and escalation logic"],"target_audience":["Founders and agency owners","Marketing teams handling inbound leads","Customer support managers (Tier 1 automation)`,`Anyone wanting an automated virtual inbox assistant"]}


