The moment it happens
Check new form leads with Hunter and log them in a sheet
Every form lead is checked with Hunter, logged in your sheet with its verification result and company details, and you get an email for the valid ones.
- Runs
- The moment it happens
- Apps
- Google Sheets, Hunter.io
- AI
- Not needed
- Access
- Hunter key; Sheets write
Send this to your assistant
Create a ClickRuntime automation: when someone submits my lead form, verify their email with Hunter, look up their name and company, add the lead to my Leads sheet with the result, and email me if the address is valid.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Website forms collect a mix of real buyers, typos and fake addresses. Sales time spent following up an invalid email is wasted, and a real lead with a mistyped address goes cold before anyone notices.
Small sales teams, agencies and SaaS founders use it to see at a glance which form leads are worth a call, with company details already filled in.
What you get out of it
Bad addresses flagged at once
Each lead's email is checked as it arrives, so invalid and disposable addresses are marked before anyone follows up.
Context before the first call
Name, role and company details from Hunter are added to the row, so you know who you are talking to.
Only good leads interrupt you
You get an email for valid leads only; everything else is quietly logged.
A complete lead log
Every submission is kept in the sheet with its result, useful for spotting spam patterns or form problems.
How it works
What happens, step by step
When someone submits your form, the details arrive at your automation's link straight away.
Hunter checks whether the email address is real and deliverable.
Hunter also looks up the person's name, role and company where it can.
The lead is added to your sheet with the result, and you get an email if the address is valid.
Before it runs live
- Connect your Google Sheets account and pick the spreadsheets it may use
- Connect Hunter.io
- Paste your automation's link into the other app's webhook settings
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Act only on the items that match your own rules, and skip the rest
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other Google Sheets and Hunter.io steps into one automation
Under the hood
The code that runs this automation
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from clickruntime import on_event, credentials, http, notify
SHEET_ID = "your-spreadsheet-id"
@on_event
def handle(event):
lead = event.json or {}
email = str(lead.get("email", "")).strip()
if not email:
return {"skipped": "no email"}
key = credentials.secret("HUNTER_API_KEY")
check = http.get("https://api.hunter.io/v2/email-verifier", params={"email": email, "api_key": key}).json().get("data") or {}
person = http.get("https://api.hunter.io/v2/people/find", params={"email": email, "api_key": key}).json().get("data") or {}
name = (person.get("name") or {}).get("fullName") or lead.get("name", "")
role = (person.get("employment") or {}).get("title") or ""
company = (person.get("employment") or {}).get("name") or ""
row = [event.received_at[:16], name, email, check.get("status", "unknown"), role, company, lead.get("message", "")]
build("sheets", "v4", credentials=Credentials(credentials.connection("google", "work")), cache_discovery=False) \
.spreadsheets().values().append(spreadsheetId=SHEET_ID, range="Leads!A:G", valueInputOption="RAW",
body={"values": [row]}).execute()
if check.get("status") == "valid":
notify.email_me(f"New lead: {name or email} ({company or 'unknown company'})",
f"{name}\n{role} at {company}\n{email}\n\n{lead.get('message', '')}")
return {"status": check.get("status")}FAQ
Common questions
What do the verification results mean?
What form tools work with it?
Is anything sent to the lead?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Verify every email address in your outreach sheet
Each night, unchecked emails in your sheet are verified with Hunter and marked deliverable, risky or invalid.
See how it worksCopy Hunter leads to Google Sheets
Leads saved in a Hunter leads list are copied to a Google Sheets tab with name, email, company, position and verification status.
See how it worksFind company details for domains in Google Sheets
For each domain in the sheet without details, Hunter's company data fills in name, industry, headcount, country and LinkedIn.
See how it worksKeep exploring
Set up “Check new form leads with Hunter and log them in a sheet” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
