Skip to content

Daily

Find missing emails for leads in a Hunter list

Every day, leads in a Hunter list that have a name and company domain but no email are run through Hunter's Email Finder, and found addresses are saved back to the lead.

Runs
Daily
Apps
Hunter.io
AI
Not needed
Access
API key

Send this to your assistant

Create a ClickRuntime automation: every day, find Hunter leads in my "Conference contacts" list that have a name and company website but no email, use Hunter's Email Finder to fill in the email, and email me which ones were found and which weren't.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

Contacts collected at events, from LinkedIn or from a partner often arrive as a name and a company with no email. Someone has to look each one up before the list is usable, and it rarely gets done promptly.

This automation picks up leads in a Hunter list that are missing an email, uses Hunter's Email Finder with the person's name and company domain, and writes good matches back to the lead. You get a daily email of what was found and what still needs a manual look.

The list fills itself in shortly after people are added, ready for verification or a campaign.

What you get out of it

  • Lists ready sooner

    Missing emails are filled in the day leads are added.

  • Only confident matches

    Low-scoring guesses are not saved.

  • No wasted credits

    Each lead is tried once.

  • Clear follow-up

    The email lists who still needs a manual lookup.

  • Stays in Hunter

    Emails are saved to the same leads you already work from.

How it works

What happens, step by step

  1. Every day, ClickRuntime reads the leads in your chosen Hunter list.

  2. It picks out leads with a first name, last name and company website but no email.

  3. For each, it asks Hunter's Email Finder for the most likely address.

  4. Found addresses with a good score are saved to the lead, and you get an email of what was found and what wasn't.

Before it runs live

  • Connect Hunter.io

What you get

RunsDaily
Find missing emails for leads in a Hunter listtoday, 9:00Succeeded
Email · Hunter: 6 of 8 missing emails foundFound: - Ines Duarte, northpeak.com → ines@northpeak.com (93) - Marc Liu, sabrecloud.io → marc.liu@sabrecloud.io (90) ... Not found: - Ola Berg, fjordworks.no - K. Adams, tinyfactory.co

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • 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 Hunter.io steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
find_missing_emails_for_leads_in_a_hunter_list.pyexample
from clickruntime import on_trigger, credentials, http, notify, state

LIST_ID = 123456  # Hunter leads list "Conference contacts"
MIN_SCORE = 70

@on_trigger
def run(event):
    key = credentials.secret("HUNTER_API_KEY")
    tried = set(state.get("tried") or [])
    leads = http.get("https://api.hunter.io/v2/leads",
                     params={"leads_list_id": LIST_ID, "limit": 1000, "api_key": key}).json()["data"]["leads"]
    todo = [l for l in leads if not l.get("email") and l.get("first_name") and l.get("last_name")
            and l.get("website") and str(l["id"]) not in tried]
    found, missed = [], []
    for lead in todo:
        domain = lead["website"].replace("https://", "").replace("http://", "").split("/")[0]
        d = http.get("https://api.hunter.io/v2/email-finder",
                     params={"domain": domain, "first_name": lead["first_name"], "last_name": lead["last_name"],
                             "api_key": key}).json().get("data") or {}
        name = f"{lead['first_name']} {lead['last_name']}, {domain}"
        if d.get("email") and (d.get("score") or 0) >= MIN_SCORE:
            http.put(f"https://api.hunter.io/v2/leads/{lead['id']}", params={"api_key": key}, json={"email": d["email"]})
            found.append(f"- {name} → {d['email']} ({d['score']})")
        else:
            missed.append(f"- {name}")
        tried.add(str(lead["id"]))
    state.set("tried", sorted(tried))
    if todo:
        notify.email_me(f"Hunter: {len(found)} of {len(todo)} missing emails found",
                        "Found:\n" + ("\n".join(found) or "- none") + "\n\nNot found:\n" + ("\n".join(missed) or "- none"))
    return {"checked": len(todo), "found": len(found)}

FAQ

Common questions

Does it retry leads it couldn't find?
No. Each lead is tried once so credits aren't spent on the same miss every day. Clear the remembered list in the ClickRuntime dashboard if you want it to try again.
How are credits used?
Hunter charges one search per Email Finder call that returns an email. Calls with no result are free.
Why is a minimum score used?
Hunter's score reflects how confident it is in the address. A low-scoring guess is more likely to bounce, so those are reported as not found instead of saved.
What permissions does it need?
API key. Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run each time it runs (daily). Checks that find nothing to do and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Find missing emails for leads in a Hunter list” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.