Find ICP accounts, verify the emails, file them in HubSpot

One screen where reps filter for companies that fit, see who is actually reachable at each account, and save only the addresses that verify.

App
HunterHubSpotSalesLead EnrichmentData SyncResearch & Monitoring
PromptCreate

I want an ICP prospecting workbench my SDRs open whenever they need to build a new target list, so they stop bouncing between Hunter's search screen, a scratch spreadsheet and the CRM. It is rep driven rather than scheduled: a rep opens it, searches, reviews what comes back, and decides what gets saved and what gets pushed.

The main view is a company search surface. Down the left is a filter panel with industry, headcount range, location, technology and funding. Hitting Search runs Hunter Search Companies (the Discover operation) with whatever fields are filled in, leaving blank fields out of the query entirely. Show the total number of matching companies first, before pulling anything else, so a rep can tighten the filters against a live match count rather than committing blind. Results render as a paged grid of company cards.

Each card shows the company logo from Get Company Logo, a business snapshot from Enrich Company by Domain covering industry, a one or two sentence description, headquarters and tech stack, and a contact coverage bar from Get Email Count for Domain that breaks the account's known email addresses down by department and seniority. The coverage bar is what tells a rep at a glance whether an account is worth working, so make it the visual centerpiece of the card rather than a footnote. A rep should be able to see that an account has twelve known addresses with four in engineering and none in finance without clicking anything.

Hunter bills by credit and the rates differ per operation, so be deliberate about what runs when. Discover, Get Email Count for Domain and the logo endpoint are free, so they can run for every card on every page. Enrich Company by Domain costs 0.2 credits per company, so only enrich the cards actually on screen and cache the result per domain so paging back and forth never pays for the same company twice. Search Emails by Domain costs 1 credit per 10 emails returned and Verify Email Address costs 0.5 credits each, so those only ever run on an explicit action. Before any search or verification batch runs, show the estimated credit cost of that batch and make the rep confirm it.

Every account already in HubSpot must be visibly tagged as already in CRM so reps never re-prospect an account the team owns. For the domains on the current page, run HubSpot Search Companies filtered on the domain, and render matched cards with a clear already in CRM badge, unticked by default, plus a link straight to the HubSpot record. Cache the match per domain so scrolling the grid does not re-query the CRM for the same account.

Clicking a company opens a drawer listing its actual people from Search Emails by Domain. Each row shows the email address, confidence score, job title, department and seniority, sorted most senior and highest confidence first, with department and seniority filters at the top of the drawer. The rep ticks the people they want and presses Verify selected, which runs Verify Email Address on just those addresses and stamps each row with its result. Only addresses that come back deliverable are savable by default. Risky ones are visibly flagged and stay unselectable until the rep flips an explicit override, and undeliverable ones stay blocked entirely. The verifier sometimes answers that verification is still in progress, so poll for the final result rather than treating that as a failure.

A Save to leads list button writes the keepers into Hunter. The rep either picks an existing list or names a new one, which is created with Create Leads List, and each selected person is written with Upsert Lead so re-running a search never duplicates a lead. Carry across everything the app already knows about that person: first and last name, position, company name and domain, confidence score and the verification result. Leads and leads list operations are free, so saving costs nothing.

A second button pushes the selected people into HubSpot, and it checks before it writes so nothing gets duplicated. For each account, run HubSpot Search Companies on the domain and reuse the existing record if there is one, otherwise use Create Company with name, domain, industry, description, city and country from the enrichment. For each person, run Search Contacts on the email address ignoring capitalization and skip anyone already on file, otherwise use Create Contact with email, first and last name and job title. Then use Create Association to file each contact against the right company. Finish with a summary of what was created, what matched an existing record and what failed, with a retry for the failures.

Add a Build this list for me button that kicks off a background agent. The rep types their ideal customer profile in plain English, for example Series B fintech companies in the UK between 50 and 200 people running Stripe, plus a name for the list and how many accounts they want. The agent turns that description into Discover filters and runs Search Companies, enriches each result with Enrich Company by Domain, checks reachability with Get Email Count for Domain, and picks the accounts that genuinely fit the description rather than simply taking the first N returned. It skips anything HubSpot Search Companies says is already in the CRM. For each account it keeps, it runs Search Emails by Domain, picks two or three likely decision makers by department and seniority, verifies each one with Verify Email Address and drops anything that is not deliverable. It writes the survivors into a named Hunter leads list with Create Leads List and Upsert Lead, and records a one line fit rationale per lead explaining why that account and that person made the cut.

The agent's output has to land somewhere the workbench can render. Store each run with the brief it was given, the list it produced, the fit rationale per lead, and what it skipped and why, whether that was already in the CRM, no reachable contacts, or nothing that verified. Show run state on the button while it works and do not let two runs start at once for the same rep. When a run finishes, open the produced list in the workbench with the rationale line under each lead so the rep can read it, drop anyone they disagree with, and push the rest into HubSpot through the same deduped push described above.

Persist named filter sets so a rep can rerun last month's criteria in one click, storing the criteria rather than the results so every rerun returns fresh data. Also persist the cached company enrichment and CRM match per domain, the verification result per address, the lists the team has built, and the agent run history. Saved searches are per rep, but the already in CRM markers and the built lists are shared across the whole team so two reps never work the same account.

What does this prompt do?

  • One screen where you filter for companies by industry, headcount, location, technology and funding, and every match comes back as a card with its logo, a short business profile, and a bar showing how many contacts are known there broken down by department and seniority
  • Accounts your team already has in the CRM are tagged on sight so nobody spends a morning prospecting an account you already own, and the app shows the estimated credit cost of a search or a verification batch before it spends anything
  • Open any company to see its actual people with job title, department, seniority and a confidence score, tick the ones you want, and only addresses that come back deliverable are savable by default, with risky ones behind an explicit override
  • Press Build this list for me, describe your ideal customer in plain English, and an assistant runs the whole pass in the background: it finds matching accounts, picks the best fits, verifies two or three decision makers at each one, and hands back a finished list with a one line reason per lead

What do I need to use this?

  • A Hunter account with credits available (the free plan is enough to try the workbench, a paid plan for regular list building)
  • A HubSpot account and a login allowed to create companies, contacts and the links between them
  • A rough idea of your ideal customer profile, for example the industries, company sizes and countries you sell into

How can I customize it?

  • Change which filters appear in the panel, for example adding the technologies you integrate with or dropping funding stage if you do not sell by it
  • Change which departments and seniority levels count as decision makers, so the people list is as narrow or as wide as your team needs
  • Decide how strict the save rule is: deliverable addresses only, or allow risky ones when a rep explicitly overrides
  • Change what gets written on push, including which company and contact fields are filled in and the lifecycle stage new records land in

FAQs

Will this burn through my Hunter credits?
It is built to protect them. The company search, the contact coverage bar and the logos are free lookups, so the grid can refresh without spending anything. Business profiles are only pulled for the cards actually on your screen and are remembered, the full people list is only fetched when you open a company, and verification only ever runs on the people you tick. On top of that, the app shows you the estimated cost of a search or a verification batch before it runs.
How do I stop reps prospecting accounts we already own?
Every account already sitting in your CRM is tagged on the card with an already in CRM badge, is unticked by default, and links straight through to the record. The agent that builds lists for you skips those accounts too, so a generated list is net new by construction.
Could it save email addresses that bounce?
Not by default. Every address you tick is checked for deliverability before it can be saved, and only the ones that come back deliverable are savable. Risky addresses are flagged and stay locked until someone explicitly overrides them, and undeliverable ones stay blocked.
Does this create duplicate records in my CRM?
No. Before writing anything it looks up the company by its web domain and each person by their email address, ignoring capitalization. Anything already on file is reused and reported as matched rather than created a second time.
Do I have to build every list by hand?
No. There is a Build this list for me button where you describe your ideal customer in plain sentences. An assistant works in the background, finds the matching accounts, picks the best fits, finds and checks two or three decision makers at each one, and writes a finished list with a one line reason each lead made the cut, which you can then review and push to the CRM.
Will this work on HubSpot Free?
Yes. It only uses companies, contacts and the links between them, which every HubSpot plan including the free tier has. You just need a login with permission to create those records.

Related templates

Prospecting desk that builds account lists from the live web

Stop buying stale lists. Reps run a saved search, work the results like an inbox, and only the accounts they approve ever reach your CRM.

Hyperbrowser
HubSpot
Google Sheets
App
Plan a field sales day around drive time and neglected accounts

Pick a date, a starting point and a radius, then build a sequenced day of customer visits that lands straight on your calendar.

Geolocation
HubSpot
Google Calendar
App
Pre-flight bounce check before you launch a cold email sequence

See the projected bounce rate for any outbound send before it goes out, and keep the launch button locked until the list is clean enough to be safe.

Hunter
Google Sheets
App
Competitive battlecard workspace ranked by open pipeline

See every competitor battlecard next to the number of open deals that name that competitor, so the cards carrying real pipeline get refreshed first.

Guru
HubSpot
Slack Bot
App
Account coverage board that shows where you are single threaded

Score every target account against the buying committee you actually need, see the exact holes, and have an assistant fill them in your CRM.

Hunter
HubSpot
App
Work every Help Scout inbox from a single triage board

See open and pending conversations from all your Help Scout inboxes in one queue, sorted so the customers who have waited longest on you come first.

Help Scout
HubSpot
App

Stop building target lists across three browser tabs.

Filter to the accounts that fit your ideal customer, see who is actually reachable there, and save only the addresses that verify.