In Mantis, connect HubSpot once with an access token, then select leads and click Send to CRM; each lead becomes a HubSpot Company (plus a Contact when there is a person or email), and sending again updates the same record instead of duplicating it. That is the whole flow for moving Google Maps leads to HubSpot — no spreadsheet in between. The rest of this guide is the detail: which token to create after HubSpot's October 2026 change, the exact scopes, and what to do when a send fails.
The short answer
Three steps:
If you already collect local businesses with a Google Maps scraping tool — or you are still comparing Google Maps scrapers — this is how that list becomes CRM records instead of another CSV.
What changed in HubSpot in October 2026
On 26 October 2026, HubSpot stopped letting accounts create new legacy private apps. Two things follow:
Mantis sends whatever token you paste as a Bearer token, which is how HubSpot documents both private app tokens and service keys. HubSpot's example service key starts with pat-na1-, the same prefix Mantis shows as the placeholder in its "Private app access token" field, so you paste either kind into that one field.
Who can create what: a service key requires a super admin or a user with the Developer tools access permission; a private app requires a super admin.
Step 1: Create a HubSpot service key
In your HubSpot account:
HubSpot's changelog names a second path, Settings → Integrations → Service Keys; use whichever one your account shows. Either way you end up with a key to copy; HubSpot's own example key starts with pat-na1-.
Keep the key somewhere safe until it is pasted into Mantis, and plan to rotate it later: HubSpot recommends rotating tokens every six months.
Step 2: Connect HubSpot in Mantis
Before saving, Mantis checks the token with HubSpot: it reads the account, then reads companies to prove the scopes are present. If the check passes, the token is stored encrypted and is never shown again.
Step 3: Select leads and send them
This is how you import local business leads into HubSpot as companies rather than rows in a file. Re-sending is safe: Mantis matches a company by domain first, then by exact name, so a company that already exists in HubSpot gets updated rather than duplicated. The exception: if a record was deleted in HubSpot since the last push, it is created again.
If you prospect every week, folding this send into a weekly prospecting routine keeps the CRM current without extra work.
What each lead looks like in HubSpot
Every sent lead lands as a HubSpot Company, with a Contact added when the lead includes a person or an email. The fields map like this:
| Mantis field | Where it lands in HubSpot |
|---|---|
| Business name | Company → name |
| Website | Company → domain and website |
| Phone | Company → phone |
| City | Company → city |
| Category, area, rating, review count, signals, Mantis score, contact role, LinkedIn, list name | Company → description |
| Person's email | Contact → email |
| Person's name | Contact → first name / last name |
| Job title | Contact → job title |
| Phone, business name, website | Contact → phone, company, website |
The Contact is associated to its Company, so you see the person on the company record. Note the description field: it carries the prospecting context — category, area, rating and review count, signals, Mantis score, contact role, LinkedIn, and the list name — so the Company record shows why the lead was saved in the first place.
If something fails
| Message | Fix |
|---|---|
| HubSpot rejected the token | Copy the token again from HubSpot and paste it once more |
| HubSpot refused … | The key is missing a scope; add the four scopes from Step 1 (keys can be edited later) and try again |
| HubSpot's rate limit was hit | Wait a minute and send the batch again |
Two details worth knowing. A rejected token stops the batch early, so fix the token first and then re-select and resend — the dedupe rules mean resent leads update instead of duplicating. And HubSpot limits how fast any one app can call it: on Free and Starter accounts the limit is 100 calls per 10 seconds per app. If Mantis shows the rate-limit message, wait a minute and send again.
CSV import vs a direct push
There are two other routes people use: export a CSV and import it into HubSpot, or wire up a marketplace or automation app. A CSV is a snapshot: every new list means another export, column mapping and import. A direct push sends from the screen where you found the leads, and re-sending updates the same company. If you are still deciding where leads should come from, see bought database vs live search.
Send your next list straight to HubSpot
Find local businesses, select them, Send to CRM. 500 free credits once at signup, no card.
Start freeI'm Tarun, founder of Mantis.
Frequently asked questions
Do I need a paid HubSpot plan?
Mantis needs only a token with the four CRM scopes above, created by a super admin or a user with the Developer tools access permission. What your plan allows is a HubSpot question — check HubSpot's own documentation for your plan.
Will it create duplicates?
No. Companies are matched by domain first, then by exact name, so a company already in HubSpot is updated; sending the same lead again updates the same record. The one case where a new record appears is when the previous one was deleted in HubSpot since the last push.
Can I still use my old private app token?
Yes. Existing legacy private apps keep working after the October 2026 change, and Mantis sends them the same way as a service key, as a Bearer token. Paste the token into the same Mantis field.
What happens if I disconnect?
Leads you already sent stay in HubSpot.
Related reading
Google Maps scrapers compared · weekly prospecting routine · bought database vs live search




