HubSpotIntegrationCRMAutomation

HubSpot Integration: Auto-Upsert Directory Leads into Your CRM

JaredJared
5 min read
HubSpot Integration: Auto-Upsert Directory Leads into Your CRM

Table of Contents

  1. What is HubSpot Integration?
  2. How It Works
  3. Setting Up HubSpot
  4. What Gets Synced
  5. Why Native Over Zapier?
  6. Pricing
  7. FAQ

What is HubSpot Integration?

PinLeads now has a native HubSpot integration. Every business you extract from Google Maps lands in your HubSpot CRM the moment your job finishes — no Zaps, no CSV exports, no field mapping.

Contacts are upserted by email, which means existing contacts get updated instead of duplicated. Companies are created automatically (deduped by domain) and linked to the matching contacts. Everything happens in a single batched API call per 100 leads, so it's fast and quota-friendly.

What gets synced:

  • Contact: email, company name, phone, website, address, lifecycle stage
  • Company: domain, name, website, phone, address (auto-created from website)
  • Association: contact ↔ company linked automatically

What it does:

  • Zero duplicates — upsert by email
  • Auto-creates companies and associates them
  • Configurable lifecycle stage (Lead, MQL, SQL, etc.)
  • Works with both single-scrape and multi-scrape jobs
  • Free with PinLeads Pro or Business (no extra charges)

How It Works

The integration uses OAuth 2.0 — you click "Connect HubSpot" once, approve PinLeads in your HubSpot account, and you're done. No API keys to copy, no webhooks to configure.

Here's the flow:

  1. You extract leads from Google Maps using PinLeads
  2. PinLeads syncs to HubSpot automatically when the job completes
  3. Contacts are upserted by email (no duplicates)
  4. Companies are created from website domains and linked to contacts
  5. Your CRM is updated — no manual work required

The entire process happens in the background. You just scrape, and HubSpot updates itself.

Setting Up HubSpot

Step 1: Upgrade Your Plan

HubSpot integration is available for Pro and Business subscribers. Free plan users can upgrade from the pricing page.

Step 2: Connect HubSpot

  1. Go to your Account Settings
  2. Scroll to the HubSpot Integration section
  3. Click "Connect HubSpot"
  4. You'll be redirected to HubSpot to authorize PinLeads
  5. Approve the OAuth consent screen
  6. You'll be redirected back to PinLeads with a success message

Step 3: Configure Settings (Optional)

Once connected, you can customize:

  • Auto-create companies: Toggle whether companies are created and linked to contacts
  • Lifecycle stage: Choose the default lifecycle stage for new contacts (Subscriber, Lead, MQL, SQL, Opportunity, Customer)
  • Lead source: Custom field to mark contacts as coming from PinLeads

Step 4: Test the Connection

Click "Send Test Contact" to push a sample lead to your HubSpot. Check your HubSpot CRM for "PinLeads Test Business" to verify the connection.

Step 5: Start Scraping

Run any PinLeads scrape — single search, bulk URLs, or Chrome extension. Leads will flow to HubSpot automatically when the job finishes.

What Gets Synced

Contact Properties

PinLeads FieldHubSpot PropertyNotes
namecompanyBusiness name from Google Maps
emailemailUsed for dedupe (upsert)
phonephonePhone number from Google Maps
websitewebsiteBusiness website URL
addressaddressFull address from Google Maps
lifecyclestageConfigurable (default: Lead)
hs_lead_statusSet to "NEW" on import

Company Properties

PinLeads FieldHubSpot PropertyNotes
website (domain)domainUsed for dedupe (upsert)
namenameBusiness name
websitewebsiteFull URL
phonephonePhone number
addressaddressFull address

Important: Companies are only created when a lead has a website. If a lead has no website, only the contact is created. Leads without an email are skipped entirely (email is required for safe deduping).

Association

When both contact and company exist, they are automatically linked via the standard HubSpot "contact_to_company" association type.

Why Native Over Zapier?

Via ZapierNative HubSpot
Build a Zap, map fields, testOne-click OAuth
Requires paid Zapier plan for multi-stepFree with PinLeads Pro
Manual filter steps to avoid duplicatesBuilt-in upsert by email
Multi-step Zap to create + associate companiesAutomatic in one call
1 task per lead (quotas apply)Batched (100/call)
No marketplace listingHubSpot App Marketplace eligible

The native integration is faster, more reliable, and doesn't require you to maintain a Zap. It also gives us the ability to add advanced features like bi-directional sync (reading HubSpot list memberships to dedupe before scraping) in the future.

Pricing

PinLeads

HubSpot integration is included with:

  • Pro Plan: Starting at $9.99/month
  • Business Plan: Starting at $29.99/month
  • Free Plan: Not available

HubSpot

The integration works with any HubSpot account, including the free CRM tier. No paid HubSpot subscription is required.

FAQ

Will this create duplicate contacts in my HubSpot?

No. PinLeads upserts by email — if a contact with that email already exists, it gets updated instead of duplicated. Companies are also upserted by domain to avoid duplicates.

What happens if a lead has no email?

It is skipped from the HubSpot sync (email is required for safe deduping). The lead still appears in your PinLeads results and can be exported via CSV if needed.

Can I use Zapier and HubSpot at the same time?

Yes. Both integrations fire independently when a scrape completes. This is useful if you want HubSpot for sales and a Google Sheet for archival or Slack for notifications.

What HubSpot data does PinLeads access?

Only contacts and companies (read + write). PinLeads never reads or writes deals, tickets, emails, or any other CRM object. The OAuth scopes are minimal: crm.objects.contacts.read/write, crm.objects.companies.read/write, and crm.schemas.contacts.read.

How do I disconnect HubSpot?

Go to Account Settings → HubSpot Integration → Disconnect. Tokens are revoked with HubSpot and removed from our database immediately.

Is this in the HubSpot App Marketplace?

We are in the process of submitting the app for marketplace listing. In the meantime, the integration works fully via direct OAuth and will be available to all Pro/Business users immediately.

Does this work with multi-scrape jobs?

Yes. The HubSpot sync fires after both single-scrape and multi-scrape jobs complete. All leads from the job are synced in a single batched operation.

Can I customize the lifecycle stage?

Yes. In Account Settings, you can choose the default lifecycle stage for new contacts (Subscriber, Lead, Marketing Qualified Lead, Sales Qualified Lead, Opportunity, Customer).

What if the sync fails?

PinLeads logs each sync attempt in your Account Settings delivery log. You can see success/failure status, number of contacts/companies created, and any error messages. Sync failures are logged but don't block your scrape from completing.

Can I filter which leads get synced?

Currently, all leads with an email are synced. We plan to add filtering options in a future update (e.g., only sync leads with phone, skip leads below a certain rating, etc.).

Is my data secure?

Yes. OAuth tokens are encrypted at rest using AES-256-GCM. All API calls use HTTPS. PinLeads never stores your HubSpot password — only an access token that can be revoked at any time.

Getting Started

Ready to connect HubSpot?

  1. Upgrade to Pro or Business if you're on the free plan
  2. Go to Account Settings and click "Connect HubSpot"
  3. Approve the OAuth consent screen
  4. Click "Send Test Contact" to verify
  5. Start scraping — leads will flow automatically

The setup takes about 30 seconds. Once connected, you'll never have to manually export and import leads again.

Learn more about HubSpot Integration →

Ready to automate your local lead generation?

Ready to automate your local lead generation?

Stop manually searching. Use PinLeads to extract thousands of verified B2B leads in minutes.