Daily Google Maps prospects into Instantly cold outreach
Every weekday at 7am ET, pull fresh local prospects from Google Maps, skip anyone already in a sequence, and load 50 AI-personalized leads into your Instantly campaign.
Build me an agent workflow that runs on a cron schedule, every weekday at 7am America/New_York, and feeds my Instantly cold outreach campaign with a fresh batch of AI-personalized local prospects pulled from Google Maps. The trigger is cron because Local Business Data does not have a poll trigger.
Inputs I will configure on the workflow: (1) a list of target searches, each one a free-text query like "med spas in Austin" or "HVAC contractors in Phoenix"; (2) the Instantly campaign id I want new leads added to; (3) the personalization variable name my Instantly email sequence drops in, defaulting to personalization; (4) quality filters with sensible defaults: minimum 10 reviews, minimum 3.8 rating, website required; (5) a per-run cap on total leads added, defaulting to 50.
On each run, the agent should rotate through the configured target searches and, for each one, call Local Business Data Search with extract_emails_and_contacts set to true so only businesses with a deliverable email come back. Skip any result without an email. Apply the quality filters (reviews, rating, website) to drop weak prospects before spending more credits.
For the prospects that survive the filters, call Local Business Data Business Details on the top candidates from each search to pull richer signals: full rating, review count, recent owner posts, website, hours, and any contact info. Use Business Details (not Business Details Plus) to keep credit costs low unless I ask otherwise.
Before adding any prospect to the campaign, call Instantly Search Campaigns by Lead Email for that prospect's email. If the email is already in any active Instantly campaign, skip the prospect. This is the dedupe step and it is non-negotiable.
For each surviving prospect, draft a single sentence personalized opener that references something specific and verifiable from the Google Maps profile: a recurring theme in their recent 5-star reviews, a service category they highlight, a quirk in their opening hours, a recent owner post, or a website detail. The opener should be plain, human, and specific. No emojis, no hype, no em dashes.
Finally, push the qualified and deduped batch into Instantly using Add Leads in Bulk against the campaign id I configured. Map standard fields (email, company_name, website, phone if available, city) and put the personalized opener into a custom variable matching the variable name I configured (default personalization) so my email template can drop it in with {{personalization}}. Respect the per-run cap (default 50).
At the end of each run, post a short summary I can read at a glance: how many prospects were searched, how many were dropped by the quality filters, how many were skipped as already-in-sequence, and how many were added to the campaign. If zero leads were added, say why so I can adjust filters or targets.
Constraints: never exceed the per-run cap, never re-add a prospect already in an active Instantly campaign, never add a prospect that fails the quality filters, and never invent details in the personalization sentence. If you cannot find a specific detail to reference, fall back to a clean opener that mentions only the business category and city.
Additional information
What does this prompt do?
- Pulls a fresh batch of local prospects from Google Maps for each city and category you configure, surfacing only businesses that have a deliverable email on file.
- Filters out low-quality prospects automatically. Anything under 10 reviews, rated below 3.8, or missing a website gets dropped before it ever reaches your campaign.
- Checks Instantly first to skip anyone already in an active sequence so you do not double-email the same business.
- Writes a one-sentence personalized opener for each prospect that references something specific from their Google Maps profile, then loads up to 50 ready-to-send leads into your campaign every morning.
What do I need to use this?
- An Instantly account on the Growth plan or higher with an API key, plus the campaign you want new leads dropped into.
- A RapidAPI account subscribed to the Local Business Data API for Google Maps lookups.
- Your target list. The cities and business categories you want to prospect each day, for example med spas in Austin or HVAC contractors in Phoenix.
- An Instantly email sequence that uses the personalization variable, so the AI-written opener actually shows up in the email body.
How can I customize it?
- Change the schedule. The default is every weekday at 7am ET, but you can run it twice a day, only on Mondays, or on any cadence you like.
- Adjust the quality filters. Tighten or relax the minimum review count, star rating, and website requirement to match your ideal customer profile.
- Swap the personalization angle. Tell the agent to reference recent owner posts, review themes, missing websites, or hours quirks depending on what your sequence is built around.
- Tune the batch size. The default caps each run at 50 leads to protect your sending reputation and API credits, but you can raise or lower it.
Frequently asked questions
Will this work if my Instantly sequence does not use personalization variables?
How does it avoid emailing the same business twice?
Can I prospect multiple cities and categories at once?
What stops me from blowing through my Google Maps API credits?
Do I need a separate email finder tool?
Related templates
Stop hand-prospecting Google Maps every morning.
Connect Instantly and the Local Business Data lookup once, and Geni delivers 50 personalized local prospects to your campaign every weekday at 7am.