On a schedule
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.
- Runs
- On a schedule
- Apps
- Google Sheets, Hunter.io
- AI
- Not needed
- Access
- Hunter key; Sheets read+write
Send this to your assistant
Create a ClickRuntime automation: every night at 2am, verify the emails in my Outreach sheet that have no status yet with Hunter, and write deliverable, risky or invalid in the Status column.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Sending to a list full of dead addresses hurts more than wasted effort: bounces damage your sender reputation, and future emails, even to good contacts, start landing in spam.
Sales teams, marketers and anyone who builds outreach lists by hand use it to keep the list clean as it grows, without uploading it to a separate cleaning service.
What you get out of it
Fewer bounces
Invalid addresses are marked before you send, which protects your domain's reputation.
Risky addresses called out
Addresses that cannot be fully checked are marked risky, so you can decide whether to include them.
Runs while you sleep
Checking happens overnight, so the list is ready in the morning.
Only new rows checked
Rows that already have a status are skipped, so credits go only to new addresses.
How it works
What happens, step by step
Every night, ClickRuntime reads your outreach sheet and finds emails with no status yet.
Each address is checked with Hunter's email verifier.
The result is written into the Status column as deliverable, risky or invalid.
Before it runs live
- Connect your Google Sheets account and pick the spreadsheets it may use
- Connect Hunter.io
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
- Run it at a different time, more or less often, or only on weekdays
- 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_trigger, credentials, http, log
SHEET_ID = "your-spreadsheet-id"
LIMIT = 200
LABEL = {"deliverable": "deliverable", "risky": "risky", "undeliverable": "invalid"}
@on_trigger
def run(event):
sheets = build("sheets", "v4", credentials=Credentials(credentials.connection("google", "work")),
cache_discovery=False).spreadsheets().values()
rows = sheets.get(spreadsheetId=SHEET_ID, range="Outreach!B2:C").execute().get("values", [])
todo = [(i + 2, r[0]) for i, r in enumerate(rows) if r and r[0] and len(r) < 2][:LIMIT]
key, updates = credentials.secret("HUNTER_API_KEY"), []
for n, email in todo:
data = http.get("https://api.hunter.io/v2/email-verifier", params={"email": email, "api_key": key}).json().get("data") or {}
updates.append({"range": f"Outreach!C{n}", "values": [[LABEL.get(data.get("result"), "risky")]]})
if updates:
sheets.batchUpdate(spreadsheetId=SHEET_ID, body={"valueInputOption": "RAW", "data": updates}).execute()
log.info("Verified emails", {"count": len(updates)})
return {"checked": len(updates)}FAQ
Common questions
What is the difference between risky and invalid?
How many emails can it check a night?
Does it remove bad rows?
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
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.
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 “Verify every email address in your outreach sheet” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
