# templates

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"]}


name: Company Knowledge Base Agent (RAG)
author_name: Abdul Mir
author_username: abdulmir
categories: []
created_at: 2025-07-27T16:25:45.103Z
updated_at: 2025-07-27T16:25:45.103Z
url: https://n8n.io/workflows/6538
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  Overview
  Turn your docs into an AI-powered internal or public-facing assistant. This chatbot workflow uses RAG (Retrieval-Augmented Generation) with Supabase vector search to answer employee or customer questions based on your company documents—automatically updated via Google Drive.

  Whether it’s deployed in Telegram or embedded on your website, this agent supports voice and text input, transcribes voice messages, pulls relevant context from your internal files, and responds with a helpful, AI-generated answer. Two additional workflows listen for file changes in a shared Google Drive folder, convert them into embeddings using OpenAI, and sync them with your Supabase vector DB—so your knowledge base is always up to date.

  Who’s it for
  Startups building an internal ops or HR assistant  
  SaaS companies deploying help bots on their websites  
  Customer support teams reducing repetitive questions  
  Knowledge-driven teams needing internal AI assistants  

  How it works
  Triggered via Telegram bot (or easily swapped for website chatbot or “on chat message”)  
  If user sends a voice message, it’s transcribed to text using OpenAI Whisper  
  Input is passed to a RAG agent that:
    Searches a Supabase vector store for relevant docs  
    Pulls context from matching chunks using OpenAI embeddings  
    Responds with an LLM-powered answer  
  The response is sent back as a Telegram message  
  Two separate workflows:
    New File Workflow: Listens for file uploads in Google Drive, extracts and splits text, then sends to Supabase with embeddings  
    Update File Workflow: Detects file edits, deletes old rows, and updates embeddings for the revised file  

  Example use case
  &gt; You upload your internal policy docs and client FAQs into a Google Drive folder.  
  &gt;  
  &gt; Employees or customers can now ask:  
  &gt; - “What’s the refund policy for annual plans?”  
  &gt; - “How do I request a day off?”  
  &gt; - “What tools are approved for use by the engineering team?”  
  &gt;  
  &gt; The chatbot instantly pulls up the right section and responds with a smart, confident answer.

  How to set up
  Connect a Telegram bot or use n8n’s webchat / chatbot widget  
  Hook up OpenAI for transcription, embeddings, and completion  
  Set up a Supabase project and connect it as a vector store  
  Upload your internal docs to Google Drive  
  Deploy the “Add File” and “Update File” automations to manage embedding sync  
  Customize the chatbot’s tone and personality with prompt tweaks  

  Requirements
  Telegram bot (or n8n Chat widget)  
  Google Drive integration  
  Supabase with pgvector or similar enabled  
  OpenAI API key (Whisper, Embeddings, ChatGPT)  
  Two folders: one for raw documents and one for tracking updates  

  How to customize
  Swap Supabase for Pinecone, Weaviate, or Qdrant  
  Replace Telegram with web chat, Slack, Intercom, or Discord  
  Add logic to handle fallback answers or escalate to human  
  Embed the chat widget on your site for public customer use  
  Add filters (e.g. department, date, author) to narrow down context

nodes_used:
  ["n8n-nodes-base.set","@n8n/n8n-nodes-langchain.vectorStoreSupabase","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.extractFromFile","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.supabase","n8n-nodes-base.set","n8n-nodes-base.limit","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","n8n-nodes-base.extractFromFile","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.vectorStoreSupabase","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.set","n8n-nodes-base.switch","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.telegramTrigger","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.telegram","@n8n/n8n-nodes-langchain.vectorStoreSupabase","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.toolVectorStore","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 8100 characters]

metadata_json:
  {"categories":["automation","integration","data processing","knowledge management","AI assistants"],"complexity":"complex","use_cases":["Internal ops/HR assistant for employees","Customer-facing help/chatbot on websites","Reducing repetitive support queries","Maintaining an up-to-date searchable company knowledge base"],"estimated_setup_minutes":90,"required_services":["Telegram bot or n8n Chat/widget","Google Drive","Supabase (pgvector enabled)","OpenAI (Whisper for transcription, Embeddings, LLM/Chat completions)"],"key_features":["Retrieval-Augmented Generation (RAG) using Supabase vector search","Automatic ingestion and embedding of Google Drive files","Voice message transcription (OpenAI Whisper)","Supports Telegram or embeddable web chat interfaces","Two workflows to add/update embeddings and keep DB in sync with Drive changes','Configurable prompts/tone and easy replacement of vector store or chat channel"],"target_audience":["Startups building internal assistants","SaaS product teams deploying help bots","Customer support teams looking to automate FAQs and triage','Knowledge-driven teams (documentation, ops, HR)"]}


name: Build an All-Source Knowledge Assistant with Claude, RAG, Perplexity, and Drive
author_name: Paul
author_username: diagopl
categories: []
created_at: 2025-07-27T21:17:51.143Z
updated_at: 2025-07-27T21:17:51.143Z
url: https://n8n.io/workflows/6542
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  📜 Detailed n8n Workflow Description

  Main Flow

  The workflow operates through a three-step process that handles incoming chat messages with intelligent tool orchestration:

  Message Trigger: The When chat message received node triggers whenever a user message arrives and passes it directly to the Knowledge Agent for processing.

  Agent Orchestration: The Knowledge Agent serves as the central orchestrator, registering a comprehensive toolkit of capabilities:
     LLM Processing: Uses Anthropic Chat Model with the claude-sonnet-4-20250514 model to craft final responses
     Memory Management: Implements Postgres Chat Memory to save and recall conversation context across sessions
     Reasoning Engine: Incorporates a Think tool to force internal chain-of-thought processing before taking any action
     Semantic Search: Leverages General knowledge vector store with OpenAI embeddings (1536-dimensional) and Cohere reranking for intelligent content retrieval
     Structured Queries: Provides structured data Postgres tool for executing queries on relational database tables
     Drive Integration: Includes search about any doc in google drive functionality to locate specific file IDs
     File Processing: Connects to Read File From GDrive sub-workflow for fetching and processing various file formats
     External Intelligence: Offers Message a model in Perplexity for accessing up-to-the-minute web information when internal knowledge proves insufficient

  Response Generation: After invoking the Think process, the agent intelligently selects appropriate tools based on the query, integrates results from multiple sources, and returns a comprehensive Markdown-formatted answer to the user.

  Persistent Context Management

  The workflow maintains conversation continuity through Postgres Chat Memory, which automatically logs every user-agent exchange. This ensures long-term context retention without requiring manual intervention, allowing for sophisticated multi-turn conversations that build upon previous interactions.

  Semantic Retrieval Pipeline

  The semantic search system operates through a sophisticated two-stage process:

  Embedding Generation**: Embeddings OpenAI converts textual content into high-dimensional vector representations
  Relevance Reranking**: Reranker Cohere reorders search hits to prioritize the most contextually relevant results
  Knowledge Integration**: Processed results feed into the General knowledge vector store, providing the agent with relevant internal knowledge snippets for enhanced response accuracy

  Google Drive File Processing

  The file reading capability handles multiple formats through a structured sub-workflow:

  Workflow Initiation: The agent calls Read File From GDrive with the selected fileId parameter
  Sub-workflow Activation: When Executed by Another Workflow node activates the dedicated file processing sub-workflow
  Operation Validation: Operation node confirms the request type is readFile
  File Retrieval: Download File1 node retrieves the binary file data from Google Drive
  Format-Specific Processing: FileType node branches processing based on MIME type:
     PDF Files: Route through Extract from PDF → Get PDF Response to extract plain text content
     CSV Files: Process via Extract from CSV → Get CSV Response to obtain comma-delimited text data
     Image Files: Analyze using Analyse Image with GPT-4o-mini to generate visual descriptions
     Audio/Video Files: Transcribe using Transcribe Audio with Whisper for text transcript generation
  Content Integration: The extracted text content returns to Knowledge Agent, which seamlessly weaves it into the final response

  External Search Capability

  When internal knowledge sources prove insufficient, the workflow can access current public information through Message a model in Perplexity, ensuring responses remain accurate and up-to-date with the latest available information.

  Design Highlights

  The workflow architecture incorporates several key design principles that enhance reliability and reusability:

  Forced Reasoning**: The mandatory Think step significantly reduces hallucinations and prevents tool misuse by requiring deliberate consideration before action
  Template Flexibility: The design is intentionally generic—organizations can replace **[your company] placeholders with their specific company name and integrate their own credentials for immediate deployment
  Documentation Integration**: Sticky notes throughout the canvas serve as inline documentation for workflow creators and maintainers, providing context without affecting runtime performance

  System Benefits

  With this comprehensive architecture, the assistant delivers powerful capabilities including long-term memory retention, semantic knowledge retrieval, multi-format file processing, and contextually rich responses tailored specifically for users at [your company]. The system balances sophisticated AI capabilities with practical business requirements, creating a robust foundation for enterprise-grade conversational AI deployment.

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.memoryPostgresChat","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.rerankerCohere","@n8n/n8n-nodes-langchain.lmChatAnthropic","n8n-nodes-base.postgresTool","@n8n/n8n-nodes-langchain.vectorStoreSupabase","n8n-nodes-base.manualTrigger","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","@n8n/n8n-nodes-langchain.vectorStoreSupabase","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.toolThink","n8n-nodes-base.stickyNote","n8n-nodes-base.executeWorkflowTrigger","@n8n/n8n-nodes-langchain.mcpTrigger","n8n-nodes-base.googleDrive","n8n-nodes-base.switch","n8n-nodes-base.switch","n8n-nodes-base.extractFromFile","n8n-nodes-base.extractFromFile","n8n-nodes-base.set","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.googleDriveTool","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.mcpClientTool","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.perplexityTool","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 11340 characters]

metadata_json:
  {"categories":["automation","integration","data processing","knowledge management","ai-assistant"],"complexity":"complex","use_cases":["Enterprise knowledge assistant with RAG (retrieval-augmented generation)","Multi-format document ingestion and search (PDF, CSV, images, audio/video)","Long-term conversational memory and multi-turn support","Up-to-date external information retrieval via web models","Structured data querying alongside semantic search"],"estimated_setup_minutes":180,"required_services":["Anthropic (Claude model)","OpenAI (embeddings, GPT models, Whisper)","Cohere (reranker)","Perplexity (external web model)","Google Drive API","Postgres database (chat memory)","Supabase / vector store"],"key_features":["Central Knowledge Agent orchestrating LLMs and tools","RAG pipeline: OpenAI embeddings → vector store → Cohere reranking","Persistent Postgres chat memory for conversational context","Forced 'Think' reasoning step to reduce hallucinations","Multi-format file processing sub-workflow (PDF, CSV, images, audio/video) via Google Drive integration and specialized processors/transcribers/vision models, with results fed back into the agent"],"target_audience":["Developers / ML engineers","Data engineers","Enterprise IT / platform teams building internal assistants or knowledge bases"]}


name: Forward Chatwoot Messages to WhatsApp via Evolution API with Media Support
author_name: Thiago Vazzoler Loureiro
author_username: thiagovazzoler
categories: []
created_at: 2025-07-27T23:30:49.094Z
updated_at: 2025-07-27T23:30:49.094Z
url: https://n8n.io/workflows/6544
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  Description
  This workflow automates forwarding messages received in Chatwoot to WhatsApp using the Evolution API. It provides full support for different types of messages, ensuring rich and seamless communication with the end user.

  What Problem Does This Solve?
  Manually forwarding messages from Chatwoot to WhatsApp can be time-consuming and error-prone, especially when handling diverse message types like media files. This subworkflow streamlines the process, automating message delivery while maintaining message fidelity and media compatibility.

  Features

  Support for plain text messages;
  Support for media messages including images, videos, documents, and audio;
  Automatic detection of media type based on the content_type field;
  Automatic processing of incoming messages from Chatwoot via webhook or native integration

  Prerequisites
  Before using this subworkflow, make sure you have:
  Evolution API key and URL;
  Incoming messages from Chatwoot via webhook or native integration;
  Configured HTTP Request node in n8n

  Suggested Usage
  This subworkflow should be attached to a main workflow that receives messages from Chatwoot. It is ideal for automated customer service, help desks, or hybrid bots (human + automated), enabling messages originating from Chatwoot to be faithfully redirected to WhatsApp.

nodes_used:
  ["n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.noOp","n8n-nodes-base.switch","n8n-nodes-base.if","n8n-nodes-base.switch","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-evolution-api.evolutionApi","n8n-nodes-evolution-api.evolutionApi","n8n-nodes-evolution-api.evolutionApi","n8n-nodes-evolution-api.evolutionApi","n8n-nodes-evolution-api.evolutionApi","n8n-nodes-base.switch","n8n-nodes-base.splitInBatches","n8n-nodes-base.code","n8n-nodes-evolution-api.evolutionApi"]

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

metadata_json:
  {"categories":["integration","messaging","automation","customer support"],"complexity":"medium","use_cases":["Forward incoming Chatwoot conversations to WhatsApp","Automated customer support message routing","Hybrid bot + human handover across Chatwoot and WhatsApp","Reliable forwarding of media (images, video, audio, documents)"],"estimated_setup_minutes":20,"required_services":["Chatwoot (incoming messages/webhook or native integration)","Evolution API (WhatsApp provider) with API key and URL","n8n instance (workflow execution)","Public webhook endpoint (or tunneling like ngrok) for Chatwoot -> n8n"],"key_features":["Automatic forwarding of plain text and media messages from Chatwoot to WhatsApp","Full media support: images, videos, audio, documents","Automatic media-type detection using content_type","Works via Chatwoot webhook or native integration","Conditional routing and processing (switch/if logic) for different message types and error handling"],"target_audience":["Developers implementing messaging integrations","Customer support teams/operators","DevOps/engineering teams who manage chat routing automations"]}


name: Automatically Enrich Salesforce Accounts with Web Crawling, LinkedIn Data, GPT
author_name: Le Nguyen
author_username: leeseifer
categories: []
created_at: 2025-07-28T15:22:52.165Z
updated_at: 2025-07-28T15:22:52.165Z
url: https://n8n.io/workflows/6586
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  Crawl the web, mine LinkedIn, think with GPT, and auto‑enrich Salesforce—all inside n8n.

  🔧 How It Works (High-Level)

  Listen – Trigger on new Salesforce Accounts.  
  Discover – Crawl the company site (depth-limited) + grab/parse LinkedIn.  
  Distill – GPT (JSON mode) returns a clean insight object + HTML summary.  
  Enrich – Update the Account record in Salesforce automatically.

  🛠 Setup Steps (≈15–25 minutes)

  Import the workflow JSON into n8n.  
  Connect Credentials: Salesforce OAuth2 + OpenAI API key.  
  Tune Settings: Set maxDepth (default = 1), confirm the model (e.g., gpt‑4o).  
  Test with a sample Account to verify crawl + update.  
  Enable Trigger and let it run.

  💼 Business Impact

  Zero manual research**: Insights appear in Salesforce instantly.  
  Consistent data**: Unified JSON schema + confidence rating.  
  Faster qualification**: Reps see services, size, HQ, etc., without leaving SF.  
  Scalable & automated**: Works 24/7 on every new Account.  
  AI-ready outputs**: Raw JSON for automations, HTML for dashboards/Lightning.

  🌟 Optional Enhancements

  Push insights to Slack/Teams.  
  Auto-create tasks if rating &lt; 60 or data missing.  
  Archive raw HTML to S3 for audits.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.salesforceTrigger","n8n-nodes-base.salesforce","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","n8n-nodes-base.html","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.html","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.splitInBatches","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.salesforce","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","integration","data enrichment","web scraping","AI/LLM"],"complexity":"complex","use_cases":["Auto-enrich Salesforce Account records on creation","Automated lead/account research and qualification","Generate human-readable summaries and structured JSON insights","Trigger downstream automations (tasks, alerts, messaging)","Archive research artefacts for audit or BI"],"estimated_setup_minutes":20,"required_services":["Salesforce (OAuth2 credential)","OpenAI (API key / LLM access)","Public web access to target company sites (HTTP crawling)","LinkedIn data access or ability to crawl/parse LinkedIn pages"],"key_features":["Event trigger on new Salesforce Account","Depth-limited website crawler to extract company info","LinkedIn mining/parsing to capture role/company signals","GPT-based JSON insight object + HTML summary generation","Automatic update/enrichment of Salesforce Account record(s)"],"target_audience":["Sales operations / CRM admins","Revenue operations / RevOps","Sales reps and account execs (for faster qualification)"]}


name: Automated Upwork Messages Alerts to Slack with Gmail and Google Gemini AI
author_name: Zain Khan
author_username: zain
categories: []
created_at: 2025-07-28T21:32:29.089Z
updated_at: 2025-07-28T21:32:29.089Z
url: https://n8n.io/workflows/6600
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:34
description:
  Upwork Messages Notifications (Gmail to Slack) - Fully Automated Alerts

  This n8n workflow streamlines how you receive Upwork client messages, sending instant notifications to Slack. It demonstrates two approaches: a code-based extraction and an AI-powered one with Google Gemini.

  Use Cases

  Instant Communication:** Get real-time alerts for new Upwork client messages in your team's Slack channel.
  Improved Responsiveness:** Quickly respond to client inquiries and maintain strong communication.
  Centralized Notifications:** Keep all your essential work-related notifications in one place.

  Good to Know

  The workflow is set to poll your Gmail every 3 minutes for unread Upwork messages, which can be reduced or increased.
  The AI Information Extractor with Google Gemini provides a more refined and robust method for data parsing compared to custom code.
  Usage of Google Gemini may incur costs. Refer to Gemini Pricing for updated information.
  Google Gemini models can be geo-restricted. If you encounter a "model not found" error, it might not be available in your region.

  How it Works

  Method 1: Code-Based Extraction

  Gmail Trigger: The workflow starts by monitoring your Gmail for new, unread emails from "via Upwork".
  Code Node: A custom JavaScript code block is used to extract the client's name and the message content directly from the email's text.
  Slack Notification: The extracted client name and message are then formatted and sent as a new message to a designated Slack channel.

  Method 2: AI-Powered Extraction with Google Gemini (Recommended)

  Gmail Trigger X: Similar to Method 1, this part also triggers on new unread Upwork emails.
  Information Extractor (AI): This powerful node, powered by Google Gemini, takes the entire email text and intelligently extracts structured information like the "client" name and the "message" content based on a defined schema. This method is more robust and requires less manual parsing logic.
  Google Gemini Chat Model: (Implicitly used by the Information Extractor) This node provides the underlying AI capabilities for intelligent information extraction.
  Send to Slack X: The refined output from the AI Information Extractor (client name and message) is then sent to a Slack channel.

  How to Use

  Gmail Credentials: Ensure you have configured your Gmail OAuth2 credentials in n8n for both "Gmail Trigger" nodes.
  Slack Credentials: Set up your Slack OAuth2 credentials in n8n for both "Send to Slack" nodes and select the desired Slack channel.
  Google Gemini Credentials: For the AI-powered workflow, you'll need to set up your Google Gemini API key as a credential in n8n.
  Activate Workflows: Enable both workflows in n8n to start receiving notifications. You can compare the output quality of each method.

  Requirements

  n8n instance** (self-hosted or cloud)
  Gmail Account** connected to Upwork notifications.
  Slack Workspace** and a designated channel for notifications.
  Google Gemini API key** for the AI-powered extraction workflow.

nodes_used:
  ["n8n-nodes-base.gmailTrigger","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.informationExtractor","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.gmailTrigger","n8n-nodes-base.slack","n8n-nodes-base.slack"]

workflow_json_compressed:
  H4sIAAAAAAAAE52UW2sbMRCF/8qi5x1Xl5E0u0+FUEIf2peUEgih6LbOElsb7C0kGP/3snbobhI7dvIqnTn6NBqdDctdTGtW32xYG1nNhOUxpIBQeZUAIxFQiB4Sd4206Dj6wEqW3TKxml0uXbsofq3a+TytWMn6p4dhOVOGnS94t06z+aAaRQ/duu3bLrP6BpBKEIbfluzBrdwy9Wm1ZvVmu7f6nVbrnVDM5LZ8JvTWKqO0gUCCAKWuoHIUQAceEvomOa1HwosupqNgYb85ARKGnwU04ujKN8KGBqy3BGgwgEdfgeGBVGOc0tGOON9z062Wbjit+PbYr1zou0njvmbKX0bIhcvzcOfaPGvHumnZhNxgKaz5SCPJCC+MdsDJN4DJe6ii0tBwo1X00hqsJk/ddfNFKi7Tss1tcXHn+uJHF9PiDPjFcpDvDfb1r5puTank6SH4T44uSesNgmgoAVqP4AVFSE6Qs045Mn4kv+rbcP9U/Oz645Ow3mmeJdMBlZxKkPpNY1nocp9yz2rG3gE1ukJlDVBCBLQkwJOI0JgUtYiNiKgOgorPkdKbJp7HmaJ0NjoJSNoDEhpwggQob2PSyIPkdOTXF9ef+fdC0kfH1Ta6MtF4EI4aQN8Y8FWIEAzHGL33SotJL1OORd8VVwsX7t9hXA/7L+FQyXPY5EyNX4mkqawi0NxUgIYCUIMVpCSsjUZT4OoI20fIlDkvLge023J4+pzCULubhF0U1hu2dO1gdrPZZf9xnp2uZG2O6ZHVfHt7uy1fJf4ht5eJe9qkuD5ocyIpD/oerjl55el4HOY9ln31hrn2z5B0f908Pa+df4k3tS8P3m7/AfPYhkSfBwAA

metadata_json:
  {"categories":["automation","integration","notifications","AI","communication"],"complexity":"medium","use_cases":["Real-time alerts for new Upwork client messages","Centralized team notifications in Slack","Automatically extract sender name and message content from emails","Compare rule-based vs AI-powered extraction methods","Improve responsiveness to client inquiries"],"estimated_setup_minutes":20,"required_services":["n8n (self-hosted or cloud)","Gmail (Upwork notification emails)","Slack (workspace and target channel)","Google Gemini / Google Cloud API key"],"key_features":["Gmail polling trigger for unread Upwork emails","Two extraction methods: custom code and AI-powered Information Extractor (Google Gemini)","Structured extraction of client name and message content","Send formatted notifications to Slack","Configurable polling interval and workflow activation"],"target_audience":["freelancers using Upwork","agencies and account managers","support and client success teams wanting faster responses"]}


name: Automate Browser Tasks with Airtop & GPT-4 - Reddit Posting Example
author_name: Joseph
author_username: mjomba
categories: []
created_at: 2025-07-29T13:20:24.335Z
updated_at: 2025-07-29T13:20:24.335Z
url: https://n8n.io/workflows/6638
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:33
description:
  Overview

  This n8n workflow creates an intelligent AI agent that automates browser interactions through Airtop's browser automation platform. The agent can control real browser sessions, navigate websites, interact with web elements, and maintain detailed session records - all while providing live viewing capabilities for real-time monitoring.

  Youtube Tutorial: https://www.youtube.com/watch?v=XoZqFY7QFps

  What This Workflow Does

  The AI agent acts as your virtual assistant in the browser, capable of:

  Session Management**: Creates, monitors, and terminates browser sessions with proper tracking
  Web Navigation**: Visits websites, clicks elements, fills forms, and performs complex interactions
  Multi-Window Support**: Manages multiple browser windows within sessions
  Live Monitoring**: Provides real-time viewing URLs so you can watch the automation
  Data Tracking**: Maintains comprehensive records of all browser activities
  Profile Integration**: Uses Airtop profiles for authenticated sessions
  Email Notifications**: Sends live URLs and status updates via Gmail

  Demo Use Case: Automated Reddit Posting

  The tutorial demonstrates the agent's capabilities by:

  Logging into Reddit using pre-configured Airtop profile credentials
  Navigating to a specific subreddit based on user input
  Creating and publishing a new post with title and content
  Tracking the entire process with detailed session records
  Providing live viewing access throughout the automation

  Core Workflow Components

  1. Chat Interface Trigger
  Node Type**: Chat Trigger
  Purpose**: Accepts user commands for browser automation tasks
  Input**: Natural language instructions (e.g., "Create a Reddit post in r/automation")

  2. AI Agent Processing
  Node Type**: OpenAI GPT-4
  Purpose**: Interprets user requests and determines appropriate browser actions
  System Message**: Contains the comprehensive agent instructions from your documentation
  Capabilities**:
    Understands complex web interaction requests
    Plans multi-step browser workflows
    Manages session states intelligently
    Handles error scenarios gracefully

  3. Google Sheets Data Management
  Multiple Google Sheets nodes manage different aspects of session tracking:

  Browser Sessions Sheet
  Fields**: session_id, description, status, created_date
  Purpose**: Tracks active browser sessions
  Operations**: Create, read, update session records

  Window Sessions Sheet  
  Fields**: session_id, window_id, description, airtop_live_view_url, status
  Purpose**: Tracks individual browser windows within sessions
  Operations**: Create, read, update window records

  Airtop Profiles Sheet
  Fields**: platform_name, platform_url, profile_name
  Purpose**: Stores available authenticated profiles
  Operations**: Read available profiles for session creation

  4. Airtop Browser Automation Nodes
  Multiple specialized nodes for browser control:

  Session Management
  create_session**: Creates new browser sessions with optional profile authentication
  terminate_session**: Closes browser sessions and updates records
  read_airtop_profiles**: Retrieves available authentication profiles

  Window Management
  create_window**: Opens new browser windows with specified URLs
  query_page**: Analyzes page content and identifies interactive elements

  Web Interaction
  click_element**: Clicks specific page elements based on AI descriptions
  type_text**: Inputs text into form fields and input elements

  5. Gmail Integration
  Node Type**: Gmail Send
  Purpose**: Sends live viewing URLs and status updates
  Recipients**: User email for real-time monitoring
  Content**: Complete Airtop live view URLs for browser session observation

  6. Error Handling & Validation
  Input Validation**: Ensures required parameters are present
  Session State Checks**: Verifies browser session status before operations
  Error Recovery**: Handles failed operations gracefully
  Data Consistency**: Maintains accurate session records even during failures

  Technical Requirements

  API Credentials Needed
  Airtop.ai API Key
     Sign up at airtop.ai
     Generate API key from dashboard
     Required for all browser automation functions

  OpenAI API Key
     OpenAI account with GPT-4 access
     Required for AI agent intelligence and decision-making

  Google Sheets Access
     Google account with Google Sheets API access
     Copy the provided template and get your sheet URL
     Required for session and profile data management

  Gmail OAuth
     Google account with Gmail API access
     Required for sending live viewing URLs and notifications

  Airtable Base Structure
  Create three tables in your Airtable base:

  1. Browser Details (Sessions)
  session_id (Single line text)
  description (Single line text)
  status (Single select: Open, Closed)
  created_date (Date)

  2. Window Details (Windows)
  session_id (Single line text)
  window_id (Single line text)
  description (Single line text)
  airtop_live_view_url (URL)
  status (Single select: Open, Closed)

  3. Airtop Profiles
  platform_name (Single line text)
  platform_url (URL)
  profile_name (Single line text)

  Workflow Logic Flow

  User Request Processing
  User Input: Natural language command via chat interface
  AI Analysis: OpenAI processes request and determines required actions
  Session Check: Agent reads current browser session status
  Action Planning: AI creates step-by-step execution plan

  Browser Session Lifecycle
  Session Creation:
     Check for existing open sessions
     Ask user about profile usage if needed
     Create new Airtop session
     Record session details in Airtable

  Window Management:
     Create browser window with target URL
     Capture live viewing URL
     Record window details in Airtable
     Send live URL via Gmail

  Web Interactions:
     Query page content for element identification
     Execute clicks, form fills, navigation
     Monitor page state changes
     Handle dynamic content loading

  Session Cleanup:
     Terminate browser session when complete
     Update all related records to "Closed" status
     Send completion notification

  Data Flow Architecture
  User Input → AI Processing → Session Management → Browser Actions → Data Recording → User Notifications

  Key Features & Benefits

  Intelligent Automation
  Natural Language Control**: Users can describe tasks in plain English
  Context Awareness**: AI understands complex multi-step workflows
  Adaptive Responses**: Handles unexpected page changes and errors
  Profile Integration**: Seamlessly uses stored authentication credentials

  Real-Time Monitoring
  Live View URLs**: Watch browser automation as it happens
  Status Updates**: Real-time notifications of task progress
  Session Tracking**: Complete audit trail of all browser activities
  Multi-Window Support**: Handle complex workflows across multiple tabs

  Enterprise-Ready Features
  Error Recovery**: Robust handling of network issues and page failures
  Session Persistence**: Maintains state across workflow interruptions
  Data Integrity**: Consistent record-keeping even during failures
  Scalable Architecture**: Can handle multiple concurrent automation tasks

  Use Cases Beyond Reddit

  This workflow architecture supports automation for any website:

  Social Media Management
  Multi-platform posting**: Facebook, Twitter, LinkedIn, Instagram
  Community engagement**: Responding to comments, messages
  Content scheduling**: Publishing posts at optimal times
  Analytics gathering**: Collecting engagement metrics

  Business Process Automation
  CRM data entry**: Updating customer records across platforms
  Support ticket management**: Creating, updating, routing tickets
  E-commerce operations**: Product listings, inventory updates
  Report generation**: Gathering data from multiple web sources

  Personal Productivity
  Travel booking**: Comparing prices, making reservations
  Bill management**: Paying utilities, checking statements
  Job applications**: Submitting applications, tracking status
  Research tasks**: Gathering information from multiple sources

  Advanced Configuration Options

  Custom Profiles
  Create Airtop profiles for different websites
  Store authentication credentials securely
  Switch between different user accounts
  Handle multi-factor authentication flows

  Workflow Customization
  Modify AI system prompts for specific use cases
  Add custom validation rules
  Implement retry logic for failed operations
  Create domain-specific interaction patterns

  Integration Extensions
  Connect to additional data sources
  Add webhook notifications
  Implement approval workflows
  Create audit logs and reporting

  Getting Started

  📊 Copy the Google Sheets Template - Just click and make a copy!
  Set up credentials for Airtop, OpenAI, and Gmail
  Import workflow into your n8n instance
  Configure node credentials with your API keys and Google Sheets URL
  Test with simple commands like "Visit google.com"
  Expand to complex workflows as you become comfortable

  Best Practices

  Session Management
  Always check for existing sessions before creating new ones
  Properly terminate sessions to avoid resource waste
  Use descriptive names for sessions and windows
  Regularly clean up old session records

  Error Handling
  Implement timeout handling for slow-loading pages
  Add retry logic for network failures
  Validate element existence before interactions
  Log detailed error information for debugging

  Security Considerations
  Store sensitive credentials in Airtop profiles, not workflow
  Use webhook authentication for production deployments
  Implement rate limiting to avoid being blocked by websites
  Regular audit of browser session activities

  This workflow transforms n8n into a powerful browser automation platform, enabling you to automate virtually any web-based task while maintaining full visibility and control over the automation process.

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

workflow_json_compressed:
  [encoded data, 8652 characters]

metadata_json:
  {"categories":["automation","integration","browser-automation","AI-assistant"],"complexity":"complex","use_cases":["Automated social media posting (Reddit example)","Web UI automation and form submission","CRM / data entry across web apps","E‑commerce operations (listings, updates)","Web testing and monitoring"],"estimated_setup_minutes":45,"required_services":["Airtop.ai API Key (browser automation)","OpenAI API Key (GPT-4)","Google Sheets API access (workflow state/profile storage)","Gmail API / OAuth (notifications)","Airtable (optional: base/tables for session records)","n8n instance"],"key_features":["AI-driven planning with GPT-4 to map multi-step browser actions","Full Airtop session lifecycle management (create/read/terminate)","Multi-window/tab management and live view URLs","Element querying, clicks, and typed input for robust web interactions","Persistent session/window records in Sheets/Airtable for auditing and recovery‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎"],"target_audience":["Developers and automation engineers","Growth marketers and social media managers","QA engineers and testers doing UI automation and monitoring','Operations teams managing web-driven workflows"]}


name: Automate Video Content Posting to Multiple Social Platforms with Postiz
author_name: Aitor | 1Node
author_username: aitoralonso
categories: []
created_at: 2025-07-29T16:01:19.131Z
updated_at: 2025-07-29T16:01:19.131Z
url: https://n8n.io/workflows/6653
scraped_at: 2025-09-14 19:11:00
description:
  This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

  This workflow automates the distribution and scheduling of video content across multiple social platforms (TikTok, YouTube, Facebook, Instagram, Threads) through Postiz. Videos are collected from Google Drive, approved manually, and scheduled via the Postiz community node. 

  🧾 Requirements

  Google Drive** account with access to the folder that will watch for new items uploaded.
  videos in mp4 format ready to be shared or, alternatively you can connect a community node from Cloud Convert to convert the format before uploading into Postiz.
  Postiz account with integrations for TikTok, YouTube, Facebook, Instagram, and Threads
  🔗 Useful Links

  Postiz Docs
  Postiz Community Node

  🔄 Workflow Steps

  Trigger: Google Drive File Added
     Watches your selected Google Drive folder for new file uploads.

  Download File
     Downloads the detected video from Drive.

  Upload to Postiz
     Video is uploaded to Postiz to prepare for social scheduling.

  Set Fields
     Manual setting of social options 

  Extract Datetime (AI)
     Uses OpenAI to find/predict intended publish date & time, as the datetime format  is required to schedule on Postiz

  Get Social Integrations
     Fetches a list of user’s connected platforms from Postiz.

  Split and Filter Integrations
     Splits the process per platform (TikTok, YouTube, Facebook, Instagram, Threads).

  Schedule Post
     For each enabled platform, schedules the video with chosen options.

  🙋‍♂️ Need Help?

  Connect with 1 Node

nodes_used:
  ["n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.stickyNote","n8n-nodes-postiz.postiz","n8n-nodes-base.httpRequest","n8n-nodes-postiz.postiz","n8n-nodes-postiz.postiz","n8n-nodes-postiz.postiz","n8n-nodes-postiz.postiz","n8n-nodes-postiz.postiz","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.filter","n8n-nodes-base.filter","n8n-nodes-base.filter","n8n-nodes-base.filter","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.telegram","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenRouter"]

workflow_json_compressed:
  [encoded data, 6172 characters]


name: Manage Construction Projects with Tasks, Photo Reports, Telegram & Google Sheets
author_name: Artem Boiko
author_username: datadrivenconstruction
categories: []
created_at: 2025-07-30T06:10:11.318Z
updated_at: 2025-07-30T06:10:11.318Z
url: https://n8n.io/workflows/6675
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:33
description:
  How it works
  This template helps project managers collect task updates and photo reports from field workers via Telegram and stores everything in a Google Sheet. It enables daily project reporting without paper or back-office overhead.

  High-level flow:

  Workers receive daily tasks via Telegram

  They respond with photo reports

  Bot auto-saves replies (photos + status) to a Google Sheet

  The system tracks task completion, adds timestamps, and maintains report history

  Set up steps
  🕒 Estimated setup time: 15–30 min
  You’ll need:

  A Telegram bot (via BotFather)

  A connected Google Sheet (with specific column headers)

  A set of preconfigured tasks

  👉 Detailed setup instructions and required table structure are documented in sticky notes inside the workflow.

  Consulting and Training
  We work with leading construction, engineering, consulting agencies and technology firms around the world to help them implement open data principles, automate CAD/BIM processing and build robust ETL pipelines.

  If you would like to test this solution with your own data, or are interested in adapting the workflow to real project tasks, feel free to contact us.


  Docs & Issues:  
    Full Readme on GitHub

nodes_used:
  ["n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.noOp","n8n-nodes-base.noOp","n8n-nodes-base.cron","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.telegram","n8n-nodes-base.googleSheets","n8n-nodes-base.cron","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.noOp","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.telegramTrigger","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.telegram","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.telegram","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.googleDrive","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.telegram","n8n-nodes-base.code","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, 40656 characters]

metadata_json:
  {"categories":["automation","integration","field reporting","data collection"],"complexity":"complex","use_cases":["Send daily task lists to field workers via Telegram","Collect photo reports and status replies from field staff","Log photos, statuses and timestamps into Google Sheets","Maintain report history and track task completion","Eliminate paper reporting and streamline back-office updates"],"estimated_setup_minutes":20,"required_services":["n8n","Telegram (create bot via BotFather)","Google Sheets (Google account)","Google Drive"],"key_features":["Dispatch daily tasks to workers via Telegram","Receive and auto-save photo reports and text replies","Write entries (photos, status, timestamps) to a Google Sheet","Track task completion and maintain historical reports","Preconfigured task templates and sticky-note setup instructions in workflow"],"target_audience":["Construction project managers","Field/site supervisors and workers","Engineering and consulting firms implementing site reporting automations','Operations teams responsible for daily reporting"]}


name: Bulk Resume Screening & JD Matching with GPT-4 for HR Teams
author_name: Trung Tran
author_username: trungtran
categories: []
created_at: 2025-07-30T08:07:01.612Z
updated_at: 2025-07-30T08:07:01.612Z
url: https://n8n.io/workflows/6680
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:33
description:
  TalentFlow AI – Bulk Resume Screening with JD Matching

  Automatically extract, evaluate, and shortlist multiple resumes against a selected job description using GPT-4. This smart, scalable n8n workflow helps HR/TA teams streamline hiring decisions while keeping results structured, auditable, and easy to share.

  👤 Who’s it for

  This workflow is designed for:
  HR or Talent Acquisition (TA) teams handling multiple candidates per role
  Recruiters who want AI-assisted resume screening to save time and reduce bias
  Organizations that want to automatically log evaluations and keep stakeholders updated in real-time via Slack or Sheets

  ⚙️ How it works / What it does

  HR/TA uploads multiple candidate resumes and selects a job role
  Each resume is:
     Uploaded to Google Drive
     Parsed with GPT-4 to extract structured profile data
  The job description for the selected role is:
     Retrieved from Google Sheets
     Downloaded from Drive and parsed
  The profile + JD are sent to an AI agent to generate:
     Fit score
     Strengths & gaps
     Final recommendation
  Results are:
     Appended to the evaluation tracking sheet
     Optionally shared with the hiring team on Slack
     Used to trigger emails to qualified or unqualified candidates

  🛠️ How to set up

  Clone or import the workflow into your n8n instance
  Connect your integrations:
     Google Sheets (positions & evaluation form)
     Google Drive (CV & JD folders)
     OpenAI API (GPT-4)
     Slack (for notifications)
     (Optional) SendGrid or SMTP for email notifications
  Update Google Sheets structure:
     Positions sheet: maps Job Role → JD file link
     Evaluation form: stores evaluation results
  Prepare Drive folders:
     /cv folder for uploaded resumes
     /jd folder for job description PDFs

  📋 Requirements

  ✅ n8n (hosted or self-hosted)
  ✅ OpenAI GPT-4 account (used in Profile & JD evaluator agents)
  ✅ Google Drive + Google Sheets access
  ✅ Slack workspace + bot token
  (Optional) SendGrid or email credentials for candidate follow-up

  🎨 How to customize the workflow

  Change the fit score threshold in the Candidate qualified? node
  Edit Slack message content/formatting to match your company tone
  Add additional candidate metadata to Sheets or Slack messages
  Use a webhook trigger to integrate with your ATS or job board
  Swap GPT-4 with Claude or Gemini if you prefer other AI services
  Expand to include multi-position batch screening logic

  Happy Hiring! 🚀  
  Automated with love using n8n

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.formTrigger","n8n-nodes-base.extractFromFile","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.googleSheets","n8n-nodes-base.googleDrive","n8n-nodes-base.extractFromFile","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.sendGrid","n8n-nodes-base.slack","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.filter"]

workflow_json_compressed:
  [encoded data, 11836 characters]

metadata_json:
  {"categories":["automation","integration","data processing","HR/recruiting","AI-powered screening"],"complexity":"medium","use_cases":["Bulk resume parsing and shortlisting","Job description to candidate fit scoring","Automated candidate communication (email/Slack)","Maintaining auditable evaluation logs in Sheets","Integrating ATS or job boards via webhooks"],"estimated_setup_minutes":45,"required_services":["n8n (self‑hosted or cloud)","OpenAI GPT‑4 API (or alternative LLM)","Google Drive","Google Sheets","Slack (bot/token)","SendGrid or SMTP (optional for emails)"],"key_features":["Bulk upload of CVs to Google Drive","GPT‑4 parsing to extract structured candidate profiles","Retrieve and parse JD from Sheets/Drive","Generate fit score, strengths, gaps, and recommendation","Append structured results to evaluation Google Sheet (audit trail)」「Optional Slack notifications to hiring team and email triggers to candidates」「Configurable fit threshold and message templates」「Supports swapping LLM providers and webhook/ATS integration"],"target_audience":["HR / Talent Acquisition teams","Recruiters","Hiring managers coordinating candidate evaluation workflows」「HR operations / automation engineers"]}


name: Track Expenses from Receipt Photos with Telegram & Google Sheets using OCR.space
author_name: Candra Reza
author_username: candrareza
categories: []
created_at: 2025-07-30T09:02:35.042Z
updated_at: 2025-07-30T09:02:35.042Z
url: https://n8n.io/workflows/6686
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  Hello automation enthusiasts! 👋

  Want to automatically track your expenses from receipts without hefty OCR service costs? I've got you covered!

  I've updated my Personal Finance Tracking Chatbot template to incorporate a free OCR service (OCR.space). This powerful n8n workflow lets you effortlessly log your expenses by sending a picture of your receipt to your Telegram bot. The OCR will extract key details like amount, date, and description, which are then neatly saved into your Google Sheets!

  Why use this template?
  📸 Free OCR-Powered Expense Tracking: Simply send a photo of your receipt to your Telegram bot and let OCR.space do the heavy lifting – without breaking the bank!
  📊 Automated Google Sheets Entry: Extracted data is seamlessly appended to your Google Sheet for easy financial overview.
  💰 Manual Entry Still Available: Easily record incomes and expenses via text commands for transactions without receipts.
  🤖 Instant Telegram Confirmations: Get immediate feedback on successful recordings, whether manual or OCR-processed.
  ✨ Customizable Parsing: The included Function node allows you to refine the data extraction logic to perfectly match your receipt formats.

  What Do You Need?
  An n8n account (self-hosted or cloud)
  Your own Telegram Bot (free and easy to create!)
  A free API Key from OCR.space.
  A Google account and an empty Google Spreadsheet for your financial data.
  A Google Spreadsheet with "Income" and "Expenses" sheets (with columns like Date, Description, Amount, Category, Type, Source).

  Who Is This For?
  This template is perfect for anyone who wants to gain more control over their personal finances in an efficient and hassle-free way. No more complex apps, just use your personal chatbot!

  How to Use It?
  Get Your Free OCR.space API Key: Visit ocr.space/OCRAPI and sign up for a free key.
  Import this JSON template into your n8n instance.
  Configure Credentials: Set your Telegram Bot Token, Google Sheet ID, and OCR.space API Key as environment variables in n8n.
  Activate the workflow.
  Start tracking your finances by sending text commands (e.g., income salary 5000, expense coffee 15 food) or just snapping a photo of your receipt to your Telegram bot!

  Let's simplify your financial management with automation! Feel free to try it out and modify it to suit your needs. If you have any questions, leave a comment below!

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

workflow_json_compressed:
  H4sIAAAAAAAAE5VVbW+bMBD+K+hUqVvlkhct2oa0D22WdlVfiCjdVKVR5IQrYQWb2iYpQv7vkyFJ6QrR9hWfn7vn5UwBjAcowZkUwGiC4ICPMYaCJtYpV9aHXzhfcv70EQioPDXn7As7Li8dz6lEW23KT7kCAimXkYo4A2fSH3RJv9udEkipoAkqFBKcAtYV4p2IwYFvS6VS6XQ6NI12UDYXYWfOVVEcIFvZ9+6dN/NHV6Nz7+R6dur6M9+9HN1o3QlR3aUBVSjL1nF8wRSKFY3BGRCgcczXGGwrnAkkKCUNEaYEOIvzG1zvDpXIUFccf6KQJYWeJjtVhktcPFmH4yVX/LBVjOjxrQafBl0yaNBgwVlQ1lTKr2icYc/IURQHvyVn9mZSOzX9tAZS1fTBATMpEOApClq1gUjecDVKUpWDnu5jcY7K2vlbcvl/Xz93WzgtqboImkiYEzsKShqPUYzNVSXVSdNHO0YWqqV1bPX01DYIsw1aXYQQ1VkUI+zj7w49W6Z0gZaHzxlK1Urf5PK1pkb/a4ulWZnnepz5QlTNOikVEjtRYrJHIEG15EaCsXvrlyQ2SSjgOUOR15eRptET5lv7N7LtlsIderPb8clwNDsZX8wuR/daQ41tTFmYVT2315GF9YpIuisUMc0N1UhgUCstc6anBOY8yMc1rq/TGSv+mm0eMSpyO6CKmmE214ecKWTKr6R+5CL5ThUFvc+rW2SB5dG15Q49y8eXdq9ao9rrt2RVGbgyDiWydcYzFjgP7IEdbWM5Np4FHsosVnLSnW4+mHKtj4D8Y95L6695YMb+4V9fNcRzSsx7wHCxi8Hbx8YpgGcqzVQlfYW1b5MTGjEgELEAX8Dplk/C++Q3wu4RvQm1YYpG2D171wTb8gtqhG55mN/Dav0Hnr0PFe0GAAA=

metadata_json:
  {"categories":["automation","integration","data processing","personal finance"],"complexity":"medium","use_cases":["Automated expense tracking from receipt photos via OCR","Manual income/expense entry through Telegram text commands","Populating and maintaining a Google Sheets financial ledger","Customizing parsing logic to handle different receipt formats","Receiving instant confirmations of logged transactions in Telegram"],"estimated_setup_minutes":15,"required_services":["n8n (self-hosted or cloud)","Telegram Bot API (Telegram bot token)","OCR.space API (free API key)","Google Sheets (Google account and Sheet ID)"],"key_features":["OCR-based extraction of amount, date, and description from receipt photos","Telegram bot interface for photo and text command input","Automatic appending of parsed transactions to Google Sheets","Fallback/manual entry via simple text commands","Customizable parsing logic via a Function node for different receipt formats"],"target_audience":["Individuals tracking personal finances","Automation enthusiasts and n8n users","Freelancers or small-business owners who log expenses manually or via receipts"]}


name: Automate IT Support: Convert Emails to Jira Tickets with AI Resolution
author_name: Trung Tran
author_username: trungtran
categories: []
created_at: 2025-07-31T10:19:09.456Z
updated_at: 2025-07-31T10:19:09.456Z
url: https://n8n.io/workflows/6735
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  SmartSupport Flow: Auto-Handle IT Requests from Email to JIRA with Slack notification
  Watch the demo video below:

  Who’s it for
  &gt; This workflow is built for lean IT teams, office managers, and business operators who receive support requests via email and want to automate ticket creation, smart AI resolution advice, and seamless communication with both users and internal teams, all without lifting a finger.  
  If your team is tired of manually triaging inbox requests, this AI-powered flow will transform your support handling process.

  How it works / What it does

  Trigger on New Email: Uses Gmail Trigger to detect new support request emails.
  Fetch Email Content: Retrieves the full message body and metadata.
  Check for Duplication: Skips processing if the email has already been handled (based on READ/UNREAD label).
  Mark as Read: Updates Gmail to mark the email as processed.
  Extract Structured Request: Uses the Support Request Reader Agent powered by OpenAI to extract:
     Request title
     Request description
     Requested by
     Department
     Category and priority
  Create Jira Ticket: A main issue is created in Jira using the structured request.
  Generate AI-Based Solution: Invokes the IT Support Advisor Agent to propose resolution(s).
  Post Comment to Jira: Adds the suggested solution(s) to the issue as a comment.
  Notify IT Team: Sends the ticket and context to a Slack channel for visibility and action.
  (Optional) Send Email to Requester: Currently deactivated. Can be enabled to acknowledge receipt.

  How to set up

  Gmail Integration
     Connect Gmail in the “Gmail Trigger” and “Get Email Content” nodes.
  OpenAI Configuration
     Use OpenAI API credentials in both the Reader and Advisor agent models.
  Jira Integration
     Authenticate your Jira account.
     Set project key and issue fields in the “Create Main Issue” node.
  Slack Notification
     Configure Slack connection and select a target channel.
  Set up Jira, Slack, Email
     Set your company Jira based URL, IT Support slack channel and IT Support email in the Edit Fields (Set) node 
  (Optional) Email Acknowledgment
     Provide SendGrid credentials and email template in the “Send email to requester” node if re-enabled.

  Requirements

  Gmail API access with appropriate permissions  
  OpenAI account with API access (for GPT-4 or GPT-3.5)  
  Jira instance with project and permission to create/comment on issues  
  Slack workspace and Webhook or OAuth setup  
  n8n instance running with all above integrations configured

  How to customize the workflow

  Enhance Email Deduplication**: Adjust the deduplication logic to use message-id, threadId, or custom headers.
  Expand Reader Agent**: Configure the LLM to extract more details such as asset tags, urgency levels, or locations.
  Tailor Advisor Agent**: Adjust prompt to generate multiple solutions, troubleshooting guides, or internal references.
  Routing by Department**: Add logic to forward requests to different teams based on the request category or department.
  Enable Email Acknowledgment**: Activate and customize the email notification step to inform requesters that their issue is being handled.

nodes_used:
  ["n8n-nodes-base.gmailTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.filter","n8n-nodes-base.slack","n8n-nodes-base.sendGrid","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.jira","n8n-nodes-base.gmail","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.jira","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 10308 characters]

metadata_json:
  {"categories":["automation","integration","IT support","AI-assisted support","ticketing"],"complexity":"complex","use_cases":["Automatically convert incoming support emails into Jira issues","AI-assisted triage and suggested resolutions for IT requests","Notify IT teams via Slack when new tickets are created","Prevent duplicate ticket creation from repeated emails","Optional automated acknowledgements to requesters via email"],"estimated_setup_minutes":60,"required_services":["Gmail (API access)","OpenAI (GPT-4 or GPT-3.5 API)","Jira (project with create/comment permissions)","Slack (webhook or OAuth)","SendGrid (optional, for requester email acknowledgements)","n8n instance with required credentials configured"],"key_features":["Gmail trigger + full email fetch and deduplication","LLM-powered reader agent to extract structured request fields","Creates main Jira issue from extracted data","LLM-powered advisor agent that generates suggested resolutions","Posts AI suggestions as Jira comments and notifies Slack channel(s))"],"target_audience":["lean IT teams","helpdesk managers","office managers and business operators handling support requests"]}


name: Reddit Lead Finder: Automated Prospecting with GPT-4, Supabase and Gmail Alerts
author_name: BluePro
author_username: bluepro
categories: []
created_at: 2025-08-01T01:36:19.492Z
updated_at: 2025-08-01T01:36:19.492Z
url: https://n8n.io/workflows/6756
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  This workflow monitors targeted subreddits for potential sales leads using Reddit’s API, AI content analysis, Supabase, and Google Sheets.

  It is built specifically to discover posts from Reddit users who may benefit from a particular product or service. It can be easily customized for any market.

  🔍 Features

  Targeted Subreddit Monitoring:**  
    Searches multiple niche subreddits like smallbusiness, startup, sweatystartup, etc., using relevant keywords.

  AI-Powered Relevance Scoring:**  
    Uses OpenAI GPT to analyze each post and determine if it’s written by someone who might benefit from your product, returning a simple “yes” or “no.”

  Duplicate Lead Filtering with Supabase:**  
    Ensures you don’t email the same lead more than once by storing already-processed Reddit post IDs in a Supabase table.

  Content Filtering:**  
    Filters out posts with no body text or no upvotes to ensure only high-quality content is processed.

  Lead Storage in Google Sheets:**  
    Saves qualified leads into a connected Google Sheet with key data (URL, post content, subreddit, and timestamp).

  Email Digest Alerts:**  
    Compiles relevant leads and sends a daily digest of matched posts to your team’s inbox for review or outreach.

  Manual or Scheduled Trigger:**  
    Can be manually triggered or automatically scheduled (via the built-in Schedule Trigger node).

  ⚙️ Tech Stack

  Reddit API** – For post discovery  
  OpenAI Chat Model** – For AI-based relevance filtering  
  Supabase** – For lead de-duplication  
  Google Sheets** – For storing lead details  
  Gmail API** – For sending email alerts

  🔧 Customization Tips

  Adjust Audience**: Modify the subreddits and keywords in the initial Code node to match your market.
  Change the AI Prompt**: Customize the prompt in the “Analysis Content by AI” node to describe your product or service.
  Search Comments Instead**: To monitor comments instead of posts, change type=link to type=comment in the Reddit Search node.
  Change Email Recipients**: Edit the Gmail node to direct leads to a different email address or format.

nodes_used:
  ["n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.reddit","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.gmail","n8n-nodes-base.splitInBatches","n8n-nodes-base.supabase","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.splitInBatches","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.splitInBatches","n8n-nodes-base.if","n8n-nodes-base.wait","n8n-nodes-base.splitInBatches","n8n-nodes-base.supabase","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.scheduleTrigger"]

workflow_json_compressed:
  [encoded data, 4568 characters]

metadata_json:
  {"categories":["automation","lead generation","integration","monitoring"],"complexity":"medium","use_cases":["Automated prospecting from Reddit","Lead enrichment and qualification","Market/customer discovery","Daily lead digest for outreach teams","Monitoring niche communities for opportunities"],"estimated_setup_minutes":45,"required_services":["Reddit API","OpenAI (GPT-4 / Chat API)","Supabase","Google Sheets (Google API)","Gmail (Google API)","n8n instance"],"key_features":["Targeted subreddit keyword search","AI-powered relevance scoring (yes/no)","Duplicate filtering via Supabase","Content quality filters (body text, upvotes)","Save qualified leads to Google Sheets with metadata (URL, subreddit, timestamp)"],"target_audience":["SDRs / Sales teams","Growth marketers","Founders / Product teams doing customer discovery"]}


name: Scheduled Instagram Auto-Liker with Phantombuster, GPT-4o & Cookie Rotation
author_name: plemeo
author_username: plemeo
categories: []
created_at: 2025-08-01T08:20:52.647Z
updated_at: 2025-08-01T08:20:52.647Z
url: https://n8n.io/workflows/6765
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:33
description:
  Who’s it for  
  Social-media managers and brands that want to keep their Instagram
  accounts active by automatically liking fresh posts under selected
  hashtags—hands-free and rate-limited.

  How it works / What it does  
  Schedule Trigger runs every 2 hours at a specified minute.  
  Select Cookie chooses a rotating Instagram session-cookie
     (time-slice logic).  
  Generate Random Hashtag (GPT-4o) outputs a realistic AI/BPA
     hashtag.  
  Instagram Hashtag Agent (Phantombuster) scrapes up to
     ENV_MAX_POSTS_PER_HASHTAG recent posts.  
  Get Random Post selects one; duplicate checker ensures it
     hasn’t been liked before (SharePoint CSV).  
  Builds instagram_posts_to_like.csv, uploads to SharePoint, then
     launches the Auto-like Agent which likes the post.  
  Post URL is appended to instagram_posts_already_liked.csv to avoid
     duplicates.  
  Wait nodes throttle launches to ~12 likes per profile daily.

  How to set up  
  Add credentials: Phantombuster API, SharePoint OAuth2, OpenAI API
     key.  
  In SharePoint › “Phantombuster” folder create:  
     • instagram_session_cookies.txt – one cookie per line.  
     • instagram_posts_already_liked.csv with header postUrl.  
  Adjust Set ENV Variables to change max posts per scrape.  
  Activate the workflow; it will like one post every 2 hours.

  Requirements  
  n8n 1.33 +  
  Phantombuster Growth plan (API access)  
  OpenAI account
  Microsoft 365 SharePoint tenant

  How to customize  
  Target a different niche: edit hashtag prompt in Generate Random Hashtag.  
  Like more posts: raise ENV_MAX_POSTS_PER_HASHTAG,
    numberOfPostsPerLaunch, or schedule frequency.  
  Replace SharePoint with Drive/Dropbox by swapping storage nodes.

nodes_used:
  ["n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.phantombuster","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.microsoftSharePoint","n8n-nodes-base.phantombuster","n8n-nodes-base.phantombuster","n8n-nodes-base.phantombuster","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.phantombuster","n8n-nodes-base.phantombuster","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.microsoftSharePoint","n8n-nodes-base.microsoftSharePoint","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.wait","n8n-nodes-base.code","n8n-nodes-base.extractFromFile","n8n-nodes-base.convertToFile","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.microsoftSharePoint","n8n-nodes-base.extractFromFile","@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"]

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

metadata_json:
  {"categories":["automation","social media","integration"],"complexity":"complex","use_cases":["Automated Instagram engagement (auto-liking)","Hashtag discovery and targeting","Hands-free account activity scheduling","Duplicate prevention for engagements","Rate-limited, multi-session cookie rotation"],"estimated_setup_minutes":30,"required_services":["Phantombuster (Growth plan with API access)","OpenAI API (GPT-4o)","Microsoft 365 SharePoint (OAuth2)","Instagram account(s) with session cookies","n8n (v1.33+)"],"key_features":["Scheduled trigger (every 2 hours) to launch jobs","Rotating Instagram session-cookie selection (time-sliced)","GPT-4o generates realistic/targeted hashtags","Phantombuster scrapes recent hashtag posts (ENV_MAX_POSTS_PER_HASHTAG)","Random post selection with duplicate check (SharePoint CSV) before liking','Builds/uploads instagram_posts_to_like.csv to SharePoint and launches Auto-like Agent','Appends liked post URLs to instagram_posts_already_liked.csv to avoid repeats','Throttling/wait nodes to limit likes (~12 per profile/day) and configurable ENV variables"],"target_audience":["Social media managers","Brands and marketing teams","Growth hackers and community managers\",\"Digital marketing agencies\",\"Automation engineers/implementers"]}


name: Auto-follow Instagram profiles via Phantombuster and SharePoint
author_name: plemeo
author_username: plemeo
categories: []
created_at: 2025-08-01T08:26:18.753Z
updated_at: 2025-08-01T08:26:18.753Z
url: https://n8n.io/workflows/6766
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:34
description:
  Who’s it for  
  Community managers, growth hackers, and brands that want to grow their
  Instagram audience by automatically following new, relevant profiles—
  while respecting daily limits.

  How it works / What it does  
  Schedule Trigger runs hourly at a specified minute.  
  Select Cookie chooses a rotating Instagram session-cookie (time-slice logic).  
  Get List of Accounts downloads a CSV of seed profiles from SharePoint.  
  Follower Collector Agent (Phantombuster) fetches each seed
     profile’s followers (limit set by ENV_AMOUNT_FOLLOWERS_PER_PROFILE).  
  Autofollow Agent follows up to ENV_PROFILES_TO_PROCESS of those
     followers per launch.  
  Wait nodes pause between Phantombuster calls and poll until each
     run is complete.  
  Rate-limit configuration keeps follows between 1 and 40 per hour.

  How to set up  
  Add credentials: Phantombuster API, SharePoint OAuth2, (optional) OpenAI API key if you later add AI.  
  In SharePoint › “Phantombuster” folder add:  
     • instagram_session_cookies.txt – one cookie per line.  
     • accounts_to_follow.csv – header profileUrl, one seed profile per line.  
  Update Set ENV Variables to control profiles/launch and followers/profile.  
  Adjust schedule frequency or Wait durations to meet your plan limits.  
  Activate the workflow; it will follow new profiles every hour.

  Requirements  
  n8n 1.33 +  
  Phantombuster Growth plan (API access)  
  Microsoft 365 SharePoint tenant

  How to customize  
  Scrape hashtags instead of followers: replace the Follower Collector
    agent with a Hashtag‐to‐Profiles agent.  
  Increase speed: raise ENV_PROFILES_TO_PROCESS and cron frequency
    (ensure you stay within Instagram limits).  
  Swap SharePoint for Drive/Dropbox by replacing storage nodes.

nodes_used:
  ["n8n-nodes-base.wait","n8n-nodes-base.phantombuster","n8n-nodes-base.phantombuster","n8n-nodes-base.phantombuster","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.phantombuster","n8n-nodes-base.phantombuster","n8n-nodes-base.microsoftSharePoint","n8n-nodes-base.phantombuster","n8n-nodes-base.wait","n8n-nodes-base.set","n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.microsoftSharePoint","n8n-nodes-base.extractFromFile","@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"]

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

metadata_json:
  {"categories":["social media automation","integration","growth hacking","data processing","scheduling"],"complexity":"complex","use_cases":["Automatically follow relevant Instagram profiles to grow audience","Scale outreach using seed profile lists","Process CSV seed lists from SharePoint and act on followers","Enforce rate limits to stay within platform limits","Adapt workflow to scrape hashtags or other profile sources"],"estimated_setup_minutes":30,"required_services":["Phantombuster API (Growth plan with API access)","Microsoft 365 SharePoint tenant","Instagram session cookies (session-cookie file)","n8n >= 1.33","Optional: OpenAI API (if using AI nodes)"],"key_features":["Hourly scheduled trigger with configurable minute slice","Rotating Instagram session-cookie selection (time-slice logic)","Downloads seed profile CSV from SharePoint","Phantombuster Follower Collector agent to fetch followers","Autofollow agent to follow selected profiles with ENV-controlled limits (ENV_PROFILES_TO_PROCESS, ENV_AMOUNT_FOLLOWERS_PER_PROFILE)"],"target_audience":["Community managers","Growth hackers","Brands and social media teams looking to scale Instagram growth safely under rate limits\",\"Automation/ops engineers integrating Phantombuster and SharePoint"]}


name: Auto-comment on Instagram posts with GPT-4o, Phantombuster, and SharePoint
author_name: plemeo
author_username: plemeo
categories: []
created_at: 2025-08-01T08:32:37.238Z
updated_at: 2025-08-01T08:32:37.238Z
url: https://n8n.io/workflows/6768
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:34
description:
  Who’s it for  
  Social-media teams and influencers who want to grow engagement by
  automatically posting short, relevant comments on new Instagram posts
  under rotating hashtags—while staying under platform limits.

  How it works / What it does  
  Schedule Trigger fires every 2 h at a specified minute.  
  Select Cookie chooses a rotating Instagram session-cookie by
     time slice.  
  Generate Random Hashtag (GPT-4o) outputs a realistic AI/BPA tag.  
  Hashtag Agent (Phantombuster) scrapes up to
     ENV_MAX_POSTS_PER_HASHTAG recent posts.  
  Get Random Post picks one; Create Comment (GPT-4o) crafts a
     ≤150-character reply in the chosen language.  
  Builds instagram_post_to_comment.csv, uploads to SharePoint, then
     launches the Auto-comment Agent which posts the reply.  
  Post URL is logged to instagram_posts_already_commented.csv
     to avoid duplicates.  
  Wait nodes throttle launches to ≈80 comments/day.

  How to set up  
  Add credentials: Phantombuster API, SharePoint OAuth2, OpenAI API key.  
  In SharePoint › “Phantombuster” folder create:  
     • instagram_session_cookies.txt – one cookie per line.  
     • instagram_posts_already_commented.csv with header postUrl.  
  Edit Set ENV Variables to set default language, prompt, and max
     posts per scrape.  
  Activate the workflow; it will comment every 2 h.

  Requirements  
  n8n 1.33 +  
  Phantombuster Growth plan (API access)  
  OpenAI account (GPT-4o)  
  Microsoft 365 SharePoint tenant

  How to customize  
  Change tone/length: tweak prompt in Create Comment.  
  Comment more often: raise ENV_MAX_POSTS_PER_HASHTAG,
    adjust cron, and agent limits.  
  Swap SharePoint for Drive/Dropbox by replacing storage nodes.

nodes_used:
  ["n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.wait","n8n-nodes-base.phantombuster","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-base.microsoftSharePoint","n8n-nodes-base.phantombuster","n8n-nodes-base.phantombuster","n8n-nodes-base.phantombuster","n8n-nodes-base.phantombuster","n8n-nodes-base.phantombuster","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.microsoftSharePoint","n8n-nodes-base.microsoftSharePoint","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.wait","n8n-nodes-base.code","n8n-nodes-base.extractFromFile","n8n-nodes-base.convertToFile","n8n-nodes-base.microsoftSharePoint","n8n-nodes-base.extractFromFile","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","social media","integration"],"complexity":"complex","use_cases":["Automated engagement (auto-comments)","Hashtag-based post discovery and targeting","Scaling social growth and outreach","Maintaining deduplicated interaction logs"],"estimated_setup_minutes":30,"required_services":["n8n v1.33+","Phantombuster (Growth plan with API access)","OpenAI account (GPT-4o)","Microsoft 365 SharePoint tenant (OAuth2)","Instagram session cookies (one per line)"],"key_features":["Scheduled trigger (every 2 hours)","Rotating Instagram session-cookie selection","Generate realistic hashtags with GPT-4o","Scrape recent posts by hashtag via Phantombuster","Pick random post and create ≤150-char comment with GPT-4o in chosen language"],"target_audience":["Social-media teams","Influencers","Growth marketers/agencies"]}


name: Automate QuickBooks Customers & Sales Receipts Generation from a Google Sheet
author_name: Intuz
author_username: intuz
categories: []
created_at: 2025-08-01T08:59:09.867Z
updated_at: 2025-08-01T08:59:09.867Z
url: https://n8n.io/workflows/6770
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  This n8n template from Intuz provides a complete and automated solution to streamline your sales and accounting process.

  Simply add new transaction details to a designated Google Sheet, and this workflow takes over. Using specific status keywords in a column to trigger the process, it automatically creates new customer profiles and generates sales receipts in QuickBooks. This creates a complete, end-to-end system from a simple spreadsheet entry to a formal accounting record, eliminating manual data entry.

  How it works

  This workflow streamlines the process of recording sales from a Google Sheet into QuickBooks Online, intelligently handling both new and existing customers.

  1. Trigger on New Row: The workflow starts automatically whenever a new row is added to your specified Google Sheet.

  2. Check for Existing Customer: It takes the customer's name from the new row and searches your QuickBooks account to see if a customer with that DisplayName already exists.

  3. Conditional Logic (IF Node): Based on the search result, the workflow splits into two paths:

  If Customer Exists (True Path): The workflow proceeds directly to create a Sales Receipt, linking it to the existing customer's ID found in the search.
  If Customer Does Not Exist (False Path): The workflow first creates a new customer in QuickBooks using the name and email from the sheet. It then uses the ID of this newly created customer to generate the corresponding Sales Receipt.

  How to Use: Quick Start Guide

  Prepare your Google Sheet: Make sure you have a Google Sheet with clear headers for your sales data. The template is configured for the following columns: CustomerName, Email, Amount, and Quantity.

  Import the Template: Click the "Use Template" button to import the workflow into your n8n instance.

  Configure Google Sheet Node: 
  Enter the Spreadsheet ID from your Google Sheet's URL.
  Enter the Sheet Name where your sales data is located (e.g., Sheet1).

  Configure the QuickBooks Nodes: 
  Select your QuickBooks Online credential or create a new one for the "Search for Customer", "Create Receipt for EXISTING Customer", "Create New Customer", and "Create Receipt for NEW Customer" nodes.
  Important: In both "Create Receipt" nodes, you must provide a valid Product/Service ID from your QuickBooks account. Find this in the node parameters under Line &gt; Sales Item Line Detail &gt; Item Ref &gt; Value.

  Activate the Workflow: Save your changes and activate the workflow. Now, every new row you add to the Google Sheet will automatically create the necessary records in QuickBooks.
  Key Requirements to Use Template
  An active n8n instance.
  A Google account with a prepared Google Sheet.
  A QuickBooks Online account.
  A QuickBooks Developer account to obtain the API credentials needed to connect to n8n.
  At least one Product or Service item set up in your QuickBooks account to be referenced in the sales receipts.
  Connect with us

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

  For Custom Worflow Automation
  Click here- Get Started

nodes_used:
  ["n8n-nodes-base.googleSheetsTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.quickbooks","n8n-nodes-base.quickbooks","n8n-nodes-base.stickyNote","n8n-nodes-base.quickbooks"]

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

metadata_json:
  {"categories":["integration","automation","accounting","data processing"],"complexity":"medium","use_cases":["Automate sales entry from Google Sheets to QuickBooks Online","Auto-create customer records when missing","Generate Sales Receipts linked to customers","Eliminate manual data entry for bookkeeping","Sync spreadsheet-based order capture with accounting"],"estimated_setup_minutes":20,"required_services":["n8n instance","Google Sheets (Google account)","QuickBooks Online account","QuickBooks Developer credentials (API)","At least one Product/Service item in QuickBooks"],"key_features":["Triggers on new Google Sheet row","Searches QuickBooks for existing customer by DisplayName","Conditional branch to create customer if not found","Creates Sales Receipt for existing or newly created customer","Requires mapping of Product/Service ID for receipt line items"],"target_audience":["small business owners","bookkeepers and accountants","operations teams handling orders/invoices people who manage spreadsheets and accounting integrations, automation engineers"]}


name: WhatsApp RAG Chatbot with Supabase, Gemini 2.5 Flash, and OpenAI Embeddings
author_name: Manav Desai
author_username: manavdesai17
categories: []
created_at: 2025-08-01T09:17:50.511Z
updated_at: 2025-08-01T09:17:50.511Z
url: https://n8n.io/workflows/6771
scraped_at: 2025-09-14 19:10:59
description:
  WhatsApp RAG Chatbot with Supabase, Gemini 2.5 Flash, and OpenAI Embeddings

  This n8n template demonstrates how to build a WhatsApp-based AI chatbot that answers user questions using document retrieval (RAG) powered by Supabase for storage, OpenAI embeddings for semantic search, and Gemini 2.5 Flash LLM for generating high-quality responses.

  Use cases are many: Turn your WhatsApp into a knowledge assistant for FAQs, customer support, or internal company documents — all without coding.

  Good to know

  The workflow uses OpenAI embeddings for both document embeddings and query embeddings, ensuring accurate semantic search.  
  Gemini 2.5 Flash LLM** is used to generate user-friendly answers from the retrieved context.  
  Messages are processed in real-time and sent back directly to WhatsApp.  
  Workflow is modular — you can split document ingestion and query handling for large-scale setups.  
  Supabase and WhatsApp API credentials must be configured before running.  

  How it works

  Trigger: A new WhatsApp message triggers the workflow via webhook.  
  Message Check: Determines if the message is a query or a document upload.  
  Document Handling:  
     Fetch file URL from WhatsApp.  
     Convert binary to text.  
     Generate embeddings with OpenAI and store them in Supabase.  
  Query Handling:  
     Generate query embeddings with OpenAI.  
     Retrieve relevant context from Supabase.  
     Pass context to Gemini 2.5 Flash LLM to compose a response.  
  Response: Send the answer back to the user on WhatsApp.  

  Optional: Add Gmail node to forward chat logs or daily summaries.

  How to use

  Configure WhatsApp Business API webhook for incoming messages.  
  Add your Supabase and OpenAI credentials in n8n’s credentials manager.  
  Upload documents via WhatsApp to populate the Supabase vector store.  
  Ask queries — the bot retrieves context and answers using Gemini 2.5 Flash.

  Requirements

  WhatsApp Business API** (or Twilio WhatsApp Sandbox)  
  Supabase account** (vector storage for embeddings)  
  OpenAI API key** (for generating embeddings)  
  Gemini API access** (for LLM responses)  

  Customising this workflow

  Swap WhatsApp with Telegram, Slack, or email for different chat channels.  
  Extend ingestion to other sources like Google Drive or Notion.  
  Adjust the number of retrieved documents or prompt style in Gemini for tone control.  
  Add a Gmail output node to send logs or alerts automatically.  

nodes_used:
  ["@n8n/n8n-nodes-langchain.vectorStoreSupabase","n8n-nodes-base.whatsAppTrigger","n8n-nodes-base.switch","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.vectorStoreSupabase","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.whatsApp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.whatsApp","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4632 characters]


