Daily ICP accounts and decision-makers in Google Sheets

Each weekday at 7am ET, get 25 fresh target accounts with verified decision-maker emails and mobiles, dropped straight into your prospecting sheet.

Agentic Task
ProspeoHubSpotGoogle SheetsSalesOperationsLead EnrichmentDaily DigestsResearch & Monitoring

Every weekday at 7am ET (cron trigger), build me a fresh list of ICP accounts and decision-makers and append them to a Google Sheets tab I already use for outbound.

Step 1. Sourcing. Call Prospeo Search Company with my saved filters: industry, headcount band, geography, hiring signals (for example, currently hiring SDRs), and funding stage. Pull the top 25 net-new companies for the day. If a filter value is fuzzy (location string, job title for the hiring signal), use Prospeo Search Suggestions to resolve it to a valid value before searching.

Step 2. Dedupe against my CRM. For each of the 25 candidates, check HubSpot using List Companies (filter or paginate by domain) and drop any account whose domain already exists in HubSpot. Only keep the net-new logos.

Step 3. Find decision-makers. For each remaining company, call Prospeo Search Person scoped to that company and filtered to the seniorities and titles I care about (default set: VP of Sales, Head of RevOps, Director of Sales, Director of Demand Gen, CRO, Head of Growth). Pick the best one or two matches per company based on title fit and seniority.

Step 4. Verify contact info. For each selected person, call Prospeo Enrich Person with enrich_mobile set to true so I get both a verified work email and a verified mobile. If either field cannot be verified, leave it blank — never guess.

Step 5. Draft a personalization hook. For every row, write one concrete sentence the rep can drop into a cold email. Tie it to a real firmographic signal from the company data: a recent funding round and date, a headcount delta, a tech stack item, an open role, or a hiring post. No generic flattery, no "impressed by your growth" copy.

Step 6. Write to Google Sheets. Use Google Sheets Append Values to append one row per new contact to the target tab. Columns, in order: company, person, role, email, mobile, why-this-account, personalization hook. Include a header row check on first run, but do not rewrite headers on subsequent runs.

Ask me up front for: the saved Prospeo filter set (industry, headcount band, geography, hiring signals, funding stage), the seniority and title list, the HubSpot connection to dedupe against, and the Google Sheet ID plus tab name to append into. Default cron is 0 7 * * 1-5 in America/New_York.

Keep the agent loop tight: skip any company that has zero qualifying people rather than padding the list, and stop the run cleanly once the 25 candidates are processed even if fewer than 25 end up written.

Additional information

What does this prompt do?
  • Builds a fresh list of 25 ideal-customer-profile companies every weekday using your saved filters for industry, headcount, geography, hiring signals, and funding stage.
  • Skips any account that already lives in your HubSpot CRM so reps only see net-new logos.
  • Finds the right decision-makers at each company by seniority and title, then verifies the best one or two with a real work email and mobile number.
  • Writes every new row to your prospecting tab in Google Sheets with company, person, role, email, mobile, why-this-account, and a personalization hook tied to firmographic signals.
What do I need to use this?
  • A Prospeo account with API access for company search, people search, and contact enrichment.
  • A HubSpot login so the workflow can check which companies already exist in your CRM.
  • A Google account and the spreadsheet you want the new rows appended to.
How can I customize it?
  • Change the run time or days. Most teams run this at 7am local time on weekdays, but you can pick any cadence.
  • Tune the targeting filters. Swap industries, headcount bands, geographies, hiring signals, or funding stages until the list matches your real ICP.
  • Pick which titles to surface. Add or remove seniorities and job titles like VP of Sales, Head of RevOps, or Director of Demand Gen.
  • Point it at a different sheet or tab. Any spreadsheet you have access to will work, and you can rename columns to match your existing template.

Frequently asked questions

How many new accounts will I get each day?
The workflow pulls up to 25 fresh companies per run, skips any that already exist in HubSpot, and appends the remaining net-new accounts with their decision-makers to your sheet.
Will it duplicate accounts I already have in HubSpot?
No. Before writing anything, the workflow checks your HubSpot companies by domain and drops anything that is already in your CRM.
Where do verified emails and mobile numbers come from?
Prospeo enriches the best one or two matches at each company and returns a verified work email and mobile number. Anything that cannot be verified is left blank rather than guessed.
Can I change which titles or seniorities it targets?
Yes. The list of titles and seniorities is set up front, so you can target VP of Sales, Head of RevOps, founders, or any combination that matches your buying committee.
What is the personalization hook column?
It is a one-sentence opener tied to something concrete about the account, like a recent raise, a hiring spike, or a tech stack signal. No generic flattery.
Do I need a paid HubSpot plan?
Any HubSpot tier that lets you read your companies list will work. The workflow only reads from HubSpot, it does not write.

Stop building your outbound list by hand every morning.

Connect Prospeo, HubSpot, and Google Sheets once, and Geni delivers 25 fresh, deduped, ready-to-contact accounts before your team logs on.