# templates

name: Enrich Person Data and Update CRM with Airtop and Hubspot
author_name: Airtop
author_username: cesar-at-airtop
categories: []
created_at: 2025-05-21T01:27:04.342Z
updated_at: 2025-05-21T01:27:04.342Z
url: https://n8n.io/workflows/4255
scraped_at: 2025-09-14 11:38:23
description:
  Automating Person Data Enrichment and CRM Update

  Use Case

  This automation enriches a person’s professional profile using their name and work email, scores them against an ICP (Ideal Customer Profile), and updates their record in HubSpot. It’s ideal for sales, marketing, and recruitment teams needing reliable contact insights.

  What This Automation Does

  This automation performs the following using the input parameters:

  Person name**: The full name of the individual.
  Work email**: The professional email address of the contact.
  Airtop Profile (connected to LinkedIn)**: An authenticated Airtop Profile used for LinkedIn-based enrichment.
  Hubspot object id**: The internal HubSpot ID for the contact to be updated.

  How It Works

  Initiates the workflow using a form or external trigger.
  Uses the name and email to extract and enrich the person’s data, including:
     LinkedIn profile and company page
     About section, job title, location
     ICP score, seniority level, AI interest, technical depth, connection and follower counts
  Formats and maps the enriched data.
  Pushes the updated data to HubSpot using the object ID.

  Setup Requirements

  Airtop API Key
  Airtop Profile logged in to LinkedIn.
  HubSpot access with object ID field for each contact to update.

  Next Steps

  Combine with Lead Generation**: Use as part of an end-to-end workflow that sources leads and enriches them in real time.
  Trigger from CRM**: Initiate this workflow when a new contact is added in HubSpot or another CRM.
  Customize Scoring Logic**: Tailor the ICP calculation to your team’s specific criteria.

  Read more about person data enrichment

nodes_used:
  ["n8n-nodes-base.formTrigger","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.executeWorkflow","n8n-nodes-base.executeWorkflow","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4268 characters]


name: Extract Person Data and Calculate ICP Score with Airtop
author_name: Airtop
author_username: cesar-at-airtop
categories: []
created_at: 2025-05-21T01:30:28.217Z
updated_at: 2025-05-21T01:30:28.217Z
url: https://n8n.io/workflows/4256
scraped_at: 2025-09-14 11:38:23
description:
  Automating LinkedIn Enrichment and ICP Scoring

  Use Case

  This automation enriches a person’s data using LinkedIn and calculates an Ideal Customer Profile (ICP) score based on their professional presence. It is particularly useful for lead qualification, contact research, and targeted outreach.

  What This Automation Does

  The automation processes the following input parameters:

  Person Name**: Full name of the individual.
  Work Email**: Business email address to validate corporate identity.
  Airtop Profile (connected to Linkedin)**: A LinkedIn-authenticated Airtop Profile for enrichment.

  How It Works

  Email Filtering: Checks if the email is corporate (excludes free and personal domains).
  LinkedIn Profile Discovery: Searches and verifies the correct LinkedIn URL using Airtop.
  Data Enrichment: Extracts professional details from the LinkedIn profile.
  ICP Scoring: Calculates an ICP score based on extracted data and profile context.
  Merge Outputs: Consolidates enriched profile data and ICP results into a single output.

  Setup Requirements

  Airtop API Key
  An Airtop Profile authenticated on LinkedIn.

  Next Steps

  Combine with CRM Integration**: Push enriched and scored data into CRMs like HubSpot or Salesforce.
  Batch Processing**: Automate for lists of leads using Airtop + n8n or Airtop SDK.
  Scoring Customization**: Adjust scoring logic to reflect your ideal customer attributes more precisely.

  Read more about data enrichment and ICP scoring

nodes_used:
  ["n8n-nodes-base.formTrigger","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.executeWorkflow","n8n-nodes-base.executeWorkflow","n8n-nodes-base.executeWorkflow","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","n8n-nodes-base.filter","n8n-nodes-base.filter","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4404 characters]


name: Find and Verify Linkedin Profile with Airtop
author_name: Airtop
author_username: cesar-at-airtop
categories: []
created_at: 2025-05-21T01:33:40.301Z
updated_at: 2025-05-21T01:33:40.301Z
url: https://n8n.io/workflows/4257
scraped_at: 2025-09-14 11:38:23
description:
  Automating LinkedIn Profile Discovery with Verification

  Use Case

  Accurately identifying and verifying a person’s LinkedIn profile is essential for prospecting, recruiting, or contact enrichment. This automation ensures high accuracy by combining search logic with optional profile validation.

  What This Automation Does

  This automation locates and verifies a LinkedIn profile using the following inputs:

  Person_info**: Any identifying information about the person (e.g., name, company, email).
  Airtop_profile**: Your Airtop Profile authenticated on LinkedIn, used for verifying the profile.

  How It Works

  Extracts a likely LinkedIn URL by performing a Google search using the provided person info.
  Validates the result (if Airtop Profile is provided):
     Visits the LinkedIn profile.
     Verifies match by checking the content (e.g., experience, role) against the person info.
  Returns a verified LinkedIn profile URL or "NA" if not found or not valid.

  Setup Requirements

  Airtop API Key
  Optional but recommended: an Airtop Profile authenticated on LinkedIn.

  Next Steps

  Combine with Email Lookup**: Use email-to-profile tools upstream to gather inputs.
  CRM Integration**: Automatically append LinkedIn profiles to contact records.
  Automate Outreach**: Use the verified URLs for personalized LinkedIn engagement workflows.

  Read more about how find and verify Linkedin profiles

nodes_used:
  ["n8n-nodes-base.formTrigger","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.airtop","n8n-nodes-base.airtop","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.filter","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE9VZ624buRV+FWK2gONUVOZ+EXKBayetdxM7cG67jY0Fh3MoMR6RE5JjR/Ea6Gv09fokBTkzutiyN+miKPpPGnHOjd/5zkVXHq+8ifeXt1+k5vsvwtdk//wvH370Rt4cDPEmVx4X2hBB4dCeC3NSxFlZhGVQZIyGSRgDKUmQQpIlqR9FeZpkZVj6ZZIVaeT7ZcgCChUNKr+KksQbeQbmTU1MJy+Ks8y7HnmCzMGbeC+5OIfqUKDXSjJeAzrgmsoLUAt0id6D4oxTYrgUVg6Zam/y8apzYHrED473xafP+z+fZM3swFvKfEXUORgupt7IowqIgWrPWFf8MMF+jIPkrR9M/HwSJuMkSP/ujby2qX7/2PWoV/31p6Pj+Hj+6Str0x/D5NVK9QHM5d1ag3ySFJMkG0dpfI/WzWPXZyNPyArWXC8gK+LCpzhIaYpjHypMsijEKYRlnJCiYlCsbDoWiEk1R7ot51zrPpaLxv4mcoGdcFwSDWN77q3i0ykob+Q1UnMX+snHJPZHYeyfjbxLKGdSnru7TLK8yIoywlHBchynlOG8ID5OA8jzLCBxmoOVQxSZgwGlLbpkY2Xaj9cjzynkpl5Bga+g8PyLUYQaaW2xB19wqCsn44LUbR8QZh++JCXU3sR7DUpLgQ4Fs7eg4HPLFVTuPW9iVAv2Cjfe2OPKyGap8gGVQgA1UCEj0WDR7h3CznoPDkBTxZsuVt7jWfj0BRcVuoXtdycv9eNHs/DpqXjcPH074xqR1si5AzjSfN7UnHHQyJBzQJczYuACFFrIFs3IBSBSytYggprOzQf2gkfI2PiNEMwJrxEYuouIqJAC0yqhEUEXLougQvUQ4GZlz+NHTWfNC6n6k12+2UMXvAL0XBhQiAh0I1RWOTIzYlDnxgyEse9ChaRYhm6MDqTYMZ39UsAztO9yAxHEFMBSmjW5llPMhQ38z4gYhNFjgmYK2JNTb2ZMoyePHjVSGVKPiTNlTPijUslLDQr3LulT7+k3n338iDxd+n/IkJA3fexjUI2QmcFmeC55XaMSkD7nTQOVlWNpzebVe1AuyybhOFxyBqEkizMa4JRkAY7LjOEyTWJMM8goqaKsqMgqZz/MQKDnX4C2Np7lAu0JaWag0AepzlktL+9MYeheGs7dmc2xy+bN1LzsXzoUTWtuJlpvWZdiv3KbYta5/nEXuF/70HrXZ9c3gxGMg2UwgiROgyKNcUDyEscRA1wwn+EwDzLIwqyEPFoF4w0QRWfrWXSn991l21elsXZ7LsmobOuqSyqCGFyiORetAY0qaEBUXEwtZO0Vi3ZegkKSIYuVzagFvu+Poi1ha5VlkicD7i4vL8dTKac1jKmcP9LO+mefn1xdIRBUVvDu5PDBnz5pKT7urEVz5+zPO8u02dlF19dWvZLzxpaHJ84RrtFfnWTUx0SBbmujxza1rNXWB8aVNsMvSM+c8yW431YcS6buhasrtM0UdH2NTsWJ45DNF9+dvBwUzaU2qObnUC9QY+XZJLY4tQGFWsP4VBwyR1+UCCENYpYWb4ob9VyFjvbGyDGtlq2i9nahqwBdyZINKNJz7OcW1MIbeRpcQXslKwcGsHlBqspdGamXBcOCkSqoLEWR2l1ah5S9hruOx4LyFx7/8vpIyIuX7999eiGSFQB7VjhmjFNOanSspp4V6UB2KF7YfHQV4Sbkl4D3SVwEJAtxmjEfx2mW4iLPGfaDLEoh8kM/pyt9ru9Z/O8BH4f3At5i58HO7ezc2R1zA/OxxdW4IoaM57KC+gR0I4WGm8g+gQsOl84ahyIuUAWG8FqPEBGkXnztsAtfGlAcBAU049pItXCAq6xZcy5swQTHkcaGYBPtvXHrqH+w8064KC9d27B7LR1sMjxDHZZBL+H6qdXGqVlzfbJMqO2OOyFCDjIm6GjvVHQVspdKxGKVQN+ZDT37HnUoevINXm7Sdncz/y85xWKWlGUS4DIKQxwnforLCgiGLKiKiMUsDauVvpthuDOjNJjNNMjS7Vmw0cgSrflUzEF0dXPj69C2QxqEJUsjnIVlheMyDXAe0gJneUoKv0zyMitXBq8X2qWt2qhurnGFebhkR+Cn693vqXeGfvutR+ImlFdjTJJmkEBW4RhYhePKJ5gUEcUpzQhUfkgj/9aFLSv8t5n0be31hrW3IbmlmYjG8aqZYGHkF2mAkwhSHKdljsuAMpxQQhISkChPg7VmwnB6vkBH0sDdEHBn+iPrfZPvj4JwS9/EKzPzJpYuvRnw6cx4kzj3Rx6VwoCwLPfDD8h1VWsIPBUPH6KTVnR8NfReqNU2+0k3s0mFmJJzRPr2bzh1q9VcpUVRQkpSn+EizlIcxyzHOUkKTFgSpDRhEBfJ1nAE3x2PIt4eDyprqbxJPBoik/n3RqYvIcO8dCr6B0yqNR4/XA0uXYy6VmiMDhkibrix/RGTrahGXa++6OYTV1n6N0uopZhqCz/7mEqlgJp+ohqfilNxT2jjjBEWRCmOWWareEBxUbIMQ0UyQlhesnwtgQ81uiA1r1ZlyNr47O7hm9fmZqcehHf0nCvy8fhUSAX7RMMw49rodnx98+zFcjQZeTUw877PWbuzIBregLCqL8CbMFLrgXutF0OtselOjeeUzEsuiJ3PJx4RlmvX9S5Zj6ZJnlchzmI/xjHxU0yCOMBVlOaEhFmcM39Zz6ysq1vMsl7rhDTP541xzR8X0xp6F3rP1536TwugsjhdRmZ5+2FO0tTSN6sqguMgYriEOMRFEJGwIgFEGf0+R94Yooz+wM3M22b6vf3ThpFHeyszi8pnjMQEZwUNcRwEES7CFDANWRhGEQmoH32HmTZRCRf6D1o47B7cSMTFNk5fn5ZjWuVAywRXLHEkVuA8zn2cxQkjWZKUUbid07PvJjEchv4I30PrG+TlhsA19jp5vnfw6rnljR/QXr/LEdPbq5+1tSY3s43Npnv5B/ROA7JJbL/uUdoqYuxgxV2DxRauKIiqJ7auRHSs9a9//FPfpkiuEWjdNWeOSBsldQPUmmfbT6pa3n2WCrlLpgaBUJzObNsyRjfXUyB0q0CjGZ/OEHEG0oVdTXQ8YC3qRl27x+G087OjHlIvzbpYcsm49/uDpWinbG+l7ECCtr/fNKKWdsOkV5Gw2zJyV4Fw07Csa3lpv3G31ZhYsRg9fLjWFT18OEF7YjPW9rnqtXZ7N1dG+s0bjKfjEer2b1TOGyIW/QZud9yJ3yQWq+EX2Sr0cbMjOnvwzduq3buWbIdihFoNlbvlFTzWqt4Q6r/JS3Ro3A7JRTcYDztW7Sqom+SXsbSTfrmwLttIdIjrtw/9Ra+iPCzKhgDZ6I1PRThGffGAbiLrthLoAWc3V21cL4XsTk4FQgij91xzo7e2AOPhyACCOTF05uA4A3o+2NUn6nBhqxFyhJSsYReRqSW3jcvtbY/G6OT2DvUW0tw+RKFT72jv1EPcTnema0LsY/vFQX64gjdg2gaddMtkNx/0FzEAY+/1IfoJFvcAgzQcn8NC77r4Hg8ZVrZ2hqRyPgdRQTWxK9v/CtoGV47gi0FvDDR6SKl9xwTQpf5zt49+KeV521j4W35zGYKNHNQgI2WtUdtoo4DMbVc2Ja7R7ZK1z6X9k1foUBiYdlXJpWvPCZTU9QKRxq41bl2Oa/MGbrOxUdUgsn8f0HFrVdPZYOJq0QuVW9h35OmgQWr+dR0DIKZk6m5x2Zjr8Zb+8Wzk2bl9ra3SYCz59sNj35W5/1RYlBZFmZa4giDAcVjEOI9phfMiLLMiC7M4SrtOyw5SQ193a7qdXHlzwm19s6vbbpS/b4/qDo88Lir44k386zP738aWf462yb17tN4qdYsZ26T+bvu8VfiW1dmacHfkLsHbjLhvE7dV/+8v7v9wBK+v/w0iaa8Lwx0AAA==


name: Score Person ICP (Ideal Customer Profile) with Airtop
author_name: Airtop
author_username: cesar-at-airtop
categories: []
created_at: 2025-05-21T01:38:50.671Z
updated_at: 2025-05-21T01:38:50.671Z
url: https://n8n.io/workflows/4258
scraped_at: 2025-09-14 11:38:23
description:
  Scoring LinkedIn Profiles Against Your ICP
  Use Case
  This automation scores individual LinkedIn profiles against your Ideal Customer Profile (ICP) based on interest in AI, technical depth, and seniority level. It's ideal for prioritizing leads and understanding how well a person fits your ICP criteria.

  What This Automation Does
  Given a LinkedIn profile and an Airtop profile, it:
  Extracts relevant data from the person's profile
  Determines levels of AI interest, seniority, and technical depth
  Calculates an ICP score based on weighted criteria
  Returns the full enriched profile with the score

  Input parameters:
  LinkedIn Profile URL** (e.g., https://linkedin.com/in/janedoe)
  Airtop Profile** connected to LinkedIn
  ICP scoring method** in the Airtop node prompt

  Output fields in JSON format:
  Full name, job title, employer, company LinkedIn URL, location, number of connections and followers, about section content and more
  Calculated ICP Score (out of 95)

  How It Works
  Form Trigger or Workflow Trigger: Accepts input from either a form or another workflow.
  Parameter Assignment: Ensures proper variable names for downstream nodes.
  Airtop Enrichment Tool: Extracts and scores the person based on a detailed prompt.
  Scoring: Uses this point system:
     AI Interest: beginner (5), intermediate (10), advanced (25), expert (35)
     Technical Depth: basic (5), intermediate (15), advanced (25), expert (35)
     Seniority Level: junior (5), mid-level (15), senior (25), executive (30)
  Output Formatting: Cleans and returns the result as JSON.

  Setup Requirements
  IMPORTANT: Enter your ICP scoring method in the prompt field of the Airtop node 
  Airtop Profile connected to LinkedIn.
  Airtop API credentials configured in n8n.
  Optional: a front-end form to collect profile URLs and trigger the automation.

  Next Steps
  Embed in CRM**: Trigger this automation on new leads to auto-score them.
  Batch Process Leads**: Run it over a list of profile URLs for segmentation.
  Customize Scoring**: Adjust point weights based on your sales priorities.

  Read more about ICP Scoring with Airtop and n8n

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

workflow_json_compressed:
  [encoded data, 4612 characters]


name: Enrich Company Data with Airtop and Hubspot
author_name: Airtop
author_username: cesar-at-airtop
categories: []
created_at: 2025-05-21T01:43:02.134Z
updated_at: 2025-05-21T01:43:02.134Z
url: https://n8n.io/workflows/4259
scraped_at: 2025-09-14 11:38:23
description:
  Automating Company Data Enrichment and HubSpot Integration

  Use Case

  This automation enriches company data based on email domain and LinkedIn profile, calculates an ICP (Ideal Customer Profile) score, and updates the corresponding company record in HubSpot. It’s ideal for onboarding, qualification, and CRM enrichment.

  What This Automation Does

  Input Parameters

  Contact email**: Used to derive the company domain.
  Company domain**: Primary web domain of the company.
  Company LinkedIn* *(optional): LinkedIn URL for enrichment accuracy.
  Airtop Profile (connected to LinkedIn)**: An authenticated Airtop Profile.

  What It Outputs

  Full company profile (name, tagline, website, headquarters)
  Employee count
  ICP score based on AI/tech profile, scale, agency type, and location
  Updates/creates record in HubSpot with all enriched attributes

  How It Works

  Input Validation: Filters out non-corporate domains like Gmail, Yahoo, or .edu.
  Enrichment Trigger: Launches Airtop workflows to extract and analyze data from LinkedIn and calculate the ICP score.
  Data Mapping: Compiles structured fields including:
     Overview, location (city, state, country)
     Company website and domain
     LinkedIn URL, employee count
     ICP score
  HubSpot Sync: Sends all the enriched fields to the designated HubSpot object for upsertion.

  Setup Requirements

  Airtop API Key
  Airtop Profile with active LinkedIn authentication
  HubSpot integration enabled for object updates

  Next Steps

  Use in Webforms**: Trigger this on signup to auto-populate CRM records.
  Enrich Manually Entered Contacts**: Use with list-based workflows for batch enrichment.
  Sync to Other CRMs**: Replace HubSpot step with Salesforce, Pipedrive, etc. for flexible integration.

  Read more about comapny data enrichment

nodes_used:
  ["n8n-nodes-base.aggregate","n8n-nodes-base.executeWorkflow","n8n-nodes-base.executeWorkflow","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.formTrigger","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.filter"]

workflow_json_compressed:
  [encoded data, 4868 characters]


name: Extract Company Data and Calculate ICP Score with Airtop
author_name: Airtop
author_username: cesar-at-airtop
categories: []
created_at: 2025-05-21T01:45:47.966Z
updated_at: 2025-05-21T01:45:47.966Z
url: https://n8n.io/workflows/4260
scraped_at: 2025-09-14 11:38:23
description:
  Automating Company Data Enrichment and ICP Calculation

  Use Case

  This automation identifies a company's LinkedIn profile, extracts key business data, and calculates an ICP (Ideal Customer Profile) score to qualify and enrich company records. It is perfect for sales teams, data enrichment pipelines, and CRM integrations.

  What This Automation Does

  Input Parameters

  Company domain**: The company's website domain (e.g., example.com).
  Airtop Profile (connected to LinkedIn)**: Your Airtop Profile authenticated for LinkedIn.
  Company LinkedIn* *(optional): If already known, skips search.

  Output Includes

  Verified LinkedIn company URL (if not provided)
  Company profile (name, tagline, website, location, about)
  Scale metrics (employee count and bracket)
  Classification (automation agency status, AI focus, technical level)
  ICP score with justifications
  Structured JSON object with all values merged

  How It Works

  LinkedIn Detection: If not provided, attempts to locate the LinkedIn URL using website scraping or search.
  Data Extraction: Uses Airtop to gather structured data from the company’s LinkedIn profile.
  ICP Scoring: Applies a scoring rubric based on AI/tech orientation, scale, agency status, and geography.
  Merge Results: All data components are merged into a unified output.

  Setup Requirements

  Airtop API Key
  Airtop Profile with LinkedIn authentication

  Next Steps

  Combine with Person Enrichment**: Pair with workflows that enrich individuals tied to the company.
  Sync to CRM**: Connect the output to your CRM for record enrichment or scoring fields.
  Adjust ICP Scoring Logic**: Modify the rubric for your organization's ICP model.

  Read more about company data enrichment and ICP scoring

nodes_used:
  ["n8n-nodes-base.formTrigger","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.merge","n8n-nodes-base.executeWorkflow","n8n-nodes-base.executeWorkflow","n8n-nodes-base.executeWorkflow","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.filter","n8n-nodes-base.set"]

workflow_json_compressed:
  [encoded data, 4112 characters]


name: Extract Linkedin Company data with Airtop
author_name: Airtop
author_username: cesar-at-airtop
categories: []
created_at: 2025-05-21T01:48:51.083Z
updated_at: 2025-05-21T01:48:51.083Z
url: https://n8n.io/workflows/4261
scraped_at: 2025-09-14 11:38:22
description:
  Automating LinkedIn Company Data Extraction

  Use Case

  This automation extracts detailed company insights from a LinkedIn company page, including identity, scale, classification, and funding data. Ideal for investors, sales teams, and market researchers.

  What This Automation Does

  This automation accepts the following inputs:

  Company's LinkedIn URL**: The public LinkedIn page URL of the company.
  Airtop Profile (connected to LinkedIn)**: Your Airtop Profile authenticated on LinkedIn.

  It then extracts and returns structured data with:

  1. Company Identity
  Full name
  Tagline
  Headquarters location (city, state, country)
  About section
  Website

  2. Company Scale
  Current employee count
  Employee size bracket: [0-9], [10-150], [150+]

  3. Business Classification
  Is the company an automation agency? (true/false)
  AI implementation level: Low / Medium / High
  Technical sophistication: Basic / Intermediate / Advanced / Expert

  4. Funding Profile
  Most recent funding round
  Total amount raised
  Key investors
  Last funding update date

  How It Works

  Creates an Airtop session using the provided profile.
  Navigates to the company LinkedIn page.
  Executes an Airtop query to extract data.
  Outputs the result in a standardized JSON schema.

  Setup Requirements

  Airtop API Key
  A LinkedIn-authenticated Airtop Profile

  Next Steps

  Feed into CRM**: Enrich your accounts with detailed LinkedIn data.
  Prioritize Leads**: Use classification and funding data to prioritize outreach.
  Combine with People Data**: Integrate with individual-level enrichment for full context.

  Read more about how to extract company data from Linkedin with Airtop and n8n

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

workflow_json_compressed:
  [encoded data, 5076 characters]


name: Score Company ICP (Ideal Customer Profile) with Airtop
author_name: Airtop
author_username: cesar-at-airtop
categories: []
created_at: 2025-05-21T01:51:55.069Z
updated_at: 2025-05-21T01:51:55.069Z
url: https://n8n.io/workflows/4262
scraped_at: 2025-09-14 11:38:23
description:
  Automating Company ICP Scoring via LinkedIn

  Use Case

  This automation scores companies based on their LinkedIn profile using custom Ideal Customer Profile (ICP) criteria. It’s ideal for qualifying B2B leads and prioritizing outreach based on fit.

  What This Automation Does

  Inputs required:

  Company LinkedIn URL**: Public LinkedIn profile of the company.
  Airtop Profile (connected to LinkedIn)**: Airtop Profile authenticated to access and extract profile data.

  The automation analyzes the LinkedIn page and calculates a score based on:

  Scoring Criteria

  | Category       | Classification        | Points |
  |--------------------|---------------------------|------------|
  | AI Focus        | Low                       | 5          |
  |                    | Medium                    | 10         |
  |                    | High                      | 25         |
  | Technical Level | Basic                     | 5          |
  |                    | Intermediate              | 15         |
  |                    | Advanced                  | 25         |
  |                    | Expert                    | 35         |
  | Employee Count  | 0–9                       | 5          |
  |                    | 10–150                    | 25         |
  |                    | 150+                      | 30         |
  | Agency Status   | Not Automation Agency     | 0          |
  |                    | Automation Agency         | 20         |
  | Geography       | Outside US/Europe         | 0          |
  |                    | US/Europe Based           | 10         |

  The result includes:
  Total ICP score
  Detailed justifications for each score component

  How It Works

  Opens the company’s LinkedIn page using Airtop.
  Analyzes metadata including employee count, headquarters, services, and keywords.
  Applies the scoring rubric and returns structured JSON with scores and reasons.
  Optionally flattens the result for storage or CRM integration.

  Setup Requirements

  Airtop API Key
  LinkedIn-authenticated Airtop Profile

  Next Steps

  Combine with Lead Lists**: Score companies from outreach lists.
  Push to CRM**: Add scores to HubSpot or Salesforce records.
  Adjust Scoring Weights**: Modify rubric to reflect your ICP strategy.

  Read more about company ICP scoring automation with Airtop and n8n

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

workflow_json_compressed:
  [encoded data, 4576 characters]


name: Verify Linkedin Company Page by Domain with Airtop
author_name: Airtop
author_username: cesar-at-airtop
categories: []
created_at: 2025-05-21T01:54:00.883Z
updated_at: 2025-05-21T01:54:00.883Z
url: https://n8n.io/workflows/4263
scraped_at: 2025-09-14 11:38:23
description:
  Automating LinkedIn Company URL Verification

  Use Case

  This automation verifies that a given LinkedIn URL actually belongs to a company by comparing the website listed on their LinkedIn page against the expected company domain. It is essential for ensuring data accuracy in lead qualification, enrichment, and CRM updates.

  What This Automation Does

  Input Parameters

  Company LinkedIn**: The LinkedIn URL to be verified.
  Company Domain**: The expected domain (e.g., example.com) for validation.
  Airtop Profile (connected to LinkedIn)**: Airtop Profile with LinkedIn authentication.

  Output

  Confirmation whether the LinkedIn page corresponds to the provided domain.
  Returns the verified LinkedIn URL if the match is confirmed.

  How It Works

  Extracts the website URL from the specified LinkedIn company profile.
  Compares the extracted URL with the provided company domain.
  If the domain is contained in the extracted website, the LinkedIn profile is confirmed as valid.
  Returns the original LinkedIn URL if the match is successful.

  Setup Requirements

  Airtop API Key
  LinkedIn-authenticated Airtop Profile

  Next Steps

  Use for LinkedIn Discovery Validation**: Ensure correctness after automated LinkedIn page discovery.
  Combine with CRM Updates**: Prevent incorrect LinkedIn links from being stored in CRM.
  Automate in Data Pipelines**: Use this as a validation gate before enrichment or scoring steps.

nodes_used:
  ["n8n-nodes-base.formTrigger","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.filter","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.airtop","n8n-nodes-base.stickyNote"]

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


name: 🤖 Discord Message Proxy: Bot Mentions → AI Actions
author_name: David Ashby
author_username: cfomodz
categories: []
created_at: 2025-05-21T02:38:39.842Z
updated_at: 2025-05-21T02:38:39.842Z
url: https://n8n.io/workflows/4264
scraped_at: 2025-09-14 11:38:23
description:
  Need help? Want access to this workflow + many more paid workflows + live Q&A sessions with a top verified n8n creator?

  Join the community

  🔍 What It Does

      Listens for @mentions of your bot in Discord channels (without a native trigger).

      Filters noise: Only processes messages:

          From authorized users (configurable).

          That mention your bot.

          Sent today (skips old messages).

      Forwards cleaned messages to any webhook (e.g., your AI agent, like the GitHub MCP Server).

      Replies in Discord with the webhook’s response.

  🛠️ Key Features

      ⚡ No Community Nodes: Uses official n8n nodes only (security-first!).

      🔒 Role-Based Access: Restrict bot usage to specific users.

      🗑️ Deduplication: Avoids processing the same message twice.

      🔄 Scheduled Checks: Runs every X minutes (adjustable in the Schedule Trigger).

  🚀 Use Cases

      Chat with your AI bot via Discord mentions.

      Moderate channels: Auto-flag messages or ping moderators.

      Build custom commands: Trigger workflows by mentioning your bot.

  ⚙️ Setup Guide

      🤖 Update Credentials: Ensure your Discord bot has Read Messages and Send Messages permissions.

      🔧 Configure Variables: In the "Set Values" node:

          discordServerId: Your server’s ID.

          botId: Your bot’s user ID.

          authorizedUser: Who can trigger the bot (user ID).

      🌐 Webhook Target: Point the HTTP Request node to your AI/webhook endpoint.

      ⏱️ Adjust Polling: Change the Schedule Trigger interval (default: every minute).

  Note: This polls channels instead of true event-based triggers—tradeoffs time for security!

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.discord","n8n-nodes-base.discord","n8n-nodes-base.set","n8n-nodes-base.filter","n8n-nodes-base.discord","n8n-nodes-base.filter","n8n-nodes-base.filter","n8n-nodes-base.filter","n8n-nodes-base.filter","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.removeDuplicates","n8n-nodes-base.removeDuplicates","n8n-nodes-base.discord"]

workflow_json_compressed:
  H4sIAAAAAAAAE7WXyW4bRxCGX6Uxl9gAy+h94c2R49gIAgW24hwEHXqpFiciZ5iZpmRF4LsHQyoSJQ0l6uALwaX499dV1dX/3FR1qqbVx2R+/m7Uxd8zdVx+az5Vk2qBxVfTm6pu+uKbiJ+HOOsEQ5OCcjxyp2lEroSlDD13NLIUtUYpjREyokhOW8Go0EprFTFHS6tJVXCxnPuCRx2m/iuW1fKoXSznWDBV09KtcD2pGr/Aalq9X5V24UsdyWk/b6/OyIe6j22XyInvL8hfbXeBHbmqy4w0LYntYrFq6nJNTrr6/Bw70rQJyZuTWd2TuieeBJ/Ilb8mpSWpJWX43jeJXLcr0s/a1TyRZdcGH+bXpGnL24HVn/fV9PRsUg1aw9ubbb54RhGjpEBloiBjyOB4YhCczYJa75Tm1d0+vsYZptUc/ycblK+Xwy+NbWAjDcH3+K6/DbyPW7Z9Xeq2qaanjNIJMEvPJtXSd36BBbu+mt6st2rfsOs3gewdX09uOVPw2lmMgM5xkMwksCZk0N5HnRMT1u9w3qaX7eVL24CHXEbSCYgN1xWGWdtebFrFoRTRZg4qcg9S0QBBRQ7BK8WkiphkqF7Yyv1GrNbJ8mxAcptAci3AchmA+iRdtEwkoe838isW8n4+J1+xu8Su/4kczXzT4Lx/3c6EvMv4j9uZTMahMR4icxaklw6spBSo0Dpxy6RSYaeVsJBvfr7C/VvpsYw0jni5ccQ7eUflYjTWmAzUSQNS+ww+WQvcKeUtasrdDtXHel6wI2++4KK9RIKLZbl+uxcwb6JHUn0AI99tbho1M5yDpUKD1JjBpWAhRW9ckExw7x/2xNz3hSyw7/05HtAKbfNL17VdNa1i25S6WeHm8/GqLFePcqw2h1P/2FbJiJzqpEHHJEEyJSBgpqCsVAa59dqxvUU5nqfXlUTrw+bNbkmiwqylCMBlUCCzDOBVUOCzl4FhNoGZp4S/byvSb2f5ApuBoH8drdvQ0tfRBhtyUAaCxzwcPQleaoQglfZOZEOVfEr7flVmbVf/i4n82WP3OkzGOZ2A1K9rdM6k9tqDz8yCRJshOI4DsRGcJsWsfiartwmtm3MSbu+1w3m3t87r8hoEYyFmAZolBjLTBMElCdpzo40Zbp58z/vp5OQP8gX/WWFf9rLNSlnex+wCigGQv9ymcgdQJWqMDhmsFW5IYwabogCBiBFVtFTuTLejOfqG/P7C2Ihtwsdoh9b6DsxE5pPlFrTRDGRwCYIJEaQ3KdiQvN0Fuz3ZH1bLeR19eeZO6DaRDwJ3h5c+cPjeX1qaUsG4BuOsBJlCgmAFB5micpRGZTM+w7nfYTwPag+9Je4TanmmQiVwbsCz0YB1kYIPUvHsaORhZ2R+3t+AowZh23xPDEKOkStlDVijPcgcEjirM7ggAgplBDL98tQ/m1Q+lvoSt7Z4UvVYSt0MjvSmwu8YVwPFcZdwuKEuWbWeVJfbv28oBHKatNNgBTUgMVnwygowSjiaPMvKDN4vtk2DcTNxB+HPZXhd+HrY3+nZ2Xpybwt3frjZOOIXarsJnlR1k/B7NaXrjdqOgxnTO8C6jco+mCJjwru1HVV4eMzHJMYn1ajYE7dxUO5eSt3j54gx0TGHOKr2dPUxuWddxGG6441z8OU/usgY1tgqTx9pDpG7NbD7+nPcRj4r/MQ0jGnvuWj2Ntj4OTmgio8N+rPo+wp0UFH3eo/Dlnz89+fW3O/LRtZar/8DPjKbRPoQAAA=


name: Send AI-Generated Emails via Telegram Using GPT-4o-mini and Gmail
author_name: Automate With Marc
author_username: marconi
categories: []
created_at: 2025-05-21T02:38:56.750Z
updated_at: 2025-05-21T02:38:56.750Z
url: https://n8n.io/workflows/4265
scraped_at: 2025-09-14 11:38:23
description:
  ✉️ Telegram Email Agent with GPT + Gmail
  Category: Messaging / AI Agent
  Level: Beginner-Friendly
  Tags: Telegram, Email Automation, AI Agent, Gmail, GPT Model

  Watch Step-by-step video guide here:
  https://www.youtube.com/watch?v=nyI40s9QOuw&t=420s&pp=0gcJCb4JAYcqIYzv

  🤖 What This Workflow Does
  This workflow turns your Telegram bot into a personal email assistant powered by AI.

  With just a message on Telegram, users can:

  Send an email via Gmail

  Automatically generate the email content using OpenAI Models.

  Get confirmation or responses directly in Telegram

  It's like ChatGPT meets Gmail, inside your Telegram chat.

  🔧 How It Works
  Telegram Trigger – Listens for incoming messages from your bot.

  AI Agent – Processes the input using OpenAI Model and converts it into structured email content (To, Subject, Body).

  Memory Node – Stores short-term context per user (via chat ID), so the agent can hold simple conversations.

  Gmail Node – Sends the generated email using your Gmail account.

  Telegram Node – Replies to the user confirming the output or status.

  🧠 Why This is Useful
  Ever wanted to send an email while on the go, without typing the whole thing out in Gmail?

  This is a fast, intuitive, and AI-powered way to:

  Dictate or draft emails from anywhere

  Create an AI-powered virtual assistant via Telegram

  Integrate n8n's Langchain Agent with real-world productivity use cases

  🪜 Setup Instructions
  Connect your Telegram bot via BotFather and add the credentials in n8n.

  Set up your OpenAI API key (GPT-4o-mini recommended).

  Add your Gmail OAuth credentials.

  Activate the workflow and start messaging your bot!

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

workflow_json_compressed:
  H4sIAAAAAAAAE5VWa4vbOBT9K0IU0oLidR4NWcPCpmV3CctMoRPaDzNhqrFubLWyZCR5HgT/9yJZeTh25vEtsY6Ozrm6D22xpAXgBK9AQKZpgf4pKBdokYG06LvSvzZCPWCCLc0MTq7XBEvFwP3cdrauNM8y0A79VLoVOZdDDx/eUQORDcADrlSGW64kTq6H85jEa4JLqmkBFrTByRZXJaPWH4cLMIZmgNcEU8b8Nir+5SCYQ9Z1c+o30MYTjqJxTfYaF8vG0kHb33Iu/zgIFFRmaU65jGjAHWkbj/u0WXi0OMF/bbfo3U+jZBQURm4B1TUmWJWOwesjuNSqKO2qOZ7BhkvAXdV/Hqn+UoJcLNHnnFp0oRiIV8gXhYP7nbztYjSPyWjW9VF45mSLb2+1wInVFRD/ESdYcONicU9F5f5mpR1O1bDg0nGnNM2BfQVTCXvZKD4G1C3/z9/PFS9KAegCCqWfXuGy8MBP1WYD+juXzOfokdfJuN+rAeOO/x+eem8uzamNOGsuL2CXLFxZWhmrCre162Vy5OU/V0FniyBzqyulRFvwdHZOsGQrFcSidxutisXy/WClBgT9+EHQwFjNZTb40GjeFckp/qL53r+plaWmuvsJqe0wXDXf+xnAm2r8+rI4jdA4Gh1FaNcxXuwU7RjNeltEpwxVZcsqFKC70CXbLb8fnPaqwYeIWyii81nQ02swLUuQbGGt5ndVI25DhYGXktzy9NcTulQWzjo3HhMgx+1xNIvJcN61nyqhNE4mBD9wZnOcjGcxwTnwLLc4mcxjglMlretpR6065AP6Cinwe2C7eKBLV/cdG/0mRm92MRr3mwjSp89I33Vw9MBtHqaUL6NXih2/WewsfjbiH/cRn8SviPgVSLYP+yJ1Z7wp2JO3p8x0HpPh6LyDab+D6YmDnBvEDaLINE36IbwK0EZpRGXrxZAqKSG1wJBVaO9dSRRqC9kmz6IbeSOHyLdKR37YR82B08VMZv6aHXrP55rinjGUOzcIJL0TzdFUOIH7nLEKcWlB0zTkT2VAOwk3sif+7oWRWn4PoazdKLCWy8wHDx4h9UX/RTPQOMH3I8cRHIRGGoaA6xX81ro0Ta7di6mZqt3XyA5FMJcMHnES1+t1TQ5IN6cply2abhv1kFOO9mxtJBXhz0uiit1AblN2nnx98rqEvfK6j5xGohv2Fc0gfHtJaRvePqSufwM7wcZ36AoAAA==


name: Reddit API Hub: Manage Posts, Comments & Subreddits via Server-Sent Events
author_name: Simeon
author_username: simealdana
categories: []
created_at: 2025-05-21T03:13:04.971Z
updated_at: 2025-05-21T03:13:04.971Z
url: https://n8n.io/workflows/4266
scraped_at: 2025-09-14 11:38:22
description:
  🔄 Reddit Content Operations via MCP Server

  🧑‍💼 Who is this for?

  This workflow is built for content creators, marketers, Reddit automation enthusiasts, and AI agent developers who want structured, programmable access to Reddit content. If you're researching niche communities, tracking trends, or automating Reddit engagement — this is for you.

  💡 What problem is this workflow solving?

  Reddit has valuable content scattered across subreddits, but manual analysis or engagement is inefficient. This workflow acts as a centralized API interface to:

  Query and manage Reddit posts
  Create, fetch, delete, and reply to comments
  Analyze subreddit metadata and behavior
  Enable AI agents to autonomously operate on Reddit data

  It does this using an MCP (Model Context Protocol) Server over Server-Sent Events (SSE).

  ⚙️ What this workflow does

  This template sets up a custom MCP Server that listens for JSON-based operation commands sent via SSE. Based on the operation, it routes the request to one of the following branches:

  🟥 Post CRUD

  Create a new Reddit post
  Search posts across subreddits
  Fetch posts by ID
  Delete existing posts

  🟩 Comment CRUD

  Create or reply to comments
  Fetch multiple comments from posts
  Delete specific comments

  🟦 Subreddit Read Operations

  Get information about subreddits
  List subreddit posts
  Retrieve subreddit rules

  🛠 Setup

  Import this workflow into your self-hosted n8n instance.
  Configure Reddit credentials (OAuth2).
  Connect your input system to the MCP Server Trigger node via SSE.
  Send operation payloads to the server like this:

  {
    "operation": "post_search",
    "params": {
      "query": "AI agents",
      "subreddit": "machinelearning"
    }
  }
  The workflow will route to the appropriate node based on operation type.

  🧩 Supported Operations
  post_create

  post_get_many

  post_search

  post_delete

  post_get_by_id

  comment_create

  comment_reply

  comment_get_many

  comment_delete

  subreddit_get_about

  subreddit_get_many

  subreddit_get_rules

  🧠 How to customize this workflow to your needs
  Add new operations to the operation_switch node for additional API functionality.

  Chain results into Notion, Slack, Airtable, or external APIs.

  Integrate with OpenAI/GPT to summarize posts or filter content.

  Add logic to score and sort content by engagement, sentiment, or keywords.

  🟨 Sticky Notes
  Each operation group is color-coded (Posts, Comments, Subreddits).

  Sticky Notes explain the purpose and dependencies of each section.

  Easy to maintain and extend with clear logical separation.

  ⚠️ This template uses a custom MCP Server node and only works in self-hosted n8n.

  🖼 Workflow Preview

nodes_used:
  ["@n8n/n8n-nodes-langchain.mcpTrigger","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.reddit","n8n-nodes-base.reddit","n8n-nodes-base.reddit","n8n-nodes-base.reddit","n8n-nodes-base.switch","n8n-nodes-base.reddit","n8n-nodes-base.reddit","n8n-nodes-base.reddit","n8n-nodes-base.reddit","n8n-nodes-base.switch","n8n-nodes-base.switch","n8n-nodes-base.reddit","n8n-nodes-base.reddit","n8n-nodes-base.switch","n8n-nodes-base.reddit","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.reddit","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.splitOut","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, 5900 characters]


name: AAVE Portfolio Professional AI Agent | Telegram + Email + GPT-4o + Moralis
author_name: Don Jayamaha Jr
author_username: don-the-gem-dealer
categories: []
created_at: 2025-05-21T07:37:35.433Z
updated_at: 2025-05-21T07:37:35.433Z
url: https://n8n.io/workflows/4267
scraped_at: 2025-09-14 11:38:23
description:
  A next-generation AI-powered DeFi health monitor that tracks wallet positions across Aave V3 using GPT-4o and LangChain. It delivers human-readable reports via Telegram and Gmail, triggered on schedule or manually. Built for professionals monitoring multiple DeFi wallets.

  🧩 System Components

  | Component                         | Role                                                          |
  | --------------------------------- | ------------------------------------------------------------- |
  | ✅ Scheduler                       | Triggers the workflow periodically                            |
  | ✅ Google Sheets Wallet Loader     | Loads all monitored wallet addresses                          |
  | ✅ Set Variables                   | Injects dynamic wallet + date                                 |
  | ✅ AAVE Portfolio AI Agent         | GPT-4o + LangChain AI that generates human-readable summaries |
  | ✅ Moralis API Nodes (3)           | Collect Aave V3 supply/borrow/collateral data                 |
  | ✅ OpenAI Chat Model (gpt-4o-mini) | Interprets on-chain data and explains it                      |
  | ✅ Telegram Delivery               | Sends summary to Telegram chat                                |
  | ✅ Gmail Email Sender              | Sends full HTML report to email                               |
  | ✅ HTML Formatter                  | Beautifies AI output into email structure                     |

  ⚙️ How It Works

  Scheduled or manual trigger
  Pulls wallet addresses from Google Sheets
  For each wallet:

     Pulls Aave data from Moralis
     GPT-4o AI generates report
     Sends summary to Telegram
     Sends full HTML report via Gmail

  🛠 Installation Steps

  1. Import the Workflow

  Upload AAVE_Portfolio_Professional_AI_Agent.json to your n8n instance.

  2. Connect These Credentials

  | Service  | Required Credential Type     |
  | -------- | ---------------------------- |
  | Moralis  | HTTP Header Auth (X-API-Key) |
  | OpenAI   | GPT-4o via OpenAI API Key    |
  | Telegram | Telegram Bot API Token       |
  | Gmail    | Gmail OAuth2 Credential      |

  3. Create Google Sheet

  Column name must be: wallet_address
  Add wallet addresses you want monitored

  📬 Output Format

  Telegram Message Example

  📊 Aave DeFi Health Report  
  Wallet: 0xABC...123  
  Date: 2025-05-21

  ▪️ Pool: Aave Ethereum USDC  
  • Supply: $10,040  
  • Borrowed: $5,500  
  • Health Factor: 3.43  
  • Liquidation Risk: No  

  Email Report

  Full HTML + plain text versions
  Auto-generated date + styled per wallet
  Includes notes and threshold warnings

  🧠 Smart Features

  GPT-4o generates clear human summaries
  Monitors multiple wallets in one run
  Flags liquidation risk dynamically
  Logs daily performance snapshots

  💡 Customization Ideas

  Add Telegram slash command /aave &lt;wallet&gt;
  Expand to monitor Compound, Lido, or Uniswap
  Export to Notion, Slack, or Data Studio

  🧾 Licensing & Attribution

  © 2025 Treasurium Capital Limited Company

  Architecture, prompts, and report formatting are intellectual property protected.
  No unauthorized rebranding, redistribution, or resale permitted.

  🔗 For support or licensing inquiries: LinkedIn – Don Jayamaha

  🚀 Track all your Aave DeFi positions using AI—delivered via Telegram + Gmail.
  Perfect for funds, traders, and DeFi power users.

  🎥 Watch the Live Demo:

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

workflow_json_compressed:
  [encoded data, 8868 characters]


name: Evaluation metric example: Check if tool was called
author_name: David Roberts
author_username: davidn8n
categories: []
created_at: 2025-05-21T08:06:35.412Z
updated_at: 2025-05-21T08:06:35.412Z
url: https://n8n.io/workflows/4268
scraped_at: 2025-09-14 11:38:23
description:
  AI evaluation in n8n

  This is a template for n8n's evaluation feature. 

  Evaluation is a technique for getting confidence that your AI workflow performs reliably, by running a test dataset containing different inputs through the workflow.

  By calculating a metric (score) for each input, you can see where the workflow is performing well and where it isn't.

  How it works

  This template shows how to calculate a workflow evaluation metric: whether a specific tool was called by an agent.

  We use an evaluation trigger to read in our dataset 
  It is wired up in parallel with the regular trigger so that the workflow can be started from either one. More info
  We make sure that the agent outputs the list of tools that it used
  We then check whether the expected tool (from the dataset) is in that list
  Finally we pass this information back to n8n as a metric

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.toolCalculator","n8n-nodes-base.set","n8n-nodes-base.httpRequestTool","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.evaluationTrigger","n8n-nodes-base.evaluation","n8n-nodes-base.evaluation"]

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


name: Evaluation metric example: Categorization
author_name: David Roberts
author_username: davidn8n
categories: []
created_at: 2025-05-21T08:09:51.869Z
updated_at: 2025-05-21T08:09:51.869Z
url: https://n8n.io/workflows/4269
scraped_at: 2025-09-14 11:38:23
description:
  AI evaluation in n8n

  This is a template for n8n's evaluation feature. 

  Evaluation is a technique for getting confidence that your AI workflow performs reliably, by running a test dataset containing different inputs through the workflow.

  By calculating a metric (score) for each input, you can see where the workflow is performing well and where it isn't.

  How it works

  This template shows how to calculate a workflow evaluation metric: whether a category matches the expected one.

  The workflow takes support tickets and generates a category and priority, which is then compared with the correct answers in the dataset.

  We use an evaluation trigger to read in our dataset 
  It is wired up in parallel with the regular trigger so that the workflow can be started from either one. More info
  Once the category is generated by the agent, we check whether it matches the expected one in the dataset
  Finally we pass this information back to n8n as a metric

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.webhook","n8n-nodes-base.evaluationTrigger","n8n-nodes-base.respondToWebhook","n8n-nodes-base.evaluation","n8n-nodes-base.evaluation"]

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


name: WebhookDocs: generate swagger preview of your active workflows
author_name: Danger
author_username: dangerblack
categories: []
created_at: 2025-05-21T08:13:31.499Z
updated_at: 2025-05-21T08:13:31.499Z
url: https://n8n.io/workflows/4270
scraped_at: 2025-09-14 11:38:23
description:
  How it Works

  This meta-workflow is designed to intelligently scan all your active workflows in n8n, identify those that contain Webhook nodes, and automatically generate a Swagger (OpenAPI) specification based on them.

  The output Swagger document reflects all accessible endpoints from your Webhook nodes, making it easier to:

  Visualize your API structure
  Share your endpoints
  Integrate with tools like Postman or Swagger UI

  Enhanced Parameter Support

  If you want the Swagger to reflect request parameters (e.g., query or body fields), you can annotate your Webhook nodes using the Note section. When configured properly, these annotations enrich your Swagger documentation with parameter names, types, and descriptions.

  Setup Steps

  Add the WebhookDocs to n8n
     Import the WebhookDocs JSON file into your n8n instance.
  Activate the WebhookDocs (you can also use the test-endpoint)
     Annotate Webhook Nodes (Optional but Recommended)
     To enable parameter documentation, open the Note section of each Webhook node and add annotations in the following format:

  //@body field_name string description
  //@query field_name string description

  Open the page https://n8n.youristance.com/webhook/swagger

nodes_used:
  ["n8n-nodes-base.n8n","n8n-nodes-base.code","n8n-nodes-base.respondToWebhook","n8n-nodes-base.webhook","n8n-nodes-base.stickyNote"]

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


name: Evaluation metric example: Correctness (judged by AI)
author_name: David Roberts
author_username: davidn8n
categories: []
created_at: 2025-05-21T08:13:34.368Z
updated_at: 2025-05-21T08:13:34.368Z
url: https://n8n.io/workflows/4271
scraped_at: 2025-09-14 11:38:22
description:
  AI evaluation in n8n

  This is a template for n8n's evaluation feature. 

  Evaluation is a technique for getting confidence that your AI workflow performs reliably, by running a test dataset containing different inputs through the workflow.

  By calculating a metric (score) for each input, you can see where the workflow is performing well and where it isn't.

  How it works

  This template shows how to calculate a workflow evaluation metric: whether an output matches an expected output (i.e. has the same meaning).

  The workflow takes questions about the causes of historical events and compares them with the reference answers in the dataset.

  We use an evaluation trigger to read in our dataset 
  It is wired up in parallel with the regular chat trigger so that the workflow can be started from either one. More info
  If we're evaluating (i.e. the execution started from the evaluation trigger), we calculate the correctness metric using AI
  We pass this information back to n8n as a metric
  If we're not evaluating we avoid calculating the metric, to reduce cost 

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.evaluationTrigger","n8n-nodes-base.evaluation","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.noOp","n8n-nodes-base.evaluation"]

workflow_json_compressed:
  [encoded data, 5244 characters]


name: Generate a Personal Newsfeed Using Bright Data Web Scraping and GPT-4.1
author_name: Daniel Shashko
author_username: tomax
categories: []
created_at: 2025-05-21T08:13:35.560Z
updated_at: 2025-05-21T08:13:35.560Z
url: https://n8n.io/workflows/4272
scraped_at: 2025-09-14 11:38:22
description:
  How it Works

  Disclaimer: This template is for self-hosted n8n instances only.

  This workflow is designed for developers, data analysts, and automation enthusiasts seeking to automate personalized news collection and delivery. It seamlessly combines n8n, OpenAI (e.g., GPT-4.1), and Bright Data’s Model Context Protocol (MCP) to collect, extract, and email the latest global news headlines.  
  On a schedule or via a manual trigger, the workflow prompts an AI agent to gather fresh news. The agent leverages context-aware memory and integrated MCP tools to conduct both search engine queries and direct web page scraping in real time, delivering more than just meta search results—it extracts actual on-page headlines and trusted links. Results are formatted and delivered automatically by email via your SMTP provider, requiring zero manual effort once configured.

  Who is this for?

  Developers, data engineers, or automation pros wanting an AI-powered, fully automated newsfeed
  Teams needing up-to-date news digests from trusted global sources
  Anyone self-hosting n8n who wishes to combine advanced LLMs with real-time web data

  Setup Steps

  Setup time: Approx. 15–30 minutes (n8n install, API configuration, node setup)
  Requirements:
      Self-hosted n8n instance
      OpenAI API key
      Bright Data MCP account credentials
      SMTP/email provider details
  Install the community MCP node (n8n-nodes-mcp) for n8n and set up Bright Data MCP access.
  Configure these nodes:
      Schedule Trigger: For automated delivery at your chosen interval.
      Edit Fields: To inject your AI news collection prompt.
      AI Agent: Connects to OpenAI and MCP, enabled with memory for context.
      OpenAI Chat Model: Connects via your OpenAI credentials.
      MCP Clients: Configure at least two—one for search (e.g. search_engine) and one for scraping (e.g. scrape_as_markdown).
      Send Email: Set up with recipient and SMTP information.
  Credentials must be entered into their respective nodes for successful execution.

  Customization Guidance

  Prompt Tweaks:** Refine your AI news prompt to target specific genres, regions, or sources, or broaden/narrow the coverage as needed.
  Tool Configuration:** Carefully define tool descriptions and parameters in MCP client nodes so the agent can pick the best tool for each step (e.g., only scrape real news sites).
  Delivery Settings:** Adjust email recipient(s) and SMTP details as needed.
  Workflow Enhancements:** Use sticky notes in n8n for extended documentation, alternate prompts, or troubleshooting tips.
  Run Frequency:** Set schedule as needed—from hourly to daily updates.

  Once configured, this workflow will automatically gather, extract, and email curated news headlines and links—no manual curation required!

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

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


name: Evaluation metric example: RAG document relevance
author_name: David Roberts
author_username: davidn8n
categories: []
created_at: 2025-05-21T08:19:43.930Z
updated_at: 2025-05-21T08:19:43.930Z
url: https://n8n.io/workflows/4273
scraped_at: 2025-09-14 11:38:21
description:
  AI evaluation in n8n

  This is a template for n8n's evaluation feature. 

  Evaluation is a technique for getting confidence that your AI workflow performs reliably, by running a test dataset containing different inputs through the workflow.

  By calculating a metric (score) for each input, you can see where the workflow is performing well and where it isn't.

  How it works

  This template shows how to calculate a workflow evaluation metric: retrieved document relevance (i.e. whether the information retrieved from a vector store is relevant to the question).

  The workflow takes a question and checks whether the information retrieved to answer it is relevant.

  To run this workflow, you need to insert documents into a vector data store, so that they can be retrieved by the agent to answer questions. You can do this by running the top part of the workflow once.

  The main workflow works as follows:

  We use an evaluation trigger to read in our dataset 
  It is wired up in parallel with the regular trigger so that the workflow can be started from either one. More info
  We make sure that the agent outputs the list data from the tools that it used
  If we’re evaluating (i.e. the execution started from the evaluation trigger), we calculate the relevance metric using AI to compare the retrieved documents with the question
  We pass this information back to n8n as a metric
  If we’re not evaluating we avoid calculating the metric, to reduce cost

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.evaluationTrigger","n8n-nodes-base.evaluation","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.noOp","n8n-nodes-base.evaluation","n8n-nodes-base.googleSheets","n8n-nodes-base.removeDuplicates","@n8n/n8n-nodes-langchain.vectorStoreInMemory","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.vectorStoreInMemory","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5536 characters]


name: Evaluation metric example: String similarity
author_name: David Roberts
author_username: davidn8n
categories: []
created_at: 2025-05-21T08:23:13.742Z
updated_at: 2025-05-21T08:23:13.742Z
url: https://n8n.io/workflows/4274
scraped_at: 2025-09-14 11:38:23
description:
  AI evaluation in n8n

  This is a template for n8n's evaluation feature. 

  Evaluation is a technique for getting confidence that your AI workflow performs reliably, by running a test dataset containing different inputs through the workflow.

  By calculating a metric (score) for each input, you can see where the workflow is performing well and where it isn't.

  How it works

  This template shows how to calculate a workflow evaluation metric: text similarity, measured character-by-character.

  The workflow takes images of hand-written codes, extracts the code and compares it with the expected answer from the dataset.

  The images look like this:



  The workflow works as follows:

  We use an evaluation trigger to read in our dataset 
  It is wired up in parallel with the regular trigger so that the workflow can be started from either one. More info
  We download the image and use AI to extract the code
  If we’re evaluating (i.e. the execution started from the evaluation trigger), we calculate the string distance metric
  We pass this information back to n8n as a metric

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.webhook","n8n-nodes-base.evaluationTrigger","n8n-nodes-base.respondToWebhook","n8n-nodes-base.evaluation","n8n-nodes-base.evaluation","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.code","n8n-nodes-base.httpRequest"]

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


name: Convert boring images to stunning photos and videos
author_name: Rish
author_username: b2brish
categories: []
created_at: 2025-05-21T08:28:17.337Z
updated_at: 2025-05-21T08:28:17.337Z
url: https://n8n.io/workflows/4275
scraped_at: 2025-09-14 11:38:21
description:
  Tutorial Video

  ✨ Transform ordinary photos into AI masterpieces
  This powerful workflow creates a complete AI image editing system that your Telegram contacts can use with a simple message. Let users send images with creative instructions and watch as cutting-edge AI transforms their ideas into reality.

  🤖 What This Workflow Does
  Connect your Telegram bot to OpenAI and Replicate's advanced image models to:

  Edit photos based on text descriptions
  Generate creative variations of original images
  Deliver professional-quality results in seconds
  Handle the entire process automatically

  🎨 Perfect For

  Digital creators seeking quick design iterations
  Photography enthusiasts wanting AI enhancements
  Product marketers creating concept visualizations
  Community managers offering image editing services
  Anyone looking to explore AI image capabilities

  🔧 Easy Setup
  Just configure your API credentials, customize a few prompts, and your Telegram bot becomes a powerful AI image editor. The workflow handles all the technical complexity including file conversions, API communications, and asynchronous processing.

  💡 Expandable Design
  Built with flexibility in mind, you can easily:

  Add additional AI models
  Implement image moderation
  Create branching paths based on user requests
  Integrate with other services like cloud storage

  Elevate your image editing capabilities with this seamless blend of messaging and AI technology!

nodes_used:
  ["n8n-nodes-base.telegramTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.convertToFile","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.telegram","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","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 SEO Keyword & SERP Analysis with DataForSEO for High-Converting Content
author_name: Sam Yassine
author_username: samyassine
categories: []
created_at: 2025-05-21T12:23:41.329Z
updated_at: 2025-05-21T12:23:41.329Z
url: https://n8n.io/workflows/4277
scraped_at: 2025-09-14 11:38:22
description:
  Overall Purpose:
  The workflow automates the process of gathering extensive keyword data for a "Main Keyword." It starts by reading initial parameters from a Google Sheets template, creates a new dedicated Google Sheet for the research, queries multiple DataForSEO API endpoints for different types of keyword information (related, suggestions, ideas, autocomplete, subtopics, SERP, and PAA), and populates the newly created Google Sheet with this data across various tabs. A "Master All KW Variations" sheet is also populated to consolidate various keyword types.
  Tools & Services Used:
  Google Sheets:
  As an input source for the main keyword and initial parameters (from a template).
  As the output destination for all collected keyword data, organized into multiple sheets within a new spreadsheet file.
  Google Drive:
  To create a new folder for each keyword research session.
  To copy the Google Sheets template into this new folder.
  DataForSEO API: 
  The primary source for all keyword research data. Specific endpoints utilized:
  v3/dataforseo_labs/google/related_keywords/live
  v3/dataforseo_labs/google/keyword_suggestions/live (used for both "suggestions" and "ideas")
  v3/serp/google/autocomplete/live/advanced
  v3/content_generation/generate_sub_topics/live
  v3/serp/google/organic/live/advanced (for SERP and People Also Ask data)

  Implementation Steps for Businesses:
  Define Core Business Keywords: 
  Start with the primary products, services, or solutions the business offers.
  Regularly Run the Workflow: 
  Schedule the workflow to run for new keywords or to refresh data on existing important keywords.
  Collaborative Review: 
  Marketing, sales, and even product teams should review the generated Google Sheets.
  Marketing focuses on content ideas, SEO opportunities, and competitor SERP positions.
  Sales focuses on understanding customer questions (PAA, Autocomplete) to refine pitches.
  Integrate into Content Calendar: 
  Use the insights to plan blog posts, articles, FAQs, and social media content.
  Update Sales Training: Share common customer questions and keyword insights with the sales team.
  Track & Measure: 
  Monitor rankings for targeted keywords and the performance of content created based on this research to demonstrate ROI.
  **
  By leveraging this automated workflow, businesses can save significant time on manual keyword research, gain deeper insights into their market and competitors, and ultimately create more effective sales and marketing strategies that drive growth.**

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

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


name: Extract and Structure Hacker News Job Posts with Gemini AI and Save to Airtable
author_name: Puspak
author_username: dpreddy
categories: []
created_at: 2025-05-21T12:24:04.322Z
updated_at: 2025-05-21T12:24:04.322Z
url: https://n8n.io/workflows/4278
scraped_at: 2025-09-14 11:38:22
description:
  Workflow Overview

  This workflow automatically fetches the latest "Ask HN: Who is hiring?" posts from Hacker News, extracts individual job listings, cleans the raw text, converts them into structured job listings using Google Gemini AI, and saves them into Airtable.

  Components

  It’s a full end-to-end automation system combining:

  Algolia API** for HN data
  Text cleaning**
  Gemini AI (via LangChain)** for parsing job descriptions
  Structured JSON extraction**
  Airtable integration** to store the final data

  🎯 Use Cases

  Automatically build a job board from HN posts
  Track startup hiring trends
  Feed remote job alerts into a CRM or Slack
  Enrich a hiring intelligence database

  🔧 Nodes & Services Used

  HTTP Request (Algolia + Firebase API)
  SplitOut, Set, Filter, Function, Limit
  Google Gemini (via LangChain integration)
  Output Parser Structured
  Airtable (API token required)

  📌 Credentials Required

  Google Gemini (PaLM/Gemini API)
  Airtable Personal Access Token
  Algolia Application ID & API Key (via Header Auth)

  📦 Tags

  hacker-news, jobs, airtable, ai, gemini, automation, hn, langchain, workflow

  Screenshots

nodes_used:
  ["n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.filter","n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.limit","n8n-nodes-base.airtable","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.scheduleTrigger"]

workflow_json_compressed:
  [encoded data, 6432 characters]


name: ✉️ Automated Email Sorting & Drafting for Customer Support - with AI 🤖
author_name: Louis
author_username: louisdl
categories: []
created_at: 2025-05-21T13:03:03.852Z
updated_at: 2025-05-21T13:03:03.852Z
url: https://n8n.io/workflows/4279
scraped_at: 2025-09-14 11:38:22
description:
  🤖 Automated Email Sorting & FAQ Reply Assistant (n8n + Gemini AI)

  🔍 Overview

  This n8n workflow automates email triage and FAQ responses using Google Sheets and Gemini AI. It’s designed to:

  Automatically sort incoming emails into categories (e.g., FAQ, Billing, Tech Support).
  Draft polite, relevant replies* for FAQ emails using *AI**, grounded in your pre-approved content.
  Maintain a human-in-the-loop process by saving responses as Gmail drafts for manual review.

  Perfect for startups or teams seeking to reduce support workload while ensuring consistent, helpful responses.

  ⚙️ Pre-conditions / Requirements

  Before using this workflow, make sure you have:

  ✅ A Google account with access to:
    Gmail (with custom labels like FAQ-Waiting, FAQ-Draft)
    Google Sheets (used as your FAQ source)
  ✅ A Gemini API key (to generate AI replies)
  ✅ A dedicated Gmail label to collect emails needing draft replies (e.g., FAQ-Waiting)
  ✅ A dedicated Gmail label to store drafted replies for manual sending (e.g., FAQ-Draft)
  ✅ A Google Sheet with two columns:
    Question — common user inquiries
    Answer — the matching, approved reply text

  🧠 How It Works

  Trigger  
     Scheduled workflow run (e.g., every 15 minutes)

  Fetch Emails  
     Grabs Gmail messages under a specific label like FAQ-Waiting

  Process & Clean  
     Loops through each email  
     Cleans content (removes signatures/HTML)  
     Sends it to Gemini AI

  AI Reply Drafting  
     AI matches email intent against your FAQ from Google Sheets  
     Generates a friendly, accurate draft reply, grounded only in your predefined Q&A

  Update Gmail  
     Removes FAQ-Waiting label  
     Adds FAQ-Draft label  
     Saves draft reply in Gmail for manual review and sending

  Fallback Routing  
     If email doesn’t match FAQ criteria, it follows a FALSE path  
     You can implement further logic here (e.g., route to Billing, escalate to a human agent, log as feedback)

  🛠️ Setup Instructions

  Connect Gmail + Google Sheets + Gemini AI
     Set up credentials in n8n for Gmail, Google Sheets, and Gemini AI

  Prepare Labels in Gmail
     Create: FAQ-Waiting (input folder), FAQ-Draft (drafts ready to send)  
     Optionally, create other labels (e.g., Billing, Tech Support)

  Build your FAQ Sheet
     Create a new Google Sheet with:
       Column A: Question
       Column B: Answer
     Add rows with typical user questions and the matching replies

  Configure AI Agent
     In the AI agent node, edit the prompt to fit your tone of voice (friendly, professional, concise, etc.)
     Ensure the AI is instructed to only use answers from the sheet, and not hallucinate

  Adjust Schedule
     Modify the trigger interval to match your needs (e.g., every X minutes)

  🧩 Customization Tips

  Custom Prompts**: Tailor the Gemini AI prompt in the node to change tone, length, or structure of replies
  Add New Categories**: Use the FALSE path in the IF node to handle non-FAQ emails (e.g., route to Billing, escalate to human agent, log feedback)
  Multiple Sheets**: You can expand the system by using different sheets for different topics
  Tone Matching**: Adjust AI output by providing sample reply templates or tone instructions directly in the AI node

  ✅ Use Cases

  SaaS startups triaging customer support  
  Solo founders who want consistent replies with minimal effort  
  Teams managing growing inbox volumes while maintaining quality support

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.splitInBatches","n8n-nodes-base.markdown","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.stickyNote","n8n-nodes-base.gmail","n8n-nodes-base.markdown","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.gmail","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.set","n8n-nodes-base.gmail","n8n-nodes-base.googleSheetsTool","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent"]

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


name: TrustPilot SaaS Product Review Tracker with Bright Data & OpenAI
author_name: Ranjan Dailata
author_username: ranjancse
categories: []
created_at: 2025-05-21T13:08:26.837Z
updated_at: 2025-05-21T13:08:26.837Z
url: https://n8n.io/workflows/4280
scraped_at: 2025-09-14 11:38:22
description:
  Who this is for
  The TrustPilot SaaS Product Review Tracker is designed for product managers, SaaS growth teams, customer experience analysts, and marketing teams who need to extract, summarize, and analyze customer feedback at scale from TrustPilot.

  This workflow is tailored for:

  Product Managers** - Monitoring feedback to drive feature improvements

  Customer Support & CX Teams** - Identifying sentiment trends or recurring issues

  Marketing & Growth Teams** - Leveraging testimonials and market perception

  Data Analysts** - Tracking competitor reviews and benchmarking

  Founders & Executives** - Wanting aggregated insights into customer satisfaction

  What problem is this workflow solving?
  Manually monitoring, extracting, and summarizing TrustPilot reviews is time-consuming, fragmented, and hard to scale across multiple SaaS products. 

  This workflow automates that process from unlocking the data behind anti-bot layers to summarizing and storing customer insights enabling teams to respond faster, spot trends, and make data-backed product decisions.

  This workflow solves:

  The challenge of scraping protected review data (using Bright Data Web Unlocker)

  The need for structured insights from unstructured review content

  The lack of automated delivery to storage and alerting systems like Google Sheets or webhooks

  What this workflow does
  Extract TrustPilot Reviews: Uses Bright Data Web Unlocker to bypass anti-bot protections and pull markdown-based content from product review pages

  Convert Markdown to Text: Leverages a basic LLM chain to clean and convert scraped markdown into plain text

  Structured Information Extraction: Uses OpenAI GPT-4o via the Information Extractor node to extract fields like product name, review date, rating, and reviewer sentiment

  Summarization Chain: Generates concise summaries of overall review sentiment and themes using OpenAI

  Merge & Aggregate Output: Consolidates individual extracted records into a structured batch output

  Outbound Data Delivery:

  Google Sheets – Appends summary and structured review data

  Write to Disk – Persists raw and processed content locally

  Webhook Notification – Sends a real-time alert with summarized insights

  Pre-conditions

  You need to have a Bright Data account and do the necessary setup as mentioned in the "Setup" section below.
  You need to have an OpenAI Account.

  Setup
  Sign up at Bright Data.
  Navigate to Proxies & Scraping and create a new Web Unlocker zone by selecting Web Unlocker API under Scraping Solutions.
  In n8n, configure the Header Auth account under Credentials (Generic Auth Type: Header Authentication).

  The Value field should be set with the
  Bearer XXXXXXXXXXXXXX. The XXXXXXXXXXXXXX should be replaced by the Web Unlocker Token.
  In n8n, Configure the Google Sheet Credentials with your own account. Follow this documentation - Set Google Sheet Credential
  In n8n, configure the OpenAi account credentials.
  Ensure the URL and Bright Data zone name are correctly set in the Set URL, Filename and Bright Data Zone node.
  Set the desired local path in the Write a file to disk node to save the responses.

  How to customize this workflow to your needs

  Target Multiple Products : 

  Configure the Bright Data input URL dynamically for different SaaS product TrustPilot URLs

  Loop through a product list and run parallel jobs for each

  Customize Extraction Fields : 

  Update the prompt in the Information Extractor to include:

  Review title
  Response from company
  Specific feature mentions
  Competitor references

  Tune Summarization Style

  Change tone**: executive summary, customer pain-point focus, or marketing quote extract

  Enable sentiment aggregation** (e.g., 30% negative, 50% neutral, 20% positive)

  Expand Output Destinations

  Push to Notion, Airtable, or CRM tools using additional webhook nodes

  Generate and send PDF reports (via PDFKit or HTML-to-PDF nodes)

  Schedule summary digests via Gmail or Slack

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.googleSheets","n8n-nodes-base.function","n8n-nodes-base.readWriteFile","@n8n/n8n-nodes-langchain.chainSummarization","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.aggregate","n8n-nodes-base.httpRequest","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/n8n-nodes-langchain.lmChatOpenAi"]

workflow_json_compressed:
  [encoded data, 5556 characters]


name: Real Estate Intelligence Tracker with Bright Data & OpenAI
author_name: Ranjan Dailata
author_username: ranjancse
categories: []
created_at: 2025-05-21T13:33:31.376Z
updated_at: 2025-05-21T13:33:31.376Z
url: https://n8n.io/workflows/4281
scraped_at: 2025-09-14 11:38:20
description:
  Who this is for
  The Real Estate Intelligence Tracker is a powerful automated workflow designed for real estate analysts, investors, proptech startups, and market researchers who need to collect and analyze structured data from real estate listings across the web at scale.

  This workflow is tailored for:

  Real Estate Analysts** - Tracking property prices, locations, and market trends

  Investment Firms** - Sourcing high-opportunity listings for portfolio decisions

  PropTech Developers** - Automating listing insights for SaaS platforms

  Market Researchers** - Extracting insights from competitive housing data

  Growth Teams** - Monitoring geographic property trends and pricing fluctuations

  What problem is this workflow solving?
  Collecting structured real estate listing data from property websites is difficult due to bot protections and unstructured HTML content. Manual data collection is slow and error-prone, and traditional scrapers often get blocked or miss context.

  This workflow solves:

  Automated bypass of anti-bot protection using Bright Data Web Unlocker

  Conversion of unstructured HTML content into clean text using a Markdown-to-text LLM pipeline

  Structured extraction of key listing data like price, location, property type, and features using OpenAI

  Aggregation and delivery of insights to Google Sheets, local storage, and webhook-based alerts

  What this workflow does

  Convert to Text: Transforms scraped HTML/markdown into clean text using a Basic LLM Chain

  Structured Data Extraction: Uses OpenAI GPT-4o with the Information Extractor node to parse property attributes (price, address, area, type, etc.)

  Aggregate & Merge: Combines data from multiple pages or listings into a cohesive structure

  Outbound Data Handling:

  Google Sheets** – Appends the structured real estate data for further analysis

  Save to Disk** – Persists structured JSON/text data locally

  Webhook Notification** – Sends data alerts or summaries to any third-party platform

  Pre-conditions

  You need to have a Bright Data account and do the necessary setup as mentioned in the "Setup" section below.
  You need to have an OpenAI Account.

  Setup
  Sign up at Bright Data.
  Navigate to Proxies & Scraping and create a new Web Unlocker zone by selecting Web Unlocker API under Scraping Solutions.
  In n8n, configure the Header Auth account under Credentials (Generic Auth Type: Header Authentication).

  The Value field should be set with the
  Bearer XXXXXXXXXXXXXX. The XXXXXXXXXXXXXX should be replaced by the Web Unlocker Token.
  In n8n, Configure the Google Sheet Credentials with your own account. Follow this documentation - Set Google Sheet Credential
  In n8n, configure the OpenAi account credentials.
  Ensure the URL and Bright Data zone name are correctly set in the Set URL, Filename and Bright Data Zone node.
  Set the desired local path in the Write a file to disk node to save the responses.

  How to customize this workflow to your needs

  Target Multiple Sites or Locations

  Update the Bright Data URL node dynamically with a list of regional real estate websites

  Loop through different city/state filter URLs

  Customize Extracted Fields

  Modify the Information Extractor prompt to extract fields like:

  Property size, number of bedrooms/bathrooms

  Days on market

  Nearby amenities or schools

  Agent contact details

  Integrate with More Destinations

  Add nodes to export data to Notion, Airtable, HubSpot, or your custom database

  Generate automated reports using PDF generators and email them

  Data Quality and Logging

  Add validation checks (e.g., missing price or address)

  Save intermediate files (markdown, raw HTML, JSON output) to disk for audit purposes

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

workflow_json_compressed:
  [encoded data, 5412 characters]


name: Automatically Delete Spam Emails in Gmail on Schedule
author_name: Bao Duy Nguyen
author_username: duynb
categories: []
created_at: 2025-05-21T14:19:52.816Z
updated_at: 2025-05-21T14:19:52.816Z
url: https://n8n.io/workflows/4285
scraped_at: 2025-09-14 11:38:21
description:
  Who is this for?
  If you hate SPAM emails or don't want to clean them up frequently.

  What problem is this workflow solving?
  It automatically deletes SPAM emails for you, so you don't have to. Save a bit of your time.

  What this workflow does
  You can specify when to execute the workflow: daily, weekly, or monthly.

  Setup
  Select the preferred execution time
  Configure credentials for Gmail OAuth2

  How to customize this workflow to your needs
  There's no need. It just works!

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.gmail","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE71VXW/cNhD8KwTTR9EQJYoiBfTBsNMgBZIYsVM0tY2CH6s7xjzqIlG+XAz994I6fyW+Om0f+iZAy9mZ4e7wBjuLG3z89e2ZoWeWMhFd/f4DzvAKosLNDXZhiCoYeJ3qoOZSUCGY5KWlpZYWdK1NpbimlVUtF6WQZQ3U2qqQbVG0haGMW6FraRQwnOEIq7VXEY56sMMpxHF91K3WHiJY3MR+hCnDQa0AN/hwjN1KRWeU91tkIRWh05PDNwhWyvkhoanFgJvzm52M7afjj7Ftf1En21/9R3OE76HuuuIMmx5UBHsYcYOLvKhIXpGCnlHWUNqUxYGg5R84w+Pa/rhsusxw6Cw84qBYq0qoclJpXhIGXBJZgyZVyTSldQ5a6QdeZ71bLKBHKqLTMVi1RStng1ssYxK3XaeaIAKZmxCtBjgYzBLs6OH2KM7wuhtcdF3AzTkpeJ6RIr/M8Fr1agUR+iFdYz962F1nhP5a+Zlw68AnzhuAqwFPl9O0a/ob9MOMRw+KKbsVVggOlSkZoUJpwrhVRFPBiGmVbmvJdUHtg7Djvbe1V9Ai/f5WBr1XsQG97LqrefoY13kLeUuMyXPCpGRElJwRmTNhhBAgocXfC1/BMKjFbnx/vrlBP30aunDgLJomnOFuDb3aNcW7AcPTPCIWQnTKzxAzwXeHY1wWs4XzqH1l7rN5Vf1Oh2rjF6cPyl+laqSM6cYQ8RNLiwN6b6muq4pVFEjdmpIwU2qiOZeES1vnuSlFq9gjYIhIef9fPSV7PTWsZlRaIEUtDGG5pURVVhEjGWW2bIU0/ImnrfN3n15p8K9tWgCciOHL6VtXFxAPfaLSQxz7kL7v1vz/stmY0khbcqIKDoTVRhOta0ZKRfOi1lJy82hyT6MzV1v0tpvT4m92cK65LXnscSWSyfzp/pnOdz1u6gxvnI1L3JQsz/AS5lVvijzPsOlChJDy5sULtDf7tt3YP75+1AXU9vB5hBCRVoMbLsJFOFu6Aanb811AG+c96seAeljP0ee3KW8UWqs+OjN61aPoVoBid9cojdn3zRI0fhIQ9yYLXjOpdEsoN4IwlnMiS8mILgpVCqYZCLnXZPrvXS5EnlH2D0ym1bMmN+vOhfjnuG7Qh5Pjw7OX6M3Li3AKHkxEmyWEZEm8jei4BLTp+qvWd5s9PlxmWJnorgE3rfIDZHiAGF1YzMzgC5gx0X/XW+hxg69pwrjenZ83sWW1LdpCEiFtTlhNJVGs1qSqNCtBMMZ5ejhMFwKYBDUD7wuFlHrKJafOb+bn6Qd5PBdn2AULX3CTT5dph595mfbhPxtOexpM01/NYjEzewgAAA==


name: Automate SAP Business Partner Analysis with OpenAI GPT-4o & Gmail Reporting
author_name: Ghufran Ridhawi
author_username: ghufran-ridhawi
categories: []
created_at: 2025-05-21T16:26:23.739Z
updated_at: 2025-05-21T16:26:23.739Z
url: https://n8n.io/workflows/4287
scraped_at: 2025-09-14 11:38:22
description:
  Who is this for?
  This workflow is intended for micro businesses, SAP users, companies, users or owners who need system simplicity in SAP. In micro businesses, SAP users or individuals, there must be the task of manually inputting a lot of data or here in partner businesses in SAP, the reality is that it is very time consuming and tiring, especially since we have to arrange it first or click one by one and send it. This is also a form of community service in n8n and n8n companies, as well as dedication to small businesses using SAP, SAP users, companies or owners who use SAP so that reality is no longer tiring and is able to answer existing reality problems automatically.

  How it works?
  Easy explanation:

  The First Manual Trigger Node is used when clicking to start the program running. It's like starting by clicking the button first.

  After that the HTTP Request will be sent to the next node, here containing SAP.

  After that, each function will program and process it into clean data.

  Then after that it will be sent to Gmail via the Gmail node. The AI ​​Agent will carry out the task of reporting, analyzing and sending it via Gmail, here using model Open AI.

  You can immediately see the data thoroughly, because the data has been processed. If you want to process it again, just direct the AI ​​system to process it again.

  And all duties and responsibilities have been completed

  Very practical and easy, plus its automatic nature. I'm sure you can understand it wisely. 

  Set up instructions
  Complete what is in the nodes as stated in the notes column.

  Because the other nodes have been set up neatly, what you have to set up is, first, you have to connect the Gmail and Open AI "Credential Accounts" only.

  After that, enter the email address you want to send or receive in the Gmail node parameters.

  Well, it's very simple.

  Everything is organized wisely, so you just follow the notes or setup instructions provided, or you can add other things according to your specific purpose and congratulations you are ready to use it.

  Requirements
  As a reminder:

  It must be arranged in nodes, what your business description looks like, also according to the conditions of your small business, so that the AI ​​Agent matches your business knowledge base. Must have (if not, make sure you are registered) in each "Credential Account" by following the guide on how to do it n8n the guide is very complete. Don't forget to save, and make sure the workflow is active and don't forget about "Account Credentials".

  How to customize this workflow to your needs

  You can directly organize your business knowledge base in these nodes, so that according to your business in its field and what services it sells or has or here is your business partner, you can then carry out tasks and answer them.

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

workflow_json_compressed:
  H4sIAAAAAAAAE6WX224bNxCGX0XgVQtoUh6GJ13VCZIiRdMESREECIxiSA6VRaWVql0FCQy9e7GKa9nR2rHsu5V2+O/HGf7k8EI0RcxEVFHVV/OzvPjw/P3T9e9iKpbck5hdiKbtemozvxziKCmvZfCyDk/JoUSuKUllJbLX1lVVZOZaasDkC6oSnaGIWJ22Br2Yip6X6wX1/GzDpXvH/Xb9bLVcL7jnImb9Zsu7qWhpyWIm3p29mTzddk3LXTd5Q5u+5c3kpzP94efJi9Xm6tUgSvNOzD6eT0W7Kjw8XnybmM9KRpkRjLIM6I2DVFIFMi6pbLXxlsXhgz1t+kHu63r42YYW9nqQqOMnS2q3tPhr08znvBFTsV51Td+sWjH7CEbLaXDyfCrWtKEl97zpxOxi903rPW+6faDaTS/BciKdq/NgE2fAQAmo2AyYSykxDbh0DYzbMvltSc1i8m67XNLm662U8yHqJp0/FS4FF5wxAZIKOCBFiNI5MFnZ7JTXNqgD3NnLydmc22uJ+7UN7S8HrgW18/yJmvYJXcZdg3Mop0rjj+mexCs+VxRLkhFYywRYKAI5T6ACuVxKKqmYA9/rNbdnLyfPPlE/ebUqvLgH6GI5hO9HNiO8eB9efcUbMhvJliFmUoClEEQbFFhnkw9W2uTkgff5l35DuZ+85W676LtbK51XhW+yqXCvQh/AfK2ch8w5igpQqgghyAyGg0SjYioRD2AvVpsl9ZPn+3X4dFVuX4QjaO5+ZT6wxSSTsd5DTU4Bsh2Wo/YQjYzJ2WK41OOk/cgex2R4P3ccwCiRC7EaKFllwEgIFDGAVWiy41qR7PU9pcn/fJ38uer5VqhuH3MZcmNbCXLq5RGbyKu2H5w0E+J2F9cUTHXGA1sqgNJFiOgdkNEBteeqtRzlVKeDKnwEKBfJrhoEydkBktKQbClAJmhJ2pEpOAqqTwZV8hGcVH3CGBCqTgZQk4EUcgW05KXP1jo3nlBzMqd5TD5tqpFtrhCV1YCIBkIJBjDKGKxSJmga5cQHcSp5bOv7gXodtObqQXKtwyHoIeTBWEzV51A1FzUKak8GtY9xEppSKpUAyiUFGJyHRJ5BkpE21ZAypVFO9yDOhycUSyZCqYD90EvYmoGcdMDJYfImIKUwbvnTl+h+c1LuwTkNLGtMGnSwEVBrhiCVg+BJ1xSpVJ3HUU93PbjH2MkjR0a2wDYXQCclDDUHV2x1MuToynXbn725le9T36/f8r9b7vrvAU89uGOxzDUCMpchexGSUQhYKmJWRUkuo+3jH013e4c70jsOp+O92rPd+VRQ7pvPLGaVFh1PRcd937Tzfab5C+ftoPl6U3gjZuKzGlL++dv4/eWicmDSCUE74wCtJwiD35ypXFAalDWK6VCzlvMgtRce8j27EEtqBtyPF/sbwF1d1D5yKpq28Bcxk7vz8930svMf07lRz9GxV/3vXRhHfcmo1PfQY4p3dGF3av5PMDrJO+4X4/n6bkWNiR7fC0aljufzA8KbS3hU87jln10Iav4eGvwtzfnyvzthj8JvfmS3+w+Zmv71PA8AAA==


name: Convert RSS News to AI Avatar Videos with Heygen & GPT-4o
author_name: David Olusola
author_username: dae221
categories: []
created_at: 2025-05-21T17:52:54.270Z
updated_at: 2025-05-21T17:52:54.270Z
url: https://n8n.io/workflows/4288
scraped_at: 2025-09-14 11:38:21
description:
  🎬 Automated News-to-Video Workflow (n8n + Heygen + GPT-4o)

  📄 Overview:

  This n8n workflow turns news from an RSS feed (e.g., CNN) into short, AI-generated avatar videos using Heygen. It:

  Fetches news from an RSS feed.
  Logs headlines to Google Sheets.
  Uses GPT-4o or Google Gemini to generate a 30–60 sec script.
  Sends the script to Heygen to create an avatar video.
  Monitors and retrieves the final video.
  Logs video metadata (title, link, etc.) to Google Sheets.

  🎯 Ideal for content creators, marketers, or media pages repurposing written news into video content at scale.

  ⚙️ Setup Guide (No Sensitive Info)

  🔑 1. Heygen API

  Paid Heygen plan required.
  Add your API key in the Setup Heygen node:

      "heygen_api_key": "your_key_here"
    Optional: Set "avatar_id" and "voice_id" as desired.

  💡 2. AI Model: GPT-4o or Gemini

  GPT-4o**: Use OpenAI’s node or HTTP request with your API key.
  Gemini**: Link your Google Cloud project and connect the Gemini node using OAuth2 credentials.

  📥 3. RSS Feed

  Add an RSS node (e.g., CNN).
  Extract title, link, and content.

  📊 4. Google Sheets + Drive

  Connect via OAuth2:

    "Google Sheets account 2"
    "Google Drive account 2"
  Replace sheet IDs in:

    Log news to sheets
    Log video URL and title to sheets

  📹 5. Create Video (Heygen)

  Send a POST request to Heygen's API using the generated script, avatar, and voice ID.

  ⏳ 6. Monitor Status

  Poll the status endpoint until video is ready.
  Capture the download link.

  🧾 7. Log Final Output

  Save video metadata to a Google Sheet for publishing or archiving.

  Set up video: Link in Workflow 

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.rssFeedRead","n8n-nodes-base.manualTrigger","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.limit","n8n-nodes-base.googleDrive","n8n-nodes-base.code","n8n-nodes-base.limit","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.lmChatOpenAi"]

workflow_json_compressed:
  H4sIAAAAAAAAE6WX3W7bRhbHX4XgxV7xeOf7Q1dNE2y2QLdu46B7ERjFmZkzMhGK1JK01cAw0MfYfb0+yYKyY8kWFSvNnSAe/Oc353tuyzqVi7I5b/Mv3//Cz+33P77jF7qsyhWNWC5uy7odRmwj/TDZCcZYNIpZHgVzShpmgtfRSOt1CMx6GxVn0jBlmdZotDPKO3JaB28ox7IqR1qtGxzpdU9puKDxev26W60bGimVi7G/pruqbHFF5aJ89QP83G2op1T8RJuhGLvi1zpRV7yllnocu77Y1ONV8U/6tKS2+Fvx9uf3qpvOwOVQLj5cVmXbJZp+3t7f0zIuUqYMNkgNKoYIwVsGXsiUkGRM1pd75xevltSOk+Kn9fTPd61r/966Fra60GC7jFdYt2f4YLfuhnqsu7ZcfADuGau0Y5dVucYeVzRSP5SL27t7uV+pH7aW/MzdVQ+AlLnIkgVwMntQwmvwGT0E52NSJjqW0g7wYqzjx0/FT91IO8YdXsCBzoatzYPJPp5gilWgDvDK2LXjdJtFWR6gPoIyZaV2XkKKKYPy2YJnmIFxLpjLKK1ns6D860k5Z99AGkJgmpgAky0H5ZQCZEqAzoGM4sJZEWZJ5V8gZYZV/jDkJ/qUZ2WYcGCl4qCMI3DWOfA6oWc6YbB2R/ru4qJ4R5iOUvbD8A+i9GDzBNMaVglzQmbu4LwV3CmdgAKPU2Z6cCgtRIwmZ8coot7B/fuK2iI2dfxYt8vizz/++56Gsdh0/cfcdJs///jfUeoVttfYvO/r5ZL6g4pSp3E/UnNHMmCQwMgTqIgBXCYLLhsbkAfpKe9RYz0eBdvcf9zn0eZzgW8oXHXdx22TTF4xZYQAhsyAQqPBa08QMCWVk7PKTJ56yfNVic0GPw3n1+P6enyDUzvO2Az0eDlrRdZOK+ApGVCCLITsEwThlUMjvaK9GnxLY/HqBkfs77vo0YtejeP6Hf3nmobn95WnNTR1Jh4ZkwpJM87Be2dAJZchcIYQPPckjTWc047xdU840rdiuq/HJCucdj6CdSqCij4C2sBB2oQqpYRMyb0mMY2th7FzvEnQwUCYOu4JYPJMPYJFDJZhimBlyKBIB3AoImCmLJx3MoW9BH7Tbdqmw1Tc/EXXia/2XExRM68ckM4ICpOBwLIBTNbjNAfIux3gj/XqCyXWPHx94jRxYq96JNJKykBCgWSGg0pegU8kQSarEXkgxXCvLLpu2VDxpq9vjg/R5dbos02qBwzN533lCa5wp0V411aDZhKDAuWkAiWTBh9EAuuEtFxHzWivPtbYD1REXG+PO0Ybu3QwmPRpqbeLa5Ao0FKGyLQGlZSHYH0ET4Q2kvMBw7O4Hh/ts4E17CsDy6TjKmoORgo5FSmD4EIClVFnwsyd3UNqumXRPqyNwxXROLwQ3ovPRk8olTiJUp3pvSUOEw+Wg5Q5gmKWQRBRQdLemhh8Stbsua5b3pdrcd03BbapGOuxoW/FZpU9pZB31EYSScwZVHABFAoDwRGD5JJTSluRzF6n2fT1SMUQ+3p9yn7crF5f4Xi+pvZV/RzVOVY5dsIyIu4uqxLjOFXh/SisyoHGsW6X2yWLfqd4Pcme94n6clHe8GnburlX2M5mloyySTkQDhMo5gJ4HwwwbZLxTKaI0wMgdm1LcZLaCm/3gsVtucJ6Qv5wu31XfHGmbk2rsm4T/V4u2N3l5V310P3mhA6fGscF+KzCl9J9VuvxyDm1I41mVuhxEZ0Tet4YZhWezNM5lS/uBbOST/JzcVti/duUjde4pH91iZoXvH9g/lz/qYPmmOeXhFnYZ2N7NtNmx9Ss2kFSzukd2xSeK1a7SJ7ep2axZhL0aMK8IDWXDnNaT/f5WamXHypzwodvrxnxu7v/A1cdbIheEQAA


name: Automate Business Lead Scraping from Apify to Google Sheets with Data Cleaning
author_name: David Olusola
author_username: dae221
categories: []
created_at: 2025-05-21T18:47:26.249Z
updated_at: 2025-05-21T18:47:26.249Z
url: https://n8n.io/workflows/4295
scraped_at: 2025-09-14 11:38:20
description:
  🚀 Automated Lead Scraper Workflow (Apify + n8n + Google Sheets)

  🧠 What It Does

  This n8n workflow automates the process of scraping leads using Apify, cleaning the extracted data, and exporting it to Google Sheets—ready for use in outreach, prospecting, or CRM pipelines.

  🔄 Workflow Steps

  ✅ Start – Manually triggers the workflow.
  🧩 Set Variables – Stores required Apify credentials:

     APIFY_TOKEN: Your Apify token.
     APIFY_TASK_ID: The Apify task to run.
  🕸️ Run Apify Scraper – Launches the scraper and fetches the dataset.
  🧹 Clean Data – Processes scraped results to:

     ✂️ Strip non-numeric characters from phone numbers.
     ✉️ Format emails (lowercase + trimmed).
  📊 Export to Google Sheets – Appends clean data to your spreadsheet:

     🏢 company name → from title
     📞 phone → cleaned number
     📍 address → from scraped info

  🛠️ Requirements

  🕷️ Apify Account

    A valid APIFY_TOKEN
    An existing Apify task (APIFY_TASK_ID)

  📗 Google Sheets Access

    OAuth2 credentials set up in n8n (e.g., "Google Sheets account 2")

  🚦 How to Use

  ⚙️ Open the Variables node and plug in your Apify credentials.
  📄 Confirm the Google Sheets node points to your desired spreadsheet.
  ▶️ Run the workflow manually from the Start node.

  📥 Output

  A ready-to-use sheet of cleaned lead data containing:

  Company names
  Phone numbers
  Addresses

  💼 Perfect For:

  Sales teams doing outbound prospecting
  Marketers building lead lists
  Agencies running data aggregation tasks

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

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


name: Extract and Structure Thai Documents to Google Sheets using Typhoon OCR and Llama 3.1
author_name: Jaruphat J.
author_username: jaruphatj
categories: []
created_at: 2025-05-22T02:34:50.107Z
updated_at: 2025-05-22T02:34:50.107Z
url: https://n8n.io/workflows/4300
scraped_at: 2025-09-14 11:38:21
description:
  ⚠️ Note: This template requires a community node and works only on self-hosted n8n installations. It uses the Typhoon OCR Python package and custom command execution. Make sure to install required dependencies locally.

  Who is this for?

  This template is for developers, operations teams, and automation builders in Thailand (or any Thai-speaking environment) who regularly process PDFs or scanned documents in Thai and want to extract structured text into a Google Sheet.

  It is ideal for:
  Local government document processing
  Thai-language enterprise paperwork
  AI automation pipelines requiring Thai OCR

  What problem does this solve?

  Typhoon OCR is one of the most accurate OCR tools for Thai text. However, integrating it into an end-to-end workflow usually requires manual scripting and data wrangling.

  This template solves that by:
  Running Typhoon OCR on PDF files
  Using AI to extract structured data fields
  Automatically storing results in Google Sheets

  What this workflow does

  Trigger: Run manually or from any automation source
  Read Files: Load local PDF files from a doc/ folder
  Execute Command: Run Typhoon OCR on each file using a Python command
  LLM Extraction: Send the OCR markdown to an AI model (e.g., GPT-4 or OpenRouter) to extract fields
  Code Node: Parse the LLM output as JSON
  Google Sheets: Append structured data into a spreadsheet

  Setup

  1. Install Requirements

  Python 3.10+
  typhoon-ocr: pip install typhoon-ocr
  Install Poppler and add to system PATH (needed for pdftoppm, pdfinfo)

  2. Create folders

  Create a folder called doc in the same directory where n8n runs (or mount it via Docker)

  3. Google Sheet

  Create a Google Sheet with the following column headers:

  | book\_id | date | subject | detail | signed\_by | signed\_by2 | contact | download\_url |
  | -------- | ---- | ------- | ------ | ---------- | ----------- | ------- | ------------- |

  You can use this example Google Sheet as a reference.

  4. API Key

  Export your TYPHOON_OCR_API_KEY and OPENAI_API_KEY in your environment (or set inside the command string in Execute Command node).

  How to customize this workflow

  Replace the LLM provider in the Basic LLM Chain node (currently supports OpenRouter)
  Change output fields to match your data structure (adjust the prompt and Google Sheet headers)
  Add trigger nodes (e.g., Dropbox Upload, Webhook) to automate input

  About Typhoon OCR

  Typhoon is a multilingual LLM and toolkit optimized for Thai NLP. It includes typhoon-ocr, a Python OCR library designed for Thai-centric documents. It is open-source, highly accurate, and works well in automation pipelines. Perfect for government paperwork, PDF reports, and multilingual documents in Southeast Asia.

nodes_used:
  ["n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.executeCommand","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.readWriteFile","n8n-nodes-base.stickyNote"]

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


name: Monitor SEO Keyword Rankings with LLaMA AI & Apify Google SERP Scraping
author_name: Gegenfeld
author_username: gegenfeld
categories: []
created_at: 2025-05-22T03:27:43.959Z
updated_at: 2025-05-22T03:27:43.959Z
url: https://n8n.io/workflows/4301
scraped_at: 2025-09-14 11:38:22
description:
  Who is this template for?

  This SEO Keyword Monitoring workflow template is perfect for SEO professionals, digital marketing agencies, website owners, and content strategists who need to track their search rankings and get actionable insights when they're not performing well. Whether you're managing multiple client sites, monitoring your own brand's visibility, or conducting competitive analysis, this automation provides comprehensive rank tracking with AI-powered recommendations.

  What problem does this workflow solve?

  Manual keyword rank tracking is time-consuming and often provides limited actionable insights. SEO professionals typically struggle with:

  Manually checking search rankings across different countries and languages
  Identifying why a website isn't ranking for target keywords
  Getting specific, actionable recommendations for SEO improvements
  Tracking competitor performance and market positioning
  Scaling rank monitoring across multiple keywords and domains
  Generating professional reports for clients or stakeholders

  What this workflow does

  This n8n workflow automates comprehensive SEO keyword monitoring with intelligent analysis and reporting. It tracks your rankings in Google search results and provides AI-powered insights when your site isn't performing as expected.

  Here's what it includes:

  Multi-language web form** that accepts keyword, domain, country (24 options), and language (12 options)
  Intelligent localization** that converts country/language selections into proper API codes
  Real-time Google SERP scraping** using Apify's Google Search API (up to 100 results per query)
  Automated rank detection** that checks if your domain appears in the search results
  Dual email reporting system:**
    Success reports: Beautiful HTML tables showing your rankings, competitor positions, titles, URLs, and descriptions
    AI-powered improvement reports: When your site doesn't rank, an AI agent (LLaMA 70B) analyzes the search results and provides specific, actionable SEO recommendations
  Professional email formatting** with HTML markup for easy sharing with clients or teams

  Setup

  Getting started is straightforward:

  Connect your Apify account

  Sign up for a free Apify account 🡥
  Get your Personal API Token from Settings → API & Integrations
  Replace YOUR_API_TOKEN in the HTTP Request node with your actual token

  Configure the AI model

  The workflow uses Groq AI with LLaMA 70B by default
  Connect your Groq account or replace with OpenAI, Claude, or another LLM
  The AI agent analyzes search results and provides tailored SEO recommendations

  Set up email delivery / data export

  Configure the Mailjet nodes with your email credentials
  Or replace with Gmail, Outlook, SMTP, or other email providers
  Or replace with/add Google Sheets, Airtable, Notion or similar service, for data storage
  Set your sender and recipient email addresses

  Test the workflow

  Click "Test workflow" to access the web form
  Enter a keyword, domain, country, and language
  Check your email for either ranking results or AI-powered recommendations

  Activate the workflow

  Turn on the trigger so you can access the form anytime
  Share the form URL with team members or clients

  How to customize this workflow

  This template is highly flexible and can be adapted for various SEO monitoring needs:

  Scale up monitoring:** Add loops to track multiple keywords simultaneously
  Alternative outputs:* Replace email nodes with *Google Sheets, **Airtable, or Notion for data storage
  Team notifications:* Connect to *Slack, **Discord, or Microsoft Teams for instant alerts
  Scheduled monitoring:* Add *cron triggers** for daily, weekly, or monthly automated checks
  Enhanced analysis:** Integrate additional AI models for deeper competitive analysis
  Custom reporting:** Modify the HTML templates to match your brand or client requirements
  Data persistence:* Add *database connections** to store historical ranking data
  Competitor tracking:** Expand the logic to monitor multiple domains for the same keywords

  Key features

  24 country support:** Track rankings in major markets worldwide
  12 language options:** Monitor multilingual SEO performance
  AI-powered insights:** Get specific recommendations when rankings are low
  Professional reporting:** HTML-formatted emails ready for client delivery
  Competitor analysis:** See who's ranking above you with full SERP data
  Scalable architecture:** Easy to extend for enterprise-level monitoring

  This workflow transforms manual rank checking into an intelligent, automated system that not only tracks your performance but actively helps you improve it with AI-driven recommendations. Developed by Gegenfeld 🡥 and codecope 🡥 in Berlin, Germany.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.formTrigger","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatGroq","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.mailjet","n8n-nodes-base.mailjet","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE52W227bRhCGX4XgNcfdw+xJV3UDJzXaNEFktCgCo9jDrMxaIhWSjpMYfveCsmvJNpXYvhEEafbfb2Z2DldlncpZGRfzt68j/2se/n5fn5u+rMoVDb6cXZV10w++iXQ82qFJwilvpHBJKjTESAelEzlC6VLknnl0UScrTBBSMC1cVigZi2gIeVmVA63WSz/Qq45SP6fhYv2qXa2XNFAqZ0N3QddV2fgVlbPybdvUQ9sV86N3xW/09bLtUvHBN+d1s+iLy3o4Kw6PYd1eUkepeNO2iyUVc/JdPCsO3x8X89j5dd0sxkv9oi9nH0+rsmkTjV+vbhzPjJmIpMEowwClEBAij6CSUtmaEIQaoW+Bfj05eV98oE8X1A+j6tf1+GtjG9jIQvA9HZwNw3prs277eqjbppx9BMlYBUKx06pc+86vaKCuL2dX1zdSf1LXbyzxQFxXt4BOceJGcNBOc0AlBDibEmBwRhiWOOqwBZwPvttPlttuddLViwV1D8gM3pFdUjhr2/ObdGvDJKKFlIQF1NaDJaMhKJUsYshmc/l3nRE7zmQpgmFGQs4bPSbAe1IQPLMyKIVB4taZ39vol/U32utPbBM9cESJp4V4hwlNUkkhOC4NYPRhfAEKiLGQ0AufldwyHee9NHW+z8LxiSi7AUqOpyg5kNEaMFoFLiUPObJsbPA2aruFOUr1ULyuaZn6vVQ9PXyF9mlY8gDvsJIlyol5cBQFYEoZnI0eUtJ8rBDphdhivenaT8Xh8Rbp58Y2P225lr5ZxDNfNwfL1aszP4z29xkRbcXFDxH5HWDQZCSXCuKYOkxZgg2IQBhsUqhIGrVTJUfvisMFNcMTEP2t3Q6d1KwCzn6Md2DvAJkk4lFoINQWUHAOwekMGFKIpJySWe8AUpOK10Qp+HheHK18vdyb4PHPfx8meVPPT0G8AyTHlVJag5HKAGbJIDDuIOssnBGCcsgPAD9Qf7EcihMflvQiSKkrwOdAWm6Y8ImDlDGO/YOBV2iAGE/WCqtp0xBuIX+5qJfpBu8ZLQSlfRLVtmgpkJdOO1A6R0DjFHgTMxiNwaRILIV7LbqO51+LP9qBcH/VboxGm/twbpPXx5VRxrYZxoc6K8v94dM6Ja4TQhZJAKLnYIO0gEYrHQ3XGdMkqHwZKL4UNFnjjEAJInsJGDKB5TyARp1QG0cOcRJUPRsU7NgPjX4haTbBZK0QdPJ8dDiBZS6C5VZYg17ea9g7pOKFpC9OfkBymxZpkDKgMBYChgTcBGmc986H6eTz55NupvBLQ5ocKu91BieUBmQpQ8CsIWrrDIs5ekmToM/mlMgqgc/EPK1KH4f6M5Wz7Jc9VWVPwzCupONR+kLxYpR/1yXqyln5mY8an2/Ob5Yq7XV0OTHAxDkgIw4+ughSkTHBOyH9OApi2zQUR6mN8HEeP1e+HsE/Xm322H09bmNVlXWT6Es5Y9en1fbAxOx7ZH56Xd1uklNXPl7LJgX+3wJmV6Wv/xkH6oVf0Ns20fKe3ATQI/uH2ncIU3zTS/q0k3d3Twl9dwpP6u1mY6/i98bmpOrumjeluruTTgrci8iUwuQiOSF1ff0fo+tewzAOAAA=


name: Airtable Base Backups to S3
author_name: Autonomous Work
author_username: autonomouswork
categories: []
created_at: 2025-05-22T04:33:58.776Z
updated_at: 2025-05-22T04:33:58.776Z
url: https://n8n.io/workflows/4302
scraped_at: 2025-09-14 11:38:23
description:
  This workflow exports every table in a base as its own CSV, saves the files in a time-stamped folder in Amazon S3, pings you on Slack, and optionally prunes older copies. You get an automated weekly backup that is easy to inspect or re-import as needed. You can easily swap the S3 node for the storage provider of your choice.

  ++How it works++

  Weekly Backup
  Schedule trigger fires weekly
  Sets and formats the week ex. [2025-W12]
  Create a folder in S3 bucket with the week
  Loops through all tables in Airtable base creating CSVs and uploading to the new path
  Slack message is sent on completion

  Monthly Prune
  Schedule trigger fires weekly
  Sets a cut-off date 4 weeks in the past
  Lists folders in S3
  Deletes all folders &gt; 4 weeks old

  ++Setup Steps++

  Clone workflow
  Swap credentials for Airtable, AWS, and Slack
  	Ensure AWS credential has appropriate IAM policy to manage bucket & objects
  Set workflow to "Active" 

nodes_used:
  ["n8n-nodes-base.airtable","n8n-nodes-base.splitInBatches","n8n-nodes-base.set","n8n-nodes-base.airtable","n8n-nodes-base.convertToFile","n8n-nodes-base.awsS3","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.awsS3","n8n-nodes-base.awsS3","n8n-nodes-base.awsS3","n8n-nodes-base.set","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.slack","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.aggregate"]

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


name: Track Google Search Rankings with Bright Data, Google Sheets & Gmail
author_name: Daniel Shashko
author_username: tomax
categories: []
created_at: 2025-05-22T10:43:11.946Z
updated_at: 2025-05-22T10:43:11.946Z
url: https://n8n.io/workflows/4310
scraped_at: 2025-09-14 11:38:23
description:
  This workflow automates daily or manual keyword rank tracking on Google Search for your target domain. Results are logged in Google Sheets and sent via email using Bright Data's SERP API.

  Requirements:  
  n8n (local or cloud) with Google Sheets and Gmail nodes enabled  
  Bright Data API credentials  

  Main Use Cases

  Track Google search rankings for multiple keywords and domains automatically
  Maintain historical rank logs in Google Sheets for SEO analysis
  Receive scheduled or on-demand HTML email reports with ranking summaries
  Customize or extend for advanced SEO monitoring and reporting

  How it works

  The workflow is divided into several logical steps:

  1. Workflow Triggers
  Manual:** Start by clicking 'Test workflow' in n8n.
  Scheduled:** Automatically triggers every 24 hours via Schedule Trigger.

  2. Read Keywords and Target Domains
  Fetches keywords and domains from a specified Google Sheets document.
  The sheet must have columns: Keyword and Domain.

  3. Transform Keywords
  Formats each keyword for URL querying (spaces become +, e.g., seo expert → seo+expert).

  4. Batch Processing
  Processes keywords in batches so each is checked individually.

  5. Get Google Search Results via Bright Data
  Sends a request to Bright Data's SERP API for each keyword with location (default: US).
  Receives the raw HTML of the search results.

  6. Parse and Find Ranking
  Extracts all non-Google links from HTML.
  Searches for the target domain among the results.
  Captures the rank (position), URL, and total number of results checked. Saves timestamp.

  7. Save Results to Google Sheets
  Appends the findings (keyword, domain, rank, found URL, check time) to a “Results” sheet for history.

  8. Generate HTML Report and Send Email
  Builds an HTML table with current rankings.
  Emails the formatted table to the specified recipient(s) with Gmail.

  Setup Steps

  Google Sheets:
     Create a sheet named “Results”, and another with Keyword and Domain columns.
     Update document ID and sheet names in the workflow’s config.

  Bright Data API:
     Acquire your Bright Data API token.
     Enter it in the Authorization header of the 'Getting Ranks' HTTP Request node.

  Gmail:
     Connect your Gmail account via OAuth2 in n8n.
     Set your destination email in the 'Sending Email Message' node.

  Location Customization:
     Modify the gl= parameter in the SERP API URL to change country/location (e.g., gl=GB for the UK).

  Notes

  This workflow is designed for n8n local or cloud environments with suitable connector credentials.
  Customize batch size, recipient list, or ranking extraction logic per your needs.
  Use sticky notes in n8n for further setup guidance and workflow tips.

  With this workflow, you have an automated, repeatable process to monitor, log, and report Google search rankings for your domains—ideal for SEO, digital marketing, and reporting to clients or stakeholders.

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

workflow_json_compressed:
  [encoded data, 4988 characters]


name: Reliable AI Agent Output Without Structured Output Parser - w/ OpenAI & Switch
author_name: Dataki
author_username: dataki
categories: []
created_at: 2025-05-22T13:42:19.414Z
updated_at: 2025-05-22T13:42:19.414Z
url: https://n8n.io/workflows/4316
scraped_at: 2025-09-14 11:38:22
description:
  This workflow serves as a solid foundation when you need an AI Agent to return output in a specific JSON schema, without relying on the often-unreliable Structured Output Parser.

  What It Does
  The example workflow takes a simple input (like a food item) and expects a JSON-formatted output containing its nutritional values.

  Why Use This Instead of Structured Output Parser?

  The built-in Structured Output Parser node is known to be unreliable when working with AI Agents.

  While the n8n documentation recommends using a “Basic LLM Chain” followed by a Structured Output Parser, this alternative workflow completely avoids using the Structured Output Parser node.  
  Instead, it implements a custom loop that manually validates the AI Agent's output.

  This method has proven especially reliable with OpenAI's gpt-4.1 series (gpt-4.1, gpt-4.1-mini, gpt-4.1-nano), which tend to produce correctly structured JSON on the first try, as long as the System Prompt is well defined.
  In this template, gpt-4.1-nano is set by default.

  How It Works

  Instead of using the Structured Output Parser, this workflow loops the AI Agent through a manual schema validation process:

  A custom schema check is performed after the AI Agent response.
  A runIndex counter tracks the number of retries.
  A Switch node:
    If the output does not match the expected schema, it routes back to the AI Agent with an updated prompt asking it to return the correct format. The process allows up to 4 retries to avoid infinite loops.
    If the output does match the schema, it continues to a Set node that serves as chat response (you can customize this part to fit your use case).


  This approach ensures schema consistency, offers flexibility, and avoids the brittleness of the default parser.

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.switch","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.set","n8n-nodes-base.set","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7436 characters]


name: Classify Lead Sentiment with Google Gemini and Send WhatsApp Responses via Typeform & Supabase
author_name: Danielle Gomes
author_username: daniellegomes
categories: []
created_at: 2025-05-22T14:21:49.503Z
updated_at: 2025-05-22T14:21:49.503Z
url: https://n8n.io/workflows/4322
scraped_at: 2025-09-14 11:38:22
description:
  Automatically classify incoming leads based on the sentiment of their message using Google Gemini, store them in Supabase by category, and send tailored WhatsApp messages via the official WhatsApp Cloud API.

  ✅ Use Case:
  This workflow is ideal for sales, onboarding, and customer support teams who want to:

  Understand the tone and urgency of each lead

  Prioritize hot leads instantly

  Send smart, automatic WhatsApp replies based on user sentiment

  🧠 How it works:
  Capture lead via a Typeform webhook

  Clean and structure the data (name, email, message, etc.)

  Run sentiment analysis using Google Gemini to classify the message as:

  Positive → Hot Lead

  Neutral → Warm Lead

  Negative → Cold Lead

  Store lead data in Supabase under the corresponding category

  Merge data to unify flow paths

  Send WhatsApp message using the official WhatsApp Cloud API, with a custom reply for each sentiment result

  🔧 Tools used:
  Typeform (incoming data)

  Google Gemini (AI-based sentiment classification)

  Supabase (database)

  WhatsApp Cloud API (response automation)

  🏷 Tags:
  AI, Sentiment Analysis, Lead Qualification, Supabase, WhatsApp, Gemini, Typeform, CRM, Automation, Customer Engagement

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.webhook","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.sentimentAnalysis","n8n-nodes-base.supabase","n8n-nodes-base.supabase","n8n-nodes-base.supabase","n8n-nodes-base.merge","n8n-nodes-base.whatsApp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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


name: Find, Scrape & Analyze Twitter Posts by Name with Bright Data & Gemini
author_name: Gleb D
author_username: glebd
categories: []
created_at: 2025-05-22T16:00:13.479Z
updated_at: 2025-05-22T16:00:13.479Z
url: https://n8n.io/workflows/4325
scraped_at: 2025-09-14 11:38:22
description:
  This n8n workflow template automates the process of collecting and analyzing Twitter (X) posts for any public profile, then generates a clean, AI-powered summary including key metrics, interests, and activity trends.

  🚀 What It Does
  Accepts a user's full name and date range through a public form.
  Automatically finds the person’s X (formerly Twitter) profile using a Google search.
  Uses Bright Data to retrieve full post data from the X.com profile.
  Extracts key post metrics like views, likes, reposts, hashtags, and mentions.
  Uses Google Gemini (PaLM) to generate a personalized summary: tone, themes, popularity, and sentiments.
  Stores both raw data and the AI summary into a connected Google Sheet for further review or team collaboration.

  🛠️ Step-by-Step Setup
  Deploy the public form to collect full name and date range.
  Build a Google search query using the name to find their X profile.
  Scrape the search results via Bright Data (Web Unlocker zone).
  Parse the page content using the HTML node.
  Use Gemini AI to extract the correct X profile URL.
  Pull full post data via Bright Data dataset snapshot API.
  Transform post data into clean structured fields:
  date_posted, description, hashtags, likes, views,
  quoted_post.date_posted, quoted_post.description,
  replies, reposts, quotes, and tagged_users.profile_name.
  Analyze all posts using Google Gemini for interest detection and persona generation.
  Save results to a Google Sheet: structured post data + AI-written summary.
  Show success or fallback messages depending on profile detection or scraping status.

  🧠 How It Works: Workflow Overview
  Trigger: When user submits form
  Search & Match: Google search → HTML parse → Gemini filters matching X profile
  Data Gathering: Bright Data → Poll for snapshot completion → Fetch post data
  Transformation: Extract and restructure key fields via Code node
  AI Summary: Use Gemini to analyze tone, interests, and trends
  Export: Save results to Google Sheet
  Fallback: Display custom error message if no X profile found

  📨 Final Output
  A record in your Google Sheet with:
    Clean post-level data
    Profile-level engagement summary
    An AI-written overview including tone, common topics, and post popularity

  🔐 Credentials Used
  Bright Data account** (for search & post scraping)
  Google Gemini (PaLM)** or Gemini Flash via - 
  OpenAI/Google Vertex API
  Google Sheets (OAuth2) account** (for result storage)

  ⚠️Community Node Dependency
  This workflow uses a custom community node:
  n8n-nodes-brightdata
  Install it via UI (Settings → Community Nodes → Install).

nodes_used:
  ["n8n-nodes-base.html","n8n-nodes-base.formTrigger","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.form","n8n-nodes-base.if","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.form","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-brightdata.brightData","n8n-nodes-base.code","n8n-nodes-base.wait","n8n-nodes-base.if","n8n-nodes-brightdata.brightData","n8n-nodes-brightdata.brightData","n8n-nodes-brightdata.brightData","n8n-nodes-base.if","n8n-nodes-base.wait"]

workflow_json_compressed:
  [encoded data, 5328 characters]


name: Auto-Scrape TikTok User Data via Dumpling AI and Segment in Airtable
author_name: Yang
author_username: yang
categories: []
created_at: 2025-05-22T20:36:01.997Z
updated_at: 2025-05-22T20:36:01.997Z
url: https://n8n.io/workflows/4326
scraped_at: 2025-09-14 11:38:22
description:
  Who is this for?

  This workflow is for social media agencies, influencer marketers, and brand managers who need to automatically qualify TikTok creators based on their follower metrics. It’s especially useful for teams managing influencer outreach campaigns or building talent databases.

  What problem is this workflow solving?

  Manually tracking TikTok user stats is time-consuming and inconsistent. This automation instantly pulls TikTok profile data and only saves creators who meet a defined follower threshold. It removes manual vetting, reduces spreadsheet work, and makes influencer qualification scalable.

  What this workflow does

  This workflow uses Airtable as the trigger, Dumpling AI to scrape TikTok profile information, and a logic condition to check if the profile has more than 100k followers. Qualified profiles are updated with full metrics and stored back in Airtable.

  Setup

  Airtable Setup
     Create a table with a field named Tik tok username
     Connect your Airtable account to n8n using a Personal Access Token
     Set up a trigger to run when a new TikTok username is added

  Dumpling AI
     Sign up at Dumpling AI
     Create a Dumpling AI credential in n8n using your API key
     The HTTP node sends the TikTok handle to Dumpling’s /get-tiktok-profile endpoint

  Configure Filter
     The IF node checks if followerCount is greater than or equal to 100000

  Airtable Update
     If qualified, the record is updated with:
       ID (TikTok ID)
       followerCount
       followingCount
       heartCount
       videoCount
  How to customize this workflow to your needs

  Change the follower count threshold to fit your campaign (e.g. 10K, 500K, 1M)
  Add fields like engagement rate, niche tags, or scraped bio
  Chain additional steps like sending approved creators to your CRM or triggering outreach messages
  Add another filter to exclude private or inactive accounts

nodes_used:
  ["n8n-nodes-base.airtableTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.stickyNote"]

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


name: Auto-Generate Blog & AI Image from YouTube Videos with Dumpling AI & GPT-4o
author_name: Yang
author_username: yang
categories: []
created_at: 2025-05-22T21:00:31.600Z
updated_at: 2025-05-22T21:00:31.600Z
url: https://n8n.io/workflows/4327
scraped_at: 2025-09-14 11:38:21
description:
  Who is this for?

  This template is designed for content creators, marketing teams, educators, or media managers who want to repurpose video content into written blog posts with visuals. It's ideal for anyone looking to automate the process of transforming YouTube videos into professional blog articles and custom images.

  What problem is this workflow solving?

  Creating written content from video material is time-consuming and manual. This workflow solves that by automating the entire pipeline: from detecting new YouTube video uploads to transcribing the audio, turning it into an engaging blog post, generating a matching visual, and saving both in Airtable. It saves hours of work while keeping your blog or social feed active and consistent.

  What this workflow does

  This automation listens for new YouTube videos added to a Google Drive folder, extracts the full transcript using Dumpling AI, and sends it to GPT-4o to generate a blog post and image prompt. Dumpling AI then turns the prompt into a 16:9 visual. The blog and visual are saved into Airtable for easy publishing or curation.

  Setup

  Google Drive Trigger
     Create a folder in Google Drive and upload your YouTube videos there.
     Link this folder in the "Watch Folder for New YouTube Videos" node.
     Enable polling every minute or adjust as needed.

  Download & Prepare the Video
     The video is downloaded and converted into base64 format by the next two nodes:  
       Download Video File and Convert Downloaded Video to Base64.

  Transcription with Dumpling AI
     The base64 video is sent to Dumpling AI’s extract-video endpoint.
     You must have a Dumpling AI account and an API key with access to this endpoint: Dumpling AI Docs

  Generate Blog Content with GPT-4o
     GPT-4o takes the transcript and generates:
       A human-like blog post
       A descriptive prompt for AI image generation
     Make sure your OpenAI credentials are configured.

  Generate the Visual
     The prompt is passed to Dumpling AI’s generate-ai-image endpoint using model FLUX.1-pro.
     The result is a clean 1024x576 image.

  Save to Airtable
     Blog content is stored under the Content field in Airtable.
     The image prompt is also added to the Attachments column as a visual reference.
     Ensure Airtable base and table are preconfigured with the correct field names.

  How to customize this workflow to your needs

  Change the GPT prompt to alter the tone or format of the blog post (e.g., add bullet points or SEO tags).
  Modify the Dumpling AI prompt to generate different image styles.
  Add a scheduler or webhook trigger to run at different intervals or through other integrations.
  Connect this output to Ghost, Notion, or your CMS using additional nodes.

  🧠 Sticky Note Summary

  Part 1: Transcription & Blog Prompt
  Watches a Google Drive folder for new video uploads.
  Downloads and encodes the video.
  Transcribes full audio with Dumpling AI.
  GPT-4o writes a blog post and descriptive image prompt.

  Part 2: Image Generation & Airtable Save
  Dumpling AI generates a visual from the image prompt.
  Blog content is saved to Airtable.
  The image prompt is patched into the Attachments field in the same record.

  ✅ Use this if you want to automate repurposing YouTube videos into blog content with zero manual work.

nodes_used:
  ["n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.googleDrive","n8n-nodes-base.extractFromFile","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.httpRequest","n8n-nodes-base.airtable","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4432 characters]


name: Scrape TikTok Profile & Transcript with Dumpling AI and Save to Google Sheets
author_name: Yang
author_username: yang
categories: []
created_at: 2025-05-22T21:47:28.961Z
updated_at: 2025-05-22T21:47:28.961Z
url: https://n8n.io/workflows/4328
scraped_at: 2025-09-14 11:38:21
description:
  Who is this for?

  This workflow is built for marketers, researchers, and content analysts who need to monitor TikTok content, analyze user data, or track trends across influencers. It's useful for agencies that manage creators or want to keep an organized record of profile performance and video content for reporting or outreach.

  What problem is this workflow solving?

  Instead of manually checking TikTok profiles or watching videos to understand performance or content, this workflow automates everything. It extracts both profile statistics and full video transcripts, then logs them in Google Sheets for easy access, filtering, and segmentation.

  What this workflow does

  The automation watches for new TikTok video URLs added to a Google Sheet. When a new row is detected:

  It extracts the username from the URL.
  Sends the username to Dumpling AI to get full profile data (followers, likes, videos).
  Sends the video URL to Dumpling AI to extract the full transcript.
  Appends all this information back into the same sheet.

  Everything happens automatically after a new URL is added to the sheet.

  Setup

  Google Sheets Trigger  
     Connect your Google account and select the spreadsheet where TikTok links will be added.  
     The workflow will trigger on each new row.
     Example sheet column: USERNAME Video

  Extract Username  
     This Set node uses RegEx to extract the username (handle) from the TikTok video URL.
     No need to change anything unless TikTok URL formatting changes.

  Dumpling AI Profile Scraper  
     Go to Dumpling AI  
     Sign in and retrieve your API key  
     Create an agent using the get-tiktok-profile endpoint  
     Paste your API key into the httpHeaderAuth field in n8n

  Dumpling AI Transcript Scraper  
     Also uses Dumpling AI  
     Make sure the endpoint get-tiktok-transcript is enabled in your Dumpling account  
     Connect using the same API key

  Save to Google Sheets  
     The final node appends data back to your original Google Sheet  
     Required columns: USERNAME Video, Username, Follower count, Following Count, heart count, Video Count, Transcript

  How to customize this workflow to your needs

  Add a filter node to only save profiles with a minimum follower count  
  Add sentiment analysis for the transcript using OpenAI  
  Connect Airtable or Notion instead of Google Sheets  
  Use GPT to summarize or classify transcripts for research

  ⚠️ Notes

  Requires a Dumpling AI account and API key  
  Make sure Google Sheets API is connected and has the correct permissions  
  TikTok usernames must start with @ for RegEx to work

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

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


name: Extract Product Info from Webpage Screenshots using Dumpling AI and GPT-4o
author_name: Yang
author_username: yang
categories: []
created_at: 2025-05-22T22:11:09.830Z
updated_at: 2025-05-22T22:11:09.830Z
url: https://n8n.io/workflows/4329
scraped_at: 2025-09-14 11:38:23
description:
  Who is this for?

  This workflow is perfect for eCommerce teams, market researchers, and product analysts who want to track or extract product information from websites that restrict scraping tools. It’s also useful for virtual assistants handling product comparison tasks.

  What problem is this workflow solving?

  Many eCommerce and retail sites use dynamic content or anti-bot protections that make traditional scraping methods unreliable. This workflow bypasses those issues by taking a screenshot of the full page, using OCR to extract visible text, and summarizing product information with GPT-4o—all fully automated.

  What this workflow does

  This workflow monitors a Google Sheet for new URLs. Once a new link is added, it performs the following steps:

  Trigger on New URL in Sheet – Watches for new rows added to a Google Sheet.
  Screenshot URL via Dumpling AI – Sends the URL to Dumpling AI’s screenshot endpoint to capture a full-page image of the product webpage.
  Save Screenshot to Drive Folder – Uploads the screenshot to a specific Google Drive folder for reference or logging.
  Extract Text from Screenshot with Dumpling AI – Uses Dumpling AI’s image-to-text endpoint to pull all visible content from the screenshot.
  Extract Product Info from Screenshot Text with GPT-4o – Sends the extracted raw text to GPT-4o, prompting it to identify structured product information such as product name, price, ratings, deals, and purchase options.
  Split Each Product Entry – Splits the GPT response (an array of product objects) so each product becomes an individual item for saving.
  Save Products info to Google Sheet – Appends each product’s structured details to a separate sheet in the same spreadsheet.

  Setup

  Google Sheet
     Create a Google Sheet with at least two sheets:  
       Sheet1 should contain a header row with a column labeled URL.
       Sheet2 should contain headers: Product Name, price, purchased, ratings, deal, buyingOptions.
     Connect your Google account in both the trigger and final write-back node.

  Dumpling AI
     Sign up at Dumpling AI
     Create an API key and use it for both HTTP modules:
       Screenshot URL via Dumpling AI
       Extract Text from Screenshot with Dumpling AI
     The screenshot endpoint used is https://app.dumplingai.com/api/v1/screenshot.

  Google Drive
     Create a folder for storing screenshots.
     In the Save Screenshot to Drive Folder node, select the correct folder or provide the folder ID.
     Make sure permissions allow uploading from n8n.

  OpenAI
     Provide an API key for GPT-4o in the Extract Product Info from Screenshot Text with GPT-4o node.
     The prompt is structured to return structured product listings in JSON format.

  Split & Save
     Split Each Product Entry takes the array of product objects from GPT and makes each one a separate execution.
     Save Products info to Google Sheet writes structured fields into Sheet2 under:  
       Product Name, price, purchased, ratings, deal, buyingOptions.

  How to customize this workflow

  Adjust the GPT prompt to return different product fields (e.g., shipping info, product categories).
  Use a filter node to limit which types of products get written to the final sheet.
  Add sentiment analysis to analyze review content if available.
  Replace Google Drive with Dropbox or another file storage app.

  Notes

  Make sure you monitor your API usage on both Dumpling AI and OpenAI to avoid rate limits.
  This setup is great for snapshot-based extraction where scraping is blocked or unreliable.

nodes_used:
  ["n8n-nodes-base.googleSheetsTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.splitOut","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4816 characters]


name: Automated Resume Job Matching Engine with Bright Data MCP & OpenAI 4o mini
author_name: Ranjan Dailata
author_username: ranjancse
categories: []
created_at: 2025-05-23T00:01:02.829Z
updated_at: 2025-05-23T00:01:02.829Z
url: https://n8n.io/workflows/4330
scraped_at: 2025-09-14 11:38:21
description:
  Notice
  Community nodes can only be installed on self-hosted instances of n8n.

  Who this is for
  The Automated Resume Job Matching Engine is an intelligent workflow designed for career platforms, HR tech startups, recruiting firms, and AI developers who want to streamline job-resume matching using real-time data from LinkedIn and job boards.

  This workflow is tailored for:

  HR Tech Founders** - Building next-gen recruiting products

  Recruiters & Talent Sourcers** - Seeking automated candidate-job fit evaluation

  Job Boards & Portals** - Enriching user experience with AI-driven job recommendations

  Career Coaches & Resume Writers** - Offering personalized job fit analysis

  AI Developers** - Automating large-scale matching tasks using LinkedIn and job data

  What problem is this workflow solving?
  Manually matching a resume to job description is time-consuming, biased, and inefficient. Additionally, accessing live job postings and candidate profiles requires overcoming web scraping limitations.

  This workflow solves:

  Automated LinkedIn profile and job post data extraction using Bright Data MCP infrastructure

  Semantic matching between job requirements and candidate resume using OpenAI 4o mini

  Pagination handling for high-volume job data

  End-to-end automation from scraping to delivery via webhook and persisting the job matched response to disk

  What this workflow does

  Bright Data MCP for Job Data Extraction
  Uses Bright Data MCP Clients to extract multiple job listings (supports pagination)

  Pulls job data from LinkedIn with the pre-defined filtering criteria's

  OpenAI 4o mini LLM Matching Engine
  Extracts paginated job data from the Bright Data MCP extracted info via the MCP scrape_as_html tool.

  Extracts textual job description information via the scraped job information by leveraging the Bright Data MCP scrape_as_html tool.

  AI Job Matching node handles the job description and the candidate resume compare to generate match scores with insights

  Data Delivery
  Sends final match report to a Webhook Notification endpoint

  Persistence of AI matched job response to disk 

  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 candidate resume, keywords and other filtering criteria's.
  Update the Webhook HTTP Request node with the Webhook endpoint of your choice.
  Update the file name and path to persist on disk.

  How to customize this workflow to your needs

  Target Different Job Boards

  Set input fields with the sites like Indeed, ZipRecruiter, or Monster

  Customize Matching Criteria
  Adjust the prompt inside the AI Job Match node

  Include scoring metrics like skills match %, experience relevance, or cultural fit

  Automate Scheduling
  Use a Cron Node to periodically check for new jobs matching a profile

  Set triggers based on webhook or input form submissions

  Output Customization
  Add Markdown/PDF formatting for report summaries

  Extend with Google Sheets export for internal analytics

  Enhance Data Security
  Mask personal info before sending to external endpoints

nodes_used:
  ["n8n-nodes-base.splitInBatches","n8n-nodes-base.manualTrigger","n8n-nodes-mcp.mcpClient","n8n-nodes-base.set","n8n-nodes-mcp.mcpClient","n8n-nodes-base.splitOut","n8n-nodes-mcp.mcpClient","@n8n/n8n-nodes-langchain.informationExtractor","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.function","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.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.readWriteFile","@n8n/n8n-nodes-langchain.informationExtractor","@n8n/n8n-nodes-langchain.lmChatOpenAi"]

workflow_json_compressed:
  [encoded data, 5628 characters]


name: 🧾 Automated Invoice Processing with Mistral OCR + GPT-4o-mini
author_name: Badr
author_username: b4dr
categories: []
created_at: 2025-05-23T00:02:23.416Z
updated_at: 2025-05-23T00:02:23.416Z
url: https://n8n.io/workflows/4331
scraped_at: 2025-09-14 11:38:22
description:
  Automate the management of your invoices with this intelligent, end-to-end AI-powered workflow.

  This advanced n8n workflow combines Mistral AI's powerful OCR capabilities with OpenAI's GPT-4o-mini to automatically extract, structure, and process invoice data with exceptional accuracy and minimal setup.

  🔍 Key Features

  ✅ Advanced Document Processing - Leverages Mistral's state-of-the-art OCR technology specifically optimized for complex document formats

  ✅ AI-Powered Data Structuring - Uses OpenAI's GPT-4o-mini to intelligently identify and organize invoice elements 

  ✅ Multi-Page Support - Seamlessly processes invoices of any length with precise page handling

  ✅ Fully Automated Workflow - From detection to structured data in seconds, with zero manual intervention

  ✅ Custom JSON Schema - Extracts comprehensive invoice data including vendor details, line items, and financial summaries

  📋 Extracted Data Includes

  Vendor & customer information

  Invoice numbers, dates, and payment terms

  Line items with descriptions, quantities, and prices

  Financial totals and transaction breakdowns

  User accounts and query details

  🔧 Implementation Details

  This workflow demonstrates how to:

  Monitor Google Drive for new invoice uploads

  Convert documents to Base64 for API processing

  Make authenticated calls to Mistral's specialized OCR API

  Process and combine multi-page document text

  Use AI agents with customized system prompts for data extraction

  Parse unstructured text into standardized JSON schemas

  🚀 Getting Started

  Sign up for a Mistral AI account: https://console.mistral.ai/

  Configure your OpenAI API key for GPT-4o-mini access

  Set up your Google Drive credentials

  Import this workflow and run!

  💡 Real-World Use Cases

  Finance Teams: Automate invoice processing and approval workflows

  Accounting Departments: Extract data for bookkeeping systems

  Expense Management: Process vendor invoices with minimal manual effort

  Document Management: Convert physical or PDF invoices into structured data

  Business Intelligence: Analyze spending patterns across vendors and categories

  Take your document processing to the next level by combining specialized OCR technology with advanced AI language models!

  #invoice-processing #ocr #mistral-ai #openai #gpt4o #document-extraction #ai-automation #finance-automation

nodes_used:
  ["n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.set","n8n-nodes-base.summarize","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.extractFromFile"]

workflow_json_compressed:
  H4sIAAAAAAAAE52WX0/jOBTFv0rk55p1Ysex87RsGUasxB8NaPcBodW1fV0iGqebuDCzVb/7KgVaKC3NzHvuPb97cn3sBakxAikXpApdhGDxzJGSiEJJ45lPlWWoUGeWy9RhDmmuLBgv0DBjuNE2TTnTqWG58D6TyHMNLNNkRCLWsylEHLfoumuM89m4qWdTjOhIGds5LkckNA47Ut4uSNWruoIpmStBtcwNFbIw1IicU4GCay5BGINkRALUSErytWkmU0xO2uoRk5u2mkywLZMLfErOwmNTWUxOMKKNVRN6nB+zviioQFeq1ECHR5NVj1WLlw5kRGZNV62qyttUsRHNBLsbkRm0UGPEtiPlYvnc8C9su9WH6XL0MgMDz4wESQtERYV3hoJShnIFBlya51pmu2cok5PmKUwbcK8DDMF+zyvYMF6+5kXmc8wdozqHnAqwGdUOM6p1jiJ36JXlG96/m/bBT5un5KSx8xpDhE/t7WJlH35cNHELk6qMjWjOPnAS24SIIZKSkP0ea5N6ZFpSbllKhZWcqtwDtbkQPJOKGfVmT86rLrYwTS7H35Ljq7My+fI9tmBjcoPf4170+xhn3/DfOXbxPbsSwywWR9ka2DEhuDNAM6NTKoqcUeWEoBoFTzPFpBbpBvgEIiTXs2kVY7/RPfcVTLDbb3P/7eV8CzRlv7C8KKT2kvJCGSocQ6oM5FQ6l1lVgMkcbDhPK5y6VzebtlxRJufQPrjm6ZOlwG1Qng3c2iOxRvW+SIUtLNVGMipYIahijFNg3ljQTnuutyw9nkxanMAKddzUpgp4yNh5XUNb/be1vmk+cAfSo423IjOC9UmQCc6pYJmgCqWm0muHqZZaF2+Aj8+S4wmGWCbXsZ3bOG9xE2sQYYP8e1Dhtw33FMLE3kMVjqCv3wIv5FBwvQYH1LnNvKZeGU6FSSXtw59a5q3lgsvcmnfgX8KkClgmX69uqGhoXYVqAO60Ht9DvJxhOK62qOXK7gHQmxMHTqae64I6nXEqVNpfJcpSXkgUmKnCQrGB/vP68iK5grbrz9urzWvjB8A38zibx+cO6zq3NYb++TGMzTKfoqECPVAhuaVGSU+lt8pDIQsh3WaMcRMesY1J9TLBaTXFJDbJH9ChFHu3HJ9P8Gnb1H3Fe2o5dNWXd6M+vcPzjbsK8z27UC4IVP/05s1hgueNwykpb28Xq+fAT+3+hzYjUgWH30nJlnd3y9H+KC0XpIYqvNMdmmerwm2lz2+ZXXKHY36n0IGfvEtp4A24U+5Acu6SG/7/dioe+A17rRwQ7zv1DrzBdukNPWg79Q6EzfPpeBsov3443nXZ5jjY6c3kH4w69ODe5drQx+4O15bL/wH13bL8qQwAAA==


name: TradingView Signal Extractor with Gmail, Google Sheets & Telegram Notifications
author_name: Dhrumil Patel
author_username: itechdp
categories: []
created_at: 2025-05-23T07:57:01.872Z
updated_at: 2025-05-23T07:57:01.872Z
url: https://n8n.io/workflows/4334
scraped_at: 2025-09-14 11:38:20
description:
  Stay ahead in your trading game with this powerful n8n automation workflow. Designed for real-time efficiency, this setup continuously scans your Gmail inbox for trading alerts from TradingView and ensures you never miss a signal.

  Every minute, this workflow will:

  📩 Check Gmail for new messages using a trigger.
  🔍 Identify emails coming specifically from TradingView.
  📊 Extract key trading signals like BUY or SELL along with the company name.
  🕒 Capture the exact date and time of the alert.
  📄 Log all extracted signals neatly into a Google Sheet for easy tracking and analysis.
  📲 Instantly notify you on Telegram with a custom message so you can act fast.

  Perfect for traders who want an automated assistant to handle alerts, record them for analysis, and provide timely updates — all without lifting a finger.

nodes_used:
  ["n8n-nodes-base.code","n8n-nodes-base.gmail","n8n-nodes-base.telegram","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.googleSheets","n8n-nodes-base.dateTime","n8n-nodes-base.dateTime","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.gmailTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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


name: Automatically update n8n version
author_name: Weilun
author_username: lun
categories: []
created_at: 2025-05-23T08:39:54.420Z
updated_at: 2025-05-23T08:39:54.420Z
url: https://n8n.io/workflows/4335
scraped_at: 2025-09-14 11:38:22
description:
  🔄 n8n Workflow: Check and Update n8n Version

  This workflow automatically checks if the local n8n version is outdated and, if so, creates a file to signal an update is needed.

  🖥️ Working Environment

  Operating System:** Ubuntu 24.04  
  n8n Installation:** Docker container

  📁 Project Directory Structure
  n8n/
  ├── check_update.txt
  ├── check-update.sh
  ├── compose.yml
  ├── update_n8n.cron

  🧾 File Descriptions

  check_update.txt

  Contains a single word:

  true: Update is needed  
  false: No update required

  check-update.sh

  #!/bin/bash
  PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

  if grep -q "true" /home/sysadmin/n8n/check_update.txt; then
  Place your update logic here
      echo "Update needed - please insert update logic"
      echo true &gt; /home/sysadmin/n8n/check_update.txt
  fi
  Purpose:

  Checks the contents of check_update.txt
  If it contains true, executes update logic (currently a placeholder)
  Resets check_update.txt to true
  update_n8n.cron

  SHELL=/bin/sh
  10 5 * * * /bin/sh /home/sysadmin/n8n/check-update.sh
  Purpose:

  Runs the check-update.sh script daily at 5:10 AM
  Uses /bin/sh as the shell environment

  🧩 n8n Workflow Breakdown

  1. Schedule Trigger 🕓
  Purpose:** Triggers the workflow every day at 5:00 AM  
  Node Type:** Schedule Trigger

  2. Get the latest n8n version 🌐
  Purpose:** Fetches the latest version of n8n from npm  
  Endpoint:** https://registry.npmjs.org/n8n/latest  
  Node Type:** HTTP Request

  3. Get Local n8n version 🖥️
  Purpose:** Retrieves the currently running n8n version  
  Endpoint:** http://192.168.100.18:5678/rest/settings  
  Node Type:** HTTP Request

  4. If 🔍
  Purpose:** Compares the local and latest versions  
  Condition:** If not equal → update is needed

  5. SSH1 🧾
  Purpose:** Writes the result to a file on the host via SSH  
  Logic:**

  echo "{{ $('If').params.conditions ? 'false' : 'true' }}" &gt; check_update.txt
  Effect: Updates check_update.txt with "true" if an update is needed, "false" otherwise.

  🛠️ Setting up Crontab on Ubuntu
  1.  Register the cron job with:
  crontab update_n8n.cron
  2.  Verify that your cron job is registered:
  crontab -l
  ✅ Result

  5:00 AM** – n8n workflow checks versions and writes result to check_update.txt  
  5:10 AM** – Cron runs check-update.sh to respond to update flag

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

workflow_json_compressed:
  H4sIAAAAAAAAE6VW/W/bNhD9VwRiQDdAlEWJ1BfQDVnrNVm7pshH0aINghN5stXKkiJSSTpD//tAy3Hsxt4K7BfDII/37j2+O2pJSkUyEn34ePPu67uX+bE+az5EAXHJAg2QbEnKWhuoJZ7YOCHDXKg8jJkAERccVZwWqHwBMhYi4ULFLM0hRJlImccq5WECoUoEChFJVhCXGFy0FRh80aHS52j69kWzaCs0qEhmuh4Hl9SwQJKRvlVg0KmT2rnFTpdNbc/DTJPs05VL6kah/bscOfA4CVIZRZQXcUp5WDAKSVpQCFgYyyTK89Anm9yv0DhvGgnV9+m/tXa7Tmq6yk9z0OjNjWnP8KZHbYhL2kaXxoZnnyhLfJcGkX/lkhY6WKDBTlvd+q4iGbEHs8mEpYHHosRjvu+xJBNRnEw61Gai0Ziynmnikqa1Oe3ZwSXQmznWppQwApEZ1tiV0qpm16G6sIW6D+tHvZlfjKVbyN8ROuzsIhlcIjeHVpV9F5Ct9fv7tTp6NT2NuB9d/Dk100etxmDn4+nl2fXF6evp2+vj6dnUASmbvjZkGEbZ3q9FzLgXDO46K2IMkUKgcS4iysNA0jRPChphrhI/QhaK9BHpXM5R9RU6F105m2F38EL0OvAxbvtSouDApXR9haOpDXa3UK3cY8YcR+a46TuSieHqCSO2xUhgxNH3C+pzP6Q8ilKap8CoZIVMQwgSxeMtRufH7DALPd+tPOQHCpd3ajw+IS6RzWIBtV14jnLeOJ/Jcun81HZ4+7ZR6DW9aXtzUiu8d35zCqg0OpljW8sZhs/E+dWRc5Rfr8f28sy92WMSrefvQOu7plMbhyzE5Ye7vy7z6Ru4rN7e/bHD0nkIP+wLttEQuB8yJlPK4pxRzjChSawEVUkkJQY8TFW826tmjo4dG9r8z4bl/n82rM4mkw5npTbdN69uF1+013SziVV/LGGnW0nRV9UZ6rapNZJspfcT6lv28VUMSSwpRyYpj9Kc5gKQBioOeVzEEkTySP2kOEixLHaZHbLOzlyRTa3KTeVbJG43lbqkwsK8h6q3oNZuoPEcawt0i+OMXrODqlQPA0qbrpSjk5pFXtZgms7edK3ILuzDvIZAsSiFkMYAAeVRIWiu8oAWvhIh+IzlQq6Exm7MtXwQwkLVs83eiF83ZnrTW/cOuwye2+b4+dlhEz37xSsNLrwvuqm99ZozDMQlXTmb7+ZZxSgw8BD4oipt7J6ZEXiBS6C6g2/6dNWRL8G+qKM/rlwCclvPzUOQLQneo+wtrdNOoRXxlllSa8TVQ+znQvh+DBS4lJQLCTT1gdFESo4szv2C4ah7jXJzySeF/V1Aaf3yabl6QZ/MqNW2S0o7P0jmD1fuD0deDe7TEb4P8Uc6em/2/c/2PojtzjmY6kANh0r+lw+GPRDD8A/OTpDpXgkAAA==


name: Webhook-enabled AI PDF analyzer
author_name: n8n Team
author_username: n8n-team
categories: []
created_at: 2025-05-23T09:04:13.777Z
updated_at: 2025-05-23T09:04:13.777Z
url: https://n8n.io/workflows/4336
scraped_at: 2025-09-14 11:38:20
description:
  Who this template is for

  This template is for researchers, students, professionals, or content creators who need to quickly extract and summarize key insights from PDF documents using AI-powered analysis.

  Use case

  Converting lengthy PDF documents into structured, digestible summaries organized by topic with key insights. This is particularly useful for processing research papers, reports, whitepapers, or any document where you need to quickly understand the main topics and extract actionable insights without reading the entire document.

  How this workflow works

  Document Upload: Receives PDF files through a POST endpoint at /ai_pdf_summariser
  File Validation: Checks that the PDF is under 10MB and has fewer than 20 pages to meet API limits
  Content Extraction: Extracts text content from the PDF file
  AI Analysis: Uses OpenAI's GPT-4o-mini to analyze the document and break it down into distinct topics
  Insight Generation: For each topic, generates 3 key insights with titles and detailed explanations
  Format Response: Converts the structured data into markdown format for easy reading
  Return Results: Provides the formatted summary along with document metadata (file hash)

  Set up steps

  Configure OpenAI API: Set up your OpenAI credentials for the GPT-4o-mini model
  Deploy Webhook: The workflow automatically creates a POST endpoint at /ai_pdf_summariser
  Test Upload: Send a PDF file to the endpoint using a multipart/form-data request
  Adjust Limits: Modify the file size (10MB) and page count (20) validation limits if needed based on your requirements
  Customize Prompts: Update the system prompt in the Information Extractor node to change how topics and insights are generated

  The workflow includes comprehensive error handling for file validation failures (400 error) and processing errors (500 error), ensuring reliable operation even with problematic documents.

nodes_used:
  ["n8n-nodes-base.noOp","n8n-nodes-base.respondToWebhook","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.extractFromFile","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.set","n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.crypto","n8n-nodes-base.webhook","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi"]

workflow_json_compressed:
  H4sIAAAAAAAAE7VZe3PbNhL/KjgkM7FzgsIHKJLK+O4at2lz0zSZxm2nE3kSPJYSExLgkaAdn6PvfgOQkiiLcpPenf9IRBC7WOzjtw/e4hIMw/NbnKvGMCXghcRznGXUDxgP2EzIKGJZJEFyznjKE6Bh5mUh8wT3ZxmPU5qxRIZJGGdpFPM49pkM8AQbKKuCGTivQTZvwLTVuS6rAgxIPDd1C+sJVlpCg+dvb3FuT428KAsiTgkwFhMqaUDSRKYk8CMqY0mFSHw8wYqVgOf4eV4A+hkye9ZNZVdUoohjSThrYKr0qwpPcKWb3ORa4flb4oczbxIk3uUEV6xmJRioGzy/XXc8foW6cTv99WQjUxoH/myWEhaylNCEcZII7pEgBeaxLKHZTO5ketMKAU3jH5WphqbSSl7o34CvtP6IJ1ir7+pa13iOhVYmVy38DMu2YPWr1lSt2b/BLPAmJDiQH+vKbnA/uyMaONcS8DzwvMl26QdgsicAZeq8V34v/LlWBpQhF1byCb5iRWuXWVUVuWCW/5MPjVZ4fbleb3jK33KzwnPsXuwOeqblDZ7js9vbhbpdKIQWGOwlF3iOVFsUk27N+p5dclvswoo1K7vw8OTR92CQM/EPrFk9Op1med2Yk9OpPWkqmWGOx7rnVEPTFsaRug0bQRZqvVDrNT4w8HRnYn9G4zSKAyJCNiPUD2KS8iwgksdh4nEZh1TsTPyiQb+yIpdOuL8fNXSe3XG92bjnDSy3nlgPkPnWkgOjXm0EDya4gMz82hsHT7BgDbwBZU+6gi60+staMVl3Pm5MnQuD3RklzxUzzuWYst47PHYTjCyI40xEgsySOCQ0lRHhs5iTMJWZB5lI2My6ua6g7njdbjXRlhzq7bvu/MKAPXwo+9nt7dDQTf5veHQ6zQ2UnZGzfvFdrt7xGwMNWq+tj+XL1R4P3+v+kLNzL75MvURGLCVhFHmERgJIMqMR8VPhJTKEKE2C/4H4TlDVlhVbjskXeF2w7PleMA12YoZRMksyTgLmcUIzLyYspQEJ/BlLZBDMOJ3tfG+oqqOeJ2zc7/temoz7XukgAteteqUEPNf1d0ysXhgo8QR/aDoAwVmrhGWEhFZXUJsL/cwa48QKcboJXaFVY1CrctOgs82i/eNz5E8Gj5Z0f+mj3eIFdLBU9kvo8d03y/03+xvWTxeq+/XkCfruk6mZMMisAHUmRUxJJyJqm1wtUQ1L+DQU3y2gM/Tk5O1iIaeXfz1dLJrHJ07mz/zzR/655J+X/PRJ/nRIVjIjVugMWYVM3cOJ43S6FSfP0Mlf3JvToW7MqtbXSME1chng5P0LdeWgxXJCma5LZuZogR/e2oX1Ar8/7Q9ebzh3EjioRmeoYnUDzwvNzIk77a1/efr0roHQWSfx2+ByavSP+hrqc9bAyelQe+esEK1N305/Tp5cddYb8suYMLpGZ53l39p/L58O7ty9v//Sv6imrSpdG+is093Y/hq9cQ2mrRV6ycxqWutWyZPu9o97YSyB29xJaDMFOrM4s6kXBrnE4mB947KJu3zP20lrI3uObtEBCs3vBoIld2D1xkVEl5I61paBk8BmoYMktIOBJIYZTwJBqJemhNIwIpzGGZnRmIHH01iG6Q4GNq6d1bp0eHAUC6Db+bzWZb9vCAtJ8AUpaYiClcwOM+n2EkCzWRAKSaifcELTzCdc+JwEkHiUeUk68+NBqWRy8fEG/aQNHC+XGrfJ7rlbyHnUm/j0UHahC4vm8QRf59KWJnHgTfAKLCjjOU08l+1snYPn+MGDByiYoj5RAnr97XOnz4X6DZACkMhoxKREV9tUilZQg10uAQxqoL7KBaAiLy3y6QzptkY//vhyin6AGiboesdnCcbG9NahHBz1yKQz5DLIFN2nXwF+ENKY0MCLCKUxI0kkJAnShGcsjtIIvFH9Bl+v3yDxJsQfKTQP9Dvz7tdvOEXfatGWoAx6zWqHvNe5WaHvocxVjr55/QIt1PdaLwvYrOUNaptOa7wG9lHqa+WAyBooV0Yjo6tcNE6FVa2vcmnxqbFCNE7JwMRqii522K+zIc12L6sBKW0NadwLwRTigK5YnTNewPQec4jYT+MsyEjMREqoSGPCZZSQJEqFL7008rJxc9CvNkdIv9QazgAbawSH1oim6LnLK+jnbYX8PFesKG6ssz4qij7vOHVr14FYM/TI6JJBW5asvkGsQSWrnW3uU1MKGeVeGBAJgU9owiVhMmQk477IwtTPIB6gwgvVHW8jrYc5Xe/09Q+VqCc7pRVMLcWK5Wqa7+iGZIe9lXse66yIn3iTEUAx8Mkq72zrxMx6WFHo62a+UNsa0G7r6r9B1d7cNAbK17UuK3PR98N4jn/XrXM8Zl0PiGEfbVCwpeW+gqKyT1bTbQO1VX6n8byxyThv+iBwtM5YU/RsL0jkRlIXKTJvTK5sIXQYMgyFtmZgy5pVq61hdebCpyOw9KJtbDTm++yd0RuxgpJddNYpmWpZgSc4V1Vr3rhXeI77BtCa0DZoC8zqmt0scN+62YK/2esCdzs1/wDC9Fvdu6q2CcnkMCTpqKy4bnGPhW181HKB+7zcb94AwD6T42LuCO9IO0J3V+jNjmOibznkpoAvu8CGhGt5cx/FHsHwafd788v9P1qm7GKZyjQLfT8maRxwQv2Yk1QC2Kol4VzGvu8FgwHNPtAcRz24E4qU/tGQYz3BrGnypbKO6N7tPW56WN8Lw0imQGLwGKEAPmFBHJHYl0EWR3zGOdvJWx8I2ilyMAtxA40u4DtsnJasOrE+gc7+Zk3a4eRCvX/wAD28db2s88v1QvWPG8/rKLsHdPa3hXpP0OPHD2/7panzhvXjx3O0W7PmXr9fqNPpB52rk0eLhXp0ul6o97bmHSy69afd4OOw/wyndNd/8jAAwVMSp9K2yQCECZDEi5hgaSrSLBigM/W8rmr/mvnWEGNteqIjIHt0fEU97wtnTXfHTAv8i7Ip3AKo64t2wIVeF8AaQKCatgZXkNmSo4CmQWbFFPK9kndFSsk+5WVbWkwMvL5G2yLXbuj09nI0cAZDppkvZxBBTKSQMaFCCpIEHEiSgYiSLJhBNHDF6L9UtG+r468ZE0b/Fz1/o1CrPiqbmNx+pIVo6xrkn9NhHAYyljEnWZxFhIZ2PhzymEDCaSrDxJcZPxyWuAHi8WlJfVMZjSdY5o29htxM0PZKA//IAOVqf5R1tMVEYyPIXWE/CwKf0ZRIKhNCGYsI5zIhs5QnSZRlcRDR3b1ev3pzgZ6w/F0ls3fb0uC4p1yPRqIfbZu/foMb/DMaBRkXnIhYUEKFxwl33aifBKmkvg+xddN9LVTM+cuYSAOHy5dK1/BMW4DOWNHYDwArY6qXYFZa9hcb+NvLfjjVP/5kH4930KGceZFHUxLFfkZoJAPCfc5I6tPME6mcJRkdrcbTP9F8zpLx5rMvwoNhEe57B0X4EQsu1Dkriq7GAyUrnStXe7dVoZlEbFfY2Q5nQ5er5X3lt4xTGYksJEEWC0KjVJA0jWOSgsfiGGQi40HMvKpAffMCna+YQVb/hf8FtXdR2v2OND9o071JMIJDdvBY2B/v3tXFJuL6aWSRN2aQcpeVIVQT2xfi9dChbF4TNUhQJmdFD29Whm+q3PmbvX71e2rOXyUvlxfi2e//kv+8c9UcMSF0qwy6aI2uc1Z0QxWpRYMPEqc/DdaXzpgKxNavt9+h7L1Ybu9tv6l0lzkCQm6frZMlfMJzb315uZ7sT3fHmN0z97mXYXf4feLtD5RHmd357jHG7Q+atwO2kx3pSGUxKsXdmnJMjMOPcKOsDrU5eqcjn3tGWY6Ejy1N83c2WFq2dJhWfI3ODmgPzDJKP3aTo+X4fXYZKURGb34sKY0KcvDhdoTlev0fQTmc3pseAAA=


name: N8N Contact Form Workflow
author_name: Akhil Varma Gadiraju
author_username: akhilv7
categories: []
created_at: 2025-05-23T09:19:42.519Z
updated_at: 2025-05-23T09:19:42.519Z
url: https://n8n.io/workflows/4337
scraped_at: 2025-09-14 11:38:21
description:
  📬 N8N Contact Form Workflow: Capture, Notify via Email, and Redirect with Confirmation/Error Handling

  This n8n workflow facilitates contact form submissions through a customizable form that sends an email notification to support and redirects users based on the submission outcome. It is ideal for embedding a functional "Contact Us" form on websites with automated email notifications.

  ✨ Features

  Collects first name, last name, email, company name, and a message
  Sends formatted email notification to the support team
  Displays success or error confirmation to the user
  Customizable UI and form behavior
  Error fallback handling with user-friendly feedback

  🧩 Nodes Overview

  1. On form submission (Trigger)
  Type:** formTrigger
  Displays the contact form to users and triggers the workflow on submission.

  2. Send Email to Support
  Type:** emailSend
  Sends an HTML email to a support address with the form details.
  Uses an SMTP credential for sending.

  3. If Email Sent
  Type:** if
  Checks if the email was sent successfully using the existence of messageId.

  4. Confirmation Form
  Type:** form
  Displays a “Thank You” HTML message after a successful submission.

  5. Redirect Form
  Type:** form
  Redirects the user to a specified URL (e.g., LinkedIn profile).

  6. Form (Error)
  Type:** form
  Displays an error message if email delivery fails.

  7. NoOp Nodes
  End (Success)* and *End (Error)** to mark flow terminations cleanly.

  ⚙️ Customization Options

  Change the form fields, title, or descriptions in the formTrigger node.
  Update the email body or subject in the emailSend node.
  Redirect to a different URL by editing the Redirect Form node.
  Modify success and error UI with HTML content in the Confirmation Form and Form.

  🧠 Use Cases

  Website "Contact Us" form integration
  Lead generation forms for businesses
  Customer service inquiry collection
  Feedback or support ticket system

  🚀 How to Use

  Import this workflow into your n8n instance.
  Configure SMTP credentials for the emailSend node.
  Publish the formTrigger endpoint (e.g., /contact-us) publicly or embed in your website.
  Test submission and confirm email delivery and redirects.

  🔐 Notes

  Ensure SMTP credentials are correctly configured in n8n.
  Make sure your n8n webhook URLs are reachable from your website or frontend.

  Made with ❤️ using n8n by Akhil.

nodes_used:
  ["n8n-nodes-base.formTrigger","n8n-nodes-base.form","n8n-nodes-base.form","n8n-nodes-base.if","n8n-nodes-base.emailSend","n8n-nodes-base.form","n8n-nodes-base.noOp","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE+1a6W4cNxJ+Faa1i8TAcMS+D0lGsoq960USB5EcI7D8g0dxpq0esreboyOCgPzZJ9j8CbBAXmCfKk+QR1iwr7l6ZCvIYv+kx4BHZLFY9bGqWF01d84CDHWyOydXtaGKwwvhZE4sEhJFwpNhRElMCJEQizj0hQ9AmSTAhYySwPWDKJI+ES6hEkhKIknCJPBiZ+IYWJQFNXBagajPwCzLU70oCzAgnMxUS7ifOEoLqJ3szZ2T210pxIl0A4YTSBIcEE4xDaWP/dQPAgrgA7WcFV2AkzkvFZK6WqB6yRZ5Xeda2V1vSzunEoUb5pjRGqaW7rzKZzOonIlT6jo3ljx7g8OITHBE3k6ca2BzrS8b9YGSMAjSGFM34jiQ0sdJSENMosiliRtJIsEyohVdgIGqtgDq0jJtvpbUzJ3M4VoZyg1e1s7EyWdKV/AXbWonk7SoYeKwpTFafUEZFE7mnFk9jDNxaFmCEp8ZU+Vs2QraLVjW8FpXl7LQ1+f5Ar7XCgYsGx1zU1j1T9uN0Su7sZ14nkMhGtGuaLHsMJd2sN/9eV7VBn1loZ04ZUE5zHUhoLJozDL0dz238Fbwj2VegWj49VtvcfqCPsTocw3v4XPeHiEsaF5Y8dd5P+sGd/m+03MlNHw6sxRTrhcfKK01SqpuR3l+VpYFoBeKO9vCGbgxtAK6Ld+XUNd0tqu5XYZu9bJCi5YCzaECNJ1O94j5tjvRz6HmVV62VuC8ho+LAs3AIEb5JTLa8kS11mrq3LfG/y1UjStk3tSzUneO5flJ4nIckSTAgZ96OOExx25EwiSx7hXylWN9AyKvgBv0XFeLB31q05l8j0wsyy1nYlEQUOrGmBHp4UBCgtPQ45hJN4oAKE0pHXEmqGinNW/jRuvgVSfcq8riPTemrLPDw+vr62mRq0sQubKHf5irQ3o5z4ur+LBZVJdaidd545Y9ix3I3AGwhMSBF/IA23iGA0gDnHhM4NiDJIx4AF68BtipVjKvFo28jwXNJaOgiVS4PApCzD0QOEgkxcwXMeaMpTyOoihl7KEItB4Nfvn3P9H5nKpL9J1efuRsx53huI1Gf9MLcO4fiBlzs7Brju3/Ty/U8RyoeHqhEDq29wjic1rVYE4unFfnz3Fy4Viaw47omGlxi2pzW8DJhbOg1SxXGTkqqRC5mmXkyBr1rNJLJbIiV0ArPKuoyEGZT1w/FDCbHACRMfDJgSRSyvDJ0Rzy2dxkLiFX8yOR12VBbzNZwM3Ru2VtcnmLbRAGZTIOykB1RIt8pnBuYFH3Q42UCB2L/GqQbk2UAynlEdOVgCpzyxtU6yIX6EC4EAvRTWAr57LOXK+8GRQKSXmDIlLeHDF9g+s5Ffo6Iygqb5Bnp6oZo5+QSfOZuk+ObFDBjXxbkm3JJrUyuM6/h8yyOeK60FV24Pv+ih7Zo14LNrRGDEChCjjkVyCm6DX88sNPY8FkritT3E67fQ9FftWi0307PrSn2B5rawN9DOxCY2Mh92/v9zsXC2kSummKEz9NcEBdF6c8oDjxuBf7SQih766c64VETdRHZ6DMXsfK5dbF7nr9xb7PR+4n9oIW+eAza+5zNUTRiVOANN9aD3Ayx5k4nNZwBsrudNXdvp2mtMhFH7NqU+VthOF6wXJFjbb3AFXC2dy2z31SlwghAoKp6wU4SLwIp0nMcMgjCjJNYxrbKNnGRcvrrkfCbqVmw1y7P9zktbG3f52rWQGd/F2qsK7Ryd0d+tO7WqtpZywvBLq/tzHTOtag98iBrl8wqYj9JLZBKolcHIQyxkkaS0zTJBQhkJjTtXh5Bkp0h2o0OluWpa72H22TCNglWyfsB2OpW+h5XiDTEIMbSBywROJEUIoj4lLK3ZilbrATOLuodnL80ecvT8+/+/oZGuKbWRSooGp2cuGA6iPFEPX2xj102M8bG4WffgXXqM/KzoaE9fiwnW0dbBVLrYu1y3uf7926i5qIHPUjfbRZG1oFL9wGB3QgAxnJZKBoQoiki7y4zdBnVU6LCaqpqnENVS47snbXQQ/KCkDXuTDzkwvHJeTPFw7iUBSdACcXDulG6pLy1UivwiCojVprkerYVMN3+5dATQw8uXDaKLhGuhJkfQQNUkWErKBqnx0Jd6c3xN2c3oa/f8YQbp6jHcr24kBrNwcQ+9lD2d8kKClvRkiGewQRFJQ3yF44/UWCun9TEj7ZWTqg75Mdxpv6Pd2c3DyefkxsD+3Hyj5rVxvq77YRstXNhjxvRP+B5rq99hHThRil6k/Fb55Rkg4RzLQxetGa5QjhrkI7cCD068//+g8a9/Ed7A6N2Ib4sMH4g3BfZSituRhdbhoXtZ+jQbtmvvO432vrtWNyo/LmaB3to5WluTbJIVvu23GrTaXV7OnqrTM7PuzGUH8jvfl4Nf3xW3R//ztD+TgT3lb6PVb3kMn10IzS7DlXSeznt9pnj/fwbj4K9zD7B9q/C9pNijOC9LQrOvwB8u8AcoflHzD/b2HuKlsrmEdIRX41JtdD2PQZbSv1WM6zrf++vGA9KbPpWCqpZPsoW6Tse1DWpFEdVF5C4yB8eFGfnwV75ejPMgzHWY0hMQInWhlyB/6IIa+/om+O/p8MfN/x9KCkaTo6/4EZ4kZaM5LKts/DudFv9ITzeV4PFZVrWreNB2NAoKucIjMH1BX8276EVm3F9xpYnRuYfvgRbQzYt53196P1VWv065SjNZq16sa+BsP9xKmX7J0tjWbOya8///jjRk5rK5triS2SlV7sT9b25hX2RV+3hfzMaYq0Myryir5bfgprxXvLvadS2uQy501xo/7UooqFXtC21tsUWSoQoExOi0bBemHKpqdlKwJXp3DDy/mymhXXf/2LvFyrQ3x5/jWinOulMs5IfWNVsuKRBEZDgl2fERxEguHUD1IMYUwhkXGYCLbi+xtKwMF2HYMHKSHMjTFQl+CA+wRTRiLMw8gLKQ9CwsgDBeD7yf4S+uqPvkL8Upf1R+hML8DMczVDr0EZ9NqG+Q3yvrthGxGI62Uh1C8//GRQWWkOdd2a+6odN0VfF0BrQKa6RXRGc4VsQ7Da7VWsgI4SzwNGJIZIEBxAEOM0jlPMiAcRjzhhKayAfqYE+uRsye3uT/YirvTLchPxMBiK7hsA7pfLZyEXnAtMZCJxEAeAU882CKM09GTKAuLTLbmeVZWuHiOV7Z8Ej5HJT72EuAGOIuLZrk6EKYtCLKSbpNSNk1iuGeWZyfnlLfpKG9grU93QdCTrtbaoae0ku+XUtv7u2AJ8U9e0pXYncw4ODtDpsjZ6kX8PqO0koAt1OqdqBk2obEJkUzeuJ6ipgk2QrpBY9btqlKuBtOveIivsQ/aTACMsSWLsSuuoMo5wGocUJyylnLnCSyM+ion7eFD8hExcsotJc9U5WTAZ0EkeAKetg16oV6WgpsWmCYOo6ZboxqFsSO7RGMqh78XCI8wPI0/gCJjAAYsSnBAAzAGojKIkiZk/ioX3aCzIBHsjxfamLudkXkQ+DIs+zzlt5weD4Q1FU5RF/dr9eocMuPBDgil3GQ5kyDDzXN8aAuOcMTcIw1G9/Ufr7SV7NH9A21aloev26psv0IVab8JRJHIpobJB2M6yWwS2X6BmjQFstGffawQBC2NCeYojYn/K0DReo4DgMPFkEIcJk3zcIYLHg0Em3og79EaQrBnBWLhocelM4EI1TdXZsmpdogmmg328XJpy2WD1JYBpe10v7C21AGXaNuw3bVPdDtRj+Lxt9lfAh6youbWzO8fmFU725s1d8/OUfdG8oZo4uRJw42Tk/q3t2G/2qsZ4PdAq3uE4WS17D6Xde7Nrv1eP3dtylNuunGMc9/xSYJTjyM91xli+pzc0ynp8zRj3Pc3EEa739/8FpeTBaxslAAA=


name: N8N Backup Flow to Nextcloud (7-Day Retention)
author_name: Joachim Hummel
author_username: jhummel
categories: []
created_at: 2025-05-23T09:21:20.581Z
updated_at: 2025-05-23T09:21:20.581Z
url: https://n8n.io/workflows/4338
scraped_at: 2025-09-14 11:38:23
description:
  This workflow automates the daily backup of all your n8n workflows to a designated folder in Nextcloud. It ensures that you always have the last 7 days of backups available while automatically deleting older ones to save space.


  🔧 Features

      Scheduled Trigger: Runs automatically once per day (can be executed manually as well).

      Directory Management: Creates the /N8N-Backup directory in Nextcloud if it doesn't already exist.

      Backup Collection: Retrieves all workflows from the n8n instance.

      JSON Conversion: Converts each workflow into a JSON file.

      Upload to Nextcloud: Saves each backup file into the specified backup directory.

      Retention Control: Keeps only the latest 7 backups and deletes the rest from Nextcloud.

  📌 Notes

      Make sure to manually create the /N8N-Backup directory in your Nextcloud account before using this flow.

      Update the Backup Path node if you wish to change the upload directory.

      Ideal for teams using n8n with self-hosted instances and requiring offsite backup via Nextcloud.

  🔒 Requirements

      n8n instance with access to the Nextcloud node.

      Valid credentials for your Nextcloud account with API access.


  Update: 08/11/2025 “Backup Flows to Nextcloud” – Import format fixed

  Summary:
  The workflow now exports one clean JSON object per workflow (no arrays, no backup/meta fields), so files can be imported 1:1 via the n8n UI.

  What changed:

      Switched from “Convert to File” to a Set node that builds the JSON in binary data.

      Enabled filters.include = "all" on Get many workflows to include nodes, connections, settings, pinData, and tags.

      Sanitized filenames and removed IDs/metadata that can break UI imports.

      Fixed Nextcloud path and binary property mapping (data).

  Verification:

      Generated multiple backups and imported each via UI (“Import from file”) without errors.

      Each file begins with { (single object) and loads with full workflow structure.

  Notes:

      Keep “Binary Property” set to data in the Nextcloud node.

      Filenames are sanitized to avoid special-character issues.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.n8n","n8n-nodes-base.splitInBatches","n8n-nodes-base.sort","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.nextCloud","n8n-nodes-base.nextCloud","n8n-nodes-base.nextCloud","n8n-nodes-base.code","n8n-nodes-base.nextCloud","n8n-nodes-base.code"]

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


name: Generate Qualified Leads from LinkedIn with Apify, GPT- 4, and Airtable
author_name: Javier Hita
author_username: javierhita
categories: []
created_at: 2025-05-23T09:34:15.179Z
updated_at: 2025-05-23T09:34:15.179Z
url: https://n8n.io/workflows/4340
scraped_at: 2025-09-14 11:38:21
description:
  Who is this for?

  This workflow is perfect for sales teams, business development professionals, recruitment agencies, and fractional CFO service providers who need to identify and qualify companies actively hiring. Whether you're prospecting for new clients, building a database of potential customers, or researching market opportunities, this automated solution saves hours of manual research while delivering high-quality, AI-analyzed leads.

  What problem is this workflow solving?

  Finding qualified prospects in the finance sector is time-consuming and often inefficient. Traditional methods involve:
  Manually browsing LinkedIn job postings for hours
  Difficulty distinguishing between genuine opportunities and recruitment spam
  Inconsistent lead categorization and qualification
  Risk of contacting the same companies multiple times
  Lack of structured data for sales team follow-up

  This workflow automates the entire lead generation process, from data collection to AI-powered qualification, ensuring you focus only on the most promising opportunities.

  What this workflow does

  This comprehensive lead generation system performs six key functions:

  Automated LinkedIn Job Scraping: Uses Apify's reliable LinkedIn Jobs Scraper to extract detailed job postings for finance positions, including company information, job descriptions, and contact details.

  Smart Data Processing: Removes duplicates, filters companies by size, and structures data for consistent analysis across all leads.

  Intelligent Lead Categorization: Compares new leads against your existing database to optimize processing and avoid duplicate work.

  AI-Powered Qualification: Leverages OpenAI's GPT-4 Mini to analyze each lead and determine:
     Company Category: Consumer companies, Fractional CFO services, Recruiting agencies, or Other
     Finance Role Validation: Confirms the position is genuinely finance-related
     Seniority Level: Entry, Mid, Senior, Director, or C-Level classification
     Job Summary: Concise description for quick sales team review

  Automated Database Management: Stores qualified leads in Airtable with comprehensive profiles, preventing duplicates while maintaining data integrity.

  Lead Scoring & Routing: Prioritizes leads based on processing status and qualification results for efficient sales team follow-up.

  Setup

  Prerequisites

  You'll need accounts for three services:

  Airtable** (Free tier supported) - For lead storage and management
  Apify** (14-day free trial available) - For LinkedIn job scraping
  OpenAI** (Pay-per-use) - For AI-powered lead analysis

  Step 1: Create Required Credentials

  Apify API Credential
  Sign up for an Apify account at apify.com
  Navigate to Settings → Integrations → API tokens
  Create a new API token
  In n8n, create a new Apify API credential with your token

  OpenAI API Credential
  Create an account at platform.openai.com
  Generate an API key in the API section
  In n8n, create a new OpenAI credential with your key

  Airtable Personal Access Token
  Go to airtable.com/create/tokens
  Create a personal access token with the following scopes:
     data.records:read
     data.records:write
     schema.bases:read
  In n8n, create a new Airtable Personal Access Token credential

  Step 2: Set Up Airtable Base

  Create a new Airtable base with the following structure:

  Table Name: Qualified Leads

  Required Fields:
  Company Name (Single line text)
  Job Title (Single line text) 
  Is Finance Job (Checkbox)
  Seniority Level (Single select: Entry, Mid, Senior, Director, C-Level)
  Company Category (Single select: Consumer, Recruiting, Fractional CFO, Other)
  Job Summary (Long text)
  Company LinkedIn (URL)
  Job Link (URL)
  Posted Date (Date)
  Location (Single line text)
  Industry (Single line text)
  Company Employees (Number)

  Step 3: Configure the Workflow

  Import the Workflow: Copy the JSON and import it into your n8n instance
  Update Credentials: Replace placeholder credential IDs with your actual credential IDs in:
     "Scrape LinkedIn Jobs" node (Apify credential)
     "OpenAI GPT-4 Mini" node (OpenAI credential) 
     "Save to Airtable" and "Get Existing Leads" nodes (Airtable credential)
  Configure Airtable Connection: Update the base ID and table ID in both Airtable nodes
  Set Search Parameters: In the "Edit Variables" node, configure:
     linkedinUrls: Your target LinkedIn job search URLs
     maxEmployees: Maximum company size filter (default: 200)
     batchSize: Processing batch size for API efficiency (default: 5)

  Step 4: Test the Workflow

  Start with a small test by setting count: 50 in the HTTP Request node
  Use a specific LinkedIn job search URL (e.g., "CFO jobs in New York")
  Execute the workflow manually and verify results in your Airtable base
  Review the AI categorization accuracy and adjust prompts if needed

  How to customize this workflow to your needs

  Targeting Different Roles
  Modify the LinkedIn search URLs in the "Edit Variables" node to target different positions:
  "https://www.linkedin.com/jobs/search/?keywords=Controller"
  "https://www.linkedin.com/jobs/search/?keywords=Finance%20Director"  
  "https://www.linkedin.com/jobs/search/?keywords=VP%20Finance"

  Adjusting Company Size Filters
  Change the maxEmployees parameter to focus on different company segments:
  Startups: 1-50 employees
  SMBs: 51-500 employees  
  Enterprise: 500+ employees

  Customizing AI Analysis
  Enhance the GPT-4 prompt in the "AI Lead Analyzer" node to include:
  Industry-specific criteria
  Geographic preferences
  Technology stack requirements
  Company growth stage indicators

  Integration Options
  Extend the workflow by adding:
  Slack notifications** for new qualified leads
  Email alerts** for high-priority prospects
  CRM integration** (Salesforce, HubSpot, Pipedrive)
  Lead enrichment** with additional data sources

  Scheduling Automation
  Set up the workflow to run automatically:
  Daily**: For active prospecting campaigns
  Weekly**: For ongoing market research
  Monthly**: For periodic database updates

  Performance & Cost Optimization

  API Efficiency**: The workflow processes leads in batches to optimize API usage
  Smart Deduplication**: Avoids re-processing existing leads to reduce costs
  Configurable Limits**: Adjust batch sizes and employee count filters based on your needs
  Expected Costs**: Approximately $0.05-$0.20 per 100 analysed leads (OpenAI costs)

  Troubleshooting

  Common Issues:
  Rate Limiting**: Increase delays between API calls if you encounter rate limits
  Data Quality**: Review LinkedIn search URLs for relevance to your target market
  AI Accuracy**: Adjust prompts if categorisation doesn't match your criteria
  Airtable Errors**: Verify field names match exactly between workflow and base structure

  Support Resources:
  Apify LinkedIn Scraper Documentation
  OpenAI API Documentation
  Airtable API Reference

  Transform your lead generation process with this powerful, AI-driven workflow that delivers qualified prospects ready for immediate outreach.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.removeDuplicates","n8n-nodes-base.set","n8n-nodes-base.airtable","n8n-nodes-base.code","n8n-nodes-base.switch","n8n-nodes-base.filter","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.airtable","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5956 characters]


name: AI-Powered MIS Agent
author_name: Kumar Shivam
author_username: shivam840708
categories: []
created_at: 2025-05-23T11:19:07.764Z
updated_at: 2025-05-23T11:19:07.764Z
url: https://n8n.io/workflows/4341
scraped_at: 2025-09-14 11:38:22
description:
  The AI-powered MIS Agent is an intelligent, automated system built using n8n that streamlines email-based data collection and document organization for businesses. It classifies incoming emails, extracts and processes attachments or Drive links, and routes them to the correct destination folders in Google Drive. Additionally, it provides advanced file operations like cleaning, merging, joining, and transforming data.

  Advantages
  📥 Automated Email and File Management
  Detects and processes emails containing attachments or Drive links, ensuring seamless classification and routing of business-critical files.

  🧠 AI-Based Classification
  Uses LLMs (like GPT-4o Mini) to classify emails into categories such as Daily Sales, Customer Info, and Address based on their content.
  📂 Smart File Routing and Upload
  Recognizes whether a file is a direct attachment or a Google Drive link, extracts the file ID if necessary, and uploads it to predefined folders.
  📊 Powerful Data Operations
  Supports operations like append, join, group by, aggregation, and standardization of data directly from spreadsheets using Python and Pandas within the workflow.

  🔁 Scheduled and Triggered Automation
  Supports scheduled runs and real-time email triggers, making it highly reliable and timely.

  🔧 Fully Modular and Scalable
  Easily expandable with more logic, new folders, or different workflows. Clean architecture and annotations make maintenance simple.

  How It Works
  Email Trigger
  The system uses a Gmail trigger to monitor incoming emails with specific labels or attachments.

  Classification
  An LLM-based text classifier identifies the purpose of the email (e.g., sales data, address list, customer details).

  Conditional Logic
  Regex-based conditions check if the email contains Google Drive links or attachments.

  File Handling
  If it's a Drive link, it extracts the file ID and copies it to the correct folder. If it's an attachment, it uploads directly.

  Scheduled Data Management
  Periodically moves or logs files from predefined folders using a schedule trigger.

  Data Cleaning and Processing
  Performs data cleaning and transformation tasks like replacing missing values, standardizing formats, and joining datasets based on criteria provided by the user.

  Final Output
  Cleaned and processed files are saved in designated folders with their public links shared back through the system.

  Set Up Steps
  Configure Nodes:
  Gmail Trigger: Detects relevant incoming emails.

  Text Classifier: Uses OpenAI model to categorize email content.

  Regex Conditions: Determine whether a link or attachment is present.

  Google Drive Operations: Upload or copy files to categorized folders.

  Python Nodes: Handle data manipulation using Pandas.

  Google Sheets Nodes: Extract, clean, and write structured data.

  LLM-based Chat Models: Extract and apply cleaning configurations.

  Connect Nodes:
  Seamlessly connect Gmail inputs, classification, file processing, and data logic.

  Output links or processed files are uploaded back to Drive and ready to share.

  Credentials:
   Ensure OAuth credentials for Gmail, Google 
   Drive, and OpenAI are correctly set.

  Ideal For
  Sales & CRM teams managing large volumes of email-based reports.

  Data teams needing structured pipelines from unstructured email inputs.

  Businesses looking to automate classification, storage, and transformation of routine data.

  Testing and Additional customization

  If you want to test this bot capability 
    before purchasing the workflow.
    ask me on my mail 
    kumar.shivam19oce@gmail.com
    I will share the chat url and the links of 
    associated google drives to see the result
    once you are satisfied then we are good to 
    go.
    I have just kept $1 for testing purposes 
    because of paid open ai .
    

   -If there is any customization needed like charts and other request like adding databases feel free to let me know i can do it accordingly.

  This is the first version i will come with more advancements based on the request and responses.

  Use it and let me know on kumar.shivam19oce@gmail.com

nodes_used:
  ["n8n-nodes-base.gmailTrigger","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.gmail","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.textClassifier","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","n8n-nodes-base.wait","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.convertToFile","n8n-nodes-base.googleDrive","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.convertToFile","n8n-nodes-base.googleDrive","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.textClassifier","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.googleSheetsTool","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.toolCalculator","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.vectorStorePinecone","n8n-nodes-base.stickyNote","n8n-nodes-base.splitInBatches","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.postgres","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.postgresTool","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.switch","n8n-nodes-base.code","n8n-nodes-base.switch","n8n-nodes-base.convertToFile","n8n-nodes-base.googleDrive","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger"]

workflow_json_compressed:
  [encoded data, 33608 characters]


name: Auto-Post LinkedIn Updates from Spreadsheet Topics using GPT-4o
author_name: Amit Mehta
author_username: amitswba
categories: []
created_at: 2025-05-23T12:58:58.513Z
updated_at: 2025-05-23T12:58:58.513Z
url: https://n8n.io/workflows/4344
scraped_at: 2025-09-14 11:38:23
description:
  How it works:
  This workflow automates the entire LinkedIn content distribution process — from AI-powered post creation to auto-posting on both personal LinkedIn profiles and LinkedIn groups, using GPT-4o and Google Sheets as the content source and control panel.

  Auto-generates professional LinkedIn posts from spreadsheet topics using GPT-4o.
  Posts to your LinkedIn profile and multiple groups.
  Updates status to avoid duplicate posting.
  Fully customizable and reusable with your spreadsheet.

  Set up Steps
  Create and Upload the Spreadsheet
  	Name it: Linkedin Post
  	Sheet1 (for post topics): Columns: ID | Linkedin Post Title | Status
  	Add post titles under Linkedin Post Title
  	Set Status to Pending
  	Create new sheet name as "Groups" (for group distribution): Column: GroupIds
  	Add LinkedIn Group IDs, one per row

  Connect Google Sheets Nodes
  	Connect your Google account to these nodes:
  		Linkedin Post topic (Reads post topics)
  		Get group id (Reads LinkedIn groups)
  		Update Status (Writes back the status after posting)

  Configure GPT-4o (OpenAI)
  	Add your OpenAI API key in the Linkedin Post creator node
  	This node will generate high-quality content from your topic titles

  Connect LinkedIn Account
  	Add your LinkedIn credentials in the Linkedin user detail node
  	Ensure appropriate permissions to post on profile and groups

  Activate the Workflow : Once live, the workflow will:
  	Monitor the Google Sheet for Pending posts.
  	Generate content via GPT-4o.
  	Post to:
  		Your LinkedIn Profile
  		Each LinkedIn Group listed in the Groups sheet
  	Update the post Status to Posted

  Customization Tips
  Want to personalize this template?
  Change AI tone or style in the OpenAI node prompt
  Add a scheduler node if you'd like to post at fixed intervals
  Use a Slack or Telegram approval step before posting
  Integrate analytics tools to track post performance

  Suggested Sticky Notes for Workflow

  | Node or Section        | Sticky Note Content                                                         |
  | ---------------------- | --------------------------------------------------------------------------- |
  | Linkedin Post topic  | Reads the topic titles and statuses from Sheet1                          |
  | OpenAI (GPT-4o)      | Generates content using topic title — you can modify the tone/prompt here |
  | Linkedin user detail | Your personal LinkedIn credentials — required to post                     |
  | Group loop           | Iterates through LinkedIn Group IDs and posts the content                |
  | Update Status        | Updates spreadsheet so the topic isn't re-posted                         |

nodes_used:
  ["n8n-nodes-base.limit","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.googleSheetsTrigger","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets"]

workflow_json_compressed:
  [encoded data, 4144 characters]


name: Switch Between Work and Personal Contexts with GPT-4.1 and iPhone Automation
author_name: Praveena
author_username: pankstr
categories: []
created_at: 2025-05-23T13:21:56.394Z
updated_at: 2025-05-23T13:21:56.394Z
url: https://n8n.io/workflows/4345
scraped_at: 2025-09-14 11:38:23
description:
  Purpose
  The purpose of this automation is to help context switch from office to some side projects or passion gigs so you can be free of distracting thoughts and re-set your perspective.

  Benefits

  Anyone who works full time and also does something on the side (perhaps a side gig/being a mom/just follow your passion project)

  What you need
  N8N (lol)
  Any LLM API Key (I used OpenAI 4.1)
  IPhone (automations and shortcuts)

  Template Setup 
  Setup LLM API key.
  Import template file to new workflow.
  On Iphone create a new shortcut as per video. 
  Create automation steps. 

  Resources
  Youtube

nodes_used:
  ["n8n-nodes-base.webhook","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.outputParserStructured","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.code"]

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


name: Validate Auth0 JWT Tokens using JWKS or Signing Cert
author_name: Jimleuk
author_username: jimleuk
categories: []
created_at: 2025-05-23T16:10:27.657Z
updated_at: 2025-05-23T16:10:27.657Z
url: https://n8n.io/workflows/4347
scraped_at: 2025-09-14 11:38:22
description:
  &gt; Note: This template requires a  self-hosted community edition of n8n. Does not work on cloud.

  Try It Out
  This n8n template shows how to validate API requests with Auth0 Authorization tokens.

  Auth0 doesn't work with the standard JWT auth option because:
  1) Auth0 tokens use the RS256 algorithm.
  2) RS256 JWT credentials in n8n require the user to use private and public keys and not secret phrase.
  3) Auth0 does not give you access to your Auth0 instance private keys.


  The solution is to handle JWT validation after the webhook is received using the code node.

  How it works
  There are 2 approaches to validate Auth0 tokens: using your application's JWKS file or using your signing cert.
  Both solutions uses the code node to access nodeJS libraries to verify the token.
  JWKS**: the JWK-RSA library is used to validate the application's JWKS URI hosted on Auth0
  Signing Cert**: the application's signing cert is imported into the workflow and used to verify token.
  In both cases, when the token is found to be invalid, an error is thrown. However, as we can use error outputs for the code node, the error does not stop the workflow and instead is redirected to a 401 unauthorized webhook response.
  When token is validated, the webhook response is forwarded on the success branch and the token decoded payload is attached.

  How to use
  Follow the instructions as stated in each scenario's sticky notes.
  Modify the Auth0 details with that of your application and Auth0 instance.

  Requirements
  Self-hosted community edition of n8n
  Ability to install npm packages
  Auth0 application and some way to get either the JWK url or signing cert.

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.code","n8n-nodes-base.respondToWebhook","n8n-nodes-base.code","n8n-nodes-base.respondToWebhook","n8n-nodes-base.webhook","n8n-nodes-base.noOp","n8n-nodes-base.noOp","n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE81Z+3PbNhL+V1C2M34MIfNNUZ3cjes6Fyc5OxM7TTtRpgGBpYWYAnQAaJ0u4//9BgD1suU0TXtz9U8iuVjs49tvF/CnYAqGBKNPARfaEEHhjAWjIIuGTdXUVZVFNKV1PGwaBk0EUZxHDaRZwgoo8pympGoITeImaoosg2ENjNSUVUEYGJjOWmLgRAHTl2C62YmczlowwIKRUR3chYGQDHQwevcp4HbXpEorFhUMszjNcUbqDFdAIwzZsMjqshqyJg3CQJApBKPgLdQTKW/sVouZfSGGAjuNuCYaBvPV95nU3HApgtE7HEdRWGTR+zDovzt/izqGgqQMV3VBcFbHMR6yeIjLvKqzqEyhyGOriCgyBQNK24jNiJl8+Vo5sybYhXd33uSfQGlnVXIX9hGIaJJHRcFwXkKNszyOcZWxIS7LKs6aMi1LaNYReKO5uEbP377Ary+PH40DlQzs/uJUKamCUUClMFx04J4vOjPrzHaQ4iQK48TGaNvhqdU0ClQnLgSFp1KdEjo5MzANwuCjPvFfqRTaoI9zg54gBf/quIL9vY9aijnURt6A2Dv4fiyWUjf6pOUgtoXnNxorTZzgUpQuxdZr9j+NBXLPbxQfob2JMTM9OjpicIstCqEZdHpAOjOJBlROjwZzaFt8I+RcHNlVA2vVXjgWd1sbSdHwa/QEOe2kYxwEhS9QT2b86DY5sgoR4lp3oL5glRcn7bVU3EymeoTe7b2+TPJi7721zBnWdILa1KBrMC9gsT8BwkCFiJK2rQm9OfC2+hANrsFc8mvBxfVadnDDWYj2QakQ3cDiAD35m1+DEG/c+wOkwHRKrJS6l997mdU70bWt02B3edXVLad2kwMv6OJ4t2XxLSjeLK5s3vdd9ntb+80EzNErJadcw/6+Ah0q+Lhp3Me5GXgV+/4FQk5LuHzyEVk9+uStHr3DDGwJsE29W45vvLOGfdzf4+KWtJyhNV6Xn+8QtBruL9H7yz02RZc/+x/3Y+Th9u7X0G/zHj1B31lEDnzK9OC4MxOp+H+IjeRAz1pu9vfQRvnMyKKVhKEniMwJNzuC/f1Y9JF2Fg8Gg++4mHVmwA1MHf5DX0Pmldc1Wir12AvuwgD+DbQzYEs+GDWk1fAofSVFSdI4LTCtmxhneVHiOolSPCzSmtW0TIsmX9NXFsXojSC9l8AeZTAFeiYFu5Jvd1F6FkVhsoOt1oQbeAUaPEVlUXwX9u/YW+5I3IYiCFeCP0i2CEaBC9o4AEuU42CEsigO/aspaE2uwb4cB5tOjIOxuAvuM3w8SFdBYnEVR1ne4GhYlTgrWIqHSZHgOGrijKY5q5LsPsf7UkMnoMyfzPO+F/7PeP4vzKpHR6jnSRdXRIlANaBGdoKhW06cBJnNWk5dBWr0N6TBGC6u7U/Cbu24xDbfUVCGN1Ye9Mpzq/sJ+oDt3w+n/zg7Ryenr6/Onp6dHF+durdjMRgMxsL9Pj3/8cH3D9//Ub4YC6MWfZe4Rx0bFOup1Vkc9hnzpLXJIY+zyCM84gjwDlFi6ATtQ8+3ZqLk3PG/g+f+3lnPuY6+vnFWP6yjNdUMY2BFXhWY0SHgDCKKhwxSDGVKWEWzOqXp41QT/wGuKXdUzF+Va4oyyeO8YHjIqgRndVNgEpEMV8M8LlNWRHGeP5ioHw/O4yO1Hxf/iiM1rWtGoBziYpiUOEtZg0leU5xlJIvSCuoqh3UITnrORHNuJug1/KsD/TjlCnkx29GMHuDjQYpW1sVFktGSxThmtMQZQIVrAgWu45Syoqxr1hS/Yd3j6dptXv4Qv4/bV6UQV2lV4DROCpwVeYlJXEW4ygkpcsYKUkRr+5IoQhcvvrK2imRX6B4vrSSKvrK07BT7W5XTDOMKEjbEwzIeWtjEuI7qAtdFMazrMovilN53/GtZxXq+Iyv/L9fjGBpgUOGsiQucsSrCw5zUuCG0ZiRhVUk3BpRLw+nNAp1LA4+6r51ML7JJHWkShTguHrpOZWtnmDIM5pxZ//IsCoMJ8OuJCUaJfbDjDQgTjIJvv0XxAP1k2wcxgGwfjHyT1KhbnpEv0ZvXZ2NxePhMzpGR6I2Gw8OxOEQXol0s+3zd2gFAIQ1tgydSG2BIDIUVO7P3I227PG4jLoxEC9kpBOKWKymmIMwIfRCzKeIIX9uDqT3FfrCLT4XuFFhJdEsU4tpODSP04fzix9Nfn745P7k6uzj/9fjly4u3v57+fHX6+vz45ZNDv5RxY3l/86w/DqwHhDFvgHd46WOIzuyYhIhg6LgftAZ2BLDO/yI7N+g0XPSLl8vQBBSM0PH2wHO5Hm6OlwPPxrtTwWaSC6MPDx9Can0syFlTx4xi0tQxztI6xoRFEY7TIsszaNIkrncC6vGC+iyi0j8BUMnnAbU5Of4BUP1ZuNg4H+zERv990+rfCZMdGr4KMScbI/JnQdOwuixZU+CG1gXOyqbCw6pgOG7iJEmSvMzdFPcQNMnvB83Q0lC2o/n0WLFtc4WV2B6btsFypRbozKCLzozFt/Z5wrVNMVpegiI9kXONJh4ltytgvTpzZyfQRvue7tO1Ncn3wHO58Z+ZBC32DJpLdeOXmQkge33LiGLo+dsrZIdE5PsHqoGSTsNoLOKD+1gGt9QdjdbHpcFYJAf9S6uMKmAgDCetRlw4x/oTn1vdaVDWLattpvit9cyiauYhcwML7Z6FNEgDVWDQbKJsQsYiXVpkfXIS1/wWLOQQoRS0RkuW9WLLW+rVRlZ7D9srGwTZds5p7lZOiGAtOCf6oNtvpDHW4gmgfmC10goo8FtgfYHbr/ZEjSx+3AY2sbbMuQ+8tkV4ZUsAEQUosdWuJKET0Ns53gj4qFfuHNo4Wu5pT8MNbwFJtSml+4Kzh7KB3fIHaSYrN10K9baxrvx97Ozj80vU8loRxXvD3FnPLXFGOaWHh3b/w8ORe/+hbzMf+pULG59OA9tyzEru8MG1Ek9yUnjv/Q6b1LHcaXv9pq92Sz6dSWUVuV7r8iXVTdPKucPTyqLeo5U3ZwLVNkqUaNAhmk9ArP21iv0Z30h73u/v+kJEBHJjkoOOPZ2Kgc033NqrVqLRHBwlWpR7OemuVLTj9q0MhO7RC61wrY2cPfTB4hkI8wBkXAE13iliD4Co2zjtrcC6HPGcr2+dc0vHlslh4Ra8lyu872pOFPPpcbzRebDUigg6cVatg9Xfa67uC7hGxBiLcrZVFL78rUFPZWudsyqsc6qjHqhEW4by2URA6ARpCoIoLm3mPX0LaUA7t/4p2RKlPT+AIbzVS7ojBsnmQR31zWyTKFZWvvaMZac0V7qXG92Yyum0E9wsEDDXFKzyvkUf17y1X4z0OtsW2RFvRugNuQanyu943w4tp4DmxK28BoOAm0lPO8/fvkCdam2p36tvb+s5AEPPoJ39fSyeS+7z9O5HrqlU7P3+6vbLv3A3XlzccgNHP796AS9+hh9KdmC1E32DlsufStVN14tXPg/EUAy4PDr4xm7/jMxmC/SM0Bsurr/5TH9O86aOWBNhGJYxzrI6xnVcZDiPY5ZGJKvqevdQl35dfy53tOd+qEvD3Y36/lD3Lbo8ffkUP7u4vDr9EV2cv/zFNg1b7ss23bc1SwBcWdQrs0AMZiAYCGoZdD7hdOKIQNoRr4YlKu51jiWgNoe+Wx/FHlwDtLV3iDrRSGU6QQy0ixDNuYWa7Nu89H2XtrJjgx1pee9cFUBXR8blUdNe6BJu4/juk/uP6+dvlZ1sGHDB4N/BKLp7//4uXN8MPa7swb8hdyralt2l7TduYB5oDddLH/+Hwmds2QzCF9sTf51Bn1tmLdrt+y6r7t+0fLm63Tl8cIGxQ+Hd3X8BrgAaVS4gAAA=


name: Bright Data-Powered Competitive Price Lookup and Report Generator
author_name: Gleb D
author_username: glebd
categories: []
created_at: 2025-05-23T18:15:36.897Z
updated_at: 2025-05-23T18:15:36.897Z
url: https://n8n.io/workflows/4348
scraped_at: 2025-09-14 11:38:23
description:
  This n8n workflow automates the collection, enrichment, and analysis of e-commerce product listings using Bright Data and AI, then delivers an HTML email report with the most competitive offers.

  🚀 What It Does

  Pulls product titles from a Google Sheet.
  For each product, searches a Bright Data marketplace dataset (Google Shopping) for available listings.
  Extracts relevant fields: price, title, seller name, and listing URL.
  Sends this data to Google Gemini for AI-powered Markdown report generation.
  Converts Markdown to HTML and styles the output for better email rendering.
  Sends an email report for each product with the top 20 most affordable offers.

  🛠️ Step-by-Step Setup

  Load product list from Google Sheets.
  For each product title, run a Bright Data filter request (case-sensitive match).
  Poll the snapshot status until it is ready.
  Retrieve snapshot content and clean the results with a Code node.
  Pass the results to Gemini (PaLM/Gemini Flash) for analysis and report generation in Markdown.
  Convert Markdown into styled HTML using Markdown + Code nodes.
  Send formatted email to a predefined recipient.
  Return to the loop and repeat for the next product.

  🧠 How It Works

  Loop Control: SplitInBatches handles product-by-product processing.
  Snapshot Handling: Snapshot status is polled every 30s until success/failure.
  AI Formatting: Gemini summarizes listings and formats content.
  Error Handling: Failed snapshots produce a warning message and resume the loop.

  📨 Final Output

  Each email contains:
  The product name
  A clean HTML of up to 20 sellers with lowest prices
  Links to listings
  AI-generated pricing summary

  🔐 Credentials Used

  Bright Data account
  Google Gemini (PaLM/Gemini Flash)
  Google Sheets (OAuth2)
  SMTP Email (emailSend node)

  ⚠️ Important Notes

   Item title search is case-sensitive. Typos or casing mismatches may result in no results.
  Requires n8n-nodes-brightdata community node to be installed.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.wait","n8n-nodes-brightdata.brightData","n8n-nodes-brightdata.brightData","n8n-nodes-brightdata.brightData","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.splitInBatches","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.emailSend","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.markdown","n8n-nodes-base.code","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4856 characters]


