# templates

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-12-24 13:02:45
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, 11692 characters]


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-12-24 13:02:41
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, 6284 characters]


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-12-24 13:02:44
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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


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-12-24 13:02:44
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, 4796 characters]


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-12-24 13:02:42
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, 4928 characters]


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-12-24 13:02:44
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, 13592 characters]


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-12-24 13:02:42
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, 4968 characters]


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-12-24 13:02:43
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:
  H4sIAAAAAAAAE3VWX28TRxD/KlMHCbB87vl8/2yJSmkCUlqgECfQqomSvbs5e8l597jbwxjrJPpA31BViooqKtG39rEvlfreb8IXKB+hs3t2bCCVouR2d3bmN/P7zWwWrSkq1houWlyUiokY95LWsNUP7NR2+0EapWES9GKWBjhw+jb2ep7TH7A0Tj2758Sex+K+HzI2SBCdQegPktRlftTqtBRO84wp3CkwKUeoqnxH0g4qpACqqLDutIRMsGwNv6XoJmovcJxeMLAwdUPLZaFnDZgdW2kah46L3sAd9MmzYFMk6/tSkscpFjHCQcHHYyx02HmuD0UoLOPdiliJ3dnadm2ay5IrLgUBsHqO3bEc+7jTmmE0kfLMlMFPY7c3wMByWOparou2xdKwb0VuajPXDnv9UKeas4IgKSxKXUh8hELRZVkkWHTjAplOmbKlz4SOOMuM3Qam7ZwbCnTM4MYT+fX8ThYebB/uTK6PL06YxbGsKExdNynfo+AmlV7dWTryPd9NesyxwiCyLTdNIyuKfdvyXMfzqba2F6Zr5weY4ZjS+N8SqrXBRuF69kV1C9LU9vx+YmHkE5FIv1jfYRQ6SpBFQRxQRT6sm8LHumzX3r15/QJu4wy+0gWEfYyRP8LkkyNxJN69+f7lcn9rCIvFpQelFF2e1DWAPn3xJxxIxbL1mdJLOj4c7TYmPz2DXWJkbZHQ6mRJ08rPy59hpJiqyrVZadaNgTZ5/fzfv3+AO4VMqliVwyOxWEBjmXGBJ5z0X3anLL+iv+DaZ3BqwaWFXnR1yWv459Vq/bBiJAs1r+HaaquBrVGfXu0+kFxcuXx0JC5fhbpuwv/4HYV/+/T5uzev/tBAdjIen4GaIESVUlJAhJmcgZLwiFMt1YSX0CiSCh9PmDJEhbbjuYFvuyHtFphn81usOKtyOuJC5/ElziPJCs3WBxvEWCFnTffSh143kZutJZtUyldwj6/YJDcsSYx4WHaDY5Y0rYDRCctz/VkVmRbBeTFzNp9S05zQPuVOeq+P9c+FfuqPm2yl2s0Ou7tz6wnLxtvbs7tfuA+5u24CknyGrBCxnEbyoubqOuftFXlos74XWWkwoNlAA8GKAh+t1O+zOMQkiYNo7XmkiJ453JYK/7fDSmOzNNkcTmFITdb3dZe93zIznqhJa+jTeWuCfDyhkns+LWIpVDOFtraAtPobmAkMezTkC9IrOS61jrbM8cvfYUeKlI+rgukj0j7mdG5Bu71PomAxtttGW6eNck4h1TUHLszuanaATgZmXE1gLqsC5Eysz9rtqqS23dslV7Kg5biQGhGtu02oW+wMoawKHczcP79LZADplyjHREtaBzXXPyU8QmAGPNVXLhcIVcnFGKTApdfDXDf4Ev/mCN2+swcbatnA3W5TOcqKzIDk3m53aGeEZKv0NxMJrT8nxuBw/+Y5+utiE/pmICKSBnZG7VgCdQUWpFnYvz46MBBokmNZGicHhND06KqHqWIlnK4m0EYr1PVpB0qpY1HoRIq3T39RILApz4T6M9ZUGCiJnDIuDM4V4S/+gp2qKFDE81VcM3CATfWrYlLMm8lGfzkBBEalLSeaUSKdqjrSPKZEJBcmo6YVgTonp++IZzTPTFLfEMSYCdBMjRG40giZkERHAfESheZPo8fEoLQsawX27a/P4D6JjkCSAu7L4izVc21XohHo8jUn9iYogBEyQbPGFJHw0Q2jXqPUDUoMsBGKpDRXznU2JSbY2IilERlLplwY6z0RZxW1Kg16AGv5Bu3tdkCri7gwr0MjDlPKxuwmLxXIdFXMstkl9Rh+mzjL+byi/n2k59VoffzQH5s+F9i0s54HF/1LRNuaf5ojNJV1g1742BsTPeMTfNwa2vUxTdn6PzU6Ff4dCgAA


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-12-24 13:02:43
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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


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-12-24 13:02:45
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]


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-12-24 13:02:42
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, 8196 characters]


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-12-24 13:02:45
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]


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-12-24 13:02:43
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:
  H4sIAAAAAAAAE62XW2/cRBTHv4q16uNOmKs9kyeikpZK9AJBSID6MJczu1Y29tZ20kZVXhEXqZVKVV4QSAipj7wh4OP0C8BH4NhpN7upvdktSPswWnvO/M6Z/7n48SgPo93R3DyYnh7eqdjNw9t7fP+L0Xh0BI0d7T4e5UXd2MLDrfY9Tin1qaQZ85xqKVKaOqN8KjKjnKOZybxkFP+WGVXKpkqn0mjQSjmTQvSjs/GosEeApvZuJR+BDclt66d5Acm9qtxNbpblZAb437xOXn31LDmYWX/YrT48dgfzsunW165dQ8DGTurR7pf30WIZoF0+PncmKhacyBThjlMivdfE8RiJz0IQGqyU0Y0WHHhucgNsc1xBndw9geokh4et+dN5+7jQBensE2dr2Kmb3B+e3ikbwFfmZZ03eVng0ULSMWEpRZq5rdByA1Xdhs+XRQNFg5Za31ujn+GTbhM7G78m5p7JjPFAlIBIpEopcSyzRDGjZGYlkya9IP7n5+cvk+tlEfPJcWVbgDY6w8jQrLKi+bHUb6FexhM7cgEIVOtIJQZSu5TIVDtiUq9I8FalqYoiNf4C8NWL3//+42ly0NiqOb/km1DAOeog5pEtju3s0yqfTKB6O7gbAF/Ek2baRUUNAScUKiD1xIZWC8oJGgFjbVfi+cNfLe+y+A58ZecdRz/ttGnmn8CDY6gvBTfTdCy2YbUuBrAMCA8BQwsxEBepJUx7LvCZtFQus37/U/I5zGblw+SencB/JFXbkGbMgUu9I5QKIDJwQYw1jnDqvaMsUG5gmfTln8leOGlrR0g+sI1Nrs/AFmtQPS5XGRnWm02uni8gTeBSKcbwwiVeuFMSleoMalZiyeKepsCWlPrjN+3N7x/ZfJagtTzmfr1MB8PJON9SpQDRpRHT3BrriGQmJUaHVqpSM/y5EMxyPJ89OU+m/aLK/fQIqwouJ1g7twmo3oySL6W+FBTrOdFgAmaQMcSCMiSyFGQITDvFlimf/JZ8jImcN6fJjXzWrLnuPK6ycYp5zrdjE56nmN3CMowgbXMn00CExNh5m6kgxErufJvsP5qXWJU6xJijMtuQ1oOMk64mHEwBmvoSLccyyq6mlTtqwRs1B8ZQlypE5BU6EE1BEo8ZFFgGVBm+wvvdG9692ezdSelm9XOZ1GHl8dwborKIVUlyTxxETViI2gsfrZErVenpL8n1CrsoLBo1NqjG+mY4kY5dje9dQkXMTYJ6IQFmGHUBWzwDh0XJBCDWSiCMWi1pwMzyK/J8/vz1ULE3g2qYrm7f6bnw89L+ENy0LA+7kchJ7S1g7w4hIoDGhuNYK0TmpRfRKOjyY707OxcOSSohKBmIEQwjH7JItI2C6EAV1l2haGZXNPJ1slfY2SkOJvX29aDTRrpVzgnvOaCGfaZxVmEuEqciI9oAd4xpYyLrz7kF5rtm2wacyxoOjAstPRCcWNuhhVnsV46RFPsA45ll0ftl0l9fJG+G0tfl4XIveB9537tgntli4qc2L3bKORR7+aVSKzccW3b0Gb6DuZKf4CHRzmoYj3Bqa/Ji0s2Q8Aj8cWv1bhWwnu6OTlg7TJ6cW+hUiDMtFViXifAp3kpo00CiiFh3LaAybCiIh9NoAb411Rnuq9b4N3bD1gGcp1s/N62c3a4xfi8EeDTape01LLYPZd3lPffvo1/9mr6Kq0ddA9Z7p+d+8xsMhuvcvnJWW7d5g3bf6+DwTNPv49WyH7qlAe/6j7l6Ghw4ZpCv/5x3Ddsawr6DNpgcB44ZBux3aM1AtVZ762aHtRvXNZQhKQyWh36fNhgXBk4azsj/VXZrP2H7T1r/Ud5zytnZv90E/Pp+EQAA


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-12-24 13:02:41
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, 6736 characters]


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-12-24 13:02:42
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, 16428 characters]


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-12-24 13:02:44
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, 5768 characters]


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-12-24 13:02:43
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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


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-12-24 13:02:46
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: 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 3: 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.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-straker-verify.strakerVerify","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.webhook","n8n-nodes-straker-verify.strakerVerify","n8n-nodes-base.googleDrive"]

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


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-12-24 13:02:41
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, 5560 characters]


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-12-24 13:02:44
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:
  H4sIAAAAAAAAE+1a627cxhV+lQFdII66s+L9oiJoZUVuBUd2Ysk2mqwhDGeGu4zIIcMhdYmiv3mA9g3zJD0zs9zlrijJdtwWKGpAwO7yzJlvzpzLdw59Y+XM2rPC5PDZi/rw+9YvvnF/rg6tiVXyllh7N1YuZEsE5UdKziaRHQZu5nvUSd2EMSekXpCGDvHijHkOjW3bz4I4pRGPXC8FQTd0SZREvh3RKLJuJ5YgJQdVh6LJ6QIdVGVNxDV6njdlNW9Ivcgp+pq0BOUC/bWq5gVHJwvOW4ku83aBDq/qomryrkTHB98CzJbMpbX3w3vQWzGuPt6YI5E4ZC6PGc7SKMM+DRMchzTDnsvskIepbduhtUKzudNpk8/nvFHqr2v1WMQCa/04JZJP51raCK9l60rmbV4JwADHnXihDahq0sAOLW+kMmZVKwH18VbJF8VpXnL9JG95qcGXsA3syC94c32ci67l1u17kJZqt5ca7Y11dtYU1l7bdHzSLyhy2QKIC1J06us8Z1/Z8J0SuuDsNZdd0b5Ri6xF29Zyb3eXVVQuTzKlVbkr64YTpreRu2zXSfeP31x95745eHPWMOd8cXj+8nv79Yufymc/kyLiL84TG++Ltyf0u8NdzvL2ydiWBrClTeWo24ddu5KLVrnTh5zjY2D8R4/7507WX7Emv+CSnY+fGrwGtRyOc3trPOktuIF2EOd2snRTL3GDJEwppokbYj+2M5ywwMMk8JwspX5EXXftps/zAlwJvSVFztDr6lLe66J5tumRSfgBHkkrwfL+++CRdbECPrEKnrVvl7ejzy35CRdqowve36U+rAJJzPaWbCHaW0vvUaa5IG3VqCAVzNrctg/fmEYsSGOC/QAi16dxhtOAxzikQRbwgKo/WFrVvDG6bnpDqK3EfPXM7C+q9rCs22uFYHiAr25u0B9+lJWYKguj21tYBwG9WJ9wdVMJi3lIkxQHYWTjgCUZpmGW4IiF8zALmfr7rIgueQpWHQf1/o5LuSugYZDaqeswTBKfYz8iBMe+D5Z0I9/zM8iCsb12qW+qqkav4ILREaSg+x1K1kXeHolnpAU/l5vO5Tjxo961jddbGzbNkowyD8fE87Hvc4IT380wcbIocylLUuqt8e4fof05JJA10L8A0t012oKIOV2QXEzJUm6I1IfM7Lp3kbb8qlXW/3vVQaEpCpRyVDfVRc44M5WHLitVLrKqKfU1wmdadAwud28mZkKF/R7a9qiZ+LoqAc7gyfpm1TLYskEtkecol6itUMMlJw3URogOBLAaQlvULjjKoGBUl7AbOufXKO1kLriUCA4BwSXhMahZgI4lUsD0mv/U5Q2cQFfUb6tctBJ+xkhBRU/POa+1Zqm+Erk68ZdK5t0S5SNi+0J0pADUF1x0IA3Pe2hnkKWyvJHtRC0XaM7NQRq4Iq4Xv+zKFFyvyhAvobBfcy7R08Hj/aODEzgP48pQbyTXy9ccoK2qQtkMzuRMFYeQLepAqlReilcWAqNmORhTLV79ePT1TLhTdKqAqTVcE5LVIvCkbMBJtJIef+8KDDhSXkiF7TVvu0bop0zZml/BrRXKW8ydGJ+Z6iQw5AANqGpPjSMzDig5iCyIfNW1ddd+SxoJ3EJn1Ts1ZBquQshPQxrGToJZymLsExdCKKQMO3ZIeBLZURAOqsi+aBdNVQPROliQFh2DeYsPCKeiVOKrxduBZdsT+LsTWKXW/kG1nhakYxxDhAjeYh+7thvYgeOPV9cDLY1OtDTyVR59IN0403XCiQMvCDwSYYeSAAOXTTAJXQ87XkKIw7IwsPnaWgeAFWH0XF8gMvdyb5ZUrrplmPiejPOjPDBW2N1FJzl4/zWqiXJWMG83X2hXgmRX6Q1NCgJvgQqy9KUWEsFMNMbvbmYCIaHzj0kxZpnJQb/8MshIEyW5TEBbwn1aWskvf9BLBjG9tWwY7bD0iy8mBgwEzR00KpAGMjr6z6rsbBX9Zzr4t9fdJzfQdQ05s7g+W6ahUTVjIkbDTNz+ybq/opLUSYKUB9h2AlsxEheKEwtxwDNKAwIx5wwc5k0NGYCvOhugaR/USGy6jWvfQ9hoVXTlkpWZuFF5REJ4lGRNnzSUyR0CwnIo4+S6D8OGl9UFB/mMFFJ/N+Vi9cNSvuezRimkKQJheKxy7EqSEvGMQ4Jmp9XygclZSzxLT/rskNZ6PwXVwHM/O7JN3Z+CTkfLv+ESjdZPQnRfHH5+lA/s9CnIx0L/s4O+Z5OPwQvhXpK6BjTHpjiQrgWB+khAAlMkTk1mlDxIHPSZ4AcTme9vt8jFsN0ApVywV41JTtb/5wn/U/MEfxqsXD2yHWozN8XcdR0oVgQawZACIeQBI1HmEyCK62J10ub0/Bq9rIbJebv10zJLka0pVzjCbKBEqf43mFiXOWvBtX2oZdaCqxYWyir0iqrlb1Vztmc9QVuTQN2qZMCLHx3/Kd59qsj1ZdWcZ9AaIRUtqjWjpAA6ZRg9l2u+rlRfKsIv+CVqqkuJSAMdDVNNHnRP+pHiXco4uz0dynJeMCPZ6ehhitVfq65tiHB6h0CspzyZw10niiOcpU4KLbkfAYEgKQ48L/agHScBD9Z3cmfG+QgxL2l9UORgzlNoh7bYZ+CP03JocA4Fq1VHOHBq0DTl/e5Tku+CGCgEs4JllFmX2SSFTMebffj5gUPHoZ0EPAkx9+JY9fUujiPbxW7KszCLgswOBhNYQ6zRsuN5/NDVoEE6gYinwIM52zp9GI+fXrHCE02ZDq8IFBi1k6bQCM00oJm1B5+Oc9pUsspacM6mrkwynVmTXnLpIUa4t+Hl5eW07Beq1DBYMCAFZhHx/JTQLPaSNHG9KLJTlwLr41Ay3DDy48FaXbjNqsBxXMcePruvXBp5x7Zt548D+bFKtRJ9hp3TmQWU+O7dTtec2GWhA1A9bHPPg9vNbEyyJMahA74euX7gpMlomnE+Os847j2J5kPSy5Mn6F2fHlZ+osc1OzujU/+dHfTbr/9AOzt3hq2rJ1szs50dY9dP+/fbr//81OU7O/007PdB+GQMOztj3fF/Dczdzuu/BOUpBPW5mhhtecqXD6TLJEztJExcHCQehYBKA5wGNMAJzaidcCjcPhkNKPfjA+qRyu2PV279ZTO0/gZRpQqmPqeKM2lGcVvnRnp6LM0ATtFX9FTmP3PkfKlncCdATSWqBEfqNZiyW+/XM+FNV1/WBb0fs82EP0XaBc1MxDwxpWEmgukWhTDl2whB9Z+JcIqeq8Rgpihy5Mb0VFXwq1ZDm4loit4plgAEQ/9ieEHdVFTNDNkEFWq9Oo9KMcpEL/j1cPJ6CLxOba6GvatlQChYfpGzTvEWJXUKCLUmZe4ccjSAhw+F3ndFXBiYTEk/J3kBSox5FBtWlEh80SLZgooKjtvoRT2kUyCRZmgNV7XPGCqBZOZQBo3qjXG38jepR9HLaifN2NQkS23Knn7py3qnr5f3p1Qj0/UxJTRQikiYY8Ld7ffHkYuqK5iauvccS6NY3jjTtz0SPODBhJo3T8vGSnI9GdPuzK847ZTPv2qYGqNaF7pnWL7N0m+0CeFBlsYODgIbmFkacAgd5mM7YNR3/TjzbGJeUQlOV+/DVi8h1IAT2AjE1A83+g30owNDLT6x4ML5lbVn375Xbdsm4wOlJD9Ts+0NvXfffPRS2+o2uZRRV20MlB9TuyG9rX77ldHACO8nDykePfvdd5pjRr33NdWozpER3O9XOjo2N8ZVtLQjc7787THrbopv7zPqP2PwHxo0jp5g/H85jKl+4EXziObb238BJjqXfEgiAAA=


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-12-24 13:02:44
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, 5728 characters]


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-12-24 13:02:45
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, 5404 characters]


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-12-24 13:02:43
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, 5324 characters]


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-12-24 13:02:44
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, 6252 characters]


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-12-24 13:02:43
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, 9256 characters]


name: Generate Sales Emails Based on Business Events with Explorium MCP & Claude
author_name: explorium
author_username: explorium
categories: []
created_at: 2025-06-10T06:56:57.172Z
updated_at: 2025-06-10T06:56:57.172Z
url: https://n8n.io/workflows/4841
scraped_at: 2025-12-24 13:02:42
description:
  Explorium Event-Triggered Outreach

  This n8n and agent-based workflow automates outbound prospecting by monitoring Explorium event data (e.g. product launches, new office opening, new investment and more), researching companies, identifying key contacts, and generating tailored sales emails leveraging the Explorium MCP server.

  Template

  Workflow Overview

  Node 1: Webhook Trigger

  Purpose: Listens for real-time product launch events pushed from Explorium's webhook system.

  How it works:

  Explorium sends HTTP POST requests containing event data
  The webhook payload includes company name, business ID, domain, product name, and event type
  Pay attention: Product launch is just one example. You can easily enroll to many more meaningful events.
  to learn about events and how to enroll to events, visit the events documentation.

  Node 2: Company Research Agent

  Agent Type: Tools Agent

  Purpose: Enrich company data after an event occurs.

  How it works:

  Uses Explorium MCP via the MCP Client tool to gather additional company data
  Uses Anthropic Claude (Chat Model) to process and interpret company information for downstream personalization

  Node 3: Employee Data Retrieval

  Purpose: Retrieve prospect-level data for targeting.

  How it works:

  Uses HTTP Request node to call Explorium's fetch_prospects endpoint
  Filters prospects by:
    Company business_id
    Departments: Product, R&D, etc...
    Seniority levels: owner, cxo, vp, director, senior, manager, partner, etc...
    Pay Attention: Follow our fetch prospect documentation for the full list of filter and best practice.
  Limits results to top 5 relevant employees
  Code nodes handle:
    Filtering logic
    Cleaning API response
    Formatting data for downstream agents

  Node 4: Conditional Branch - Prospect Data Check

  If Node: Checks whether prospect data was successfully retrieved

  Logic:

  If prospects found → personalized emails per person
  If no prospects → fallback to company-level general email

  Node 5A: Email Writer #1 (No Prospect Data)

  Agent Type: Tools Agent

  Purpose: Write generic outbound email using only company-level research and event info.

  Powered by: Anthropic Chat Model

  Node 5B: Loop Over Prospects → Email Writer #2 (Personalized)

  Agent Type: Tools Agent

  Purpose: Write highly personalized email for each identified employee.

  How it works:

  Loops through each individual prospect
  Passes company research + employee data to LLM agent
  Generates customized emails referencing:
    Prospect's title & department
    Product launch
    Role-relevant Explorium value proposition

  Node 6: Slack Notifications

  Purpose: Posts completed emails to internal Slack channel for review or testing before final deployment.

  Future State: Can be swapped with an email sequencing platform in production.

  Setup Requirements

  Explorium API Access

  MCP Client credentials for company enrichment and prospect fetching
  Registered webhook for event listening

  Get explorium api key

  n8n Configuration

  Secure environment variables for API keys & webhook secret
  Code nodes configured for JSON transformation, filtering & signature validation

  Customization Options

  Personalization Logic

  Update LLM prompt instructions to reflect ICP priorities
  Modify email templates based on role, department, or tenure logic
  Adjust fallback behavior when prospect data is unavailable

  API Request Tuning

  Adjust page_size for number of prospects retrieved
  Fine-tune seniority and department filters to match evolving targeting

  Future Expansion

  Swap Slack notifications for outbound email automation
  Integrate call task assignment directly into CRM
  Introduce engagement scoring feedback loop (opens, clicks, replies)

  Troubleshooting Tips

  Validate webhook signature matching to prevent unauthorized requests
  Ensure correct business_id is passed to prospect fetching endpoint
  Confirm business enrichment returns sufficient data for company researcher agents
  Review agent LLM responses for correct output structure and parsing consistency

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatAnthropic","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.mcpClientTool","n8n-nodes-base.webhook","n8n-nodes-base.httpRequest","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.lmChatAnthropic","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.slack","n8n-nodes-base.httpRequest","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.lmChatAnthropic","n8n-nodes-base.slack"]

workflow_json_compressed:
  [encoded data, 7816 characters]


name: Automate Glassdoor Job Search with Bright Data Scraping & Google Sheets Storage
author_name: Bright Data
author_username: bright-data
categories: []
created_at: 2025-06-10T07:48:33.357Z
updated_at: 2025-06-10T07:48:33.357Z
url: https://n8n.io/workflows/4843
scraped_at: 2025-12-24 13:02:41
description:
  🔍 Glassdoor Job Finder: Bright Data Scraping + Keyword-Based Automation

  A comprehensive n8n automation that scrapes Glassdoor job listings using Bright Data's web scraping service based on user-defined keywords, location, and country parameters, then automatically stores the results in Google Sheets.

  📋 Overview

  This workflow provides an automated job search solution that extracts job listings from Glassdoor using form-based inputs and stores organized results in Google Sheets. Perfect for recruiters, job seekers, market research, and competitive analysis.

  Workflow Description: Automates Glassdoor job searches using Bright Data's web scraping capabilities. Users submit keywords, location, and country via form trigger. The workflow scrapes job listings, extracts company details, ratings, and locations, then automatically stores organized results in Google Sheets for easy analysis and tracking.

  ✨ Key Features

  🎯 Form-Based Input: Simple web form for job type, location, and country
  🔍 Glassdoor Integration: Uses Bright Data's Glassdoor dataset for accurate job data
  📊 Smart Data Processing: Automatically extracts key job information
  📈 Google Sheets Storage: Organized data storage with automatic updates
  🔄 Status Monitoring: Built-in progress tracking and retry logic
  ⚡ Fast & Reliable: Professional scraping with error handling
  🎯 Keyword Flexibility: Search any job type with location filters
  📝 Structured Output: Clean, organized job listing data

  🎯 What This Workflow Does

  Input
  Job Keywords:** Job title or role (e.g., "Software Engineer", "Marketing Manager")
  Location:** City or region for job search
  Country:** Target country for job listings

  Processing
  Form Submission
  Data Scraping via Bright Data
  Status Monitoring
  Data Extraction
  Data Processing
  Sheet Update

  Output Data Points

  | Field | Description | Example |
  |-------|-------------|---------|
  | Job Title | Position title from listing | Senior Software Engineer |
  | Company Name | Employer name | Google Inc. |
  | Location | Job location | San Francisco, CA |
  | Rating | Company rating score | 4.5 |
  | Job Link | Direct URL to listing | https://glassdoor.com/job/... |

  🚀 Setup Instructions

  Prerequisites
  n8n instance (self-hosted or cloud)
  Google account with Sheets access
  Bright Data account with Glassdoor scraping dataset access
  5–10 minutes for setup

  Step 1: Import the Workflow
  Copy the JSON workflow code from the provided file
  In n8n: Workflows → + Add workflow → Import from JSON
  Paste JSON and click Import

  Step 2: Configure Bright Data
  Set up Bright Data credentials in n8n
  Ensure access to dataset: gd_lpfbbndm1xnopbrcr0
  Update API tokens in:
     "Scrape Job Data" node
     "Check Delivery Status of Snap ID" node
     "Getting Job Lists" node

  Step 3: Configure Google Sheets Integration
  Create a new Google Sheet (e.g., "Glassdoor Job Tracker")
  Set up Google Sheets OAuth2 credentials in n8n
  Prepare columns:
     Column A: Job Title
     Column B: Company Name
     Column C: Location
     Column D: Rating
     Column E: Job Link

  Step 4: Update Workflow Settings
  Update "Update Job List" node with your Sheet ID and credentials
  Test the form trigger and webhook URL

  Step 5: Test & Activate
  Submit test data (e.g., "Software Engineer" in "New York")
  Activate the workflow
  Verify Google Sheet updates and field extraction

  📖 Usage Guide

  Submitting Job Searches
  Navigate to your workflow's webhook URL
  Fill in:
     Search Job Type
     Location
     Country
  Submit the form

  Reading the Results
  Real-time job listing data
  Company ratings and reviews
  Direct job posting links
  Location-specific results
  Processing timestamps

  🔧 Customization Options
  More Data Points:** Add job descriptions, salary, company size, etc.
  Search Parameters:** Add filters for salary, experience, remote work
  Data Processing:** Add validation, deduplication, formatting

  🚨 Troubleshooting
  Bright Data connection failed:** Check API credentials and dataset access
  No job data extracted:** Validate search terms and location format
  Google Sheets permission denied:** Re-authenticate and check sharing
  Form submission failed:** Check webhook URL and form config
  Workflow execution failed:** Check logs, add retry logic

  Advanced Troubleshooting
  Check execution logs in n8n
  Test individual nodes
  Verify data formats
  Monitor rate limits
  Add error handling

  📊 Use Cases & Examples
  Recruitment Pipeline:** Track job postings, build talent database
  Market Research:** Analyze job trends, hiring patterns
  Career Development:** Monitor opportunities, salary trends
  Competitive Intelligence:** Track competitor hiring activity

  ⚙️ Advanced Configuration
  Batch Processing:** Accept multiple keywords, loop logic, delays
  Search History:** Track trends, compare results over time
  External Tools:** Integrate with CRM, Slack, databases, BI tools

  📈 Performance & Limits
  Single search:** 2–5 minutes
  Data accuracy:** 95%+
  Success rate:** 90%+
  Concurrent searches:** 1–3 (depends on plan)
  Daily capacity:** 50–200 searches
  Memory:** ~50MB per execution
  API calls:** 3 Bright Data + 1 Google Sheets per search

  🤝 Support & Community
  n8n Community Forum:** community.n8n.io
  Documentation:** docs.n8n.io
  Bright Data Support:** Via your dashboard
  GitHub Issues:** Report bugs and features

  Contributing: Share improvements, report issues, create variations, document best practices.

  Need Help? Check the full documentation or visit the n8n Community for support and workflow examples.

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

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


name: Scrape Yelp Business Data with Gemini AI, Bright Data & Google Sheets
author_name: Bright Data
author_username: bright-data
categories: []
created_at: 2025-06-10T07:53:49.388Z
updated_at: 2025-06-10T07:53:49.388Z
url: https://n8n.io/workflows/4844
scraped_at: 2025-12-24 13:02:44
description:
  🔍 Yelp Business Finder: Scraping Local Businesses by Keyword, Category & Location Using Bright Data and Google Sheets

  Description: Automate local business data collection from Yelp using AI-powered input validation, Bright Data scraping, and automatic Google Sheets integration. Perfect for market research, lead generation, and competitive analysis.

  🛠️ How It Works

  Form Submission: Users submit a simple form with country, location, and business category parameters.

  AI Validation: Google Gemini AI validates and cleans input data, ensuring proper formatting and Yelp category alignment.

  Data Scraping: Bright Data's Yelp dataset API scrapes business information based on the cleaned parameters.

  Status Monitoring: The workflow monitors scraping progress and waits for data completion.

  Data Export: Final business data is automatically appended to your Google Sheets for easy analysis.

  📋 Setup Steps

  ⏱️ Estimated Setup Time: 10-15 minutes

  Prerequisites

  ✅ Active n8n instance (cloud or self-hosted)
  ✅ Google account with Sheets access
  ✅ Bright Data account with Yelp scraping dataset
  ✅ Google Gemini API access

  Configuration Steps

  Import Workflow:
     Copy the provided JSON workflow
     In n8n: Go to Workflows → + Add workflow → Import from JSON
     Paste the JSON and click Import

  Configure Google Sheets:
     Create a new Google Sheet or use an existing one
     Set up OAuth2 credentials in n8n
     Update the Google Sheets node with your document ID
     Configure column mappings for business data

  Setup Bright Data:
     Add your Bright Data API credentials to n8n
     Replace BRIGHT_DATA_API_KEY with your actual API key
     Verify your Yelp dataset ID in the HTTP request nodes
     Test the connection

  Configure Google Gemini:
     Add your Google Gemini API credentials
     Test the AI Agent connection
     Verify the model configuration

  Test & Activate:
     Activate the workflow using the toggle switch
     Test with sample data: country="US", location="New York", category="restaurants"
     Verify data appears correctly in your Google Sheet

  📊 Data Output

  📍 Business Name  
  Official business name from Yelp

  ⭐ Overall Rating  
  Average customer rating (1-5 stars)

  📝 Reviews Count  
  Total number of customer reviews

  🏷️ Categories  
  Business categories and tags

  🌐 Website URL  
  Official business website

  📞 Phone Number  
  Contact phone number

  📍 Address  
  Full business address

  🔗 Yelp URL  
  Direct link to Yelp listing

  🎯 Use Cases

  🔍 Market Research  
  Analyze local business landscapes and competition

  📈 Lead Generation  
  Build prospect lists for B2B outreach

  🏪 Location Analysis  
  Research business density by area and category

  📊 Competitive Intelligence  
  Monitor competitor ratings and customer feedback

  ⚠️ Important Notes:
  Ensure you comply with Yelp's terms of service and rate limits
  Bright Data usage may incur costs based on your plan
  AI validation helps improve data quality and reduce errors
  Monitor your Google Sheets for data accuracy

  🔧 Troubleshooting

  Common Issues:
  API Rate Limits:** Implement delays between requests if needed
  Invalid Categories:** AI agent helps standardize category names
  Empty Results:** Verify location spelling and category alignment
  Authentication Errors:** Check all API credentials and permissions

  🚀 Ready to start scraping Yelp business data efficiently!

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.formTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.wait","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5684 characters]


name: Generate AI Videos with Google Veo3, Save to Google Drive and Upload to YouTube
author_name: Davide
author_username: n3witalia
categories: []
created_at: 2025-06-10T08:27:01.375Z
updated_at: 2025-06-10T08:27:01.375Z
url: https://n8n.io/workflows/4846
scraped_at: 2025-12-24 13:02:41
description:
  This workflow allows users to generate AI videos using Google Veo3, save them to Google Drive, generate optimized YouTube titles with GPT-4o, and automatically upload them to YouTube with Upload-Post. The entire process is triggered from a Google Sheet that acts as the central interface for input and output.

  IT automates video creation, uploading, and tracking, ensuring seamless integration between Google Sheets, Google Drive, Google Veo3, and YouTube.

  Benefits of this Workflow

  💡 No Code Interface**: Trigger and control the video production pipeline from a simple Google Sheet.
  ⚙️ Full Automation**: Once set up, the entire video generation and publishing process runs hands-free.
  🧠 AI-Powered Creativity**:

    Generates engaging YouTube titles using GPT-4o.
    Leverages advanced generative video AI from Google Veo3.
  📁 Cloud Storage & Backup**: Stores all generated videos on Google Drive for safekeeping.
  📈 YouTube Ready**: Automatically uploads to YouTube with correct metadata, saving time and boosting visibility.
  🧪 Scalable**: Designed to process multiple video prompts by looping through new entries in Google Sheets.
  🔒 API-First**: Utilizes secure API-based communication for all services.

  How It Works  
  Trigger: The workflow can be started manually ("When clicking ‘Test workflow’") or scheduled ("Schedule Trigger") to run at regular intervals (e.g., every 5 minutes).  
  Fetch Data: The "Get new video" node retrieves unfilled video requests from a Google Sheet (rows where the "VIDEO" column is empty).  
  Video Creation:  
     The "Set data" node formats the prompt and duration from the Google Sheet.  
     The "Create Video" node sends a request to the Fal.run API (Google Veo3) to generate a video based on the prompt.  
  Status Check:  
     The "Wait 60 sec." node pauses execution for 60 seconds.  
     The "Get status" node checks the video generation status. If the status is "COMPLETED," the workflow proceeds; otherwise, it waits again.  
  Video Processing:  
     The "Get Url Video" node fetches the video URL.  
     The "Generate title" node uses OpenAI (GPT-4.1) to create an SEO-optimized YouTube title.  
     The "Get File Video" node downloads the video file.  
  Upload & Update:  
     The "Upload Video" node saves the video to Google Drive.  
     The "HTTP Request" node uploads the video to YouTube via the Upload-Post API.  
     The "Update Youtube URL" and "Update result" nodes update the Google Sheet with the video URL and YouTube link.  

  Set Up Steps  
  Google Sheet Setup:  
     Create a Google Sheet with columns: PROMPT, DURATION, VIDEO, and YOUTUBE_URL.  
     Share the Sheet link in the "Get new video" node.  

  API Keys:  
     Obtain a Fal.run API key (for Veo3) and set it in the "Create Video" node (Header: Authorization: Key YOURAPIKEY).  
     Get an Upload-Post API key (for YouTube uploads) and configure the "HTTP Request" node (Header: Authorization: Apikey YOUR_API_KEY).  

  YouTube Upload Configuration:  
     Replace YOUR_USERNAME in the "HTTP Request" node with your Upload-Post profile name.  

  Schedule Trigger:  
     Configure the "Schedule Trigger" node to run periodically (e.g., every 5 minutes).  

  Need help customizing?  
  Contact me for consulting and support or add me on Linkedin. 

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5956 characters]


name: Generate and Send AI News Newsletters Automatically with GPT & Gmail
author_name: Rahul Joshi
author_username: rahul08
categories: []
created_at: 2025-06-10T08:27:24.513Z
updated_at: 2025-06-10T08:27:24.513Z
url: https://n8n.io/workflows/4847
scraped_at: 2025-12-24 13:02:42
description:
  Description:

  Automate your AI newsletter creation and delivery using this ready-to-deploy n8n workflow template. Powered by GPT (OpenAI/Azure) and integrated with Gmail, this workflow generates rich, structured, and engaging AI-focused newsletters and sends them out daily or weekly—completely hands-free.

  What It Does:

  📰 Fetches the latest AI trends and updates using GPT
  ✍️ Automatically formats news into structured newsletter sections: headlines, tools, stats, tips, and more
  📧 Sends HTML email newsletters via Gmail
  🕘 Runs automatically at your chosen schedule (default: 9 AM daily)

  Setup Includes:

  Connect your OpenAI or Azure GPT API
  Add Gmail SMTP or OAuth credentials
  Customize categories, schedule, and email styling

  Perfect for:

  Tech bloggers, content marketers, AI influencers, and automation enthusiasts who want to send curated AI content to their audience without manual effort.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.gmail","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatAzureOpenAi","n8n-nodes-base.scheduleTrigger"]

workflow_json_compressed:
  [encoded data, 6872 characters]


name: Automated Music Video Creation & YouTube Publishing with AI-Generated Metadata from Google Drive
author_name: danejw
author_username: danejw
categories: []
created_at: 2025-06-10T09:31:31.721Z
updated_at: 2025-06-10T09:31:31.721Z
url: https://n8n.io/workflows/4848
scraped_at: 2025-12-24 13:02:43
description:
  The Problem That it Solves

  Uploading music manually to YouTube is a chore. Renaming files, filling metadata, picking the right playlist, adding keywords, and scheduling the release can eat up your creative time. This workflow removes the busy work so you can focus on making tracks instead of managing uploads.

  How it works
  Drop an MP3 into your shared Google Drive “Audio” folder and walk away. The workflow detects the new file, grabs the genre from the filename based on a set of keywords, uses the genre to map to cover art styles, and YouTube playlists, generates the description and tags for YouTube metadata, and schedules and posts to YouTube channel, while sending messages to discord for updates.

nodes_used:
  ["n8n-nodes-base.googleDriveTrigger","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.httpRequest","n8n-nodes-base.youTube","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.dateTime","n8n-nodes-base.if","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.if","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.code","n8n-nodes-base.sort","n8n-nodes-base.limit","n8n-nodes-base.discord","n8n-nodes-base.discord","n8n-nodes-base.discord","n8n-nodes-base.discord","n8n-nodes-base.discord","n8n-nodes-base.discord","n8n-nodes-base.executionData","n8n-nodes-base.executionData","n8n-nodes-base.executionData","n8n-nodes-base.executionData","n8n-nodes-base.executionData","n8n-nodes-base.executionData","n8n-nodes-base.executionData","n8n-nodes-base.executionData","n8n-nodes-base.executionData","n8n-nodes-base.executionData","n8n-nodes-base.executionData","n8n-nodes-base.dateTime","n8n-nodes-base.youTube","n8n-nodes-base.youTube","n8n-nodes-base.switch","n8n-nodes-base.code","n8n-nodes-base.dateTime","n8n-nodes-base.dateTime","n8n-nodes-base.if","n8n-nodes-base.googleDrive","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.youTube","n8n-nodes-base.youTube","n8n-nodes-base.youTube","n8n-nodes-base.code","n8n-nodes-base.discord","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.switch","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5304 characters]


name: Automated Invoice Processing with Telegram, GPT-4o, OCR and SAP Integration
author_name: Raquel Giugliano
author_username: raquelgiugliano
categories: []
created_at: 2025-06-10T10:01:39.029Z
updated_at: 2025-06-10T10:01:39.029Z
url: https://n8n.io/workflows/4849
scraped_at: 2025-12-24 13:02:41
description:
  ++HOW IT WORKS:++
  This workflow automates the processing of invoices sent via Telegram. It extracts the data using LlamaIndex OCR, logs it in Google Sheets, and optionally pushes the structured data to SAP Business One

  🔹 1. Receive Invoice via Telegram:**
  A user sends a PDF of an invoice through Telegram
  A Telegram Trigger node listens for incoming messages and captures the file and metadata
  The document is downloaded and prepared for OCR

  🔹 2. OCR with LlamaIndex:
  The file is uploaded to the LlamaIndex OCR API.
  The workflow polls the API until the processing status returns SUCCESS
  Once ready, the parsed content is fetched in Markdown format

  🔹 3. Data Extraction via LLM (editable):
  The Markdown content is sent to a language model (LLM) using LangChain
  A Structured Output Parser transforms the result into a clean, structured editable JSON

  🔹 4. Save to Google Sheets:
  The structured JSON is split into:
  Header (main invoice metadata)
  Detail (individual line items)

  Each part is stored in a dedicated tab within a connected Google Sheets file

  🔹 5. Ask for SAP Confirmation:
  The bot replies to the user via Telegram:

  "Do you want to send the data to SAP?"

  If the user clicks "Yes", the next automation path is triggered.

  🔹 6. Push Data to SAP B1:
  A connection is made to SAP Business One's Service Layer API

  Header and detail data are fetched from Google Sheets

  The invoice structure is rebuilt as required by SAP (DocumentLines, CardCode, etc.)

  A POST request creates the Purchase Invoice in SAP

  A confirmation message with the created DocEntry is sent back to the user on Telegram

  ++SET UP STEPS:++
  Follow these steps to properly configure the workflow before execution:

  1️⃣ Create Required Credentials:
  Go to Credentials &gt; + New Credential and create the following:
  Telegram API (set your bot token get it from BotFather)
  Google Sheets
  OpenAI

  2️⃣ Set Up Environment Variables (Optional but Recommended):
  LLAMAINDEX_API_KEY
  SAP_USER
  SAP_PASSWORD
  SAP_COMPANY_DB
  SAP_URL

  3️⃣ Prepare Google Sheets:
  Ensure your Google Spreadsheet has the following:
  ➤ Sheet 1: Header
  ➤ Sheet 2: Details
  Contains columns for invoice lines

nodes_used:
  ["n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.noOp","n8n-nodes-base.splitOut","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","n8n-nodes-base.telegramTrigger","n8n-nodes-base.switch","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.telegram","n8n-nodes-base.telegramTrigger","n8n-nodes-base.set","n8n-nodes-base.telegram","n8n-nodes-base.telegram","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.switch","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7192 characters]


name: Export Cloudflare Domains with DNS Records and Settings to Google Sheets
author_name: KPendic
author_username: kres
categories: []
created_at: 2025-06-10T10:26:19.793Z
updated_at: 2025-06-10T10:26:19.793Z
url: https://n8n.io/workflows/4850
scraped_at: 2025-12-24 13:02:44
description:
  How it works

  This workflow simply exports all your CloudFlare domains to Google Sheet to get high overview of all of your settings. This could help for easy debugging, searching or similar needs. 
  In flow simple pagging nodes are used to iterate over all your domains, because this list could be huge. 
  For each host we are merging DNS & Settings and transforming them into columns for all our domains.

  Requirements

  For storing and processing of data in this flow you will need:

  CloudFlare.com API key/token - for retrieving your data (https://dash.cloudflare.com/:account/api-tokens) (need full access)
  Google Spreadsheet auth connected in your n8n Credentials
  Google Spreadsheet template - you can copy my sheet as starting point, start by copying it to your account 
  Match Sheet ID in 'Export' node to your newly created.

  Official CloudFlare api Documentation
  For full details and specifications please use API documentation from: https://developers.cloudflare.com/api/

  Potential API timeouts
  If you encounter CF API timeouts - I would suggest to only put somewhere in the loop simple sleep/wait node - for couple of seconds - and it should resolve timeouts.

  Google Sheet
  I've used simple Google Sheet feature conditional formatting to visually distinct my on|off toggles that was of my interest to easily get high overview for debuggint some of the settings on my hosts - but please use your own logic or change it completely.

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

workflow_json_compressed:
  [encoded data, 6092 characters]


name: Find relevant X tweets based on your profile and suggest responses
author_name: @OnePromptMagic
author_username: one-prompt-magic
categories: []
created_at: 2025-06-10T10:37:48.703Z
updated_at: 2025-06-10T10:37:48.703Z
url: https://n8n.io/workflows/4851
scraped_at: 2025-12-24 13:02:44
description:
  What This Workflow Does

  Step 1: Analyzes your recent tweets for personality & style
  Step 2: Generates strategic keywords based on your profile
  Step 3: Searches for trending tweets in your niche
  Step 4: Creates personalized responses & original tweets
  Step 5: Displays results in beautiful HTML format

  How to Use
  Execute the workflow
  Fill out the form with:
     Your X username (from your URL)
     Your goals on X (multiple selection)
     Optional additional info
  Submit the form
  Wait for processing (2-3 minutes)
  Double-click the "Click to show Result" node

  example clip can be found here

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.formTrigger","n8n-nodes-base.splitOut","n8n-nodes-base.aggregate","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.httpRequest","n8n-nodes-base.html","n8n-nodes-base.code","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 13912 characters]


name: Automate GPT-4o Fine-Tuning with Google Sheets or Airtable Data
author_name: Matty Reed
author_username: mattyreed1
categories: []
created_at: 2025-06-10T12:18:16.840Z
updated_at: 2025-06-10T12:18:16.840Z
url: https://n8n.io/workflows/4853
scraped_at: 2025-12-24 13:02:44
description:
  Who is this for?  
  Anyone curating before/after text examples in a spreadsheet and wanting a push-button path to a fine-tuned GPT model—without touching curl. Works with Google Sheets or Airtable.

  What problem does it solve?  
  Manually downloading CSVs, converting to JSONL, uploading, and polling OpenAI is a slog.  
  This flow automates the whole loop: grab examples flagged Ready, build the JSONL file, start the fine-tune, then log the resulting model ID back to a registry sheet/table for reuse.

  How it works  

  | # | Node | Purpose |
  |---|------|---------|
  | 1 | Schedule Trigger | Runs weekly by default (change as needed). |
  | 2a | Get Examples from Sheet | Pulls rows where Ready = TRUE from your Google Sheet. Uses the JSONL-Template Sheet as the expected column layout. |
  | 2b | Get Examples from Airtable (disabled) | Alternate source for Airtable users. |
  | 3 | Create JSONL File (Code) | Converts each example to chat-format JSONL and splits into train.jsonl / val.jsonl (80/20). |
  | 4 | Upload JSONL | Uploads the training file to OpenAI (purpose: fine-tune). |
  | 5 | Begin Fine-Tune | Starts a fine-tune job on gpt-4o (editable). |
  | 6 | Wait → Check Job → IF | Polls every minute until status = succeeded. |
  | 7a | Write Model to Sheet | Appends the new model ID + meta to your Model Registry sheet. |
  | 7b | Write Model to Airtable (disabled) | Equivalent logging step for Airtable. |

  Setup steps  

  Import & connect credentials  
     Import the JSON flow into n8n.  
     Add your OpenAI API key.  
     Google Sheets: create an OAuth2 credential and link it to both Sheets nodes.  
     Airtable (optional): create a Personal Access Token and attach it to the Airtable nodes.

  Copy the template sheet  
     Duplicate the JSONL-Template Sheet linked above into your own Drive.  
     Required columns (exact names):  
       | systemPrompt | userPrompt | assistantResponse | Ready |  
     Tick Ready = TRUE for rows you want to include.

  Create the registry sheet/table  
     Google Sheet (or Airtable table) named Model Registry with columns:  
       Model ID, Training Examples, Epochs, Batch Size, Learning Rate, Finished At.

  Tweak model & schedule  
     Change the base model in Begin Fine-Tune if desired.  
     Adjust the Schedule Trigger for daily / on-demand runs.

  Test it  
     Mark a few examples Ready = TRUE.  
     Run the flow manually.  
     Check OpenAI for the new fine-tune job and confirm the model ID is logged in your registry.

  Resources  

  n8n Docs – &lt;https://docs.n8n.io/&gt;  
  OpenAI Fine-Tuning – &lt;https://platform.openai.com/docs/guides/fine-tuning&gt;  
  Google Sheets API – &lt;https://developers.google.com/sheets/api&gt;  
  Airtable API – &lt;https://airtable.com/api&gt;

  Extending the flow  

  Webhook trigger** – swap the schedule for a webhook to train on demand.  
  Multi-source merge* – enable both Sheets *and Airtable nodes to combine datasets.  
  Auto-deploy** – save the new model name to an env-var or Secrets Manager for downstream generation workflows.

nodes_used:
  ["n8n-nodes-base.wait","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.set","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.stopAndError","n8n-nodes-base.airtable","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.airtable","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE62XWW/bRhCA/4rAZ6279+GnuqkTOEiToE6bAkUe9piVicikKlE5avi/d0gZoiRTNh33Rabk4ew3MzvXTVGm4rSo1AX/V73/6+L8bfPRLctiWlxD44vTm6KsVo2vIly0csbGpIRKNnJLo8vCscQig+zBsBBEoFRpThNzhrtkQnYoHyUwRR1A4Ki3gevF3DfwYglpdQnNevGixl+gATygWa7hdlpU/hrwtJdlBZMPa/x49f5D+6qfrYrTvz+hQJ2gfbzZ4OcoWzJKbLKSSLCeBJosMYF7GYIOWsViq/ajL5tW2/dF+62yFenUkeBXcPJ1889FvSqbsq7wDKY0nVI89CuEq7r+3DlCSua5CoF4yiKRnhvimQ1EAJccPPqkM3bhl3hmA0uEvbndnPknfus0sxN2O72zQHptnfKaKK9Qn82cOAue8KghsSS5BdFbcBmvIK3n6JxlOZvB8qg1qzvBXm7HMMLsxrBHKPmWMkG0QueMVudAZNCROEBoMF5YIaTwPOxQQtMGbvIb8syPI8KhvykfgSVO5BYrC+m8MoFQwymGPzNiA0U3JmqicdRGs+O8X2BWVpP2bpGmvVuv63AU7qppFr/DP2tYHUIKOgJS7vjOKpMSM4qwZFvfMUa8D4lw4x0kp5jztof8YzGvfZq8vnz39g2yzqFH/BkZf+o5576axStfVif1Aqqzcp/TyFEhtltMFbgzVlISrWJEco9JJR0lOmDOZ2NAJ95jYhJjKg9iHngy4uM+mhyD1vtPcUPBAyOMM9sGWZMguWg/tEmZSsTbAbuC+HkT5A8/HuRR3tsNMiZAexcjwTTxRDKpsBBlR2JmlskUFKZcD3mRJ5frGAES1r5jdGU+gHJj0oPvQCkfOLciEhG5IjJKT7yxmogQZDRRW0P5HtRLj5EcT8QZEjH6JCasldwnpoh1GrPBBke8yInkiOnPJDPc7zCdL5f18nTy8uzizfmvxytJUy/OqtQJHxC22TqCsK/HznEfTZKYBtZhIVFtSJUjYFW2nGqMpuz5zlLq71raFLxJU0/OymXjwwNZ4XuBVK7ap7smuI+PLXVqR/i35w/UY+91hgQNnEitE3FOM+K40hb7DASX9vkHDbi8AjjeK2d1PZtDJ7Mq7hNjpo5IHr1lxmrInGhxDW8rJADx6Hls6sYKbnB+ANczv8Lucv7Nt6PDapKX9fUPw7KO9fHbIU/UljVG1Q462PXx2mI18phTFksSCxCdjFSpHB9i/Z9uRpd5j3t592aI5EyWMRMm2knDBZyVpMEnEXLKBkJgO33osinj5++Tt3VzHHXVydyJ7M4XvHUsv39xi1hXDVQNqiqOpyDVIUoVFMncYAoyJUkQHgtqNNpRiv1Sy0FQ9mRSoZ8DahPDoiwDiVpiy6Rg2vEjkAzAseRT76IZBOVPBnXyOaDBJ5dTQD+iB++GTCEUNgLmsXNxHO3UIKh4MigO/M8h5dgVjaGZ4M6ALo3YraxnjjDteaQgTN4bNHtS+WRSLu2PkKK0j035BU/Kfr7CtMRBtimrWfcqfIO4bg94t0w4dp8WX1ir48vm/W6D0CFRb5wjWXqDeYi1BE2UhFMcW7nAX0EjKUJUEFtVneJud8G/1zjwITwuQK2Jjw08nfQUV7kE34pTevvpE8L0jX5I35GWe0/TtH9lf686dmY/8QwdO76THuqf7ukY080esmVgCho0aH/HGbLowXVjWOfhdjek9tH2d9w/Y7rRINj9aX+I7IHVZVDrffkhrUeWyUGNQy4f0jniwg6l1ZCq4VF+UOWxyA1m9fH9aqTubWifr/729j+/seg0LhIAAA==


name: Family Assistant: Schedule, Meal & Routine Management with Email & Telegram
author_name: Issam AGGOUR
author_username: devgor
categories: []
created_at: 2025-06-10T15:06:29.333Z
updated_at: 2025-06-10T15:06:29.333Z
url: https://n8n.io/workflows/4855
scraped_at: 2025-12-24 13:02:44
description:
  The FamilyFlow Assistant is your n8n-powered 🚀 companion designed to streamline daily parenting tasks, reduce mental load, and bring a bit more organization and fun into your family life. This versatile workflow automates reminders, generates helpful ideas, and provides gentle nudges to keep your household running smoothly.

  Why FamilyFlow Assistant? 🤔
  Parenting is a demanding (and rewarding!) job. Juggling schedules, meals, routines, and remembering everything can be overwhelming. FamilyFlow Assistant aims to:

  Reduce Mental Clutter:** Offload common reminders and to-dos to an automated system.
  Enhance Organization:** Keep track of activities, appointments, and important checks.
  Spark Joy & Creativity:** Generate meal ideas, story starters, and positive thoughts.
  Promote Routine:** Help establish and maintain consistent morning and evening routines.
  Save Time:** Automate repetitive prompts and checks, freeing you up for what matters most.

  Core Features & Automations 🧩
  This workflow bundle comes packed with several independent yet complementary automations:

  📅 Daily & Weekly Organization:

  Activity & Appointment Reminders:** Get a daily heads-up on scheduled events for the family.
  Morning Routine Checklist:** Start the day right with a friendly checklist for kids (or parents!).
  Bedtime Routine Nudge:** A gentle reminder to begin the wind-down process.
  Evening “Did You Remember?” Scan:** A quick mental checklist for common end-of-day to-dos.
  Weekly “Plan Ahead” Prompt:** A Sunday reminder to review the upcoming week.
  School/Daycare Comms Check:** Prompts to check for important updates.

  💡 Inspiration & Well-being:

  Meal Idea Generator:** Never wonder “what’s for dinner?” again (or at least, less often!).
  Positive Thought / Fun Fact Sender:** A little daily dose of brightness.
  Story Starter / Quick Activity Prompt:** Spark imagination or a quick family interaction.
  Weekly Wins & Gratitude Reminder:** Encourage reflection on positive moments.

  ⏱️ Optional Helpers:

  Screen Time Break Reminder:** (Disabled by default) A nudge for offline time.

  Getting Started: Setup & Customization 🛠️
  Make FamilyFlow Assistant truly yours with these simple steps:

  Import the Workflow: Add the provided .json file to your n8n instance.
  Configure Credentials:
      Email: Set up your preferred email sending credential (e.g., SMTP, Gmail) in all “Email Send” nodes. You’ll likely use the same one for all.
  Personalize Content (Crucial!):
      Email Addresses: Update parents@example.com to your actual email(s) in all Email nodes.
      Schedules & Activities: Edit the “Define Daily Schedules” (Set node) with your family’s actual events.
      Meal Ideas: Customize the mealIdeas array in the “Generate Meal Idea” (Function node).
      Checklists & Prompts: Tailor the text/HTML in Email nodes for morning/bedtime routines, check-ins, story starters, etc., to fit your family’s style.
      Positive Thoughts/Facts: Update the lists in the “Get Positive Thought/Fact” (Function node).
  Adjust Triggers (Cron Nodes):
      Modify the “Rule” in each Cron node to set the exact time and frequency for each automation.
  Activate Automations:
      The main workflow and most automations are inactive by default. Toggle the “Active” switch ON for the entire workflow or for individual automations/nodes you wish to use.
      Remember, the “Screen Time Break Reminder” is disabled by default; enable its Email node if desired.

  How Each Automation Works (Briefly) ⚙️
  Each automation generally follows this pattern:

  TRIGGER: An event starts the flow (e.g., a scheduled time via Cron).
  PROCESS: Data is defined (e.g., list of activities, meal ideas) or generated (e.g., a random selection, a formatted message).
  RESPOND: An action is taken, typically sending an email with the relevant information or reminder.

  For instance, the “Daily Activity Reminder” uses a Cron trigger, a Set node to hold your schedule, a Function node to filter for today’s events, an IF node to check if there are any, and finally an Email node to send the reminder.

  Expanding Your Assistant 🚀
  FamilyFlow Assistant is a great starting point. Consider these ideas to extend its capabilities:

  Integrate Calendars:** Connect to Google Calendar or Outlook Calendar to fetch events dynamically.
  Use Different Notifiers:** Send messages via Telegram, WhatsApp, Slack, or push notifications.
  Smart Home Integration:** If you have smart home devices, trigger lights or announcements for routines.
  Shared To-Do Lists:** Update a shared Todoist or Microsoft To Do list.
  Interactive Input:** Use n8n forms or Telegram commands to add events or trigger specific actions.

  Requirements 📋
  An active n8n instance (self-hosted or cloud).
  Email sending credentials configured in n8n.
  A little time to customize the content to perfectly match your family’s needs!

  Embrace the flow and let your FamilyFlow Assistant help make parenting a little smoother!

nodes_used:
  ["n8n-nodes-base.start","n8n-nodes-base.cron","n8n-nodes-base.if","n8n-nodes-base.emailSend","n8n-nodes-base.emailSend","n8n-nodes-base.emailSend","n8n-nodes-base.cron","n8n-nodes-base.emailSend","n8n-nodes-base.cron","n8n-nodes-base.emailSend","n8n-nodes-base.cron","n8n-nodes-base.emailSend","n8n-nodes-base.emailSend","n8n-nodes-base.telegramTrigger","n8n-nodes-base.cron","n8n-nodes-base.emailSend","n8n-nodes-base.cron","n8n-nodes-base.emailSend","n8n-nodes-base.cron","n8n-nodes-base.emailSend","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.cron","n8n-nodes-base.cron","n8n-nodes-base.cron","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.telegram","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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


name: Configure Telegram Bot Webhooks with Form Automation
author_name: Un tal Camilo Medina
author_username: untalcamilomedina
categories: []
created_at: 2025-06-10T16:26:48.501Z
updated_at: 2025-06-10T16:26:48.501Z
url: https://n8n.io/workflows/4856
scraped_at: 2025-12-24 13:02:44
description:
  🤖 Telegram Bot Webhook Configuration Tool

  This workflow creates a simple web form that helps you configure Telegram bot webhooks quickly. Instead of manually constructing the Telegram API URL, this tool does it for you automatically.

  How It Works

  The workflow consists of three main steps:

  Form Input: A web form collects your bot token and webhook URL
  URL Construction: Automatically builds the correct Telegram API URL
  Redirect: Takes you directly to the Telegram API to complete the configuration

  What You Need

  Bot Token**: Get this from @BotFather on Telegram (format: 123456789:ABCdefGHIjklMNOpqrsTUVwxyz)
  Webhook URL**: Your n8n webhook endpoint (must be HTTPS)

  Setup Instructions

  Import this workflow into your n8n instance
  Activate the workflow
  Access the generated form URL
  Fill in your bot details and submit

  Form Fields

  | Field | Description | Example |
  |-------|-------------|---------|
  | Bot API Token | Token from BotFather | 123456789:ABCdefGHIjklMNOpqrsTUVwxyz |
  | Webhook URL | Your n8n webhook endpoint | https://your-instance.app.n8n.cloud/webhook/telegram |

  What Happens

  You enter your bot token and webhook URL in the form
  The workflow constructs this URL: https://api.telegram.org/bot{TOKEN}/setWebhook?url={WEBHOOK_URL}
  You're redirected to that URL where Telegram configures your webhook
  Telegram shows you a success or error message

  Benefits

  No Manual URL Building**: Eliminates copy-paste errors
  Quick Setup**: Configure webhooks in seconds
  Privacy Focused**: No data is stored anywhere
  Team Friendly**: Share the form URL with team members

  Common Webhook URLs

  n8n Cloud: https://your-instance.app.n8n.cloud/webhook/telegram-bot
  Self-hosted: https://your-domain.com/webhook/telegram-bot

  Requirements

  n8n with form trigger support
  Valid Telegram bot token
  Publicly accessible webhook URL (HTTPS required)

  Troubleshooting

  Invalid Token Error: Make sure you copied the complete token from BotFather

  Webhook Error: Ensure your URL is publicly accessible and uses HTTPS

  SSL Error: Verify your webhook URL has a valid SSL certificate

  This tool simply automates the manual process of visiting the Telegram API URL to configure your bot's webhook. Perfect for developers who frequently set up or change Telegram bot configurations.

nodes_used:
  ["n8n-nodes-base.formTrigger","n8n-nodes-base.set","n8n-nodes-base.form","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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


name: Create a Notion AI Assistant with Google Gemini for Managing Tasks & Content
author_name: Laura Piraux
author_username: lauraslap
categories: []
created_at: 2025-06-10T17:23:09.147Z
updated_at: 2025-06-10T17:23:09.147Z
url: https://n8n.io/workflows/4857
scraped_at: 2025-12-24 13:02:44
description:
  This n8n workflow template uses community nodes and is only compatible with the self-hosted version of n8n. 

  Build an AI agent for Notion (with Notion official MCP server)

  Use case

  This template empowers Notion power-users to build their own AI assistant, deeply integrated with their workspace. It solves the constant problem of copy-pasting and context-switching between a separate AI chat and Notion by creating a direct, conversational bridge. Now you can interact with an intelligent agent that can create, retrieve, and update your Notion databases and pages on your behalf, turning your workspace into a truly dynamic productivity hub.

  How it works

  When you send a message via the chat interface, the workflow passes it to your chosen AI model. The model, connected to the official Notion tool server, analyzes your request to see if it can be fulfilled by one of its available Notion actions. If it matches a tool, the workflow executes the command using the Notion API—like creating a new page or searching a database—and the AI then confirms the action is complete back in the chat.

  Setup

  Prerequisite: This template is for self-hosted n8n instances only, as it requires a community node. 

  Copy this workflow into your self-hosted n8n instance 
  Install the required community node (n8n-nodes-mcp).
  Add your credentials for your chosen AI Model and the Notion MCP Server.
  Test the workflow by starting chatting with your new Notion assistant.

  How to adjust it to your needs

  You can use the AI model you want and even easily compare different AI models.
  You can start from this template and then provide other tools to your AI agent to build more powerful workflows.

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

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


name: WhatsApp Dietitian AI Chatbot Workflow
author_name: Tamer
author_username: tamerelzein
categories: []
created_at: 2025-06-10T17:54:54.633Z
updated_at: 2025-06-10T17:54:54.633Z
url: https://n8n.io/workflows/4858
scraped_at: 2025-12-24 13:02:43
description:
  WhatsApp Dietitian AI Chatbot Workflow

  Transform your WhatsApp into a professional nutrition consultant with this comprehensive AI-powered dietitian assistant. Built using n8n automation and Google Gemini AI, this workflow provides instant, intelligent nutrition advice to your clients 24/7.

  🍽️ What It Does

  Meal Analysis: Users can send photos of their meals with captions like "analyze this meal" and receive detailed nutritional breakdowns including calories, macronutrients, and personalized recommendations.

  Nutrition Guidance: Answers questions about general nutrition, dietary restrictions, meal planning, and healthy eating habits with evidence-based information.

  Meal Recommendations: Suggests customized meals based on specific criteria like calorie targets, dietary preferences (vegan, keto, etc.), or available ingredients.

  🚀 Key Features

  Dual Input Processing**: Handles both text questions and image analysis seamlessly
  Professional AI Responses**: Uses Google Gemini 2.0 Flash for accurate, contextual nutrition advice
  WhatsApp Optimized**: Responses formatted specifically for mobile messaging with emojis and clear structure
  Smart Routing**: Automatically detects message type (text vs image) and processes accordingly
  Structured Output**: Consistent, professional formatting for all responses
  Scope Management**: Stays within nutrition expertise and includes appropriate medical disclaimers

  🛠️ Technical Stack

  Platform**: n8n workflow automation
  AI Model**: Google Gemini 2.0 Flash
  Integration**: WhatsApp Business API
  Message Types**: Text messages, images with captions
  Output**: Structured, conversational responses

  📱 Perfect For

  Nutritionists and dietitians offering remote consultations
  Health coaches providing 24/7 client support
  Fitness professionals adding nutrition guidance
  Wellness businesses expanding their service offerings
  Anyone wanting to monetize nutrition expertise

  🎯 Ready to Deploy

  This workflow comes with comprehensive documentation, clear setup instructions, and professional prompt engineering. Simply configure your WhatsApp Business API and Google Gemini credentials to start serving clients immediately.

  Transform your nutrition expertise into an automated, scalable WhatsApp service that works around the clock!

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.whatsAppTrigger","n8n-nodes-base.whatsApp","n8n-nodes-base.httpRequest","n8n-nodes-base.whatsApp","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.switch","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE62X227bRhCGX4XgtTbd80FXLdIiTZGkSVo0F4FR7GFWJiKRqkjFCQy/e4eUalO2ZEl2L2zYi+Xs989pZ6/LKpXTEr7lX968Zx/C7P3iU/rtXTkpF9D5cnpdVnXb+TrC635f5lo7lV1KDqIKoGSQTiQDVEjHbc4sgsU1K4GqlI0OAmiIIjoNQUdf3kzK2i8ATX269F3rl8viV/Dz7rLwVRFxKTRdsW6relbM54t+paoRpvOztpx+vsCvmwT9n9cb8AyG5ug90cYYIqURxCkWiBVcAheMhhzL2zNfNc1sDsUrWFR1VbzE44q3aG/en/B92e/4sbb1D/hDhnPI3NezgeHFfNFv3xjYfI8fLZu26qqmRh5GKZ1wioRLv8LTOlgh5vXNxvJf+N+wj91MtuRI6IIPjKCjBJEhA7EqZqKpMjxHqmV0d+R/dKt17NYrSMXv62657or3ftXC6gTyZti/2X5n5h4953Qij9O/4Lf8wtuouackGpOJFN4RTAtJLIDOVgluKZS70f4Jo/0W2tbPoPgIEaqvA8dWwB178C28uNp+8eeqms0GoSNewtHboue9gnDZNF+G7ARHuUFPEuOkQyTtiZXcEW6ljMB5zHzQfVqAcgqU+dQnlEeByXniglOEZhlVToYpKkepBV1x9V9KVwuUeFTZriSNigjj9zUJY6Ny0RMeFCa4ppk4mTgRNibGVOZOn6HJMvyA8kRU4pZIoyLxgmqSqcBiVVIB9Xeafm6u6nnjU/H6UT2XXbf8CP+soe12JVl+K+lRPjlKK2qwwSQhCIiEMQRvSbDMEMe5VylklkIYlQXUCVOpXTZ1C0XXFHFeQd2d6Xqm9Db7x5632ecsMJsyU4C+0ok47HokaRe5d9GKIf4nel44LiBjCGkMksiINWOxO2EwBUhBDbcij7OphpXv4E5bXjWLooNv3QkVP/x+M1/c71ASO5Q9ocj1LbVmVthkAzGZK2xSsQcGzL6YIkhtKOXiKPWQPYXHSEW/HGCeJYHwE9rsSEPC+8ooRYnxGT2voiDWG0YSKAjMB53p6Ip4eQnxS1HlYrFtVLGpO2RpjxR1e1V18fIerjylqYpR9ivmXLIqEeFjX+1ekKAcYAo6F7RkPDgzvhSq+OV78a7pHuEa9my37HRQ2xcnfYBX9oL7GpqW5SPNUVAXlGYEryl0qvWBeI9tiXGhuLDMxSj2grKzSQfOh248jTMBD8ygLx3r26fhHDl5JI567OVOah74Xk5+Nqfqux3XTwSVkmrrUiBUDoOM0wiqsdl7FvAOSMGMB5kRqDgbdBhViHgqKccYO2MSkmLAJZOJeMk9oTgYCgE6RRH2ksqzSR3G/sketZKFFLMj6NZEpFd4k0iGBZVo4JGjWx3dy6nO96jsk/Rhaz0NVEcXk9eS+ETxUg4Y/5ASxp+5bLXOIQu1F1Q/serFU6veq6gTNZEoineCjAiJ7UkTY2I2iCxk2l/15nxS1ndPYs6NPu72scPJspxmP29hUrbQdfie2Lber5utww1vnKf4YsExg1KsOYXlhoXmiWBAeXQ4RAaLVHheDbHnGo6/NxXhyqJ/pEw/45ukF/aki3CxeedUdYJv5ZTeXFwg656Zct9ph8a0/TYPPYHQsq/+7m/gNVrZrj1L0wNzI5bJMbu7o85jpgZZB99HG1njN9DzVe1Ye5aoQ5YGTYffTPuy4OTB5UCqHQbed9rRwXvvKccY99fS4YfVg0MmRyO7G4JzfPEwJ/4vx9zc/Ava9kt4hxEAAA==


