# templates

name: Create Character-Consistent Images with FLUX Kontext & Post to Social via Upload Post
author_name: Eduard
author_username: eduard
categories: []
created_at: 2025-06-08T15:34:39.639Z
updated_at: 2025-06-08T15:34:39.639Z
url: https://n8n.io/workflows/4798
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  Create, iterate, and share! Transform a single image through multiple scenes while maintaining consistency.

  ✨ What this workflow does

  This template showcases FLUX.1 Kontext - Black Forest Labs' in-context image generation model that excels at maintaining character features across multiple transformations. Combined with the Upload Post community node for effortless multi-platform social media posting, you can create and share compelling visual stories instantly.

  The workflow demonstrates FLUX Kontext's core strength: character consistency across multiple image generations. Starting with a single input image, it:
  🖼️ Loads an initial character image (example: a cute animal mascot)
  📝 Defines multiple scene transformation prompts 
  🔄 Iteratively generates new scenes while preserving exact character features
  🎯 Maintains visual consistency by reusing binary data from previous generations
  📱 Auto-posts the complete transformation series to multiple social platforms simultaneously

  🚀 Key Features: The Consistency Advantage

  Character Preservation**: FLUX Kontext's signature feature - maintains character features and style across transformations (requires specific prompting techniques)
  Iterative Context Building**: Each generation uses the previous image as context, creating visual continuity
  Binary Data Reuse**: Smart workflow design that feeds output from one generation as input to the next
  Multi-Scene Storytelling**: Transform your character across different environments while keeping them recognizable
  One-Click Multi-Platform Posting*: Upload Post eliminates the tedious process of posting to each platform individually

  📱 Why use Upload Post?

  Posting the same content to TikTok, Instagram, LinkedIn, YouTube, Facebook, X (Twitter), and Threads individually is time-consuming and error-prone. The Upload Post service* simplifies this process:

  ✅ Connect once, post everywhere: Link all your social media accounts to Upload Post  
  ✅ Single API call: Post to multiple platforms with one simple node  
  ✅ No more platform juggling: Skip the endless switching between apps and dashboards  
  ✅ Consistent timing: All platforms get your content simultaneously  
  ✅ Trusted by 3,751+ users: Proven solution for content creators and marketers

  Instead of spending 30+ minutes manually posting to each platform, Upload Post does it all in seconds with a single n8n node!

  🛠️ Prerequisites

  Required Accounts:
  Black Forest Labs API: Create account at dashboard.bfl.ai
     Get your API key for FLUX Kontext Pro access
     
  Upload Post Account: Sign up at upload-post.com*
     Connect your social media profiles (TikTok, Instagram, LinkedIn, YouTube, Facebook, X/Twitter, Threads)
     Get API credentials for automated posting
     Free tier available: 10 uploads/month

  💡 Perfect For:

  Character Designers** maintaining brand character integrity across scenes
  Social Media Managers** creating engaging visual story series without manual posting
  Brand Marketers** ensuring character consistency across campaigns
  Storytellers** building visual narratives with consistent protagonists
  Agencies** managing multiple client accounts efficiently

  🔧 Customization Options:

  Modify transformation prompts** to create your own character journey
  Adjust iteration steps**
  Change initial character image**
  Configure social platform targeting** (choose which platforms to post to)
  Customize post content** and formatting
  Experiment with different consistency scenarios**

  \ Affiliate link*

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.merge","n8n-nodes-base.wait","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.github","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.executeWorkflow","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-upload-post.uploadPost","n8n-nodes-base.extractFromFile","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5316 characters]

metadata_json:
  {"categories":["automation","integration","AI image generation","social media publishing","creative workflow"],"complexity":"complex","use_cases":["Generate a series of character-consistent images across multiple scenes","Create visual storytelling sequences with iterative image transforms","One-click multi-platform social media posting of generated content","Batch/iterative image generation while preserving visual consistency","Automate content pipeline for brand mascots or characters"],"estimated_setup_minutes":30,"required_services":["Black Forest Labs FLUX Kontext (BFL.ai) API key","Upload Post account and connected social profiles (TikTok, Instagram, LinkedIn, YouTube, Facebook, X, Threads)","n8n instance (self-hosted or cloud) to run the workflow","Optional: GitHub account (used by workflow node if present)"],"key_features":["Character-preserving in-context image generation (FLUX Kontext)","Iterative context building: reuse previous outputs as input for continuity","Binary data reuse to maintain exact character features across transforms","Multi-scene storytelling pipeline with configurable prompts and iterations","Single-node multi-platform posting via Upload Post (post to many networks at once)"],"target_audience":["Character designers and illustrators","Social media managers and content creators","Brand marketers and agencies managing multi-account campaigns"]}


name: Telegram AI Chatbot with Document-Based Answers using OpenAI and PGVector RAG
author_name: Victor Gold
author_username: victorlucky
categories: []
created_at: 2025-06-08T15:38:16.276Z
updated_at: 2025-06-08T15:38:16.276Z
url: https://n8n.io/workflows/4799
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  🤖 AI Q&A Chatbot Workflow – Build Your Own AI Agent Trained on Private Documents

  This powerful AI automation add-on upgrades your Telegram Bot Starter Template by integrating a fully functional AI chatbot and a context-aware AI agent that answers user questions using your internal documents.

  Unlike generic bots, this chatbot uses your own data to respond with deeply personalized, context-relevant information — perfect for support, onboarding, internal knowledge access, and client-facing interactions.

  It connects to any PostgreSQL database — including Neon.tech, Supabase, or a self-hosted Postgres setup — allowing you to build custom AI-powered FAQ assistants, internal support bots, or knowledge-based customer service tools.

  🧠 Why It Works: Contextual Retrieval

  The secret is Contextual Retrieval — a powerful technique where your documents are stored in a way that preserves meaning and context. This allows the AI to fetch highly relevant, source-backed responses, eliminating hallucinations and guesswork.

  &gt; Data is embedded, chunked, and saved in a vector database (Postgres + PGVector), enabling smart semantic search tailored to your needs.

  📖 Learn more about this approach in this article by Anthropic →

  ✨ Key Features

  Chat with your internal documents**: Uses your content to answer questions with precision  
  Built-in document vectorization**: Pre-configured Google Drive ingestion flow (Notion, Airtable, Dropbox available separately)  
  Contextual memory**: Past chats stored in PostgreSQL for personalized conversations  
  Plug-and-play architecture**: Connect Supabase, OpenAI, custom APIs via n8n’s interface  

  👤 Who Can Use This Workflow?

  Entrepreneurs & startups** building branded AI chatbots without code  
  Customer support teams** automating answers using documentation  
  Ops teams** creating internal FAQ bots for onboarding and training  
  No-code developers** using n8n to build Telegram bots with AI features  

  ⚙️ Setup Instructions

  You'll find step-by-step instructions inside the workflow.

  Quick Setup Overview:

  Import the workflow into n8n (cloud or self-hosted)  
  Add your Telegram Bot credentials  
  Connect your PostgreSQL DB (Neon, Supabase, etc.)  
  Set up document ingestion from Google Drive  
  Activate the workflow and start chatting  

  🧩 Extensibility

  This workflow is modular and ready to expand. Build powerful assistants by connecting additional workflows:

  Vectorization modules** for Notion, Airtable, Dropbox, and others  
  Any vector DB**: Neon.tech, Supabase, or self-hosted PGVector  
  ✍🏻 Telegram User Registration Module →  
  💵 Telegram Payment, Invoicing & Refund Module →

  🧠 More Smart AI Agents

  Explore more AI workflows and agents on my Gumroad →

  🌐 Agent: Find in the Internet — fetches live info from the web  
  📁 Agent: Search Internal Docs — queries Notion, Google Drive, etc.  
  📦 Agent: Check Order Status — reads status from Airtable or CRM  
  💰 Agent: Calculate Cost or Quote — builds pricing logic from inputs  

  📨 Submit your idea here for a custom AI agent →

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.extractFromFile","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.code","n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.vectorStorePGVector","n8n-nodes-base.postgres","n8n-nodes-base.executeWorkflowTrigger","@n8n/n8n-nodes-langchain.vectorStorePGVector","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.memoryPostgresChat","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set"]

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

metadata_json:
  {"categories":["automation","integration","knowledge_management","ai"],"complexity":"complex","use_cases":["Document-based Q&A chatbot","Internal knowledge base / support bot","Customer-facing AI assistant","Onboarding and training assistants","Semantic search over private documents"],"estimated_setup_minutes":45,"required_services":["n8n (cloud or self-hosted)","Telegram Bot API","PostgreSQL with PGVector (Neon, Supabase, or self-hosted)","OpenAI (or compatible LLM/embeddings provider)","Google Drive (for document ingestion)"],"key_features":["Contextual retrieval using embeddings + PGVector","Built-in document vectorization and ingestion (Google Drive preset)","Conversation memory stored in PostgreSQL","Telegram integration for chat interface","Modular architecture — extendable to Notion, Airtable, Dropbox, other vector DBs"],"target_audience":["Entrepreneurs & startups","Customer support teams","Operations / internal knowledge teams (HR, onboarding, IT support)"]}


name: Save Mastodon Bookmarks to Raindrop Automatically
author_name: Aymeric Besset
author_username: valkann
categories: []
created_at: 2025-06-08T15:42:28.295Z
updated_at: 2025-06-08T15:42:28.295Z
url: https://n8n.io/workflows/4800
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  &gt; 🛠️ Note: This workflow uses a custom Mastodon API request. Ensure your server supports bookmark access, and that your access token has the right permissions. OAuth or token-based credentials must be configured.

  🧑‍💼 Who is this for?

  This workflow is ideal for digital researchers, social media users, and knowledge workers who want to automatically archive Mastodon bookmarks into their Raindrop.io collection for future reference and tagging.

  🔧 What problem is this solving?

  Mastodon users often bookmark posts they want to read or save for later, but there's no native integration to archive them outside the app. This workflow solves that by syncing bookmarked posts from Mastodon to Raindrop, making them more accessible, organized, and searchable long-term.

  ⚙️ What this workflow does

  Triggers on schedule (or manually).
  Tracks the latest fetched min_id using workflow static data to avoid duplicates.
  Sends an HTTP GET request to the Mastodon bookmarks API, using bearer token authentication.
  Validates and processes the bookmarks if new entries exist.
  Parses pagination metadata (e.g. min_id) from response headers.
  Splits response array to handle individual bookmarks.
  Filters out entries with missing data.
  Saves each post to Raindrop.io, using its title and URL. Use the card URL if exist.
  Updates the min_id to remember where it left off.

  🚀 Setup

  Create a Mastodon access token with access to bookmarks.
  Add a credential in n8n of type HTTP Bearer Auth with your token.
  Create and connect a Raindrop OAuth2 credential.
  Replace {VOTRE SERVEUR MASTODON} with your Mastodon server's base URL.
  (Optional) Adjust the scheduling interval under the "Schedule Trigger" node.
  Make sure the Raindrop collection ID is correct or leave it as default (-1) as this is the index for the `Unsorted` collection.

  🧪 How to customize this workflow

  To save to a specific Raindrop collection, change the collectionId in both Raindrop nodes.
  You can extend the Code node to pull additional metadata like author, hashtags, or content excerpts.
  Add an Email or Slack node after Raindrop to notify you of saved bookmarks.

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

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

metadata_json:
  {"categories":["automation","integration","social media","knowledge management","data archiving"],"complexity":"medium","use_cases":["Automatically archive Mastodon bookmarks to an external save service","Build a searchable long-term archive of saved Mastodon posts","Collect research or reference material from social feeds","Organize saved posts with Raindrop collections and tags","Prevent duplicate saves by tracking last-processed bookmark ID"],"estimated_setup_minutes":20,"required_services":["Mastodon (instance with bookmark access) / Mastodon API","Raindrop.io (account and API via OAuth2)","n8n (workflow runner)","HTTP Bearer token credential (for Mastodon) and Raindrop OAuth2 credential"],"key_features":["Scheduled or manual trigger","Custom Mastodon API request using bearer token","Tracks last fetched min_id in workflow static data to avoid duplicates","Parses pagination metadata from response headers","Splits and processes individual bookmarks, filters incomplete entries, and saves to Raindrop.io using post/card URL and title or metadata for tagging/organization (collectionId configurable)"],"target_audience":["digital researchers","knowledge workers","social media users and curators"]}


name: Digest new YouTube videos to Slack with Google Sheets, RapidAPI & GPT-4o-mini
author_name: Naveen Choudhary
author_username: n8nstein
categories: []
created_at: 2025-06-08T19:11:14.172Z
updated_at: 2025-06-08T19:11:14.172Z
url: https://n8n.io/workflows/4801
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  Who is this for?

  Marketing, content, and enablement teams that need a quick, human-readable summary of every new video published by the YouTube channels they care about—without leaving Slack.

  What problem does this workflow solve?

  Manually checking multiple channels, skimming long videos, and pasting the highlights into Slack wastes time. This template automates the whole loop: detect a fresh upload from your selected channels → pull subtitles → distill the key take-aways with GPT-4o-mini → drop a neatly-formatted digest in Slack.

  What this workflow does

  Schedule Trigger fires every 10 min, then grabs a list of YouTube RSS feeds from a Google Sheet.
  HTTP + XML fetch & parse each feed; only brand-new videos continue.
  YouTube API fetches title/description, RapidAPI grabs English subtitles.
  Code nodes build an AI payload; OpenAI returns a JSON summary + article.
  A formatter turns that JSON into Slack Block Kit, and Slack posts it.
  Processed links are appended back to the “Video Links” sheet to prevent dupes.

  Setup

  Make a copy of this Google Sheet and connect a Google Sheets OAuth2 credential with edit rights.
  Slack App: create → add chat:write, channels:read, app_mention; enable Event Subscriptions; install and store the Bot OAuth token in an n8n Slack credential.
  RapidAPI key for https://yt-api.p.rapidapi.com/subtitles (300 free calls/mo) → save as HTTP Header Auth.
  OpenAI key → save in an OpenAI credential.
  Add your RSS feed URLs to the “RSS Feed URLs” tab; press Execute Workflow.

  How to customise

  Adjust the schedule interval or freshness window in “If newly published”.
  Swap the OpenAI model or prompt for shorter/longer digests.
  Point the Slack node at a different channel or DM.
  Extend the AI payload to include thumbnails or engagement stats.

  Use-case ideas

  Product marketing**: Instantly brief sales & CS teams when a competitor uploads a feature demo.
  Internal learning hub**: Auto-summarise conference talks and share bullet-point notes with engineers.
  Social media managers**: Get ready-to-post captions and key moments for re-purposing across platforms.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.xml","n8n-nodes-base.youTube","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.code","n8n-nodes-base.slack","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.slackTrigger","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 13728 characters]

metadata_json:
  {"categories":["automation","integration","content summarization","monitoring","notifications"],"complexity":"complex","use_cases":["Automatically summarize new videos from tracked YouTube channels","Share human-readable digests in Slack for team notifications","Create repurposable captions and highlights for social media","Keep Sales/CS/Product teams informed about competitor or company videos"],"estimated_setup_minutes":30,"required_services":["Google Sheets (OAuth2)","Slack (Bot + chat:write, channels:read, event subscriptions)","YouTube (API or RSS feeds)","RapidAPI (yt-api.p.rapidapi.com for subtitles)","OpenAI (GPT-4o-mini)"],"key_features":["Scheduled polling of YouTube RSS feeds","Fetch and parse XML feeds, detect new videos","Retrieve subtitles via RapidAPI","Assemble AI payload and generate JSON summary + article with GPT-4o-mini","Format output as Slack Block Kit and post to channel/DMs"],"target_audience":["Marketing teams","Content teams","Enablement / Sales / Customer Success teams (internal comms)"]}


name: ✍️ Blog Image SEO & Size Auditor with Ghost and Google Sheets
author_name: Samir Saci
author_username: samirsaci
categories: []
created_at: 2025-06-08T19:33:25.096Z
updated_at: 2025-06-08T19:33:25.096Z
url: https://n8n.io/workflows/4802
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  Tags*: Ghost CMS, SEO Audit, Image Optimisation, Alt Text, Google Sheets, Automation

  Context

  Hi! I’m Samir — a Supply Chain Engineer and Data Scientist based in Paris, and founder of LogiGreen Consulting.

  I help companies and content creators use automation and analytics to improve visibility, enhance performance, and reduce manual work.

  &gt; Let’s use n8n to automate SEO audits to increase your traffic!

  📬 For business inquiries, feel free to connect on LinkedIn

  Who is this template for?

  This workflow is perfect for bloggers, marketers, or content teams using Ghost CMS who want to:

  Extract and review all images from articles  
  Detect missing or short alt texts  
  Check image file size and filename SEO compliance  
  Push the audit results into a Google Sheet

  How does it work?

  This n8n workflow extracts all blog posts from Ghost CMS, scans the HTML to collect all embedded images, then evaluates each image for:

  ✅ Presence and length of alt text  
  📏 File size in kilobytes  
  🔤 Filename SEO quality (e.g. lowercase, hyphenated, no special chars)  

  All findings are written to Google Sheets for further analysis or manual cleanup.

  🧭 Workflow Steps:

  🚀 Trigger the workflow manually or on schedule  
  📰 Extract blog post content from Ghost CMS  
  🖼️ Parse all ` tags with src and alt` attributes  
  📤 Store image metadata in a Google Sheet (step 1)  
  🌐 Download each image using HTTP request  
  🧮 Extract file size, extension, and filename SEO flag  
  📄 Update the audit sheet with size and format insights

  What do I need to get started?

  This workflow requires:

  A Ghost Content API key  
  A Google Sheet (to log audit results)  
  No AI or external APIs required — works fully with built-in nodes

  Next Steps

  🗒️ Follow the sticky notes inside the workflow to:

  Plug in your Ghost blog credentials  
  Select or create a Google Sheet  
  Run the audit and start improving your SEO!

  This template was built using n8n v1.93.0  
  Submitted: June 8, 2025

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

workflow_json_compressed:
  [encoded data, 4344 characters]

metadata_json:
  {"categories":["automation","integration","content management","SEO audit"],"complexity":"medium","use_cases":["Audit blog images for missing or short alt text","Measure image file sizes and flag oversized images","Check filename SEO compliance (lowercase, hyphens, no special chars)","Aggregate image metadata and audit results into Google Sheets for review"],"estimated_setup_minutes":15,"required_services":["Ghost CMS (Content API key)","Google Sheets (Google account / Sheets API access)","n8n instance with HTTP access to image URLs"],"key_features":["Extracts all images from Ghost blog posts","Parses src and alt attributes from post HTML","Downloads images to determine file size and extension","Evaluates alt text presence and length","Flags filename SEO issues (case, separators, special characters)」「Writes audit results and updates into a Google Sheet」「Supports manual or scheduled triggering and batch processing"],"target_audience":["Bloggers","Content teams and editors","SEO specialists and consultants」「Marketers"]}


name: Personalized LinkedIn Connection Requests with Apollo, GPT-4, Apify & PhantomBuster
author_name: Nick Saraev
author_username: nicksaraev
categories: []
created_at: 2025-06-08T19:45:41.004Z
updated_at: 2025-06-08T19:45:41.004Z
url: https://n8n.io/workflows/4803
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  AI LinkedIn Outreach Automation with Apollo, OpenAI & PhantomBuster
  Categories:*
  Sales Automation
  Lead Generation
  AI Personalization

  This workflow creates a complete LinkedIn outreach automation system that generates targeted lead lists from Apollo using natural language, enriches profiles with AI-personalized icebreakers, and automatically sends connection requests through PhantomBuster. Built by someone who's made over $1 million with AI automation, this system demonstrates the real-world approach to building profitable automation workflows.

  Benefits*
  Natural Language Lead Targeting - Describe your ideal prospects in plain English and automatically generate Apollo search URLs
  AI-Powered Personalization - Creates custom icebreakers based on LinkedIn profile data, employment history, and professional background
  Complete Outreach Pipeline - From lead discovery to personalized connection requests, fully automated end-to-end
  Smart Data Management - Automatically tracks all prospects in Google Sheets with deduplication and status tracking
  Cost-Effective Scraping - Uses Apify to extract Apollo data without expensive subscription costs
  Scalable Architecture - Processes hundreds of leads while respecting LinkedIn's connection limits

  How It Works*
  Natural Language Lead Generation:

  Form input accepts audience descriptions in plain English
  AI converts descriptions into properly formatted Apollo search URLs
  Automatically includes location, company size, job titles, and keyword filters

  Apollo Data Extraction:

  Uses Apify actor to scrape targeted lead lists from Apollo
  Extracts LinkedIn URLs, email addresses, employment history, and profile data
  Processes 500+ leads per run with detailed professional information

  AI Personalization Engine:

  Analyzes LinkedIn profile data including job history and company information
  Generates personalized icebreakers using proven connection request templates
  Creates human-like messages that reference specific career details and achievements

  Google Sheets Integration:

  Automatically stores all lead data in organized spreadsheet format
  Tracks prospect information, contact details, and generated icebreakers
  Provides easy data management and campaign tracking

  PhantomBuster Automation:

  Connects to PhantomBuster API to trigger LinkedIn connection campaigns
  Sends personalized connection requests with custom icebreakers
  Respects LinkedIn's daily limits and mimics human behavior patterns

  Business Use Cases*
  Sales Teams - Automate prospecting for B2B outreach campaigns
  Agencies - Scale client acquisition through targeted LinkedIn outreach
  Recruiters - Find and connect with qualified candidates efficiently
  Entrepreneurs - Build professional networks in specific industries
  Business Development - Generate qualified leads for partnership opportunities
  Revenue Potential
  This system can replace expensive LinkedIn outreach tools that cost $200-500/month. Users typically see:
  400% improvement in response rates through personalization
  10x faster lead generation compared to manual prospecting
  Ability to process 500+ leads per hour vs. 10-20 manually
  Difficulty Level: Intermediate
   Estimated Build Time: 1-2 hours
   Monthly Operating Cost: ~$50 (Apollo + PhantomBuster + AI APIs)

  Watch My Complete 1-Hour Build*
  Want to see exactly how I built this system from scratch? I walk through the entire development process live, including all the debugging, API integrations, and real-world testing that goes into building profitable automation systems.
  🎥 See My Live Build Process: "Build This Automated AI LinkedIn DM System in 1 Hour (N8N)"
  This comprehensive tutorial shows my actual development approach - including the detours, problem-solving, and iterative testing that real automation building involves.

  Required Google Sheets Setup*
  Create a Google Sheet with these exact column headers:

  Essential Lead Columns:
  id - Unique prospect identifier
  first_name - Contact's first name
  last_name - Contact's last name
  name - Full name
  linkedin_url - LinkedIn profile URL
  title - Current job title
  email_status - Email verification status
  photo_url - Profile photo URL
  icebreaker - AI-generated personalized message

  Setup Instructions:
  Create Google Sheet with these headers in row 1
  Connect Google Sheets OAuth in n8n
  Update the document ID in the "Add to Google Sheet" node
  PhantomBuster will read from this sheet for automated outreach

  Set Up Steps*

  Apollo & Apify Configuration:

  Set up Apify account and obtain API credentials
  Configure Apollo scraper actor with proper parameters
  Test lead extraction with sample audience descriptions

  AI Personalization Setup:

  Configure OpenAI API for natural language processing and personalization
  Set up prompt templates for audience targeting and icebreaker generation
  Test personalization quality with sample LinkedIn profiles

  Google Sheets Integration:

  Create lead tracking spreadsheet with proper column structure
  Configure Google Sheets API credentials and permissions
  Set up data mapping for automatic lead storage
  PhantomBuster Connection:

  Set up PhantomBuster account and LinkedIn connection
  Configure LinkedIn auto-connect agent with custom message templates
  Connect API for automated campaign triggering

  Form and Workflow Setup:

  Configure form trigger for audience input collection
  Set up data flow between all components
  Add proper error handling and rate limiting

  Testing and Optimization:

  Start with small batches (5-10 connections daily)
  Monitor LinkedIn account health and response rates
  Optimize icebreaker templates based on performance data

  Important Compliance Notes*
  LinkedIn Limits: Respect 100 connection requests per week limit
  Account Safety: Use PhantomBuster's human-like behavior patterns
  Message Quality: Regularly update templates to avoid automation detection
  Response Management: Monitor and respond to replies within 24 hours

  Advanced Extensions*
  This system can be enhanced with:
  Multi-channel Outreach: Add email sequences for comprehensive campaigns
  A/B Testing: Test different icebreaker templates automatically
  CRM Integration: Connect to Salesforce, HubSpot, or other sales systems
  Response Tracking: Monitor reply rates and optimize messaging
  Explore My Channel*
  For more advanced automation systems that generate real business results, check out my YouTube channel where I share the exact strategies I've used to make over $1 million with AI automation.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.formTrigger","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.limit","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.aggregate"]

workflow_json_compressed:
  [encoded data, 5484 characters]

metadata_json:
  {"categories":["Sales Automation","Lead Generation","AI Personalization"],"complexity":"medium","use_cases":["Automated LinkedIn prospecting and outreach","Scaling personalized connection requests","Generating targeted lead lists from natural language descriptions","Recruiting and candidate outreach","Agency client acquisition and business development"],"estimated_setup_minutes":90,"required_services":["Apollo","Apify (actor for scraping)","OpenAI (GPT-4)","PhantomBuster","Google Sheets (Google account & API)","n8n"],"key_features":["Natural-language to Apollo search URL generation","Apify-based Apollo data extraction (LinkedIn URLs, emails, job history)","AI-generated personalized icebreakers using profile data","Automated connection sends via PhantomBuster with rate-limiting","Lead tracking, deduplication and status management in Google Sheets integration','Scalable processing (hundreds of leads per run)"],"target_audience":["Sales teams and SDRs","Growth marketers and agencies","Recruiters and talent sourcers」「Founders and entrepreneurs looking to scale outreach」「Automation builders and developers"]}


name: AI Premium Proposal Generator with OpenAI, Google Slides & PandaDoc
author_name: Nick Saraev
author_username: nicksaraev
categories: []
created_at: 2025-06-08T21:01:29.966Z
updated_at: 2025-06-08T21:01:29.966Z
url: https://n8n.io/workflows/4804
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  AI Proposal Generator System

  Categories*
  Sales Automation
  Document Generation
  AI Business Tools

  This workflow creates a complete AI-powered proposal generation system that transforms simple form inputs into professional, personalized proposals in under 30 seconds and can be deployed during live sales calls, allowing you to send polished proposals before the call even ends.

  Benefits*
  Instant Proposal Generation - Convert 30-second form inputs into professional proposals automatically
  High-Value Business Tool - Generates $1,500-$5,000 per client implementation
  Live Sales Integration - Generate and send proposals during active sales calls
  Complete Automation Pipeline - From form submission to email delivery with zero manual work
  Professional Presentation - Produces proposals indistinguishable from manually crafted documents
  Dual Platform Support - Works with both Google Slides (free) and PandaDoc (premium) integration

  How It Works*

  Smart Form Interface:

  Simple N8N form captures essential deal information
  Collects prospect details, problems, solutions, scope, timeline, and budget
  Designed for rapid completion during live sales conversations

  Advanced AI Processing:

  Uses sophisticated GPT-4 prompting with example-based training
  Converts basic form inputs into professionally written proposal sections
  Applies consistent tone, formatting, and business language automatically

  Dynamic Document Generation:

  Creates duplicate proposal templates for each new prospect
  Replaces template variables with AI-generated personalized content
  Maintains professional formatting and visual consistency

  Automated Email Delivery:

  Sends personalized email with proposal link immediately after generation
  Includes professional messaging and clear next steps
  Optionally includes invoice for immediate payment processing

  Premium PandaDoc Integration:

  Advanced version includes built-in payment processing
  Combines proposal, agreement, and invoice in single document
  Enables immediate signature and payment collection

  Business Use Cases*
  Service-Based Businesses - Generate proposals for consulting, agencies, and professional services
  Automation Agencies - Offer proposal generation as a high-value service to clients
  Sales Teams - Accelerate proposal creation and improve close rates
  Freelancers - Professionalize client interactions with instant custom proposals
  Consultants - Streamline business development with automated proposal workflows
  B2B Companies - Scale personalized proposal generation across entire sales organization

  Difficulty Level: Intermediate
  Estimated Build Time: 2-3 hours
  Monthly Operating Cost: $20-150 (depending on Google Slides vs PandaDoc)

  Watch My Complete Live Build*
  Want to see me build this entire $2,485 proposal system from scratch? I walk through every component live - including the AI prompting strategies, form design, Google Slides integration, and the advanced PandaDoc setup that enables payment collection.
  🎥 See My Live Build Process: "I Built A $2,485 AI Proposal Generator In N8N (Copy This)"
  This comprehensive tutorial shows the real development process - including advanced AI prompting, template design, API integrations, and the exact pricing strategy that generates $1,500-$5,000 per client.

  Required Template Setup*
  Google Slides Template: Create a professional proposal template with these variable placeholders (wrapped in double curly braces):
  {{proposalTitle}} - Main proposal heading
  {{descriptionName}} - Project subtitle/description
  {{oneParagraphProblemSummary}} - Problem analysis section
  {{solutionHeadingOne}}, {{solutionHeadingTwo}}, {{solutionHeadingThree}} - Solution titles
  {{shortScopeTitleOne}} through {{shortScopeTitleThree}} - Scope sections
  {{milestoneOneDay}} through {{milestoneFourDay}} - Timeline milestones
  {{cost}} - Project pricing
  Form Field Requirements: The N8N form must include these exact field labels:
  First Name, Last Name, Company Name, Email, Website
  Problem (textarea) - Client's current challenges
  Solution (textarea) - Your proposed approach
  Scope (textarea) - Specific deliverables
  Cost - Project pricing
  How soon? - Timeline expectations
  PandaDoc Setup (Premium): Configure PandaDoc template with token placeholders matching the AI-generated content structure. Template must include pricing tables and signature fields for complete proposal-to-payment automation.

  Set Up Steps*

  Form Design & Integration:

  Create N8N form with optimized fields for proposal generation
  Design form flow for rapid completion during sales calls
  Configure form triggers and data validation

  AI Content Generation Setup:

  Configure OpenAI API for sophisticated proposal writing
  Implement example-based training with input/output pairs
  Set up JSON formatting for structured content generation

  Google Slides Integration (Free Version):

  Create professional proposal templates with variable placeholders
  Set up Google Cloud Console API access and credentials
  Configure template duplication and text replacement workflows

  Email Automation Setup:


  Configure Gmail integration for automated proposal delivery
  Design professional email templates with proposal links
  Set up dynamic content insertion and personalization

  PandaDoc Integration (Premium Version):

  Set up PandaDoc API for advanced document generation
  Configure payment processing and signature collection
  Implement proposal-to-payment automation workflows

  Testing & Quality Control:

  Test complete workflow with various proposal scenarios
  Validate AI output quality and professional presentation
  Optimize form fields and content generation based on results

  Advanced Features*

  Premium system includes:
  Payment Processing Integration: Collect payments immediately after proposal acceptance
  Digital Signature Collection: Streamline agreement execution with electronic signatures
  Custom Branding: Apply company branding and visual identity automatically
  Multi-Template Support: Generate different proposal types based on service offerings
  CRM Integration: Automatically sync proposal data with existing sales systems

  Why This System Works*

  The competitive advantage lies in speed and professionalism:
  30-second generation time vs. hours of manual proposal writing
  Professional presentation that matches or exceeds manual proposals
  Live sales integration - send proposals during active conversations
  Consistent quality - eliminates human error and formatting inconsistencies
  Immediate follow-up - maintain sales momentum with instant delivery

  System Architecture*

  The workflow follows a simple but powerful 6-step process:
  Form Trigger - Captures essential deal information
  AI Processing - Converts inputs to professional content
  Template Duplication - Creates unique document for each prospect
  Content Replacement - Populates template with AI-generated content
  Email Delivery - Sends proposal with professional messaging
  Payment Collection (PandaDoc) - Enables immediate signature and payment

  Check Out My Channel*
  For more high-value automation systems and proven business-building strategies, explore my YouTube channel where I share the exact systems used to build successful automation businesses and scale to $72K+ monthly revenue.

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

workflow_json_compressed:
  [encoded data, 8392 characters]

metadata_json:
  {"categories":["Sales Automation","Document Generation","AI Business Tools"],"complexity":"medium","use_cases":["Generate polished proposals during live sales calls","Automate proposal creation and delivery","Combine proposal, contract, and invoice into one document with payment capture","Offer proposal-generation as a client service (automation agency)","Scale personalized proposals across sales organization"],"estimated_setup_minutes":150,"required_services":["n8n","OpenAI (GPT-4)","Google Slides API & Google Drive","PandaDoc (optional - premium) with payment processing and signatures","Gmail or SMTP for automated email delivery","Google Cloud Console (API credentials)"],"key_features":["30-second AI-driven proposal generation from short form inputs","GPT-4 example-based prompting and structured JSON outputs","Template duplication and variable replacement in Google Slides or PandaDoc","Automated personalized email delivery with proposal link","Optional PandaDoc payment collection and e-signature flow for end-to-end closing automation"],"target_audience":["Sales teams and revenue ops","Consultants and service-based businesses","Freelancers and agencies offering proposals to clients (automation agencies) ]"]}


name: Automate Time Tracking Enforcement & Cleanup for Awork Tasks
author_name: Gregor
author_username: gregorg
categories: []
created_at: 2025-06-08T21:56:06.469Z
updated_at: 2025-06-08T21:56:06.469Z
url: https://n8n.io/workflows/4805
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  This workflow offers several additional features for time tracking with Awork:

  Check whether time has been tracked when closing a task. If not, the task is reopened and the user is notified. This can be restricted to specific tasks using tags.
  Enforce a minimum time entry for tasks to comply with "at least 15-minute intervals are billed" policies. This can also be limited to specific tasks by using tags.
  Clean up time entries to match billing intervals.
  Add a start time to time entries if it is missing.

  This workflow does not use the Awork community nodes package, as the package does not support all required API calls and is therefore not used here. If you prefer to use that package, you can find more information at awork integration guide and replace the HTTP nodes with the corresponding community nodes where applicable.

  How it works
  Triggered via Awork Webhook call on status change of tasks and new time entries

  Set up steps
  Add webhook call to Awork (please see in-workflow notes regarding webhook configuration)
  Configure Awork API credentials
  Set up workflow configuration via setup node, e.g. user notification text, tags, enabled features etc.

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

workflow_json_compressed:
  [encoded data, 11640 characters]

metadata_json:
  {"categories":["automation","integration","time tracking","project management"],"complexity":"complex","use_cases":["Prevent closing tasks without tracked time","Enforce minimum billing intervals (e.g., 15-minute increments)","Normalize/clean time entries to match billing intervals","Automatically add missing start times to time entries","Notify users when time tracking rules are violated"],"estimated_setup_minutes":30,"required_services":["Awork API (with Webhooks enabled)"],"key_features":["Triggered by Awork task status changes and new time entries (webhooks)","Reopens tasks and notifies users when no time is tracked","Can restrict enforcement to tasks with specific tags","Enforces and normalizes time entries to configured billing intervals","Adds missing start times to time entries when absent (via API calls/HTTP nodes)"],"target_audience":["Project managers","Operations/PMO teams","Agencies and service providers billing by time blocks (e.g., 15 min intervals*)"]}


name: Smart Email Responder Workflow using AI
author_name: Ankur Parag Kulkarni
author_username: ankur
categories: []
created_at: 2025-06-09T00:42:07.675Z
updated_at: 2025-06-09T00:42:07.675Z
url: https://n8n.io/workflows/4807
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:32
description:
  This project presents an intelligent email management system powered by advanced artificial intelligence. It utilizes Google's Gemini 2.0 AI model to automatically categorize incoming emails into queries, project updates, and feedback, and generates context-specific responses in real time.

  Approach:
  The system processes emails promptly, ensuring consistent and timely communication. In addition to crafting automated replies, it streamlines workflow efficiency by sending calendar invitations for meetings without manual intervention.

  Results:
  The Smart Email Auto-Responder enhances email management by marking emails as read, applying appropriate labels, and systematically logging correspondence. This significantly reduces manual workload while improving client engagement and operational productivity.

nodes_used:
  ["n8n-nodes-base.gmailTrigger","@n8n/n8n-nodes-langchain.textClassifier","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.emailSend","n8n-nodes-base.emailSend","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.emailSend","n8n-nodes-base.googleCalendar","n8n-nodes-base.splitInBatches","n8n-nodes-base.googleCalendar","n8n-nodes-base.code"]

workflow_json_compressed:
  [encoded data, 6304 characters]

metadata_json:
  {"categories":["automation","integration","AI-assisted communication"],"complexity":"medium","use_cases":["Automatic email categorization (queries, updates, feedback)","AI-generated context-specific replies","Automatic meeting scheduling via calendar invites","Email triage: mark as read and apply labels","Logging and batch-processing of correspondence"],"estimated_setup_minutes":45,"required_services":["Google Gemini (Gemini 2.0) / Google Cloud AI API","Email service (Gmail or other IMAP/SMTP)","Google Calendar API","n8n instance (self-hosted or cloud)"],"key_features":["AI-based email classification","Context-aware response generation using Gemini","Conditional workflows for different email types","Automatic calendar invitation creation","Apply labels and mark emails as read programmatically"],"target_audience":["Support teams / customer service","Sales and account managers","Small-to-medium businesses looking to automate email workflows\",\"Developers and automation engineers"]}


name: Convert Documents to Markdown with MinerU API and GPT-4o-mini
author_name: AdrianWang
author_username: adrian-wang
categories: []
created_at: 2025-06-09T06:31:19.751Z
updated_at: 2025-06-09T06:31:19.751Z
url: https://n8n.io/workflows/4808
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  How it works
  This workflow automates the conversion of various document formats (such as PDF, Word, and PPT) into Markdown. It connects to the MinerU API service, which leverages OCR, formula, and table recognition to produce high-quality output. Users can initiate the process by simply uploading a document through an n8n chat interface.

  Set up steps

  Ensure you have a local n8n instance running.
  Set up and run the MinerU MCP (MinerU Computing Platform) server locally.
  Import this workflow into your n8n instance.
  Configure your AI model credentials (e.g., for OpenAI, add your API Key and Base URL).
  Click the "Write Files from Disk" node and edit the file path to your desired local save location.
  Click the "MCP Client" node and input your MinerU MCP server address (e.g., http://localhost:8000/sse).
  Click the "Open Chat" button to upload a file, send a message, and test the workflow.

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

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

metadata_json:
  {"categories":["document processing","automation","AI/ML","OCR"],"complexity":"medium","use_cases":["Convert PDFs/Word/PPT to Markdown","Extract OCR text, formulas and tables","Ingest documents into knowledge bases or CMS","Quick content cleanup and formatting via AI","Automated document ingestion via chat upload"],"estimated_setup_minutes":30,"required_services":["n8n (local instance)","MinerU MCP server (local)","AI model provider (e.g., OpenAI API for GPT-4o-mini)","Local file system access"],"key_features":["OCR and layout recognition (text, formulas, tables) via MinerU","AI-driven conversion and cleanup to Markdown (GPT-4o-mini)","Chat-based file upload and user interaction","Save converted files to disk","MCP client SSE integration for streaming/processing status updates"],"target_audience":["Developers","Data engineers","Knowledge managers / technical writers」「Researchers"]}


name: Save Time Hiring with AI: Automate Screening, Assessments & Interviews
author_name: Aayushman Sharma
author_username: ajstyle0411
categories: []
created_at: 2025-06-09T11:01:53.274Z
updated_at: 2025-06-09T11:01:53.274Z
url: https://n8n.io/workflows/4813
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  AI Recruitment Automation Pipeline – Resume Parsing, GPT-4 Evaluation, Assessment Triggers & Interview Scheduling

  This end-to-end AI-powered recruitment automation workflow helps HR and talent acquisition teams automate the complete hiring pipeline—from resume intake and parsing to GPT-4-based evaluation, TA approvals, assessment delivery, and interview scheduling.

  Built using n8n, this template integrates with OpenAI GPT-4, Google Sheets, Google Drive, Slack, and SMTP to reduce time-to-hire, improve candidate quality, and eliminate repetitive manual tasks. The workflow enables scalable, consistent, and intelligent decision-making by automating resume evaluation, semantic fit analysis, and candidate communication.

  This template is ideal for recruiters, TA teams, and founders looking to optimize hiring for tech, sales, support, and other roles with high applicant volume.

  Who is this for?

  HR and TA teams handling high-volume recruitment
  Startups and SMBs looking to reduce hiring time and cost
  Hiring managers seeking to automate CV parsing and candidate evaluation

  What problem does this solve?

  Eliminates manual resume screening
  Sends real-time updates to TA team on assessment completion
  Automates assessments, scoring, and interview scheduling
  Keeps candidate communication consistent and timely

  What this workflow does

  Smart Resume Intake Form
  Collects candidate data: name, email, phone, LinkedIn, job role, and CV (PDF).
  Custom-designed UI with branding-ready CSS.

  PDF Resume Parsing & Storage
  CV is uploaded to a dedicated Google Drive folder.
  Resume text is extracted for semantic analysis.

  AI-Based Candidate Evaluation (GPT-4 via LangChain)
  Extracts: City, Education, Job History, Skills.
  Summarizes candidate profile (100 words).
  Retrieves and summarizes job description from Google Sheets.
  Performs detailed evaluation:
    ✅ Semantic fit scoring (0–100%)
    ✅ Key matches and skill gaps
    ✅ Soft skills extraction
    ✅ Red flag detection (job-hopping, missing info)
    ✅ Final score (1–10) with rationale

  Google Sheets Integration
  Logs and updates candidate data at each stage:
    CV Submitted → Scored → Shortlisted → Assessment Sent → Interview Scheduled → Rejected

  TA Approval via Email (Send & Wait)
  TA receives evaluation summary and gives one-click approve/reject.
  ✅ Approved → Status: Resume Selected  
  ❌ Rejected → Status: Resume Rejected

  Assessment Trigger (Post Approval)
  Sends assessment link to shortlisted candidates.
  Notifies TA via Slack and Email when assessment is submitted.

  Interview Scheduling
  Sends Calendly link for self-scheduled interview booking.
  Candidate receives detailed next-step instructions.

  Status-Based Candidate Emails
  Automatically sends:
    ✔️ Shortlisting confirmation + interview setup
    ❌ Rejection email with branded message

  Business Benefits

  Save 80%+ time** spent on manual resume reviews and coordination
  Reduce cost-per-hire** by eliminating manual tasks
  Improve hiring accuracy** with structured, AI-based decision-making
  Scalable recruitment** for 100s of candidates per week
  Enhance candidate experience** with instant status updates
  Centralize data** in Google Sheets for full team visibility

  🔧 Setup Instructions

  1. Google Service Account Setup (One-Time)

  Before using Google Sheets or Google Drive in n8n:

  Go to Google Cloud Console.
  Create a Service Account under your project.
  Enable these APIs:
    Google Sheets API
    Google Drive API
  Download the JSON credentials for the service account.
  IMPORTANT:  
    Share your target Google Sheets and Docs with the service account email  
    (e.g., your-service-account@your-project.iam.gserviceaccount.com).

  Add Applicant's Details to Google Sheet

  Document**: Select the Profiles Google Sheet document.
  Sheet**: Select the Applicant's Details sheet.
  Fields to Map**:
    EMAIL: {{ $('On form submission').item.json.Email }}
    DATE: {{ $now.format('dd-MM-yyyy') }}
    NAME: {{ $('On form submission').item.json.Name }}
    LINKEDIN URL: {{ $('On form submission').item.json["LinkedIn Profile URL"] }}
    JOB PROFILE: {{ $('On form submission').item.json["Job Openings"] }}
    STATUS: CV SUBMITTED
    LAST UPDATED DATE: {{ $now.format('dd-MM-yyyy hh:mm:ss') }}

  Extract Applicant's Resume Text

  Text**:  
    {{ $('Extract from File').item.json.text }}

  Get Job Description from Google Sheet

  Document**: Profiles
  Sheet**: Job Openings
  Filter**:
  Column**: Job Profile
  Value**: {{ $('On form submission').item.json["Job Openings"] }}

  Save Evaluation Results in Google Sheets

  Document**: Profiles
  Sheet**: Applicant's Details
  Column Match On**: EMAIL
  Fields to Map**:
  EMAIL: {{ $('On form submission').item.json.Email }}
  CITY: {{ $('Applicant\'s Details').item.json.output.City }}
  EDUCATIONAL: {{ $('Applicant\'s Details').item.json.output["Educational Qualification"] }}
  JOB HISTORY: {{ $('Applicant\'s Details').item.json.output["Job History"] }}
  SKILLS: {{ $('Applicant\'s Details').item.json.output.Skills }}
  SUMMARIZE: {{ $('Summarize Applicant\'s Profile').item.json.response.text }}
  SEMANTIC FIT SCORE: {{ $json.output.semantic_fit.score }}
  KEY MATCHES: {{ $json.output.semantic_fit.key_matches.toJsonString() }}
  KEY GAPS: {{ $json.output.semantic_fit.key_gaps.toJsonString() }}
  SEMANTIC FIT CONSIDERATION: {{ $json.output.semantic_fit.consideration }}
  SOFT SKILLS: {{ $json.output.soft_skills.toJsonString() }}
  EXPERIENCE GAP DETECTED: {{ $json.output.experience_analysis.experience_gap_detected }}
  OVER QUALIFICATION DETECTED: {{ $json.output.experience_analysis.overqualification_detected }}
  EXPERIENCE ANALYSIS CONSIDERATION: {{ $json.output.experience_analysis.consideration }}
  RED FLAGS ISSUES DETECTED: {{ $json.output.red_flags.issues_detected.toJsonString() }}
  RED FLAGS CONSIDERATION: {{ $json.output.red_flags.consideration }}
  VOTE: {{ $json.output.overall_evaluation.final_vote }}
  FINAL CONSIDERATION: {{ $json.output.overall_evaluation.consideration }}
  STATUS: CV SCORED
  LAST UPDATED DATE: {{ $now.format('dd-MM-yyyy hh:mm:ss') }}

  Update Applicant Statuses

  Resume Selected

  Document**: Profiles
  Sheet**: Applicant's Details
  Column Match On**: EMAIL
  Update**:
  STATUS: RESUME SELECTED
  LAST UPDATED DATE: {{ $now.format('dd-MM-yyyy hh:mm:ss') }}

  Resume Rejected

  Update**:
  STATUS: RESUME REJECTED
  LAST UPDATED DATE: {{ $now.format('dd-MM-yyyy hh:mm:ss') }}

  Assessment Sent

  Email**: {{ $('Loop to Send Assessment Link to Each Candidate').item.json.EMAIL }}
  Update**:
  STATUS: ASSESSMENT SENT
  LAST UPDATED DATE: {{ $now.format('dd-MM-yyyy hh:mm:ss') }}

  Assessment Submitted

  Email**: {{ $json["Enter Your Email Address"] }}
  Update**:
  STATUS: ASSESSMENT SUBMITTED
  LAST UPDATED DATE: {{ $now.format('dd-MM-yyyy hh:mm:ss') }}

  Interview Booked

  Email**: {{ $json.payload.email }}
  Update**:
  STATUS: INTERVIEW BOOKED
  LAST UPDATED DATE: {{ $now.format('dd-MM-yyyy hh:mm:ss') }}

  Fetch Applicants with Specific Status

  Status: RESUME SELECTED

  Document**: Profiles
  Sheet**: Applicant's Details
  Filter**:
  Column**: STATUS
  Value**: RESUME SELECTED

  Get Assessment Form URL from Job Profile

  Document**: Profiles
  Sheet**: Job Openings
  Filter**:
  Column**: Job Profile
  Value**: {{ $json["JOB PROFILE"] }}

  Trigger on Applicant Status Update

  Document**: Profiles
  Sheet**: Applicant's Details
  Trigger Settings**:
  Columns to Watch**: STATUS

  ⚠️ Important Notes

  Always use “Select Document from List” instead of manually pasting the sheet/document ID.
  Share your Sheets/Docs with the Google Service Account email for proper access.
  Keep your date formats consistent using {{ $now.format('dd-MM-yyyy hh:mm:ss') }}.

  Add credentials for:
     Google Drive
     Google Sheets
     SMTP (for emails)
     OpenAI API Key (GPT-4)
  Replace placeholders:
     Google Sheet & Folder IDs
     Calendly Link
     Assessment Link
  (Optional) Customize GPT-4 prompts for domain-specific scoring
  (Optional) Use your Slack webhook for TA notifications

  🛠️ Tools & Integrations

  Form Trigger** – Candidate form with file upload  
  Google Drive + Extract PDF** – CV parsing  
  Google Sheets** – Database for all applicant statuses  
  LangChain GPT-4 Nodes** – AI profile + job analysis  
  Email Send & Send & Wait** – Candidate/TA communication  
  IF Node** – Logic for approve/reject  
  Slack Integration** – TA notification  
  Calendly Link** – Interview scheduling

  AI resume screening, GPT-4 recruitment workflow, automated hiring pipeline, semantic fit evaluation, LangChain for HR, resume parsing automation, AI in talent acquisition, assessment workflow automation, interview scheduling automation, candidate shortlisting automation, OpenAI HR integration, Google Sheets recruitment tracker, n8n HR automation template, self-scheduling interviews with Calendly, Slack notifications in recruitment

nodes_used:
  ["n8n-nodes-base.formTrigger","n8n-nodes-base.extractFromFile","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chainSummarization","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chainSummarization","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.emailSend","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.emailSend","n8n-nodes-base.emailSend","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.splitInBatches","n8n-nodes-base.googleSheets","n8n-nodes-base.emailSend","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.typeformTrigger","n8n-nodes-base.typeformTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.emailSend","n8n-nodes-base.slack","n8n-nodes-base.calendlyTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheetsTrigger","n8n-nodes-base.switch","n8n-nodes-base.emailSend","n8n-nodes-base.emailSend","n8n-nodes-base.emailSend","n8n-nodes-base.emailSend","n8n-nodes-base.emailSend","n8n-nodes-base.emailSend","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets"]

workflow_json_compressed:
  [encoded data, 4684 characters]

metadata_json:
  {"categories":["automation","recruitment/HR","AI/ML integration","data processing","integration"],"complexity":"complex","use_cases":["Automated resume screening and parsing","AI-based candidate evaluation and semantic fit scoring","Triggering and tracking candidate assessments","Automated interview scheduling and candidate communication","Centralized applicant tracking in Google Sheets"],"estimated_setup_minutes":60,"required_services":["OpenAI (GPT-4)","Google Sheets","Google Drive (Google Service Account)","SMTP/email provider","Slack (webhook)","Calendly (scheduling)","Form provider (Typeform or n8n Form)","(Optional) LangChain connector"],"key_features":["Branded candidate intake form with file upload","PDF resume extraction and storage to Google Drive","GPT-4 (LangChain) profile extraction, summary and semantic fit scoring","Automated status-driven updates logged in Google Sheets","TA one-click approve/reject via email (send & wait) logic node flow
  (Note: single-line expected)"],"target_audience":["HR teams","Talent acquisition / recruiters","Hiring managers and TA coordinators in startups and SMBs\",\"Founders involved in hiring"]}


name: Daily GBP exchange rate
author_name: Inga Kruger
author_username: inga-kruger
categories: []
created_at: 2025-06-09T12:50:39.791Z
updated_at: 2025-06-09T12:50:39.791Z
url: https://n8n.io/workflows/4814
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:33
description:
  GBP Exchange Rate Email Workflow
  Sends email with table that have GBP exchange rate for few money value every day, if user clicks the button to run it.

  How it works:

   Data come from API
  Changed into HTML table
  Before is send inside email 

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

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

metadata_json:
  {"categories":["automation","integration","notifications","data logging"],"complexity":"medium","use_cases":["Daily GBP exchange rate notification","Send currency conversion table to stakeholders","Archive exchange rates to Google Sheets","On-demand rate check via button/webhook"],"estimated_setup_minutes":15,"required_services":["Exchange rates API (e.g., exchangeratesapi.io, openexchangerates.org)","Email provider (SMTP/Gmail/other configured in Communication node)","Google Sheets","n8n webhook endpoint (for manual/button trigger)"],"key_features":["Fetch GBP exchange rates from an external API","Convert numeric values into an HTML table","Send the table inside an email (Communication node)","Optional on-demand run via webhook/button (Manual/Webhooks node)","Store or log results to Google Sheets"],"target_audience":["finance teams","accountants","small business owners/ops managers needing daily rates notifications"]}


name: Build an Image Restoration Service with n8n & Gemini AI Image Editing
author_name: Jimleuk
author_username: jimleuk
categories: []
created_at: 2025-06-09T12:56:20.236Z
updated_at: 2025-06-09T12:56:20.236Z
url: https://n8n.io/workflows/4815
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  This n8n template demonstrates how to build a simple but effective vintage image restoration service using an AI model with image editing capabilities.

  With Gemini now capable of multimodal output, it's a great time to explore this capability for image or graphics automation. Let's see how well it does for a task such as image restoration.

  Good to know
  At time of writing, each image generated will cost $0.039 USD. See Gemini Pricing for updated info.
  The model used in this workflow is geo-restricted! If it says model not found, it may not be available in your country or region.

  How it works
  Images are imported into our workflow via the HTTP node and converted to base64 strings using the Extract from file node.
  The image data is then pipelined to Gemini's Image Generation model. A prompt is provided to instruct Gemini to "restore" the image to near new condition - of course, feel free to experiment with this prompt to improve the results!
  Gemini's responds with the image as a base64 string and hence, a convert to file node is used to transform the data to binary.
  With the restored image as a binary, we can then use this with our Google Drive node to upload it to our desired folder.

  How to use
  This demonstration uses 3 random images sourced from the internet but any typical image file will work.
  Use a webhook node to allow integration from other applications.
  Use a telegram trigger for instant mobile service!

  Requirements
  Google Gemini for LLM/Image generation
  Google Drive for Upload Storage

  Customising this workflow
  AI image editing can be applied to many use-cases not just image restoration. Try using it to add watermarks, branding or modify an existing image for marketing purposes.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.extractFromFile","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.convertToFile","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, 4908 characters]

metadata_json:
  {"categories":["automation","image-processing","ai","integration"],"complexity":"medium","use_cases":["Vintage photo restoration","Automated image touch-ups and repair","Batch image enhancement for archives","On-demand image editing service via webhook or chat (Telegram)","Applying branding or watermarks to existing images"],"estimated_setup_minutes":20,"required_services":["Google Gemini (Image generation/editing)","Google Drive (upload/storage)","Webhook/HTTP endpoint (for inbound images)","Telegram (optional, for mobile trigger)"],"key_features":["Convert inbound images to base64 and send to Gemini for AI restoration","Prompt-driven image editing (customisable prompts)","Convert Gemini base64 output back to binary file","Upload restored images to Google Drive","Supports webhook and Telegram triggers for integration/automation"],"target_audience":["Developers building image-editing automations","Photographers and archivists","Small businesses/marketers needing bulk image enhancements or branding pipelines"]}


name: AI-Powered Local Event Finder with Multi-Tool Search
author_name: Jez
author_username: jez
categories: []
created_at: 2025-06-09T12:59:58.555Z
updated_at: 2025-06-09T12:59:58.555Z
url: https://n8n.io/workflows/4816
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  Summary
  This n8n workflow implements an AI-powered "Local Event Finder" agent. It takes user criteria (like event type, city, date, and interests), uses a suite of search tools (Brave Web Search, Brave Local Search, Google Gemini Search) and a web scraper (Jina AI) to find relevant events, and returns formatted details. The entire agent is exposed as a single, easy-to-use MCP (Multi-Capability Peer) tool, making it simple to integrate into other workflows or applications.

  This template cleverly combines the MCP server endpoint and the AI agent logic into a single n8n workflow file for ease of import and management.

  Key Features
  Intelligent Multi-Tool Search:** Dynamically utilizes web search, precise local search, and advanced Gemini semantic search to find events.
  Detailed Information via Web Scraping:** Employs Jina AI to extract comprehensive details directly from event web pages.
  Simplified MCP Tool Exposure:** Makes the complex event-finding logic available as a single, callable tool for other MCP-compatible clients (e.g., Roo Code, Cline, other n8n workflows).
  Customizable AI Behavior:** The core AI agent's behavior, tool usage strategy, and output formatting can be tailored by modifying its System Prompt.
  Modular Design:** Uses distinct nodes for LLM, memory, and each external tool, allowing for easier modification or extension.

  Benefits
  Simplifies Client-Side Integration:** Offloads the complexity of event searching and data extraction from client applications.
  Provides Richer Event Data:** Goes beyond simple search links to extract and format key event details.
  Flexible & Adaptable:** Can be adjusted to various event search needs and can incorporate new tools or data sources.
  Efficient Processing:** Leverages specialized tools for different aspects of the search process.

  Nodes Used
  MCP Trigger
  Tool Workflow
  Execute Workflow Trigger
  AI Agent
  Google Gemini Chat Model (ChatGoogleGenerativeAI)
  Simple Memory (Window Buffer Memory)
  MCP Client (for Brave Search tools via Smithery)
  Google Gemini Search Tool
  Jina AI Tool

  Prerequisites
  An active n8n instance.
  Google AI API Key:** For the Gemini LLM (Google Gemini Chat Model node) and the Google Gemini Search Tool. Ensure your key is enabled for these services.
  Jina AI API Key:** For the jina_ai_web_page_scraper node. A free tier is often available.
  Access to a Brave Search MCP Provider (Optional but Recommended):**
      This template uses MCP Client nodes configured for Brave Search via a provider like Smithery. You'll need an account/API key for your chosen Brave Search MCP provider to configure the smithery brave search credential.
      Alternatively, you could adapt these to call Brave Search API directly if you manage your own access, or replace them with other search tools.

  Setup Instructions
  Import Workflow: Download the JSON file for this template and import it into your n8n instance.
  Configure Credentials:
      Google Gemini LLM:
          Locate the Google Gemini Chat Model node.
          Select or create a "Google Gemini API" credential (named Google Gemini Context7 in the template) using your Google AI API Key.
      Google Gemini Search Tool:
          Locate the google_gemini_event_search node.
          Select or create a "Gemini API" credential (named Gemini Credentials account in the template) using your Google AI API Key (ensure it's enabled for Search/Vertex AI).
      Jina AI Web Scraper:
          Locate the jina_ai_web_page_scraper node.
          Select or create a "Jina AI API" credential (named Jina AI account in the template) using your Jina AI API Key.
      Brave Search (via MCP):
          You'll need an MCP Client HTTP API credential to connect to your Brave Search MCP provider (e.g., Smithery).
          Create a new "MCP Client HTTP API" credential in n8n. Name it, for example, smithery brave search.
          Configure it with the Base URL and any required authentication (e.g., API key in headers) for your Brave Search MCP provider.
          Locate the brave_web_search and brave_local_search MCP Client nodes in the workflow.
          Assign the smithery brave search (or your named credential) to both of these nodes.
  Activate Workflow: Ensure the workflow is active.
  Note MCP Trigger Path:
      Locate the local_event_finder (MCP Trigger) node.
      The Path field (e.g., 0ca88864-ec0a-4c27-a7ec-e28c5a900697) combined with your n8n webhook base URL forms the endpoint for client calls.
      Example Endpoint: YOUR_N8N_INSTANCE_URL/webhooks/PATH-TO-MCP-SERVER

  Customization
  AI Behavior:** Modify the "System Message" parameter within the event_finder_agent node to change the AI's persona, its strategy for using tools, or the desired output format.
  LLM Model:** Swap the Google Gemini Chat Model node with another compatible LLM node (e.g., OpenAI Chat Model) if desired. You'll need to adjust credentials and potentially the system prompt.
  Tools:** Add, remove, or replace tool nodes (e.g., use a different search provider, add a weather API tool) and update the event_finder_agent's system prompt and tool configuration accordingly.
  Scraping Depth:** Be mindful of the jina_ai_web_page_scraper's usage due to potential timeouts. The system prompt already guides the LLM on this, but you can adjust its usage instructions.

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-mcp.mcpClientTool","n8n-nodes-mcp.mcpClientTool","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.executeWorkflowTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.mcpTrigger","n8n-nodes-gemini-search.geminiSearchToolTool","n8n-nodes-base.jinaAiTool","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 13604 characters]

metadata_json:
  {"categories":["automation","integration","data processing","AI / agent","web scraping"],"complexity":"complex","use_cases":["Find and aggregate local events based on user criteria","Power chatbots or virtual assistants with event discovery capability","Enrich event listings with scraped metadata (dates, locations, descriptions)","Expose a single callable tool for other workflows or client apps","Create recommendation or notification systems for local activities"],"estimated_setup_minutes":45,"required_services":["n8n instance (self-hosted or cloud)","Google AI (Gemini) API key for LLM and Gemini Search","Jina AI API key for web page scraping","Brave Search MCP provider credentials (e.g., Smithery) or access to Brave Search API","Internet access / webhook endpoint for MCP Trigger"],"key_features":["Intelligent multi-tool search combining Brave web/local search and Google Gemini semantic search","Web scraping via Jina AI to extract detailed event information","Exposed as a single MCP tool endpoint for easy integration","Customizable AI behavior via System Prompt","Modular node design (LLM, memory, per-tool nodes) for easy extension and replacement"],"target_audience":["developers building apps or bots that need event discovery","product teams integrating event search into UIs","community managers and event organizers wanting aggregated listings or enrichment pipelines"]}


name: Compose/Stitch Separate Images together using n8n & Gemini AI Image Editing
author_name: Jimleuk
author_username: jimleuk
categories: []
created_at: 2025-06-09T13:00:49.415Z
updated_at: 2025-06-09T13:00:49.415Z
url: https://n8n.io/workflows/4817
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  This n8n template demonstrates how to use AI to compose or "stitch" separate images together to generate a new image which retains the source assets and consistent style.

  Use cases are many: Try producing storyboard scenes with consistent characters, marketing material with existing product assets or trying on different articles on fashion!

  Good to know
  At time of writing, each image generated will cost $0.039 USD. See Gemini Pricing for updated info.
  The model used in this workflow is geo-restricted! If it says model not found, it may not be available in your country or region.

  How it works
  We'll import our required assets via our Cloud storage using the HTTP node.
  The images are then converted to base64 strings and aggregated so we can use it for our AI model.
  Gemini's image generation model is used which takes all 3 images and a prompt that we define. Our prompt instructs the model on how to compose the final image.
  Gemini generates a new image but uses the original 3 assets to do so. The consistency to the source images is very high and shows little signs of hallucinations!
  Gemini's output is base64 so we use a "Convert to file" node to convert the data to binary.
  The final binary image is then uploaded to Google Drive to complete the demonstration.

  How to use
  The manual trigger node is used as an example but feel free to replace this with other triggers such as webhook or even a form.
  Technically, you should be able to compose even more images but of course, the generation will take longer and cost more.

  Requirements
  Gemini account for LLM and Image generation
  Google drive for upload

  Customising this workflow
  AI Image editing can be used for many use-cases. Try a popular use-case such as virtual try-on for fashion or applying branding on editing image assets.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.convertToFile","n8n-nodes-base.stickyNote","n8n-nodes-base.extractFromFile","n8n-nodes-base.merge","n8n-nodes-base.aggregate","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.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4952 characters]

metadata_json:
  {"categories":["automation","image editing","AI generation","integration"],"complexity":"medium","use_cases":["Create storyboard scenes with consistent characters","Generate marketing assets using existing product photos","Virtual try-on / fashion compositing","Apply consistent branding across images","Batch composition of product imagery"],"estimated_setup_minutes":30,"required_services":["Gemini (Google) account for image generation","Google Drive account (for upload)","HTTP-accessible cloud storage or hosting for source images","n8n instance"],"key_features":["Stitch/compose multiple source images into a single generated image","Preserves consistency and style from source assets","Aggregates images as base64 for model input","Converts model base64 output to binary files","Uploads final images to Google Drive automatically"],"target_audience":["marketers","designers","e‑commerce teams', 'product managers', 'developers"]}


name: Send Telegram Notification for New WooCommerce Orders
author_name: Mohammadreza azari
author_username: mrazari
nodes_used: ["n8n-nodes-base.wooCommerceTrigger","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote"]
categories: []
created_at: 2025-06-09T14:03:41.338Z
updated_at: 2025-06-09T14:03:41.338Z
url: https://n8n.io/workflows/4818
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  🔧 How it works:
  • The workflow triggers when a new order is created in WooCommerce.
  • It extracts order details including ID, status, total, and products list.
  • Sends a formatted message via Telegram to the store admin.
  • Includes a clickable button that links directly to the order view page.

  ⚙️ Set up steps:
  • Estimated setup time: 5–10 minutes.
  • Requires active WooCommerce REST API credentials.
  • Requires a Telegram bot and your admin chat ID.
  • Replace the Telegram chatId and WooCommerce credentials in the workflow.
  • Make sure your WooCommerce site allows external API access.

workflow_json_compressed:
  H4sIAAAAAAAAE3VWUY/bNhL+K1OmQFrB2sq2JMsGcsDWmwLbNm0ab5o7ZBdZihzZ7EqkSlJxXENA76H3VhRNgwsOKbD3dn3sS4G+95/kD3R/woGUvXabLeAHkRzOfDPzfUOvSYWWksmaCGkslQyPOZmQ4Sgqong4KvIi46M+o8UIx4NhhP1+MhiOacGKJOoPWJJQNkwzSscccTDO0jEvYprmpEcsVnVJLU41cjND29RTVdUlWuRkYnWDbY9IxdGQyeM1ET5qfzQY9EfjEIs4C2OaJeGYRiwsCpYNYkzG8XhIekTSCsmEPFJqqqoKNUM40WI+R+3Crmp3KDMZeu9hTg0eLHe2O9NaGWGFkmTyOOwPol44iM56ZIn5QqkLX4a0YHF/jKNwQIs4jGOMQlpkwzCPi4jGUdYfZi7VmmpaoUVtXCHxKUpLJkRpjvqAaaQu5bZHmEaO0gpaers9TIe18C1wMUcffKX+vrpfZieHD6eLu/ObE6aMqUZa0rZdyp+jNj6VftvbOEqTNOZ9OgizUR6FcVHkYc7SKEziQZLSLImSrNg5P8ES55pWf1lCuzPYK1w/uqluo6KIknTIQ8zTLIwxzUI6HNAwiXOONB+xEfI36mbxmSvbnavLV8/hE1zCp66A8AAZiqfI3zqVp/Lq8l8vNvu3JrBev/2FUfJA8LYFcKfPf4YTZWm5O7Nu2bbwcHbUmfzwDRxRizsLTi0+2bRp6+fFv2FmqW3Mzsz4dWfgTF59+/uv38F9rXjDrJmcyvUaOstSSHwiLFbmoKL1O+4L7vwNzkN4e+0WB67kLfz2crv+sqHSCrtq4c52q4PtUJ+/e/CFEvKd26en8va70LZd+O//+fuv373++tury5c/OSDTUrALsAuEvLFWScixVEuwCp4KXIJdCAMdI0mPsAW1vlFZNEjiURrFGekRjXW5ukf1RVOTCRHS5fERrnJFtevWnzYma6LVslOvVku37iJ3W5tuXl2+eAmfi203SY9Qzj15aPmBwJJ3UsD8Ca1r99no0pHgupg1XVUo7ZNGl9C2pG3bM/e70U/7psi2rN1X2GfTe1/Rcn54uPzsw/hLEe9EIDNZItWSqSpXN4nrYHAtrzzBiA6TPCxG4zh0AyHMRymGRTqkLEPO2SjfeZ5ZwS5W8Imy+JcKM95mY7I/nLIs6oXD1Knsj5JZCm4XZJJmUY8sUMwXlkySNOoRpqTtptCtW3B1+eq/4CcwHEtjdcOcY+N4dMsfv/gfTJUsxLzR1B3BzGJtTmUIQfAA65IyDALPrfOOOedQuJqDkH53OzvAJQNLYRewUo0GtZS7syBoDGo4PgoCUBqCYK6VQ3QUBAddqHv0AsE02gXz96/v5sqCMEA5R+4o7YL66++xBZUSSxCFu3JbIzRGyDkoiRuvD2sn8A3+/RF6eP8Y9tiyhzsIpkqapkINH+EqCHoQBDNkGq37ppJDELxPDcLDBx9fo78r96HvBzLCItCyVEsD+MyilrSEB3dnJx4CZQyN8U5OFthpdKvhxqCB8+0E2pNC2573wCgXC4KAK/n66/9YkNiVZ0E1Z64VHgpXFRXS49w2/PkvMG20RslW27h+4ACt3KviU6y7yQa1FgwNUI1gFq6jQrqqzlwfC6VBSJ9RJ0VgqqqpFbkohV35pP6hGmBUguvUHEFYh5BKZReogW1QuP459Mg9yjAMt2Bf//gNPFpQCydugj1S+qJwc+1IoSfo5jU3sFygBApBIHHZFTEIHGc8ez1T91rigc1QcuOvXPOsQmPo3JOlIxnllZDe+liysuHoBj1AuHmDjo964NjVg+516MjhS9mZfSyMBVVsi2m63SB43/e3i7OZz9vW/xHpdTXImw/9mde5xE7Obh7c9Jdosiau/2Ty+PHa/+G68bH3Jm7Gc3xGJlF7dta27f8BNToV/h0KAAA=

metadata_json:
  {"categories":["automation","integration","notifications","e-commerce"],"complexity":"simple","use_cases":["Real-time admin notifications for new orders","Order monitoring and fulfillment alerts","Send order summaries to team chat","Quick access to order details via clickable link"],"estimated_setup_minutes":10,"required_services":["WooCommerce (REST API credentials)","Telegram (bot token and admin chat ID)","n8n instance with internet access to your WooCommerce site"],"key_features":["Triggers on new WooCommerce orders","Extracts order ID, status, total, and product list","Sends formatted Telegram message to admin","Includes a clickable button linking to the order view page","Minimal 3-node workflow (WooCommerce, Telegram, stickyNote)"],"target_audience":["E-commerce store owners and admins","Operations/fulfillment teams","Developers implementing store automations"]}


name: Search Google, Bing, Yandex & Extract Structured Results with Bright Data MCP & Google Gemini
author_name: Ranjan Dailata
author_username: ranjancse
categories: []
created_at: 2025-06-09T14:16:39.530Z
updated_at: 2025-06-09T14:16:39.530Z
url: https://n8n.io/workflows/4820
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  Notice
  Community nodes can only be installed on self-hosted instances of n8n.

  Who this is for?

  The Search Engine Intelligence Extractor is a powerful n8n automation that leverages Bright Data’s MCP based AI Agents to simulate human-like searches across Google, Bing, and Yandex, and then distills clean, structured insights using Google Gemini.

  This workflow is tailored for:

  SEO analysts researching competitors or market trends

  Market researchers needing real-time search visibility

  Journalists & content writers gathering contextual insights

  AI developers creating intelligent assistants

  Digital marketers tracking brand mentions or news

  What problem is this workflow solving?

  Traditional scraping of search engines is often blocked, cluttered, or filled with irrelevant information. Manually analyzing and cleaning this data for insight is time-consuming.

  This workflow solves the problem by:

  Simulating real user search behavior via Bright Data MCP based AI Agent

  Performing multi-platform search (Google, Bing, Yandex) in one unified flow

  Extracting clean, human-readable results (stripping ads, navigation, etc.)

  Structuring the content using Google Gemini LLM

  Automating delivery via Webhook or saving to disk

  What this workflow does

  Input Fields Node:

  Accepts the search query

  Accepts action for example - Perform a google search. Replace the action with bing, yandex etc. for other search providers

  Accepts Webhook notification URL

  Bright Data MCP Agent Execution:

  Triggers Bright Data’s intelligent search agent

  Handles search navigation, result loading, pagination

  Human Readable Data Extractor:

  Cleanses HTML, removes ads, footers, irrelevant links

  Produces a readable narrative of results

  Final Output Handling:

  Saves the processed response to disk

  Sends the structured data to a Webhook for real-time use

  Pre-conditions

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

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



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

  How to customize this workflow to your needs

  Add Scheduled Execution
  Add a Cron trigger to run this workflow on a set schedule (e.g., daily/weekly keyword tracking).

  Push Results to Custom Destinations

  Connect output to:

  Google Sheets (for analytics or dashboards)

  PostgreSQL or MySQL DBs (for structured storage)

  Notion or Airtable (for content pipelines)

  Slack or Email (for alerting teams)


  Customize Webhook Notifications
  Update the Webhook URL in the notification node to push processed results to external APIs, CRMs, or real-time dashboards.

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

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

metadata_json:
  {"categories":["automation","integration","data processing","web scraping","search intelligence"],"complexity":"complex","use_cases":["Competitive SEO research","Market visibility and trend research","News and content gathering for journalists","Building search-aware AI assistants","Brand mention and reputation monitoring"],"estimated_setup_minutes":90,"required_services":["n8n self-hosted instance (community nodes enabled)","Bright Data MCP Server (@brightdata/mcp) and Bright Data account (Web Unlocker proxy zone)","n8n-nodes-mcp community node","Google Gemini (PaLM) API key or Vertex AI access","Webhook endpoint or file storage destination (optional)"],"key_features":["Simulates human-like searches via Bright Data MCP AI Agents","Performs multi-platform searches (Google, Bing, Yandex) in one flow","Handles navigation, pagination, and dynamic result loading","Cleans and extracts human-readable results (removes ads, navigation, footers)","Structures and summarizes results using Google Gemini LLMs (PaLM/Gemini integration) and outputs JSON-like structured data"],"target_audience":["SEO analysts","Market researchers","Journalists and content writers"]}


name: DNB Company Search & Extract with Bright Data and OpenAI 4o mini
author_name: Ranjan Dailata
author_username: ranjancse
categories: []
created_at: 2025-06-09T14:48:49.096Z
updated_at: 2025-06-09T14:48:49.096Z
url: https://n8n.io/workflows/4821
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  Notice
  Community nodes can only be installed on self-hosted instances of n8n.

  Who this is for

  The DNB Company Search & Extract workflow is designed for professionals who need to gather structured business intelligence from Dun & Bradstreet (DNB). 

  It is ideal for:

  Market Researchers

  B2B Sales & Lead Generation Experts

  Business Analysts

  Investment Analysts

  AI Developers Building Financial Knowledge Graphs

  What problem is this workflow solving?

  Gathering business information from the DNB website usually involves manual browsing, copying company details, and organizing them in spreadsheets. 

  This workflow automates the entire data collection pipeline — from searching DNB via Google, scraping relevant pages, to structuring the data and saving it in usable formats.

  What this workflow does
  This workflow performs automated search, scraping, and structured extraction of DNB company profiles using Bright Data’s MCP search agents and OpenAI’s 4o mini model. 

  Here's what it includes:

  Set Input Fields: 
  Provide search_query and webhook_notification_url.

  Bright Data MCP Client (Search): 
  Performs Google search for the DNB company URL.

  Markdown Scrape from DNB: 
  Scrapes the company page using Bright Data and returns it as markdown.

  OpenAI LLM Extraction:

  Transforms markdown into clean structured data.

  Extracts business information (company name, size, address, industry, etc.)

  Webhook Notification: 
  Sends structured response to your provided webhook.

  Save to Disk: 
  Persists the structured data locally for logging or auditing.

  Pre-conditions

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

  Setup

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



  Make sure to copy the Bright Data API_TOKEN within the Environments textbox above as API_TOKEN=&lt;your-token&gt;.
  Update the Set input fields for search_query and webhook_notification_url.
  Update the file name and path to persist on disk.

  How to customize this workflow to your needs

  Search Engine**: 
  Default is Google, but you can change the MCP client engine to Bing, or Yandex if needed.

  Company Scope**: 
  Modify search query logic for niche filtering, e.g., "biotech startups site:dnb.com".

  Structured Fields**: 
  Customize the LLM prompt to extract additional fields like CEO name, revenue, or ratings.

  Integrations**: 
  Push output to Notion, Airtable, or CRMs like HubSpot using additional n8n nodes.

  Formatting**: 
  Convert output to PDF or CSV using built-in File and Spreadsheet nodes.

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

workflow_json_compressed:
  [encoded data, 4296 characters]

metadata_json:
  {"categories":["automation","web-scraping","data_extraction","business_intelligence","ai_integration"],"complexity":"complex","use_cases":["B2B lead generation and prospect discovery","Market research and competitive intelligence","Business/data enrichment for CRMs and analytics","Building financial/company knowledge graphs","Automated scraping and structuring of company profiles"],"estimated_setup_minutes":60,"required_services":["n8n self-hosted instance","Bright Data account (MCP Server, Web Unlocker/proxy zone)","n8n-nodes-mcp community node","@brightdata/mcp MCP server installed locally","OpenAI API access (4o mini model)","Google AI / Gemini API key (per workflow prerequisites)","A webhook endpoint to receive notifications (user-provided)"],"key_features":["Automated Google search for DNB company URLs via Bright Data MCP","Page scraping and markdown conversion using Bright Data Web Unlocker","LLM-based structured extraction (OpenAI 4o mini) from scraped markdown","Webhook notification with structured results","Local persistence of extracted data (save to disk) for logging/audit trails"],"target_audience":["Market researchers","B2B sales and lead generation teams","Business and investment analysts"]}


name: Extract and Analyze Google AI Overviews with LLM for SEO Recommendations
author_name: Roman Rozenberger
author_username: romek
categories: []
created_at: 2025-06-09T15:25:17.211Z
updated_at: 2025-06-09T15:25:17.211Z
url: https://n8n.io/workflows/4822
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:32
description:
  How it works

  • Extract AI Overviews from Google Search - Receives data from browser extension via webhook
  • Convert HTML to Markdown - Automatically processes and cleans AI Overview content  
  • Store in Google Sheets - Archives all extracted AI Overviews with metadata and sources
  • Generate SEO Guidelines - AI analyzes page content vs AI Overview to suggest improvements
  • Automate Analysis - Batch process multiple URLs and schedule regular checks

  Set up steps

  • Import workflow - Load the JSON template into your n8n instance (2 minutes)
  • Configure Google Sheets - Set up OAuth connection and create spreadsheet with required columns (5 minutes)  
  • Set up AI provider - Add OpenRouter API credentials for Gemini 2.5 Pro (3 minutes)
  • Install browser extension - Deploy the companion Chrome/Firefox extension for data extraction (5 minutes)
  • Test webhook endpoint - Verify the connection between extension and n8n workflow (2 minutes)

  Total setup time: ~15 minutes

  What you'll need:
  Google account for Sheets integration
  Google Sheet template with required columns
  OpenRouter API key for Gemini 2.5 Pro model access
  Browser extension: Chrome Extension or Firefox Add-on
  n8n instance (local or cloud)

  Use cases:
  SEO agencies** - Monitor AI Overview presence for client keywords
  Content marketers** - Analyze what content gets featured in AI Overviews
  E-commerce** - Track AI Overview coverage for product-related searches
  Research** - Build datasets of AI Overview content across different topics

  The workflow comes with a free browser extension (Chrome | Firefox) that automatically extracts AI Overview content from Google Search and sends it via webhook to your n8n workflow for processing and analysis.

  GitHub Repository: https://github.com/romek-rozen/ai-overview-extractor/

  Detailed Setup Instructions - AI Overview Extractor

  Prerequisites

  n8n instance** (local or cloud) - version 1.95.3+
  Google account** for Sheets integration
  OpenRouter API account** for Gemini 2.5 Pro access
  Browser** (Chrome/Firefox) for the extension

  Step 1: Import the Workflow

  Open n8n and navigate to Workflows
  Click "Add workflow" → "Import from JSON"
  Upload the AI_OVERVIES_EXTRACTOR_TEMPLATE.json file
  Save the workflow

  Step 2: Configure Google Sheets

  Create Google Sheets Document

  Create new Google Sheet with these columns:
        extractedAt | searchQuery | sources | markdown | myURL | task | guidelines | key 
     
  Here is public google sheet template: https://docs.google.com/spreadsheets/d/15xqZ2dTiLMoyICYnnnRV-HPvXfdgVeXowr8a7kU4uHk/edit?gid=0#gid=0 


  Copy the Google Sheets URL (you'll need it for the workflow)

  Set up Google Sheets Credentials

  In n8n, go to Settings → Credentials
  Click "Add credential" → "Google Sheets OAuth2 API"
  Follow the OAuth setup to authorize n8n access to Google Sheets
  Name the credential (e.g., "Google Sheets AI Overview")

  Configure Google Sheets Nodes

  Update these nodes with your Google Sheets URL:
  Get URLs to Analyze
  Save AI Overview to Sheets 
  Save SEO Guidelines to Sheets

  In each node:
  Set documentId to your Google Sheets URL
  Set sheetName to your Google Sheets URL
  Select your Google Sheets credential

  Step 3: Configure AI Provider (OpenRouter)

  Get OpenRouter API Key

  Sign up at https://openrouter.ai/
  Generate API key in your account settings
  Add credits to your account

  Set up OpenRouter Credentials

  In n8n, go to Settings → Credentials
  Click "Add credential" → "OpenRouter API"
  Enter your API key
  Name the credential (e.g., "OpenRouter AI Overview")

  Configure OpenRouter Node

  Select the Gemini 2.5 Pro Model node
  Choose your credential from the dropdown
  Verify the model (default: google/gemini-2.5-pro-preview)

  Step 4: Install Browser Extension

  Install in Chrome

  Official Extension (Recommended)
  Visit: https://chromewebstore.google.com/detail/ai-overview-extractor/cbkdfibgmhicgnmmdanlhnebbgonhjje
  Click "Add to Chrome"

  Install in Firefox

  Official Add-on
  Visit: https://addons.mozilla.org/en-US/firefox/addon/ai-overview-extractor/
  Click "Add to Firefox"

  Step 5: Configure Webhook Connection

  Get Webhook URL

  In n8n workflow, click on the Webhook node
  Copy the webhook URL (should be like: http://localhost:5678/webhook/ai-overview-extractor-template-123456789)

  Configure Extension

  Go to Google Search and perform any search with AI Overview
  Click the browser extension button (AI Overview Extractor)
  In webhook configuration section, paste your webhook URL
  Click "Test" - should show ✅ Test successful
  Click "Save" to store the configuration

  Step 6: Activate and Test

  Activate Workflow

  In n8n, toggle the workflow to "Active" (top right switch)
  Verify all nodes are properly configured

  Test End-to-End

  Go to Google Search
  Search for something that shows AI Overview
  Use the extension to extract AI Overview
  Send via webhook - check your Google Sheets for the data
  Verify the markdown conversion worked correctly

  Optional: Batch Analysis Setup

  For SEO Analysis Features

  In your Google Sheets, add URLs in the myURL column
  Set task column to "create guidelines"
  Run the workflow manually or wait for the 15-minute scheduler
  Check guidelines column for AI-generated SEO recommendations

  Troubleshooting

  Webhook Issues
  Ensure n8n is running on port 5678
  Check if workflow is activated
  Verify webhook URL format

  Google Sheets Errors
  Confirm OAuth credentials are working
  Check sheet URL format
  Verify column names match exactly
  Ensure nodes Get URLs to Analyze, Save AI Overview to Sheets, and Save SEO Guidelines to Sheets are properly configured

  OpenRouter Issues
  Check API key validity
  Ensure sufficient account credits
  Try different models if Gemini 2.5 Pro fails
  Verify the Gemini 2.5 Pro Model node is properly connected

  Extension Problems
  Check browser console for errors
  Verify extension is properly installed
  Ensure you're on google.com/search pages
  Confirm webhook URL is correctly configured in extension

  Next Steps

  Customize AI prompts** in the Generate SEO Recommendations node for your specific needs
  Adjust scheduler frequency** (default: 15 minutes)
  Add more URL analysis** by populating Google Sheets
  Monitor usage** and API costs

  Support

  GitHub Issues**: https://github.com/romek-rozen/ai-overview-extractor/issues
  n8n Community**: https://community.n8n.io/
  Template Documentation**: Check the included README files

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.manualTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.filter","n8n-nodes-base.html","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","n8n-nodes-base.splitInBatches","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.wait","n8n-nodes-base.limit","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.markdown","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.markdown"]

workflow_json_compressed:
  [encoded data, 8188 characters]

metadata_json:
  {"categories":["automation","integration","data processing","SEO","content analysis"],"complexity":"medium","use_cases":["Monitor AI Overview presence for keywords","Extract and archive AI Overview content for research","Generate SEO recommendations comparing page content to AI Overviews","Batch analysis and scheduled monitoring of multiple URLs","Content strategy and competitor analysis"],"estimated_setup_minutes":15,"required_services":["n8n instance (v1.95.3+)","Google Sheets (OAuth access / Google account)","OpenRouter API (Gemini 2.5 Pro key)","Browser extension: AI Overview Extractor (Chrome or Firefox)"],"key_features":["Browser-extension → webhook extraction of Google AI Overviews","HTML-to-Markdown conversion and content cleaning","Archive extracted items with metadata in Google Sheets","LLM-based SEO guideline generation (OpenRouter / Gemini 2.5 Pro)","Batch processing and scheduler for recurring checks (15-min default)"],"target_audience":["SEO agencies","Content marketers","E-commerce teams tracking product coverage in AI Overviews (catalog managers)`,`Researchers and data scientists building datasets of AI Overview content`,`Developers / automation engineers implementing LLM workflows"]}


name: Extract & Search ProductHunt Data with Bright Data MCP and Google Gemini AI
author_name: Ranjan Dailata
author_username: ranjancse
categories: []
created_at: 2025-06-09T16:00:55.377Z
updated_at: 2025-06-09T16:00:55.377Z
url: https://n8n.io/workflows/4823
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  Notice
  Community nodes can only be installed on self-hosted instances of n8n.

  Who this is for?

  This workflow template enables intelligent data extraction from ProductHunt using Bright Data’s Model Context Protocol (MCP) and processes search results with Google Gemini.

  This workflow is designed for individuals and teams who need automated, intelligent discovery and analysis of new tech products. It's especially valuable for:

  Startup Analysts & VC Researchers
  Growth Hackers & Marketers
  Recruiters & Tech Scouts
  Product Managers & Innovation Teams
  AI & Automation Enthusiasts

  What problem is this workflow solving?

  Traditional product discovery on ProductHunt is constrained by limited descriptions and requires repeated manual validation through web searches. Manually extracting and enriching this data is slow, repetitive, and error-prone.

  This workflow solves the problem by:

  Extracting real-time ProductHunt data using Bright Data’s MCP infrastructure to mimic real-user behavior and avoid blocks.

  Performing contextual searches on Google for a specific product on ProductHunt to gather use cases, reviews, and related information.

  Structuring results using Google Gemini LLM to provide human-readable insights and reduce noise.

  Delivering results seamlessly by saving output to disk, updating Google Sheets, and sending Webhook alerts.

  What this workflow does

  Input Field Node

  Define the ProductHunt category with the search term(s) you want to target. This is used to drive extraction and search operations.

  Agent Operation Node

  The agent performs two major tasks:

  Extract from ProductHunt
  Retrieves trending products from ProductHunt using Bright Data MCP

  Contextual Google Search for the product the agent searches Google for deeper context, including:

  	Reviews

  	Competitor mentions

  	Real-world usage examples

  LLM Node (Google Gemini)

  Analyzes and summarizes extracted web content

  Removes noise (ads, menus, etc.)

  Structures content into bullet points, insights, or JSON objects

  Pre-conditions

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

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



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

  How to customize this workflow to your needs

  This workflow is flexible and modular, allowing you to adapt it for various research, product discovery, or trend analysis use cases. Below are the key customization points and how to modify them.

  Define Your Target Products or Topics: 

  Change the input parameter to a specific ProductHunt category, tag, or keyword (e.g., "AI tools", "SaaS", "DevOps")

  Change Output Destinations : 
  Save to Disk**: Change the file format (.json, .csv, .md) or directory path

  Google Sheet**: Modify sheet name, structure (columns like Product, Summary, Link)

  Webhook Notification**: Point to a Slack/Discord/CRM/Webhook URL with payload mapping

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

workflow_json_compressed:
  [encoded data, 4880 characters]

metadata_json:
  {"categories":["integration","web scraping","data extraction","automation","AI/LLM"],"complexity":"complex","use_cases":["Product discovery and trend monitoring","VC / startup market research","Competitive intelligence and review aggregation","Marketing / growth campaign research","Content curation and summary generation"],"estimated_setup_minutes":90,"required_services":["n8n self-hosted (supports community nodes)","Bright Data (MCP Server + Web Unlocker proxy zone)","n8n-nodes-mcp community node","@brightdata/mcp (Bright Data MCP Server installation)","Google Gemini (PaLM) API or Vertex AI access / API key","Google Sheets (optional for output)","Webhook endpoint (Slack/Discord/CRM) for notifications (optional)"],"key_features":["Real-time extraction of trending ProductHunt items using Bright Data MCP to mimic real-user behavior","Contextual Google searches per product to gather reviews, mentions, and use cases","Google Gemini LLM for summarization, noise removal, and structured output (bullet points / JSON)","Multiple output sinks: save to disk, update Google Sheets, send webhook alerts","Modular inputs to target ProductHunt categories, tags or keywords for flexible research scopes"],"target_audience":["Startup analysts and VC researchers","Growth hackers and marketers","Recruiters and tech scouts looking for new products/companies"]}


name: Automated Lead Generation & Qualification with Google Maps, GPT-4 & HubSpot
author_name: David Olusola
author_username: dae221
categories: []
created_at: 2025-06-09T18:03:36.531Z
updated_at: 2025-06-09T18:03:36.531Z
url: https://n8n.io/workflows/4824
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  This n8n workflow automates CVE tracking by retrieving vulnerability details from the NVD API 🛡️, organizing and updating the data in Google Sheets 📊, and optionally alerting teams via Slack or Email 📩💬.

  Who is this for?

  This workflow is ideal for:

  Security operations (SecOps) teams 🧑‍💻
  DevSecOps engineers 🛠️
  IT compliance officers 🧾
  Vulnerability management analysts 🕵️
  Sysadmins or cloud engineers in regulated industries 🏢

  What problem does this workflow solve?

  Manually checking for the latest CVE information is inefficient and error-prone. This automation:

  Monitors NVD for CVE entries based on product or keyword filters 🔍
  Tracks new vulnerabilities and changes to existing ones ⏱️
  Logs all CVE data in a structured Google Sheet for ongoing review and audit 🧾
  Can trigger alerts or actions for high-severity CVEs 🚨

  What this workflow does

  This workflow builds an automated CVE monitoring system that:

  Queries the NVD API for vulnerability data matching keywords (e.g. "Apache", "Log4j") 📡
  Extracts relevant fields: CVE ID, description, severity (CVSS scores), published/modified dates, and affected products 🗂️
  Saves or updates the information in Google Sheets 📑
  Optionally filters for critical severity (e.g., CVSS &gt; 8.0) and sends Slack alerts or emails 📬
  Supports historical tracking and change detection over time 🕒

  Includes a Google Sheets template for tracking:

  CVE IDs and metadata
  Severity levels and scores
  Product/component tags
  Resolution/patch status tracking

  Setup

  Prerequisites

  You'll need:

  An n8n instance (cloud or self-hosted) ☁️
  A Google account + Google Sheets API credentials 📑
  (Optional) Slack webhook URL or email setup for notifications 💬

  Step 1: Configure API Inputs

  Open the 🔧 Configuration node and provide:

  NVD API parameters (keyword filters, date ranges, etc.)
  Google Sheet ID and tab name for output
  Slack webhook URL (optional)

  Step 2: Set Filters & Preferences

  Define:

  Target keywords or CPE filters (e.g. “Cisco ASA”, “Windows 10”) 🧩
  CVSS threshold for high/critical alerts 🎚️
  Update frequency (manual trigger, scheduled cron, webhook, etc.) 🔁

  Step 3: Connect to Google Sheets

  Update Sheet node with your destination Sheet ID
  Ensure columns like CVE ID, Description, Severity, Last Updated exist

  Step 4: Enable Alerts (Optional)

  Set up Slack node with your webhook URL or connect SMTP/Email node
  Format alert message with key CVE data

  Step 5: Activate and Run

  Save and activate the workflow 🔛
  Run manually or schedule it to run periodically (e.g., every 6 hours) ⏱️

  Customization Tips

  Add deduplication logic to avoid reprocessing the same CVEs ♻️
  Use filters to monitor only critical CVEs or specific vendors/vendors 🔍
  Extend with GitHub Security Advisories or Exploit DB integration 🧩
  Track remediation status and link to patch notes or fixes 🩹

  Troubleshooting

  Common Issues

  Empty results from NVD: Check if your keywords are too narrow or if NVD API rate limits apply 📉
  Google Sheets error: Ensure the Sheet ID and tab names are correct and accessible 🔑
  Alerts not sending: Check Slack webhook or email configurations 🔧

  Getting Help

  Read inline comments in n8n 📝
  Visit the n8n Docs 📚
  Contact template creator: dimejicole21@gmailcom

  This template was created by David Olusola. 🛡️

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.manualTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.hubspot","n8n-nodes-base.slack","n8n-nodes-base.code","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.openAi"]

workflow_json_compressed:
  H4sIAAAAAAAAE62XzW4cRRDHX2U0ynHK9Ed1T/eesIIJkQgEjCJB5EN/VK9HXs9sZsZOLMtXxIcEUojggkBCSBy5IeBxeAF4BDTrYK/NznoduI2029W/qvpXzX9O8yrmk3xun+yfHLzT8nsHD7bFzkd5kR9S7/LJaV7VXe/qQPeH/wnGWNDISh4EMyg1096qoGVplfestGVAzqRmWDKlnFZGozVklPJWUwr5WZHX7pDySb59P3ubXMweuLBf1ZQ9bJtJdq9ppjPKHrh5l/3x8fNsd+bCweLprSO/O2/6xfOdO3fyIu/dtMsnj/eKvG4iDY+n58kkxaOXpQLhBQMMwYAXKUEoY5SGHGLy+QXHw7bJ3iTXH7XUZe8eU3tc0dMh/Ml8+Lk2NSzig3cdbXV9FQ5O3ml6yot83nRVXzV1PnkskRXANdsr8rlr3SH11HZD+UJT91T3+SQfch+CPqK2WxziZ8VLYhE4llxEUJISoNIMPC8dKG4Vlg45Wn1J/Nf3L37K7jZ1qqZHrRsAhuqMI1N/lVVpVqD5F+p1PLmFF4DEjEkMDXjjNaA2HqwOCmJwSmuVpLbhEvCPr3/589cvs93etf15k+9RTeeoo5iHrj5ysw/aajql9t/F3QD4sp6sND4pZoG8VIBBB3Bx0ILykiXCkrsr9fzm94F3WXy7oXXzBcdq2v2+n79PT46ou1bc0rBC3obV+RTJcQIRowakFMEn5oCbIKRPER3DZdavvss+pNmseZo9dFP6j6TqNqQl9+R18MCYJMAoJFhnPQgWgmc8MmFpmfSn37LteDzsjpi94XqX3Z2Rq9eghiZeGyvO2EatFxeQNgpUinNwERmgVwhWewuoMQgmAtPEl5T67adD53cOXTXLHlFbpSqsl+loObkQt1QpUfI6lQ6cdR6QWw3WxEGqaDga7mO0y/V8/sX5MO3UbRX2D6nus516WtV0m4KazSjF0uijZAxLMGQjoLIWHCkLiWvCGLnxii9TfvFz9t6Rm1X9SfZmNevXtLtKV9kEQ1aI27HJILQOIB33gGyYndIQSPQxBleqKOWV2fks23k2b9r+HDFVFBcl7UYZp4udsLtP1HfXaIVmBb+ZFrfUBW8ygjhHBiomDyhNBMMIIbAQIi+JKSuu8H7+D+/2bPbqpGyz/blM6n2KQQQLqkwaEEUAT8kAj8kEGZKzeGUrfflDdrcl19PFi/puU/cu9OODdOS7eXNtiASajYp6KQFuOfMxGODkCdBGAueQgDNnkEXrfLgizxcvXpqK7Rm143Td8J8VDT9f7U/J7zfNwcISeTTBkYgQYyJAIxV4PgiRBwwyWUWL+VifztZlQsiQosIIVnINGMsExiUJJjLFJEnFSndFI59k27WbnfRV6G6/Dxba0LeaORmCIGQQSpMAuU/gVeJgLAnPubE28dUzd4H5qtO2AeeyhiMX0mAgCBoH08IdWOc5aMEEF6XjKYRl0h+/zv4xpS/Xw/V3weu1qV+7ZJ65ehr2XVVvNXOqt6trqxY3tC1b5myvyF3oq2PKJ8nNOiryjvq+qqcLD0nPKBwNUd9tI7X5JD/mg5k8Po+wUCFiYtKRAhl0AozDGCBG4Iu2kCo5mrwY3GhNYQi1CLxqW09O80NXDQk8Pl0460035+JUkVd1pGf5hA1tuDg+NnXXz+ztnRUjmr6Ja4W6RqKvdM+rw29gDNelfaNXW3d4g9f9ygTHPc3qHG+W/ViXRrJbfc3NbnDkmlG+1fe8atnWEK66aAPnOHLNOODqhNYYqrXaW+cd1h5c90IZk8Loelid0wZ2YeSm8Yn8X2W39hN29U3rP8pX3HJ29jfdBPz6fhEAAA==

metadata_json:
  {"categories":["security","monitoring","automation","integration","data processing"],"complexity":"medium","use_cases":["Automated CVE/vulnerability monitoring","Vulnerability management and tracking","SecOps/DevSecOps alerting for high-severity vulnerabilities","Compliance and audit-ready vulnerability logging","Change detection and historical tracking of CVE data"],"estimated_setup_minutes":30,"required_services":["NVD (National Vulnerability Database) API","Google Sheets API / Google account","n8n instance (cloud or self-hosted)","Slack webhook (optional, for alerts)","SMTP / Email service (optional, for alerts)"],"key_features":["Periodic queries to NVD API with keyword/CPE filters","Extraction of CVE metadata (CVE ID, description, CVSS, dates, affected products)","Save/update structured records in Google Sheets","Filter/thresholding for high/critical CVEs (e.g., CVSS > 8.0)","Optional Slack or email notifications for critical findings and changes to CVEs over time (change detection/deduplication support)"],"target_audience":["Security operations (SecOps) teams","DevSecOps engineers","Vulnerability management analysts / security analysts / incident responders</> (trimmed due to formatting error?)"]}


name: AI-Powered WhatsApp Chatbot for Text, Voice, Images, and PDF with RAG
author_name: NovaNode
author_username: thomasgpt
categories: []
created_at: 2025-06-09T22:22:54.378Z
updated_at: 2025-06-09T22:22:54.378Z
url: https://n8n.io/workflows/4827
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 20:27:49
description:
  Who is this for?
  This template is designed for internal support teams, product specialists, and knowledge managers in technology companies who want to automate ingestion of product documentation and enable AI-driven, retrieval-augmented question answering via WhatsApp.

  What problem is this workflow solving?
  Support agents often spend too much time manually searching through lengthy documentation, leading to inconsistent or delayed answers. This solution automates importing, chunking, and indexing product manuals, then uses retrieval-augmented generation (RAG) to answer user queries accurately and quickly with AI via WhatsApp messaging.

  What these workflows do

  Workflow 1: Document Ingestion & Indexing

  Manually triggered to import product documentation from Google Docs.
  Automatically splits large documents into chunks for efficient searching.
  Generates vector embeddings for each chunk using OpenAI embeddings.
  Inserts the embedded chunks and metadata into a MongoDB Atlas vector store, enabling fast semantic search.

  Workflow 2: AI-Powered Query & Response via WhatsApp

  Listens for incoming WhatsApp user messages, supporting various types:
  	Text messages: Plain text queries from users.
  	Audio messages: Voice notes transcribed into text for processing.
  	Image messages: Photos or screenshots analyzed to provide contextual answers.
  	Document messages: PDFs, spreadsheets, or other files parsed for relevant content.
  Converts incoming queries to vector embeddings and performs similarity search on the MongoDB vector store.
  Uses OpenAI’s GPT-4o-mini model with retrieval-augmented generation to produce concise, context-aware answers.
  Maintains conversation context across multiple turns using a memory buffer node.
  Routes different message types to appropriate processing nodes to maximize answer quality.

  Setup

  Setting up vector embeddings

  Authenticate Google Docs and connect your Google Docs URL containing the product documentation you want to index.
  Authenticate MongoDB Atlas and connect the collection where you want to store the vector embeddings. Create a search index on this collection to support vector similarity queries.
  Ensure the index name matches the one configured in n8n (data_index).
  See the example MongoDB search index template below for reference.

  Setting up chat

  Authenticate the WhatsApp node with your Meta account credentials to enable message receiving and sending.
  Connect the MongoDB collection containing embedded product documentation to the MongoDB Vector Search node used for similarity queries.
  Set up the system prompt in the Knowledge Base Agent node to reflect your company’s tone, answering style, and any business rules, ensuring it references the connected MongoDB collection for context retrieval.

  Make sure

  Both MongoDB nodes (in ingestion and chat workflows) are connected to the same collection with:

  An embedding field storing vector data,

  Relevant metadata fields (e.g., document ID, source), and

  The same vector index name configured (e.g., data_index).

  Search Index Example:

  {
    "mappings": {
      "dynamic": false,
      "fields": {
        "_id": { "type": "string" },
        "text": { "type": "string" },
        "embedding": {
          "type": "knnVector",
          "dimensions": 1536,
          "similarity": "cosine"
        },
        "source": { "type": "string" },
        "doc_id": { "type": "string" }
      }
    }
  }

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.vectorStoreMongoDBAtlas","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","@n8n/n8n-nodes-langchain.vectorStoreMongoDBAtlas","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.googleDocs","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.whatsAppTrigger","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.extractFromFile","n8n-nodes-base.extractFromFile","n8n-nodes-base.extractFromFile","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.whatsApp","n8n-nodes-base.whatsApp","n8n-nodes-base.whatsApp","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.switch","n8n-nodes-base.switch","n8n-nodes-base.whatsApp","n8n-nodes-base.whatsApp"]

workflow_json_compressed:
  [encoded data, 6692 characters]

metadata_json:
  {"categories":["automation","knowledge management","customer support","AI-powered search","integration"],"complexity":"complex","use_cases":["Automated internal product support via WhatsApp","Retrieval-augmented question answering from product docs","On-demand access to manuals and SOPs for support agents","Multimodal user query handling (text, voice, image, PDF)","Building an up-to-date searchable knowledge base"],"estimated_setup_minutes":90,"required_services":["Google Docs (source documents)","MongoDB Atlas (vector store with vector search index)","OpenAI (embeddings + GPT-4o-mini or similar LLM)","Meta/WhatsApp Business API (WhatsApp messaging)","n8n (workflow automation runtime)"],"key_features":["Automated document ingestion and chunking","Vector embedding generation and insertion into MongoDB vector index","Semantic similarity search (RAG) for accurate answers","Supports text, voice (transcription), images, and document (PDF) inputs","Conversation memory buffer for multi-turn context retention and routing by message type"],"target_audience":["Internal support teams","Product specialists and documentation owners","Knowledge managers and KB maintainers in tech companies」「Developers/automation engineers implementing RAG pipelines"]}


name: Generate SEO Arabic Articles and Save to Notion
author_name: Mahmoud Ashraf
author_username: ashrafai
categories: []
created_at: 2025-06-09T22:27:04.645Z
updated_at: 2025-06-09T22:27:04.645Z
url: https://n8n.io/workflows/4828
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:33
description:
  This workflow automatically creates in-depth, SEO-friendly Arabic articles based on any keyword you provide. It researches the topic, generates a full article outline, writes every section in Arabic, and saves the final article directly to your Notion workspace—all in a few clicks.

  How It Works

  Step 1:** You submit a simple web form with your keyword and (optionally) an article title.
  Step 2:** The workflow researches the topic using advanced AI, gathers trending questions from Google, and creates a detailed, structured outline.
  Step 3:** Each section of the article is written in Arabic by AI, following best SEO practices and including real FAQs.
  Step 4:** The completed article is automatically formatted and saved to your Notion database, ready for review or publishing.

  Setup Instructions

  What you need:**
      An OpenAI API key (for AI-powered writing and outline generation)
      An OpenRouter API key (for research via Perplexity/Sonar AI)
      A Notion account and Notion API integration (for saving articles)
      DataForSEO account (for fetching Google "People Also Ask" questions)
  How to set up:**
      Import the workflow into your n8n instance.
      Connect your API credentials for OpenAI, OpenRouter, Notion, and (optionally) DataForSEO.
      Update your Notion database ID in the workflow settings.
      Deploy the workflow. Fill out the web form to generate your first article.
  Setup time:** 10–20 minutes if you already have your accounts.

  Tip:

  You can fully customize the outline and writing prompts for your target audience or topic. The workflow is modular—easy to adapt for different languages or content styles.

nodes_used:
  ["n8n-nodes-base.formTrigger","n8n-nodes-base.splitOut","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.httpRequest","n8n-nodes-base.notion","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.form","n8n-nodes-base.stickyNote","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 16572 characters]

metadata_json:
  {"categories":["automation","content_generation","SEO","integration"],"complexity":"medium","use_cases":["Generate long-form SEO-friendly Arabic blog posts","Rapid content production for Arabic websites","Create article outlines and FAQs based on keyword research","Save and manage published drafts in Notion for editorial workflows"],"estimated_setup_minutes":15,"required_services":["OpenAI API","OpenRouter (Perplexity/Sonar research)","Notion (account + integration)","DataForSEO (for Google People Also Ask)","n8n instance"],"key_features":["Keyword-driven web form input to trigger article generation","AI-powered topic research and trending question aggregation","Automatic structured outline creation","Section-by-section Arabic article writing following SEO best practices","Generation of real FAQs and inclusion in the article body or metadata output format/Notion fields"],"target_audience":["Content marketers","SEO specialists","Arabic-speaking copywriters and bloggers」「Digital agencies and content teams"]}


name: Real-time Extract of Job, Company, Salary Details via Bright Data MCP & OpenAI
author_name: Ranjan Dailata
author_username: ranjancse
categories: []
created_at: 2025-06-09T23:19:37.813Z
updated_at: 2025-06-09T23:19:37.813Z
url: https://n8n.io/workflows/4829
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  Notice
  Community nodes can only be installed on self-hosted instances of n8n.

  Who this is for

  This workflow automates the real-time extraction of Job Descriptions and Salary Information from job listing pages using Bright Data MCP and analyzes content using OpenAI GPT-4o mini. 

  This workflow is ideal for:

  Recruiters & HR Tech Startups**: Automate job data collection from public listings

  Market Intelligence Teams**: Analyze compensation trends across companies or geographies

  Job Boards & Aggregators**: Power search results with structured, enriched listings

  AI Workflow Builders**: Extend to other career platforms or automate resume-job match analysis

  Analysts & Researchers**: Track hiring signals and salary benchmarks in real time

  What problem is this workflow solving?

  Traditional scraping of job portals can be challenging due to cluttered content, anti-scraping measures, and inconsistent formatting. Manually analyzing salary ranges and job descriptions is tedious and error-prone.

  This workflow solves the problem by:

  Simulating user behavior using Bright Data MCP Client to bypass anti-scraping systems

  Extracting structured, clean job data in Markdown format

  Using OpenAI GPT-4o mini to analyze and extract precise salary details and refined job descriptions

  Merging and formatting the result for easy consumption

  Delivering final output via webhook, Google Sheets, or file system

  What this workflow does

  Components & Flow

  Input Nodes
  job_search_url: The job listing or search result URL

  job_role: The title or role being searched for (used in logging/formatting)

  MCP Client Operations
  MCP Salary Data Extractor

  	Simulates browser behavior and scrapes salary-related content (if available)

  	MCP Job Description Extractor

  Extracts full job description as structured Markdown content

  OpenAI GPT-4o mini Nodes

  Salary Information Extractor

  Uses GPT-4o mini to detect, clean, and standardize salary range data (if any)

  Job Description Refiner

  Extracts role responsibilities, qualifications, and benefits from unstructured text

  Company Information Extractor

  Uses Bright Data MCP and GPT-4o mini to extract the company information

  Merge Node
  Combines the refined job description and extracted salary information into a unified JSON response object

  Aggregate node
  Aggregates the job description and salary information into a single JSON response object

  Final Output Handling

  The output is handled in three different formats depending on your downstream needs:

  Save to Disk**

  	Output stored with filename including timestamp and job role

  Google Sheet Update**

  	Adds a new row with job role, salary, summary, and link

  Webhook Notification**

  	Pushes merged response to an external system

  Pre-conditions

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

  Setup

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



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

  How to customize this workflow to your needs

  Modify Input Source

  Change the job_search_url to point to any job board or aggregator

  Customize job_role to reflect the type of jobs being analyzed

  Tweak LLM Prompts (Optional)

  Refine GPT-4o mini prompts to extract additional fields like benefits, tech stacks, remote eligibility

  Change Output Format

  Customize the merged object to output JSON, CSV, or Markdown based on downstream needs

  Add additional destinations (e.g., Slack, Airtable, Notion) via n8n nodes

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

workflow_json_compressed:
  [encoded data, 5764 characters]

metadata_json:
  {"categories":["automation","integration","web scraping","data processing","AI/ML"],"complexity":"complex","use_cases":["Real-time job listing scraping and enrichment","Automated extraction and normalization of salary data","Market intelligence and compensation analysis","Powering job boards or aggregators with structured listings","Automating resume-job matching or downstream HR workflows"],"estimated_setup_minutes":60,"required_services":["Bright Data MCP (and Web Unlocker / proxy zone)","n8n self-hosted with n8n-nodes-mcp installed","OpenAI API (GPT-4o mini) — or compatible LLM endpoint (Google Gemini listed as optional)","Google Sheets API (optional, for sheet output)","Webhook endpoint or destination service (optional)","Local filesystem or storage for Save-to-Disk output"],"key_features":["Simulates browser behavior via Bright Data MCP to bypass anti-scraping","Extracts full job descriptions as structured Markdown","Uses LLM (GPT-4o mini) to detect, clean and standardize salary ranges","Refines responsibilities, qualifications and benefits from unstructured text","Merges and aggregates extracted data into unified JSON responses','Multiple output channels: file, Google Sheets, webhook"],"target_audience":["Recruiters & HR tech startups","Market intelligence teams and researchers","Job boards & aggregators operators/engineers  to enrich listings with structure and salaries  development teams building AI workflows"]}


name: Automate LinkedIn Profile Search & Cold Email Outreach with OpenAI and Hunter
author_name: Abhijay Vuyyuru
author_username: abhijayvuyyuru
categories: []
created_at: 2025-06-10T01:46:22.975Z
updated_at: 2025-06-10T01:46:22.975Z
url: https://n8n.io/workflows/4831
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:32
description:
  Problem

  🚨 LinkedIn search is BROKEN. 


  I waste hours on LinkedIn manually filtering profiles, reading summaries, hoping they’d reply—tedious, frustrating, inefficient.

  I wish LinkedIn had built an agent that would get me to the right profile with one click!

  If only I could just type:
  "Product managers working on YouTube Shorts' generative AI features."

  and seconds later, have LinkedIn URLs, names, emails, and full context about them.

  Introducing LinkGPT, a LinkedIn Agent, an automated agentic workflow powered by n8n.

  Prerequisites: 
  Required accounts/API keys for Hunter.io, Google, and OpenAI.

  This would be helpful for:

  🎯 Job Seekers: Skip ATS, email hiring managers directly ( I wish I had this when I was recruiting!)

  🎯 Recruiters: Reach your dream candidates first

  🎯 Founders & Sales Teams: Share your demos with customers directly (this does NOT use the expensive Sales Navigator API)

  Step-by-step workflow:

  Takes 5-10 minutes to setup.

  Generate a Boolean search string for LinkedIn profiles.
  Perform authenticated Google searches using your query.
  Extract LinkedIn URLs and workplace context from the search results.
  Use OpenAI to extract first name, last name, and domain name from the context.
  Use Hunter.io to find emails of the contacts.
  Append all results to your connected Google Sheet. Columns: first_name, last_name, domain_name, email, context



  I put together a clear, step-by-step guide on setting this up yourself.

  Sample Query

  Sample:

  Input: "I am headed to NYC later this month, whom should I meet with that works in product management for gen AI products?"

  Output: List of 10 contacts with first name, last name, workplace, email address and context about them so you can email them. 

nodes_used:
  ["n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.hunter","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["automation","integration","data processing","lead generation"],"complexity":"medium","use_cases":["LinkedIn profile discovery and enrichment","Cold email outreach and contact acquisition","Candidate sourcing for recruiters","Sales prospecting and demo outreach","Networking and warm introductions for job seekers/founders"],"estimated_setup_minutes":10,"required_services":["Hunter.io API","Google account (authenticated search & Google Sheets)","OpenAI API","n8n (workflow platform)"],"key_features":["Generates Boolean LinkedIn search strings from natural language prompts","Performs authenticated Google searches to find LinkedIn profile URLs","Extracts workplace context and parses names/domain using OpenAI","Finds professional emails via Hunter.io","Appends enriched contacts (first_name, last_name, domain_name, email, context) to Google Sheets for later outreach"],"target_audience":["Recruiters and sourcers","Sales and business development teams","Founders and startup teams doing outreach\",\"Job seekers and networkers"]}


name: Automated Document Translation with Straker, Google Drive & Slack
author_name: Vijayeta Sinel
author_username: vijayeta
categories: []
created_at: 2025-06-10T03:19:14.179Z
updated_at: 2025-06-10T03:19:14.179Z
url: https://n8n.io/workflows/4832
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:33
description:
  Automate document translation and ensure translation accuracy using Straker Verify, Google Drive and Slack.

  **How it works?
  **
  A workflow step is set up to "watch" a Google Drive folder. When your team members place new files in this folder, they are downloaded. Straker Verify then translates them and provides a quality score.

  Once Straker Verify has completed this, the job info is fetched, the translation is saved to an output folder and you are notified via Slack.

  What problem does this solve?
  When using AI to translate documents, you have no idea about the quality and accuracy of the output. This template answers the question “How good is my translation?” so you have a high level of confidence before you publish.

  Who is this for?
  This workflow template is designed for businesses needing translation and localization of documents such as text docs, presentations, web pages, transcripts, video subtitles and others. Use it to build workflows that localize your content at scale while maintaining translation quality, accuracy and compliance.

  Set up instructions

  Straker Verify Integration with n8n

  **Connect to Straker Verify: Obtain Your API Key
  Sign Up/Log In:**
  Visit https://verify.straker.ai/ to create an account or log in.
  Navigate to API Keys: Go to `Verify → Settings → API Keys.
  Copy Your Key: Find and copy your API key.
  Add Key to n8n: In n8n, go to Settings → Credentials → Straker Verify.

  Set Up Credentials for the Straker Verify Node
  Open n8n and go to "Credentials".
  From the left sidebar, click on "Credentials".
  Search for "Straker Verify" and select "Straker Verify API" from the dropdown.
  Paste the copied access token from the Verify app and save it.

  Assign Credentials to the Node
  1.Go to your workflow and open the Straker Verify node.
  2.Select the "Straker Verify API" credentials you just created from the dropdown (Credentials to connect with), and save.

  ✅ You are now ready to use the workflow.

  Workflow Steps

  Step 1: Initiate Workflow – Upload Files to Google Drive
  1.Upload one or more files to the designated Google Drive folder.
   This triggers the "New File in Google Drive" node in n8n.

  Step 2: Verify Token Balance
  The workflow checks your token balance via:
  Get Current User Balance
  User Has Enough Tokens
  Not enough tokens?
   You will receive a Slack message:
  Not enough tokens
   Please top up and re-upload your files.

  Step 3: Select Workflow
  The system fetches available workflows via:
  Fetch All Users Workflows
  No matching workflow found?
   You'll be notified via Slack:
   No workflow found

  Step 4: Create Project in Straker Verify
  The following steps are handled automatically:
  Fetch language/project options
  Download files from Google Drive
  Create a new project using:
  Create Straker Project
  ✅ You'll receive a Slack confirmation: &gt; "Project created – ID: xxxxxx"

  Step 5: Process Completion & File Return
  Once files are processed by Straker:
  The Incoming Translation Result webhook is triggered.
  The workflow:
  Downloads processed files: Get File Content from Strakerh - Uploads them to Google Drive: Upload File to Google Drivee

  Step 6: Confirmation - Workflow Complete
  You'll receive a final Slack message:
  &gt; "Workflow complete – Files are now available in Google Drive"

nodes_used:
  ["n8n-nodes-base.code","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.googleDrive","n8n-nodes-base.webhook","n8n-nodes-base.googleDrive","n8n-nodes-base.slack","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-straker-verify.strakerVerify","n8n-nodes-straker-verify.strakerVerify","n8n-nodes-straker-verify.strakerVerify"]

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

metadata_json:
  {"categories":["automation","integration","translation/localization","file management","quality assurance"],"complexity":"medium","use_cases":["Automated document translation and localization","Pre-publish translation quality checks","Translating presentations, transcripts, subtitles, web pages at scale","Team notifications and handoff for translated assets"],"estimated_setup_minutes":20,"required_services":["Straker Verify (API)","Google Drive (Google Workspace)","Slack (workspace)","n8n instance"],"key_features":["Watch Google Drive folder and auto-download new files","Check Straker token balance before job submission","Create projects and submit files to Straker Verify automatically","Receive translation results via webhook and save outputs back to Google Drive","Fetch translation quality/verification scores from Straker Verify','Slack notifications for errors, progress and completion"],"target_audience":["Localization teams","Content/marketing managers","Translation project managers/coordinators`,`Developers/automation engineers"]}


name: Multiple Websites Monitoring with Notifications including Phone Calls
author_name: InfyOm Technologies
author_username: infyom
categories: []
created_at: 2025-06-10T05:10:57.984Z
updated_at: 2025-06-10T05:10:57.984Z
url: https://n8n.io/workflows/4833
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:32
description:
  ✅ What problem does this workflow solve?
  Automatically monitor multiple websites every 5 minutes, log downtime, notify your team instantly via multiple channels, and track uptime/downtime in a Google Sheet—without relying on expensive monitoring tools.

  ⚙️ What does this workflow do?

  Triggers every 5 minutes to monitor website health.
  Fetches a list of website URLs from a Google Sheet.
  Checks the status of each website one by one.
  Sends instant alerts if a website is down (Email, Slack, Telegram, Voice Call).
  Logs downtime events in Google Sheets.
  Tracks when websites are back up and updates the log.
  Sends recovery notifications when a site is live again (Email, Slack, Telegram).

  🔧 Setup

  📄 Google Sheets Setup
  Sheet 1: List of website URLs to monitor.
  Sheet 2: Log to store uptime/downtime records.
  Sample Format: https://docs.google.com/spreadsheets/d/1_VVpkIvpYQigw5q0KmPXUAC2aV2rk1nRQLQZ7YK2KwY/edit?usp=sharing

  ✉️ Gmail, Slack & Telegram Setup
  Connect Gmail, Slack, and Telegram to n8n.
  Configure each service with proper credentials or OAuth.

  📞 Vapi (Voice Call) Setup
  Create a Vapi account.
  Generate an API key.
  Configure API Parameters (vapi_api_key, assistant_id, number, phone_number_id) on VAPI Node.
  Insert the First Message specified in the Workflow.

  🧠 How it Works

  ⏱ 1. Scheduled Monitoring
  A Schedule Trigger runs the workflow every 5 minutes. It reads the list of URLs from the Google Sheet and loops through each one.

  🌍 2. Website Health Check
  Each website is pinged to check if it’s online.

  🔴 3. If Website is Down:
  It verifies if a downtime record already exists.
  If not, it:
    Adds a new row in the Google Sheet with the timestamp.
    Sends notifications via:
      📧 Email
      💬 Slack
      📲 Telegram
      📞 Voice Call via Vapi

  🟢 4. If Website is Back Up:
  It fetches the matching downtime record.
  Updates the sheet with:
    ✅ Uptime timestamp
    ⏱ Total downtime duration
  Sends recovery notifications via:
    📧 Email
    💬 Slack
    📲 Telegram  
  (No phone call is made for uptime.)

  👤 Who can use it?

  This is perfect for:
  🚀 Startups
  👨‍💻 Freelance Developers
  🛠 SaaS Product Owners
  🖥 IT/DevOps Teams

  If you're looking to replace tools like UptimeRobot, Pingdom, or StatusCake, this no-code solution gives you full control, customization, and cost-efficiency.

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

workflow_json_compressed:
  [encoded data, 5568 characters]

metadata_json:
  {"categories":["monitoring","automation","integration","alerting","devops"],"complexity":"medium","use_cases":["Website uptime monitoring","Multi-channel incident alerts (email, Slack, Telegram, voice)","Downtime logging and recovery tracking","SLA/uptime reporting in Google Sheets","Replacing paid uptime services with no-code solution"],"estimated_setup_minutes":30,"required_services":["Google Sheets","Gmail (or SMTP)","Slack","Telegram","Vapi (voice call API)","Public HTTP access to monitored websites"],"key_features":["Scheduled checks (every 5 minutes)","Reads monitored URLs from Google Sheet","Per-site health checks with batching","Creates and updates downtime records in Google Sheets","Sends instant notifications via Email, Slack, Telegram, and Voice Call (Vapi) on downtime"],"target_audience":["Startups","Freelance developers","SaaS product owners/teams of small products/services owners of small products/services? (remove duplication)"]}


name: Automate Gym Lead Nurturing with Facebook Ads, WhatsApp & Google Sheets Tracking
author_name: Mourya Chaitanya
author_username: chaitanya
categories: []
created_at: 2025-06-10T06:17:05.257Z
updated_at: 2025-06-10T06:17:05.257Z
url: https://n8n.io/workflows/4834
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-30 08:33:37
description:
  📌 What it does:

  Captures leads from Facebook Ads

  Sends instant WhatsApp to leads

  Waits & checks for bookings

  If booked anytime during 5-day nurturing, it stops the follow-ups and sends confirmations to both lead & gym owner

  If not booked, continues to nurture daily for 5 days with reminders

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.if"]

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

metadata_json:
  {"categories":["automation","marketing automation","lead management","integration"],"complexity":"complex","use_cases":["Automated lead capture from Facebook Ads","Immediate WhatsApp outreach to new leads","Multi-day nurture sequence for unbooked leads","Booking detection and follow-up cancellation","Lead tracking and reporting in Google Sheets"],"estimated_setup_minutes":45,"required_services":["Facebook Lead Ads (or Facebook Ads webhook)","WhatsApp API (e.g., Twilio/WhatsApp Business API or Meta)","Google Sheets","n8n Webhooks/HTTP endpoints","AI provider for personalization (e.g., OpenAI/n8n AI)"],"key_features":["Captures leads via Facebook Ads webhooks","Sends instant WhatsApp messages to new leads","5-day daily nurture sequence with conditional checks","Stops follow-ups if a booking is detected","Sends confirmations to lead and gym owner upon booking or completion of flow"],"target_audience":["Gym owners and fitness studio managers","Marketing and growth teams","Sales/lead follow-up teams for local businesses"]}


name: Enrich Company Firmographic Data in Google Sheets with Explorium MCP
author_name: explorium
author_username: explorium
categories: []
created_at: 2025-06-10T06:35:10.916Z
updated_at: 2025-06-10T06:35:10.916Z
url: https://n8n.io/workflows/4835
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  Google Sheets Company Enrichment with Explorium MCP

  Template

  Download the following json file and import it to a new n8n workflow:

  google\_sheets\_enrichment.json

  Overview

  This n8n workflow template enables automatic enrichment of company information in your Google Sheets. When you add a new company or update existing company details (name or website), the workflow automatically fetches additional business intelligence data using Explorium MCP and updates your sheet with:

  Business ID
  NAICS industry code
  Number of employees (range)
  Annual revenue (range)

  Key Features

  Automatic Triggering**: Monitors your Google Sheet for new rows or updates to company name/website fields
  Smart Processing**: Only processes new or modified rows, not the entire sheet
  Data Validation**: Ensures both company name and website are present before processing
  Error Handling**: Processes each row individually to prevent one failure from affecting others
  Powered by AI**: Uses Claude Sonnet 4 with Explorium MCP for intelligent data enrichment

  Prerequisites

  Before setting up this workflow, ensure you have:

  n8n instance (self-hosted or cloud)
  Google account with access to Google Sheets
  Anthropic API key for Claude
  Explorium MCP API key

  Installation & Setup

  Step 1: Import the Workflow

  Create a new workflow.
  Download the workflow JSON from above.
  In your n8n instance, go to Workflows → Add Workflow → Import from File
  Select the JSON file and click Import

  Step 2: Create Google Sheet

  Create a new google sheet (or make a copy of this template)
  Your Google Sheet must have the following columns (exact names):

  name - Company name
  website - Company website URL
  business_id - Will be populated by the workflow
  naics - Will be populated by the workflow
  number_of_employees_range - Will be populated by the workflow
  yearly_revenue_range - Will be populated by the workflow

  Step 3: Configure Google Sheets Credentials

  You'll need to set up two Google credentials:

  Google Sheets Trigger Credentials:

  Click on the Google Sheets Trigger node
  Under Credentials, click Create New
  If working on n8n Cloud, Click the 'Sign in with Google' button

     

  Grant permissions to read and monitor your Google Sheets
  If working on n8n Instance, Follow the OAuth2 authentication process here
  Fill the Client ID and Client Secret fields

  Google Sheets Update Credentials:

  Click on the Update Company Row node
  Under Credentials, select the same credentials or create new ones (The same you did above)
  Ensure permissions include write access to your sheets

  Step 4: Configure Anthropic Credentials

  Click on the Anthropic Chat Model node
  Under Credentials, click Create New
  Enter your Anthropic API key



  Save the credentials

  Step 5: Configure Explorium MCP Credentials

  Click on the MCP Client node
  Under Credentials, click Create New (Header Auth)
  Fill the Name field with api_key
  Fill the Value field with your Explorium API Key



  Save the credentials

  Step 6: Link Your Google Sheet

  In the Google Sheets Trigger node:

     Select your Google Sheet from the dropdown
     Select the worksheet (usually "Sheet1")

     

  In the Update Company Row node:
     Select the same Google Sheet and worksheet
     Ensure the matching column is set to row_number

  Step 7: Activate the Workflow

  Click the Active toggle in the top right to activate the workflow
  The workflow will now monitor your sheet every minute for changes

  How It Works

  Workflow Process Flow

  Google Sheets Trigger: Polls your sheet every minute for new rows or changes to name/website fields
  Filter Valid Rows: Validates that both company name and website are present
  Loop Over Items: Processes each company individually
  AI Agent: Uses Explorium MCP to:
     Find the company's business ID
     Retrieve firmographic data (revenue, employees, NAICS code)
  Format Output: Structures the data for Google Sheets
  Update Company Row: Writes the enriched data back to the original row

  Trigger Behavior

  First Activation**: May process all existing rows to establish a baseline
  Ongoing Operation**: Only processes new rows or rows where name/website fields change
  Polling Frequency**: Checks for changes every minute

  Usage

  Adding New Companies

  Add a new row to your Google Sheet
  Fill in the name and website columns
  Within 1 minute, the workflow will automatically:
     Detect the new row
     Enrich the company data
     Update the remaining columns

  Updating Existing Companies

  Modify the name or website field of an existing row
  The workflow will re-process that row with the updated information
  All enrichment data will be refreshed

  Monitoring Executions

  In n8n, go to Executions to see workflow runs
  Each execution shows:
     Which rows were processed
     Success/failure status
     Detailed logs for troubleshooting

  Troubleshooting

  Common Issues

  All rows are processed instead of just new/updated ones

  Ensure the workflow is activated, not just run manually
  Manual test runs will process all rows
  First activation may process all rows once

  No data is returned for a company

  Verify the company name and website are correct
  Check if the company exists in Explorium's database
  Some smaller or newer companies may not have data available

  Workflow isn't triggering

  Confirm the workflow is activated (Active toggle is ON)
  Check that changes are made to the name or website columns
  Verify Google Sheets credentials have proper permissions

  Authentication errors

  Re-authenticate Google Sheets credentials
  Verify Anthropic API key is valid and has credits
  Check Explorium Bearer token is correct and active

  Error Handling

  The workflow processes each row individually, so if one company fails to enrich:

  Other rows will still be processed
  The failed row will retain its original data
  Check the execution logs for specific error details

  Best Practices

  Data Quality: Ensure company names and websites are accurate for best results
  Website Format: Include full URLs (https://example.com) rather than just domain names
  Batch Processing: The workflow handles multiple updates efficiently, so you can add several companies at once
  Regular Monitoring: Periodically check execution logs to ensure smooth operation

  API Limits & Considerations

  Google Sheets API**: Subject to Google's API quotas
  Anthropic API**: Each enrichment uses Claude Sonnet 4 tokens
  Explorium MCP**: Rate limits may apply based on your subscription

  Support

  For issues specific to:

  n8n platform**: Consult n8n documentation or community
  Google Sheets integration**: Check n8n's Google Sheets node documentation
  Explorium MCP**: Contact Explorium support for API-related issues
  Anthropic/Claude**: Refer to Anthropic's documentation for API issues

  Example Use Cases

  Sales Prospecting: Automatically enrich lead lists with company size and revenue data
  Market Research: Build comprehensive databases of companies in specific industries
  Competitive Analysis: Track and monitor competitor information
  Investment Research: Gather firmographic data for potential investment targets

nodes_used:
  ["n8n-nodes-base.googleSheetsTrigger","n8n-nodes-base.if","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatAnthropic","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.mcpClientTool","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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

metadata_json:
  {"categories":["integration","automation","data enrichment"],"complexity":"medium","use_cases":["Sales prospecting / lead enrichment","Market research and firmographic analysis","Competitive analysis and monitoring","Investment / due diligence research","Keep CRM / marketing lists up-to-date"],"estimated_setup_minutes":20,"required_services":["n8n instance (self-hosted or cloud)","Google Sheets (Google account with Sheets access)","Anthropic API (Claude Sonnet 4)","Explorium MCP API"],"key_features":["Automatic polling trigger for new or modified rows","Processes only new/changed rows (not entire sheet)","Validates presence of name and website before enrichment","Per-row error handling to prevent cascade failures","Uses Anthropic (Claude) + Explorium MCP to fetch business_id, NAICS, employee range, revenue range and other firmographics','Writes enriched fields back to the original Google Sheet"],"target_audience":["Sales teams / SDRs","Marketers / Demand gen","Data analysts / researchers','Growth teams / business development','Developers / automation engineers"]}


name: Automate HubSpot to Salesforce Lead Creation with Explorium AI Enrichment
author_name: explorium
author_username: explorium
categories: []
created_at: 2025-06-10T06:38:14.701Z
updated_at: 2025-06-10T06:38:14.701Z
url: https://n8n.io/workflows/4836
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  Automatically enrich prospect data from HubSpot using Explorium and create leads in Salesforce

  This n8n workflow streamlines the process of enriching prospect information by automatically pulling data from HubSpot, processing it through Explorium's AI-powered tools, and creating new leads in Salesforce with enhanced prospect details.

  Credentials Required

  To use this workflow, set up the following credentials in your n8n environment:

  HubSpot
  Type**: App Token (or OAuth2 for broader compatibility)
  Used for**: triggering on new contacts, fetching contact data

  Explorium API
  Type**: Generic Header Auth
  Header**: Authorization
  Value**: Bearer YOUR_API_KEY

  Get explorium api key

  Salesforce
  Type**: OAuth2 or Username/Password
  Used for**: creating new lead records

  Go to Settings → Credentials, create these three credentials, and assign them in the respective nodes before running the workflow.

  Workflow Overview

  Node 1: HubSpot Trigger
  This node listens for real-time events from the connected HubSpot account. Once triggered, the node passes metadata about the event to the next step in the flow.

  Node 2: HubSpot
  This node fetches contact details from HubSpot after the trigger event.

  Credential**: Connected using a HubSpot App Token
  Resource**: Contact
  Operation**: Get Contact
  Return All**: Disabled

  This node retrieves the full contact details needed for further processing and enrichment.

  Node 3: Match prospect
  This node sends each contact's data to Explorium's AI-powered prospect matching API in real time.

  Method**: POST
  Endpoint**: https://api.explorium.ai/v1/prospects/match
  Authentication**: Generic Header Auth (using a configured credential)
  Headers**: Content-Type: application/json

  The request body is dynamically built from contact data, typically including: full_name, company_name, email, phone_number, linkedin. These fields are matched against Explorium's intelligence graph to return enriched or validated profiles.

  Response Output: total_matches, matched_prospects, and a prospect_id. Each response is used downstream to enrich, validate, or create lead information.

  Node 4: Filter
  This node filters the output from the Match prospect step to ensure that only valid, matched results continue in the flow. Only records that contain at least one matched prospect with a non-null prospect_id are passed forward.

  Status: Currently deactivated (as shown by the "Deactivate" label)

  Node 5: Extract Prospect IDs from Matched Results
  This node extracts all valid prospect_id values from previously matched prospects and compiles them into a flat array. It loops over all matched items, extracts each prospect_id from the matched_prospects array and returns a single object with an array of all prospect_ids.

  Node 6: Explorium Enrich Contacts Information
  This node performs bulk enrichment of contacts by querying Explorium with a list of matched prospect_ids.

  Node Configuration:
  Method**: POST
  Endpoint**: https://api.explorium.ai/v1/prospects/contacts_information/bulk_enrich
  Authentication**: Header Auth (using saved credentials)
  Headers**: "Content-Type": "application/json", "Accept": "application/json"

  Returns enriched contact information, such as:
  emails**: professional/personal email addresses
  phone_numbers**: mobile and work numbers
  professions_email, **professional_email_status, mobile_phone

  Node 7: Explorium Enrich Profiles
  This additional enrichment node provides supplementary contact data enhancement, running in parallel with the primary enrichment process.

  Node 8: Merge
  This node combines multiple data streams from the parallel enrichment processes into a single output, allowing you to consolidate data from different Explorium enrichment endpoints. The "combine" setting indicates it will merge the incoming data streams rather than overwriting them.

  Node 9: Code - flatten
  This custom code node processes and transforms the merged enrichment data before creating the Salesforce lead. It can be used to:
  Flatten nested data structures
  Format data according to Salesforce field requirements
  Apply business logic or data validation
  Map Explorium fields to Salesforce lead properties
  Handle data type conversions

  Node 10: Salesforce
  This final node creates new leads in Salesforce using the enriched data returned by Explorium.

  Credential**: Salesforce OAuth2 or Username/Password
  Resource**: Lead
  Operation**: Create Lead

  The node creates new lead records with enriched information including contact details, company information, and professional data obtained through the Explorium enrichment process.

  Workflow Flow Summary

  Trigger: HubSpot webhook triggers on new/updated contacts
  Fetch: Retrieve contact details from HubSpot
  Match: Find prospect matches using Explorium
  Filter: Keep only successfully matched prospects (currently deactivated)
  Extract: Compile prospect IDs for bulk enrichment
  Enrich: Parallel enrichment of contact information through multiple Explorium endpoints
  Merge: Combine enrichment results
  Transform: Flatten and prepare data for Salesforce (Code node)
  Create: Create new lead records in Salesforce

  This workflow ensures comprehensive data enrichment while maintaining data quality and providing a seamless integration between HubSpot prospect data and Salesforce lead creation. The parallel enrichment structure maximizes data collection efficiency before creating high-quality leads in your CRM system.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.merge","n8n-nodes-base.hubspotTrigger","n8n-nodes-base.hubspot","n8n-nodes-base.salesforce","n8n-nodes-base.code","n8n-nodes-base.filter","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5720 characters]

metadata_json:
  {"categories":["integration","data enrichment","CRM automation","lead management"],"complexity":"complex","use_cases":["Automatically enrich HubSpot contacts with third‑party data","Match and validate prospects via Explorium","Bulk enrich contact/profile data before CRM import","Create enriched Salesforce leads from HubSpot triggers","Improve lead quality and reduce manual data entry"],"estimated_setup_minutes":45,"required_services":["HubSpot (App Token or OAuth2)","Explorium API (API key)","Salesforce (OAuth2 or Username/Password)","n8n instance/webhook endpoint"],"key_features":["Real‑time HubSpot contact trigger","Prospect matching via Explorium API","Filter to pass only validated matches","Bulk and parallel enrichment endpoints","Merge and flatten enrichment results via code node for mapping/validation
  to Salesforce fields (data transformation)
  "],"target_audience":["Sales ops","Marketing ops","CRM administrators`,`Integration developers"]}


name: Automated AI Lead Enrichment: Salesforce to Explorium for Enhanced Prospect Data
author_name: explorium
author_username: explorium
categories: []
created_at: 2025-06-10T06:39:17.145Z
updated_at: 2025-06-10T06:39:17.145Z
url: https://n8n.io/workflows/4837
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  Salesforce Lead Enrichment with Explorium

  Template

  Download the following json file and import it to a new n8n workflow:

  salesforce\_workflow.json

  Overview

  This n8n workflow monitors your Salesforce instance for new leads and automatically enriches them with missing contact information. When a lead is created, the workflow:

  Detects the new lead via Salesforce trigger
  Matches the lead against Explorium's database using name and company
  Enriches the lead with professional email addresses and phone numbers
  Updates the Salesforce lead record with the discovered contact information

  This automation ensures your sales team always has the most up-to-date contact information for new leads, improving reach rates and accelerating the sales process.

  Key Features

  Real-time Processing**: Triggers automatically when new leads are created in Salesforce
  Intelligent Matching**: Uses lead name and company to find the correct person in Explorium's database
  Contact Enrichment**: Adds professional emails, mobile phones, and office phone numbers
  Batch Processing**: Efficiently handles multiple leads to optimize API usage
  Error Handling**: Continues processing other leads even if some fail to match
  Selective Updates**: Only updates leads that successfully match in Explorium

  Prerequisites

  Before setting up this workflow, ensure you have:

  n8n instance (self-hosted or cloud)
  Salesforce account with:
     OAuth2 API access enabled
     Lead object permissions (read/write)
     API usage limits available
  Explorium API credentials (Bearer token) - Get explorium api key
  Basic understanding of Salesforce lead management

  Salesforce Requirements

  Required Lead Fields

  The workflow expects these standard Salesforce lead fields:

  FirstName - Lead's first name
  LastName - Lead's last name
  Company - Company name
  Email - Will be populated/updated by the workflow
  Phone - Will be populated/updated by the workflow
  MobilePhone - Will be populated/updated by the workflow

  API Permissions

  Your Salesforce integration user needs:

  Read access to Lead object
  Write access to Lead object fields (Email, Phone, MobilePhone)
  API enabled on the user profile
  Sufficient API calls remaining in your org limits

  Installation & Setup

  Step 1: Import the Workflow

  Copy the workflow JSON from the template
  In n8n: Navigate to Workflows → Add Workflow → Import from File
  Paste the JSON and click Import

  Step 2: Configure Salesforce OAuth2 Credentials

  Click on the Salesforce Trigger node
  Under Credentials, click Create New
  Follow the OAuth2 flow:
     Client ID: From your Salesforce Connected App
     Client Secret: From your Salesforce Connected App
     Callback URL: Copy from n8n and add to your Connected App
  Authorize the connection
  Save the credentials as "Salesforce account connection"

  Note: Use the same credentials for all Salesforce nodes in the workflow.

  Step 3: Configure Explorium API Credentials

  Click on the Match\_prospect node
  Under Credentials, click Create New (HTTP Header Auth)
  Configure the header:
     Name: Authorization
     Value: Bearer YOUR_EXPLORIUM_API_TOKEN
  Save as "Header Auth account"
  Apply the same credentials to the Explorium Enrich Contacts Information node

  Step 4: Verify Node Settings

  Salesforce Trigger:
     Trigger On: Lead Created
     Poll Time: Every minute (adjust based on your needs)

  Salesforce Get Leads:
     Operation: Get All
     Condition: CreatedDate = TODAY (fetches today's leads)
     Limit: 20 (adjust based on volume)

  Loop Over Items:
     Batch Size: 6 (optimal for API rate limits)

  Step 5: Activate the Workflow

  Save the workflow
  Toggle the Active switch to ON
  The workflow will now monitor for new leads every minute

  Detailed Node Descriptions

  Salesforce Trigger: Polls Salesforce every minute for new leads
  Get Today's Leads: Retrieves all leads created today to ensure none are missed
  Loop Over Items: Processes leads in batches of 6 for efficiency
  Match Prospect: Searches Explorium for matching person using name + company
  Filter: Checks if a valid match was found
  Extract Prospect IDs: Collects all matched prospect IDs
  Enrich Contacts: Fetches detailed contact information from Explorium
  Merge: Combines original lead data with enrichment results
  Split Out: Separates individual enriched records
  Update Lead: Updates Salesforce with new contact information

  Data Mapping

  The workflow maps Explorium data to Salesforce fields as follows:

  | Explorium Field     | Salesforce Field | Fallback Logic                    |
  | ------------------- | ---------------- | --------------------------------- |
  | emails[0].address | Email            | Falls back to professions_email |
  | mobile_phone      | MobilePhone      | Falls back to phone_numbers[1]  |
  | phone_numbers[0]  | Phone            | Falls back to mobile_phone      |

  Usage & Monitoring

  Automatic Operation

  Once activated, the workflow runs automatically:

  Checks for new leads every minute
  Processes any leads created since the last check
  Updates leads with discovered contact information
  Continues running until deactivated

  Manual Testing

  To test the workflow manually:

  Create a test lead in Salesforce
  Click "Execute Workflow" in n8n
  Monitor the execution to see each step
  Verify the lead was updated in Salesforce

  Monitoring Executions

  Track workflow performance:

  Go to Executions in n8n
  Filter by this workflow
  Review successful and failed executions
  Check logs for any errors or issues

  Troubleshooting

  Common Issues

  No leads are being processed

  Verify the workflow is activated
  Check Salesforce API limits haven't been exceeded
  Ensure new leads have FirstName, LastName, and Company populated
  Confirm OAuth connection is still valid

  Leads not matching in Explorium

  Verify company names are accurate (not abbreviations)
  Check that first and last names are properly formatted
  Some individuals may not be in Explorium's database
  Try testing with known companies/contacts

  Contact information not updating

  Check Salesforce field-level security
  Verify the integration user has edit permissions
  Ensure Email, Phone, and MobilePhone fields are writeable
  Check for validation rules blocking updates

  Authentication errors

  Salesforce: Re-authorize OAuth connection
  Explorium: Verify Bearer token is valid and not expired
  Check API quotas haven't been exceeded

  Error Handling

  The workflow includes built-in error handling:

  Failed matches don't stop other leads from processing
  Each batch is processed independently
  Failed executions are logged for review
  Partial successes are possible (some leads updated, others skipped)

  Best Practices

  Data Quality

  Ensure complete lead data: FirstName, LastName, and Company should be populated
  Use full company names: "Microsoft Corporation" matches better than "MSFT"
  Standardize data entry: Consistent formatting improves match rates

  Performance Optimization

  Adjust batch size: Lower if hitting API limits, higher for efficiency
  Modify polling frequency: Every minute for high volume, less frequent for lower volume
  Set appropriate limits: Balance between processing speed and API usage

  Compliance & Privacy

  Data permissions: Ensure you have rights to enrich lead data
  GDPR compliance: Consider privacy regulations in your region
  Data retention: Follow your organization's data policies
  Audit trail: Monitor who has access to enriched data

  Customization Options

  Extend the Enrichment

  Add more Explorium enrichment by:

  Adding firmographic data (company size, revenue)
  Including technographic information
  Appending social media profiles
  Adding job title and department verification

  Modify Trigger Conditions

  Change when enrichment occurs:

  Trigger on lead updates (not just creation)
  Add specific lead source filters
  Process only leads from certain campaigns
  Include lead score thresholds

  Add Notifications

  Enhance with alerts:

  Email sales reps when leads are enriched
  Send Slack notifications for high-value matches
  Create tasks for leads that couldn't be enriched
  Log enrichment metrics to dashboards

  API Considerations

  Salesforce Limits

  API calls: Each execution uses \~4 Salesforce API calls
  Polling frequency: Consider your daily API limit
  Batch processing: Reduces API usage vs. individual processing

  Explorium Limits

  Match API: One call per batch of leads
  Enrichment API: One call per batch of matched prospects
  Rate limits: Respect your plan's requests per minute

  Integration Architecture

  This workflow can be part of a larger lead management system:

  Lead Capture → This Workflow → Lead Scoring → Assignment
  Can trigger additional workflows based on enrichment results
  Compatible with existing Salesforce automation (Process Builder, Flows)
  Works alongside other enrichment tools

  Security Considerations

  Credentials**: Stored securely in n8n's credential system
  Data transmission**: Uses HTTPS for all API calls
  Access control**: Limit who can modify the workflow
  Audit logging**: All executions are logged with details

  Support Resources

  For assistance with:

  n8n issues**: Consult n8n documentation or community forum
  Salesforce integration**: Reference Salesforce API documentation
  Explorium API**: Contact Explorium support for API questions
  Workflow logic**: Review execution logs for debugging

nodes_used:
  ["n8n-nodes-base.salesforceTrigger","n8n-nodes-base.salesforce","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.filter","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@exploriumai/n8n-nodes-explorium-ai.exploriumApiNode","@exploriumai/n8n-nodes-explorium-ai.exploriumApiNode","@exploriumai/n8n-nodes-explorium-ai.exploriumApiNode"]

workflow_json_compressed:
  [encoded data, 5388 characters]

metadata_json:
  {"categories":["automation","integration","data enrichment","CRM","lead management"],"complexity":"medium","use_cases":["Automatically enrich new Salesforce leads with contact data","Improve sales outreach accuracy and reach rates","Reduce manual lead research for sales teams","Keep Salesforce lead records up-to-date with professional contact info"],"estimated_setup_minutes":30,"required_services":["n8n instance (self-hosted or cloud)","Salesforce (OAuth2 API access)","Explorium API (Bearer token)"],"key_features":["Real-time lead trigger from Salesforce","Name+company intelligent matching via Explorium","Fetches professional emails, mobile and office phone numbers","Batch processing to optimize API usage","Error handling to continue other records on failures','Selective updates only when a valid match is found"],"target_audience":["Sales operations","CRM administrators","Revenue operations managers (RevOps) / Sales enablement teams','Integration engineers / developers"]}


name: WhatsApp Group Chat with Your Vector Database — No Facebook Business Required
author_name: Cecilia Mukima
author_username: cecilia
categories: []
created_at: 2025-06-10T06:40:06.825Z
updated_at: 2025-06-10T06:40:06.825Z
url: https://n8n.io/workflows/4838
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Enable smart, real-time answers in your WhatsApp groups using a custom webhook, Pinecone vector database, and no Facebook Business setup.

  &gt; 🟡 Note: This template uses a custom WhatsApp webhook. It does not use the official WhatsApp Business API.  

  👥 Who is this for?

  This workflow is designed for individuals and teams who want to enable smart WhatsApp group automation — without going through Meta’s official WhatsApp Business API. Ideal for small businesses, internal teams, communities, and personal power users.

  ❓ What problem is this solving?

  Setting up WhatsApp bots with intelligent responses often requires approval from Meta and a verified business account. This workflow removes those barriers by using a self-hosted webhook to handle incoming messages and respond using a document-trained AI via Pinecone.

  ⚙️ What this workflow does

  Connects a regular WhatsApp number to a custom webhook  
  Adds the bot to any group chat (it stays silent unless mentioned)  
  Indexes documents from Google Drive into Pinecone  
  Responds with intelligent, context-aware answers from your custom knowledge base  
  Auto-updates its knowledge every minute as the document changes  

  🛠️ Setup

  Step 1: Connect Google Drive

  Set up your Google Drive credentials in n8n

  Step 2: Configure Pinecone

  Create an index in Pinecone  
     Dimension: 1536  
  Select this index in both Pinecone nodes  
  Click Test Workflow to ingest your document into Pinecone  

  Step 3: Get Access to the WhatsApp Webhook

  Fill out this form to request access  
  You’ll receive a WhatsApp confirmation for linking  

  Step 4: Test WhatsApp Integration

  ✅ One-on-one test: Send a message from another number  
  👥 Group test: Add the bot to a group; it will only respond when tagged  

  🧩 How to customize this workflow

  Modify the system prompt inside the AI agent node to control tone and behavior  
  Update the connected Google Doc to match your specific domain (e.g. FAQs, SOPs, product manuals)  
  Adjust the Pinecone sync frequency if you want updates more or less often  

  📚 Use cases

  Customer Support**: Instant, intelligent replies in WhatsApp without live agents  
  Team Knowledge Bot**: Tag the bot for quick access to SOPs and internal docs  
  Community Groups**: Automate common questions while keeping noise low  
  Personal AI Assistant**: A WhatsApp chatbot trained on your notes and files  

  📝 Sticky Note Suggestion

   💬 What this template does:  
  &gt; Enables an AI bot in your WhatsApp group that answers questions based on a Google Doc you provide. It uses a custom webhook, Google Drive, and Pinecone.  

  🔧 Requirements:  
  &gt;  Google Drive account  
  &gt;  Pinecone account with an index (dimension 1536)  
  &gt; Access to the custom WhatsApp webhook (see setup steps)  

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.respondToWebhook","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.vectorStorePinecone","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.if","n8n-nodes-base.webhook","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.vectorStorePinecone","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5304 characters]

metadata_json:
  {"categories":["automation","integration","knowledge management","chatbots"],"complexity":"medium","use_cases":["WhatsApp group Q&A from documents","Customer support automation in WhatsApp","Team knowledge / SOP lookup","Community FAQ bot","Personal AI assistant using personal docs"],"estimated_setup_minutes":45,"required_services":["Google Drive","Pinecone (vector DB)","Custom/self-hosted WhatsApp webhook provider","OpenAI (or compatible embeddings & chat API)","n8n instance"],"key_features":["Connects a regular WhatsApp number via custom webhook (no Meta Business API)","Responds in group chats only when mentioned","Indexes Google Drive documents into Pinecone (1536-dim embeddings)","Document-trained, context-aware AI answers using embeddings + chat model","Automatic, frequent sync of documents (auto-updates every minute configurable)"],"target_audience":["Small businesses","Internal teams / operations","Community managers / moderators」「Personal power users / solo founders」「Developers or technical operators who can manage a webhook"]}


name: Automated AI Lead Enrichment: Hubspot to Explorium for Enhanced Prospect Data
author_name: explorium
author_username: explorium
categories: []
created_at: 2025-06-10T06:40:34.915Z
updated_at: 2025-06-10T06:40:34.915Z
url: https://n8n.io/workflows/4839
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:33
description:
  HubSpot Contact Enrichment with Explorium

  Template

  Download the following json file and import it to a new n8n workflow:

  hubspot\_flow.json

  Overview

  This n8n workflow monitors your HubSpot instance for newly created contacts and automatically enriches them with additional contact information. When a contact is created, the workflow:

  Detects the new contact via HubSpot webhook trigger
  Retrieves recent contact details from HubSpot
  Matches the contact against Explorium's database using name, company, and email
  Enriches the contact with professional emails and phone numbers
  Updates the HubSpot contact record with discovered information

  This automation ensures your sales and marketing teams have complete contact information, improving outreach success rates and data quality.

  Key Features

  Real-time Webhook Trigger**: Instantly processes new contacts as they're created
  Intelligent Matching**: Uses multiple data points (name, company, email) for accurate matching
  Comprehensive Enrichment**: Adds both professional and work emails, plus phone numbers
  Batch Processing**: Efficiently handles multiple contacts to optimize API usage
  Smart Data Mapping**: Intelligently maps multiple emails and phone numbers
  Profile Enrichment**: Optional additional enrichment for deeper contact insights
  Error Resilience**: Continues processing other contacts if some fail to match

  Prerequisites

  Before setting up this workflow, ensure you have:

  n8n instance (self-hosted or cloud)
  HubSpot account with:
     Developer API access (for webhooks)
     Private App or OAuth2 app created
     Contact object permissions (read/write)
  Explorium API credentials (Bearer token) - Get explorium api key
  Understanding of HubSpot contact properties

  HubSpot Requirements

  Required Contact Properties

  The workflow uses these HubSpot contact properties:

  firstname - Contact's first name
  lastname - Contact's last name
  company - Associated company name
  email - Primary email (read and updated)
  work_email - Work email (updated by workflow)
  phone - Phone number (updated by workflow)

  API Access Setup

  Create a Private App in HubSpot:
     Navigate to Settings → Integrations → Private Apps
     Create new app with Contact read/write scopes
     Copy the Access Token

  Set up Webhooks (for Developer API):
     Create app in HubSpot Developers portal
     Configure webhook for contact.creation events
     Note the App ID and Developer API Key

  Custom Properties (Optional)

  Consider creating custom properties for:

  Multiple email addresses
  Mobile vs. office phone numbers
  Data enrichment timestamps
  Match confidence scores

  Installation & Setup

  Step 1: Import the Workflow

  Copy the workflow JSON from the template
  In n8n: Navigate to Workflows → Add Workflow → Import from File
  Paste the JSON and click Import

  Step 2: Configure HubSpot Developer API (Webhook)

  Click on the HubSpot Trigger node
  Under Credentials, click Create New
  Enter your HubSpot Developer credentials:
     App ID: From your HubSpot app
     Developer API Key: From your developer account
     Client Secret: From your app settings
  Save as "HubSpot Developer account"

  Step 3: Configure HubSpot App Token

  Click on the HubSpot Recently Created node
  Under Credentials, click Create New (App Token)
  Enter your Private App access token
  Save as "HubSpot App Token account"
  Apply the same credentials to the Update HubSpot node

  Step 4: Configure Explorium API Credentials

  Click on the Explorium Match Prospects node
  Under Credentials, click Create New (HTTP Header Auth)
  Configure the authentication:
     Name: Authorization
     Value: Bearer YOUR_EXPLORIUM_API_TOKEN
  Save as "Header Auth Connection"
  Apply to all Explorium nodes:
     Explorium Enrich Contacts Information
     Explorium Enrich Profiles

  Step 5: Configure Webhook Subscription

  In HubSpot Developers portal:
     Go to your app's webhook settings
     Add subscription for contact.creation events
     Set the target URL from the HubSpot Trigger node
     Activate the subscription

  Step 6: Activate the Workflow

  Save the workflow
  Toggle the Active switch to ON
  The webhook is now listening for new contacts

  Node Descriptions

  HubSpot Trigger: Webhook that fires when new contacts are created
  HubSpot Recently Created: Fetches details of recently created contacts
  Loop Over Items: Processes contacts in batches of 6
  Explorium Match Prospects: Finds matching person in Explorium database
  Filter: Validates successful matches
  Extract Prospect IDs: Collects matched prospect identifiers
  Enrich Contacts Information: Fetches emails and phone numbers
  Enrich Profiles: Gets additional profile data (optional)
  Merge: Combines all enrichment results
  Split Out: Separates individual enriched records
  Update HubSpot: Updates contact with new information

  Data Mapping Logic

  The workflow maps Explorium data to HubSpot properties:

  | Explorium Data                 | HubSpot Property   | Notes                         |
  | ------------------------------ | ------------------ | ----------------------------- |
  | professions_email            | email            | Primary professional email    |
  | emails[].address             | work_email       | All email addresses joined    |
  | phone_numbers[].phone_number | phone            | All phones joined with commas |
  | mobile_phone                 | phone (fallback) | Used if no other phones found |

  Data Processing

  The workflow handles complex data scenarios:

  Multiple emails**: Joins all discovered emails with commas
  Phone numbers**: Combines all phone numbers into a single field
  Missing data**: Uses "null" as placeholder for empty fields
  Name parsing**: Cleans sample data and special characters

  Usage & Operation

  Automatic Processing

  Once activated:

  Every new contact triggers the webhook immediately
  Contact is enriched within seconds
  HubSpot record is updated automatically
  Process repeats for each new contact

  Manual Testing

  To test the workflow:

  Use the pinned test data in the HubSpot Trigger node, or
  Create a test contact in HubSpot
  Monitor the execution in n8n
  Verify the contact was updated in HubSpot

  Monitoring Performance

  Track workflow health:

  Go to Executions in n8n
  Filter by this workflow
  Monitor success rates
  Review any failed executions
  Check webhook delivery in HubSpot

  Troubleshooting

  Common Issues

  Webhook not triggering

  Verify webhook subscription is active in HubSpot
  Check the webhook URL is correct and accessible
  Ensure workflow is activated in n8n
  Test webhook delivery in HubSpot developers portal

  Contacts not matching

  Verify contact has firstname, lastname, and company
  Check for typos or abbreviations in company names
  Some individuals may not be in Explorium's database
  Email matching improves accuracy significantly

  Updates failing in HubSpot

  Check API token has contact write permissions
  Verify property names exist in HubSpot
  Ensure rate limits haven't been exceeded
  Check for validation rules on properties

  Missing enrichment data

  Not all prospects have all data types
  Phone numbers may be less available than emails
  Profile enrichment is optional and may not always return data

  Error Handling

  Built-in error resilience:

  Failed matches don't block other contacts
  Each batch processes independently
  Partial enrichment is possible
  All errors are logged for review

  Debugging Tips

  Check webhook logs: HubSpot shows delivery attempts
  Review executions: n8n logs show detailed error messages
  Test with pinned data: Use the sample data for isolated testing
  Verify API responses: Check Explorium API returns expected data

  Best Practices

  Data Quality

  Complete contact records: Ensure name and company are populated
  Standardize company names: Use official names, not abbreviations
  Include existing emails: Improves match accuracy
  Regular data hygiene: Clean up test and invalid contacts

  Performance Optimization

  Batch size: 6 is optimal for rate limits
  Webhook reliability: Monitor delivery success
  API quotas: Track usage in both platforms
  Execution history: Regularly clean old executions

  Compliance & Privacy

  GDPR compliance: Ensure lawful basis for enrichment
  Data minimization: Only enrich necessary fields
  Access controls: Limit who can modify enriched data
  Audit trail: Document enrichment for compliance

  Customization Options

  Additional Enrichment

  Extend with more Explorium data:

  Job titles and departments
  Social media profiles
  Professional experience
  Skills and interests
  Company information

  Enhanced Processing

  Add workflow logic for:

  Lead scoring based on enrichment
  Routing based on data quality
  Notifications for high-value matches
  Custom field mapping

  Integration Extensions

  Connect to other systems:

  Sync enriched data to CRM
  Trigger marketing automation
  Update data warehouse
  Send notifications to Slack

  API Considerations

  HubSpot Limits

  API calls**: Monitor daily limits
  Webhook payload**: Max 200 contacts per trigger
  Rate limits**: 100 requests per 10 seconds
  Property limits**: Max 1000 custom properties

  Explorium Limits

  Match API**: Batched for efficiency
  Enrichment calls**: Two parallel enrichments
  Rate limits**: Based on your plan
  Data freshness**: Real-time matching

  Architecture Considerations

  This workflow integrates with:

  HubSpot workflows and automation
  Marketing campaigns and sequences
  Sales engagement tools
  Reporting and analytics
  Other enrichment services

  Security Best Practices

  Webhook validation**: Verify requests are from HubSpot
  Token security**: Rotate API tokens regularly
  Access control**: Limit workflow modifications
  Data encryption**: All API calls use HTTPS
  Audit logging**: Track all enrichments

  Advanced Configuration

  Custom Field Mapping

  Modify the Update HubSpot node to map to custom properties:

  // Example custom mapping
  {
    "custom_mobile": "{{ $json.data.mobile_phone }}",
    "custom_linkedin": "{{ $json.data.linkedin_url }}",
    "enrichment_date": "{{ $now.toISO() }}"
  }

  Conditional Processing

  Add logic to process only certain contacts:

  Filter by contact source
  Check for specific properties
  Validate email domains
  Exclude test contacts

  Support Resources

  For assistance:

  n8n issues**: Check n8n documentation and forums
  HubSpot API**: Reference HubSpot developers documentation
  Explorium API**: Contact Explorium support
  Webhook issues**: Use HubSpot webhook testing tools

nodes_used:
  ["n8n-nodes-base.hubspotTrigger","n8n-nodes-base.hubspot","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.hubspot","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 6256 characters]

metadata_json:
  {"categories":["integration","data enrichment","automation","CRM"],"complexity":"medium","use_cases":["Automatically enrich new HubSpot contacts","Improve contact data quality for sales/marketing outreach","Populate work emails and phone numbers in CRM","Batch processing of contacts to optimize API usage","Feed enriched profiles into downstream systems"],"estimated_setup_minutes":30,"required_services":["n8n instance (self-hosted or cloud)","HubSpot (Developer API access + Private App)","Explorium API (Bearer token)"],"key_features":["Real-time HubSpot webhook trigger","Intelligent matching by name/company/email","Comprehensive enrichment of emails and phone numbers","Batch processing (groups of 6) to respect rate limits","Smart data mapping and merging into HubSpot properties (email, work_email, phone)"],"target_audience":["CRM administrators","Sales/Marketing operations","Integration engineers / automation specialists`,`Data enrichment teams"]}


name: Search Business Prospects with Natural Language using Claude AI and Explorium MCP
author_name: explorium
author_username: explorium
categories: []
created_at: 2025-06-10T06:55:38.377Z
updated_at: 2025-06-10T06:55:38.377Z
url: https://n8n.io/workflows/4840
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:33
description:
  Explorium Prospects Search Chatbot

  Template

  Download the following json file and import it to a new n8n workflow:

  mcp\_to\_prospects\_to\_csv.json

  Overview

  This n8n workflow creates a chatbot that understands natural language requests for finding business prospects and automatically:

  Interprets your query using AI (Claude Sonnet 3.7)
  Converts it to proper Explorium API filters
  Validates the API request structure
  Fetches prospect data from Explorium
  Exports results as a downloadable CSV file

  Perfect for sales teams, recruiters, and business development professionals who need to quickly find and export targeted prospect lists without learning complex API syntax.

  Key Features

  Natural Language Interface**: Simply describe who you're looking for in plain English
  Smart Query Translation**: AI converts your request to valid API parameters
  Built-in Validation**: Ensures API calls meet Explorium's requirements
  Error Recovery**: Automatically retries with corrections if validation fails
  Pagination Support**: Handles large result sets automatically
  CSV Export**: Clean, formatted output ready for CRM import
  Conversation Memory**: Maintains context for follow-up queries

  Example Queries

  The chatbot understands queries like:

  "Find marketing directors at SaaS companies in New York with 50-200 employees"
  "Get me CTOs from fintech startups in California"
  "Show me sales managers at healthcare companies with revenue over $10M"
  "Find engineers at Microsoft with 3-5 years experience"
  "Get customer service leads from e-commerce companies in Europe"

  Prerequisites

  Before setting up this workflow, ensure you have:

  n8n instance with chat interface enabled
  Anthropic API key for Claude
  Explorium API credentials (Bearer token) - Get explorium api key
  Basic understanding of n8n chat workflows

  Supported Filters

  The chatbot can search using these criteria:

  Company Filters

  Size**: 1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000, 10001+ employees
  Revenue**: Ranges from $0-500K up to $10T+
  Age**: 0-3, 3-6, 6-10, 10-20, 20+ years
  Location**: Countries, regions, cities
  Industry**: Google categories, NAICS codes, LinkedIn categories
  Name**: Specific company names

  Prospect Filters

  Job Level**: CXO, VP, Director, Manager, Senior, Entry, etc.
  Department**: Sales, Marketing, Engineering, Finance, HR, etc.
  Experience**: Total months and current role duration
  Location**: Country and region codes
  Contact Info**: Filter by email/phone availability

  Installation & Setup

  Step 1: Import the Workflow

  Copy the workflow JSON from the template
  In n8n: Workflows → Add Workflow → Import from File
  Paste the JSON and click Import

  Step 2: Configure Anthropic Credentials

  Click on the Anthropic Chat Model1 node
  Under Credentials, click Create New
  Add your Anthropic API key
  Name: "Anthropic API"
  Save credentials

  Step 3: Configure Explorium Credentials

  You'll need to set up Explorium credentials in two places:

  For MCP Client:

  Click on the MCP Client node
  Under Credentials, create new Header Auth
  Add your authentication header (usually Authorization: Bearer YOUR_TOKEN)
  Save credentials

  For API Calls:

  Click on the Prospects API Call node
  Use the same Header Auth credentials created above
  Verify the API endpoint is correct

  Step 4: Activate the Workflow

  Save the workflow
  Click the Active toggle to enable it
  The chat interface will now be available

  Step 5: Access the Chat Interface

  Click on the When chat message received node
  Copy the webhook URL
  Access this URL in your browser to start chatting

  How It Works

  Workflow Architecture

  Chat Trigger: Receives natural language queries from users
  Memory Buffer: Maintains conversation context
  AI Agent: Interprets queries and generates API parameters
  Validation: Checks API structure against Explorium requirements
  API Call: Fetches prospect data with pagination
  Data Processing: Formats results for CSV export
  File Conversion: Creates downloadable CSV file

  Processing Flow

  User Query → AI Interpretation → Validation → API Call → CSV Export
       ↑                                  ↓
       └──── Error Correction Loop ←──────┘

  Validation Rules

  The workflow validates:

  Filter keys are allowed by Explorium API
  Values match expected formats (e.g., valid country codes)
  Range filters have proper gte/lte values
  No duplicate values in arrays
  Required structure is maintained

  Usage Guide

  Basic Conversation Flow

  Start with your query:
        "Find me VPs of Sales at software companies in the US"
     
  Bot processes and responds:
     Generates API filters
     Validates the structure
     Fetches data
     Returns CSV download link

  Refine if needed:
        "Can you also include directors and filter for companies with 100+ employees?"
  Query Tips

  Be specific**: Include job titles, departments, company details
  Use standard terms**: "CTO" instead of "Chief Technology Officer"
  Specify locations**: Use country names or standard codes
  Include size/revenue**: Helps narrow results effectively

  Advanced Queries

  Combine multiple criteria:

  "Find engineering managers and senior engineers at B2B SaaS companies 
  in New York and California with 50-500 employees and revenue over $5M 
  who have been in their role for at least 1 year"

  Output Format

  The CSV file includes:

  Prospect ID
  Name (first, last, full)
  Location (country, region, city)
  LinkedIn profile
  Experience summary
  Skills and interests
  Company details
  Job information
  Business ID

  Troubleshooting

  Common Issues

  "Validation failed" errors

  Check that your query uses supported filter values
  Ensure location names are spelled correctly
  Verify company sizes/revenues match allowed ranges

  No results returned

  Broaden your search criteria
  Check if the company exists in Explorium's database
  Verify filter combinations aren't too restrictive

  Chat not responding

  Ensure workflow is activated
  Check all credentials are properly configured
  Verify webhook URL is accessible

  Large result sets timing out

  Try adding more specific filters
  Limit results by location or company size
  Use the size parameter (max 10,000)

  Error Messages

  The bot provides clear feedback:

  Invalid filters**: Shows which filters aren't supported
  Value errors**: Lists correct options for each field
  API failures**: Explains connection or authentication issues

  Performance Optimization

  Best Practices

  Start broad, then narrow: Begin with basic criteria and add filters
  Use business IDs: When targeting specific companies
  Limit by contact info: Add has_email: true for actionable leads
  Batch by location: Process regions separately for large searches

  API Limits

  Maximum 10,000 results per search
  Pagination handles up to 100 records per page
  Rate limits apply based on your Explorium subscription

  Customization Options

  Modify AI Behavior

  Edit the AI Agent system message to:

  Change response format
  Add custom filters
  Adjust interpretation logic
  Include additional instructions

  Extend Functionality

  Add nodes to:

  Send results via email
  Import directly to CRM
  Schedule recurring searches
  Create custom reports

  Integration Ideas

  Connect to Slack for team queries
  Add to CRM workflows
  Create lead scoring systems
  Build automated outreach campaigns

  Security Considerations

  API credentials are stored securely in n8n
  Chat sessions are isolated
  No prospect data is stored permanently
  CSV files are generated on-demand

  Support Resources

  For issues with:

  n8n platform**: Check n8n documentation
  Explorium API**: Contact Explorium support
  Anthropic/Claude**: Refer to Anthropic docs
  Workflow logic**: Review node configurations

nodes_used:
  ["n8n-nodes-base.convertToFile","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.splitOut","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.lmChatAnthropic","@n8n/n8n-nodes-langchain.mcpClientTool","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.httpRequest"]

workflow_json_compressed:
  [encoded data, 9320 characters]

metadata_json:
  {"categories":["automation","integration","data processing","conversational AI","sales enablement"],"complexity":"medium","use_cases":["Find targeted business prospects via natural language","Generate and export prospect lists as CSV for CRM import","Recruiting candidate sourcing","Business development lead discovery","Ad-hoc market/company research"],"estimated_setup_minutes":20,"required_services":["n8n instance with chat interface enabled (public webhook)","Anthropic (Claude Sonnet 3.7) API key","Explorium MCP / Prospects API credentials (Bearer token)"],"key_features":["Natural language chatbot interface","AI translation of queries to Explorium API filters","API request structure validation and error correction","Automatic pagination and large-result handling","CSV export of formatted prospect data (downloadable)"],"target_audience":["Sales teams","Recruiters","Business development professionals/lead generators\",\"Marketers\",\"Data analysts\",\"Developers implementing automation"]}


