Qualify Product Hunt leads with Google Gemini, Apify, and Google Sheets

Go to Workflow
1 views
Built by iamvaar iamvaar
Created on July 28, 2026

Description

Quick overview
Youtube Video: https://youtu.be/h47YeiivZvs?si=V-S1X-ME5V24Tuch

This workflow runs daily to pull the latest Product Hunt posts, qualifies them with Google Gemini, scrapes ICP-matching product websites with Apify to find emails, then writes the lead data to Google Sheets and creates contacts in GoHighLevel.

How it works
Runs every day on a schedule trigger.
Queries the Product Hunt GraphQL API for the latest posts and iterates through each result.
Resolves each product’s website redirect target, extracts a clean domain, and filters out blocked domains like app stores, social networks, and link aggregators.
Sends the product name, tagline, and description to a Google Gemini–powered agent to score ICP fit and keeps only matches.
Uses Apify to crawl each matched website and extract email addresses from the site content.
Groups scraped results by domain, keeps only products with at least one email, and appends or updates a matching row in Google Sheets.
Creates a GoHighLevel contact using the first email and stores any additional emails in a custom field.

Setup
Add Product Hunt OAuth2 credentials and ensure the GraphQL query in the Product Hunt request returns the fields used (name, tagline, description, website, topics, makers).
Add Google Gemini (Google PaLM) credentials for the AI qualification step.
Add an Apify API token and set the actor ID and crawl settings to match your email-scraping needs.
Connect Google Sheets with a service account, set the target spreadsheet and sheet, and ensure the sheet has columns for product_name, tagline, description, makers, url, original_ph_url, and emails.
Add GoHighLevel OAuth2 credentials and update the contact field mappings, including the custom field ID used to store additional emails.

Nodes Used (7)

AI Agent
@n8n/n8n-nodes-langchain.agent
Code
n8n-nodes-base.code
Google Gemini Chat Model
@n8n/n8n-nodes-langchain.lmChatGoogleGemini
Google Sheets
n8n-nodes-base.googleSheets
HighLevel
n8n-nodes-base.highLevel
HTTP Request
n8n-nodes-base.httpRequest
Structured Output Parser
@n8n/n8n-nodes-langchain.outputParserStructured