Pular para o conteúdo
NovoVeja como
Novo

Maps Scraper turns Google Maps searches into campaign-ready contacts

AI Autopilot campaigns can now use Maps Scraper as a Contact Harvester source, with search terms, locations, max-result caps, optional email enrichment, phone-only contact support, dedupe protections, and clear credit pricing before launch.

Maps Scraper is now available as a source in AI Autopilot workflows. It turns Google Maps searches into campaign-ready contacts, saves the results to a selected list, dedupes them, keeps phone-only businesses when no email is found, and optionally runs email enrichment as a second pass.

This is a major source expansion for teams that sell into local markets, agencies, service businesses, clinics, restaurants, franchises, professional firms, regional SaaS companies, or any audience where the best prospect data starts with a place search rather than a CSV.

What shipped

The Contact Harvester workflow node now supports a Maps Scraper source for AI Autopilot campaigns. In the campaign builder, choose where results should be saved, add search terms, add locations, set a maximum result count, choose the search frequency, and decide whether email enrichment should run immediately after places are found. Advanced options can narrow the scrape by language, country code, specific Google Place IDs, or start URLs.

The basic setup is deliberately simple: pick a contact list, type the kinds of businesses you want, type the markets you want, and cap the run before launch. FirstSales then sends the job to the Maps Scraper executor, collects matching places, normalizes the output, dedupes records, charges only for accepted results, and imports contacts into the selected list for the rest of the workflow.

This is available for AI Autopilot because source discovery needs the full workflow context: the campaign goal, segmentation rules, enrichment choice, credit budget, and downstream outreach steps. Template campaigns are protected from accidental Maps Scraper saves until they are converted into an AI Autopilot workflow with a real campaign context.

Search controls

Search terms describe the businesses you want. They can be broad, such as dentists, accountants, or marketing agencies, or specific, such as B2B SaaS consultants, Shopify development agencies, or commercial roofing contractors. Locations keep the scrape grounded. Add cities, regions, or countries depending on how targeted the campaign should be. If a query is globally scattered and no clear location is supplied, the workflow warns you before launch so the search does not burn credits on noisy results.

Max results is the main safety cap. It limits the number of places that can be accepted into the workflow, so a broad search cannot accidentally run far beyond the intended campaign size. Frequency controls whether the source should run once or refresh on a schedule for ongoing prospecting. Country code and language help keep results aligned with the market you are selling into.

Email enrichment is optional

Google Maps often has strong business identity data but inconsistent email coverage. The new flow does not throw those businesses away. If a place has a phone number and business details but no email, it can still be imported as a phone-only contact. If enrichment is enabled, FirstSales attempts to find email addresses after the place is accepted. If enrichment does not find an email, the original business still remains available for CRM review, phone outreach, enrichment retry, or future list-building work.

That matters because a local prospect can still be valuable without an immediate email address. A sales team may want the phone number, website, location, business category, and company name first, then decide whether to enrich, call, or route it to another workflow later. The Contacts table now makes this cleaner with a Mobile number only filter and phone-only badges, so teams can separate email-ready records from records that need a different motion.

Billing and dedupe protections

Maps Scraper uses transparent credit rules: 5 credits per place found, plus 5 credits per email found when email enrichment is on. The campaign builder shows this before launch, so the operator understands the cost model before saving and starting the workflow.

The backend also protects against duplicate spend. Results are deduped by Google place ID first, with phone fallback where place ID is not available. Imported places are matched against existing contacts before creating new rows. Race conditions are guarded so duplicate records do not create duplicate charges. If a result is already present or becomes a duplicate during processing, the workflow skips it rather than charging as if it were a new prospect.

Email enrichment is charged separately from place discovery because it is a separate action. That gives teams a practical way to control spend: run discovery first for a broad local list, then enable enrichment only for campaigns where email outreach is the next step.

How to use it

  1. Create or open an AI Autopilot campaign.
  2. Go to Workflow and select the Contact Harvester node.
  3. Choose Maps Scraper as the source.
  4. Select the contact list where results should be saved.
  5. Add search terms that describe the target businesses.
  6. Add locations that define the markets to search.
  7. Set max results to the number of businesses you actually want to import.
  8. Choose Run once for one campaign build, or a recurring frequency for ongoing prospecting.
  9. Turn on email enrichment if this campaign should attempt email outreach immediately.
  10. Review the credit estimate, validate the workflow, and start only when the campaign is ready.

Where it fits

Use Maps Scraper when your target account list is best discovered from geography plus business type: agencies in Austin, dentists in London, Shopify stores in New York, HVAC companies in Texas, or local consultants in a specific metro. Use CSV import when you already have a clean list. Use website import when the source is a known page or directory. Use Maps Scraper when the question is: find businesses like this, in these places, and turn them into contacts I can route through FirstSales.

This release makes local prospecting a first-class source inside the campaign workflow, with the same safety standards as the rest of FirstSales: explicit configuration, visible cost, dedupe, no silent data loss, and imported contacts that remain useful even when email enrichment cannot find an address.

Todas as novidades

Prospecção que continua quando você desconecta.Leads, emails, follow-ups e respostas, resolvidos.

Conecte caixas ilimitadas e deixe os agentes de IA encontrarem leads, escreverem cada email e fazerem follow-up. Ou envie seus próprios modelos no modo manual. A partir de $29/mês.

$1 por 3 dias · Cancele quando quiser · Sem contrato

Instalar com IA

Seu agente de código configura a CLI e as skills do FirstSales para você.

Prompt para Claude Code

I'm setting up FirstSales (https://firstsales.io), an AI outbound sales platform: campaigns, contacts, a reply inbox, deliverability and lead signals. Help me get my workspace sending real, good emails end to end, from Claude Code.

Read these first so you know how FirstSales works:
- Developer docs and API: https://developer.firstsales.io
- CLI: https://www.npmjs.com/package/@firstsales.io/cli
- Skills for coding agents: https://github.com/firstsalesio/firstsales-skills (read README.md and GUIDE.md)

Setup
1. Install the CLI: npm install -g @firstsales.io/cli
2. Install the FirstSales skills:
   claude plugin marketplace add firstsalesio/firstsales-skills
   claude plugin install firstsales@firstsales
3. Ask me if I already have a FirstSales account. If not, send me to https://app.firstsales.io to sign up.
4. Ask me to create an API key under Settings → API → API Keys, with only the scopes we need.
   Never ask me to paste the key into this chat. Tell me to run this in my own terminal, so the key stays hidden:
   read -rs FS_KEY && firstsales auth login --api-key "$FS_KEY"; unset FS_KEY
5. Run `firstsales whoami` and tell me which workspace and organisation we are connected to.

Then ask me about my business: what I sell, who I sell to (roles, company size, countries), my best customers, and what I use today for outbound (tools, lists, mailboxes). Walk me through:
1. Teaching FirstSales my business: website, offer, proof points and case studies in the knowledge base, so the AI writes like someone who knows the product.
2. Connecting my sending mailboxes and checking my sending domain: SPF, DKIM, DMARC and warm-up. If anything is unhealthy, tell me the exact DNS record to add.
3. Bringing in contacts: import my CSV or CRM export into a clean list, remove duplicates and bad emails, and block domains I must never email (customers, competitors, my own).
4. Building my first campaign: the right list, senders, steps and timing. Write the sequence with me, show me the drafts, and do not launch until I say yes.
5. Setting up Signals if it fits: find people engaging with LinkedIn posts about topics my buyers care about, and turn them into leads.
6. Inviting my team and giving each person the right access.

Once campaigns run, show me how to work the reply inbox from here: which replies need an answer, draft responses in my voice, and move good conversations into deals. If I use Cal.com, connect it so follow-ups can offer my booking link (not the first email).

Throughout, as you learn about my business, proactively suggest and help create:
- Reply templates for the questions and objections my prospects are likely to raise, based on my product, site and codebase if you can see them.
- Campaign ideas and segments worth testing, with the reason for each.

Safety rules:
- Show every change as a dry run (--dry-run) first and wait for my yes. Never send emails, launch campaigns or delete anything without my yes.
- Tell me before anything that spends credits, and how many.

Be opinionated. If the docs give a sensible default, just use it. Don't make me choose between five options.