FisherLeads

HubSpot integration

New store leads, straight into HubSpot

Turn FisherLeads into a live source of companies and contacts for HubSpot. Every newly launched store that matches your filters lands in your CRM the day it goes live, enriched and ready to work.

Overview

HubSpot is one of the most widely used customer relationship management platforms. FisherLeads is where you find online stores the moment they launch, each one confirmed live and enriched with the founder contact, platform and tech it runs.

Connecting the two means your HubSpot fills itself with fresh, high intent leads. As soon as a new store matches the filters you set, FisherLeads sends it over, and a company or contact appears in HubSpot, ready for your reps or your workflows. There is nothing to export by hand and no nightly batch to wait on.

FisherLeads does not install a native button inside HubSpot. Instead it pushes new matching stores to you in real time as a signed webhook, which you route into HubSpot with Zapier in a few clicks, or with your own code, or you pull the same feed from the REST API. This guide covers all three.

What you can do

Create companies and contacts

Every matching new store becomes a HubSpot company or contact, with its domain, platform, country and niche filled in.

Enrich with founder contact

The verified owner email and social profiles land on the record, so outreach can start on the first day.

Kick off sequences

A newly created record can trigger a HubSpot workflow or sequence automatically, the moment a store goes live.

Only the stores you want

Filter by platform, country, niche, revenue band or verified email, so your CRM only fills with leads that fit.

How the integration works

There are three ways to connect FisherLeads to HubSpot. Most people start with Zapier because it needs no code. Teams with a developer often prefer a direct webhook or the REST API for full control. All three carry the same store data, described further down.

Pick the one that fits your team. You can always start with Zapier and move to a direct integration later.

Set it up with Zapier (no code)

The fastest path, and the one most teams use. FisherLeads sends each new store to Zapier, and Zapier creates the company in HubSpot. No code, about ten minutes, and you set it up once. Available on the Enterprise plan.

1

Add a webhook in FisherLeads

In the dashboard, open Developers and add a webhook. Give it a filter, for example Shopify, US, verified email, so you only receive the stores you care about.

2

Create a catch hook in Zapier

Start a new Zap and choose Webhooks by Zapier as the trigger, with the Catch Hook event. Zapier generates a unique URL for you to copy.

Zapier generates a unique Catch Hook URL to copy.
Zapier generates a unique Catch Hook URL to copy.
3

Paste the URL and send a test

Copy the Zapier URL into your FisherLeads webhook, then press Test in the dashboard. Zapier catches the event so it can read the real store fields.

Zapier catches the live event from FisherLeads.
Zapier catches the live event from FisherLeads.
4

Add HubSpot as the action

Add a second step to the Zap and pick HubSpot from the app list.

Pick HubSpot as the action app.
Pick HubSpot as the action app.
5

Choose Create Company and connect

Select the Create Company action and connect your HubSpot account. A store is a company, so Create Company is the right action for store leads.

Create Company, connected to your HubSpot account.
Create Company, connected to your HubSpot account.
6

Map the store fields

Map the FisherLeads fields to HubSpot properties. At a minimum, map Domain to Company domain name, the field HubSpot keys companies on. Add Merchant to Company name, Url to Website URL and Country to Country or region for a richer record.

Map FisherLeads fields to HubSpot properties.
Map FisherLeads fields to HubSpot properties.
7

Test it

Run the test. A real store appears as a company in HubSpot in about a second, named and keyed on its domain.

A real FisherLeads store, created as a HubSpot company.
A real FisherLeads store, created as a HubSpot company.
8

Publish

Publish the Zap. From now on, every new store that matches your filter flows into HubSpot automatically, with nothing more to do.

Published. Your Zap is live.
Published. Your Zap is live.
Each delivery can carry up to 50 new stores at once. To create a company for every store in a batch, add a Looping by Zapier step before the HubSpot action. For one store per delivery, the steps above are enough.

Use your own webhook

If you would rather not use Zapier, point the FisherLeads webhook straight at your own endpoint and call the HubSpot API yourself. When new stores match, FisherLeads sends a single signed POST with the batch of leads. Each lead has the same shape as the API.

The webhook FisherLeads sends when new stores match.
POST https://hooks.zapier.com/...        (your catch hook URL)
Content-Type: application/json
X-FisherLeads-Event: leads.new
X-FisherLeads-Signature: 3a7f...          (hmac-sha256 of the raw body)

{
  "event": "leads.new",
  "count": 2,
  "leads": [
    {
      "domain": "example.com",
      "url": "https://example.com",
      "merchant": "Example Beauty Co",
      "platform": "shopify",
      "site_type": "ecommerce",
      "country": "US",
      "niche": "beauty",
      "launched": "2026-06-30",
      "email": "hello@example.com",
      "phone": "+1 555 010 1234",
      "socials": { "instagram": "https://instagram.com/examplebeauty" },
      "tech": ["Klaviyo", "Meta Pixel"],
      "revenue_band": "Small"
    }
  ]
}

Every delivery is signed so you can be sure it came from FisherLeads. Compute an HMAC SHA256 of the raw request body with your webhook secret (shown next to the webhook in the dashboard) and compare it, constant time, to the X-FisherLeads-Signature header.

Verifying a delivery in Node.
import crypto from "crypto";

function verify(rawBody, signature, secret) {
  const expected = crypto
    .createHmac("sha256", secret)
    .update(rawBody)
    .digest("hex");
  return crypto.timingSafeEqual(
    Buffer.from(expected),
    Buffer.from(signature),
  );
}

Use the REST API

Prefer to pull rather than be pushed to? The REST API returns the same feed, newest first, with the same filters as the dashboard. Poll it on a schedule and upsert the results into HubSpot from your own code. Read access is on the Business plan; higher limits are on Enterprise.

Pulling new US Shopify stores with a verified email.
curl "https://fisherleads.com/v1/leads?platform=shopify&country=US&has_email=true&page=1" \
  -H "Authorization: Bearer fk_live_your_key_here"

The data you get

Each store brings the fields below, the same shape across webhooks and the API. A field is omitted when we could not confirm it. Map them to standard or custom HubSpot properties when you build your Zap or your own sync.

FisherLeads fieldExampleSuggested HubSpot property
domainexample.comCompany domain name
urlhttps://example.comWebsite URL
merchantExample Beauty CoCompany name
platformshopifyCustom: Platform
site_typeecommerceCustom: Site type
countryUSCountry or region
nichebeautyIndustry, or a custom property
launched2026-06-30Custom: Launch date
emailhello@example.comEmail (on the contact)
phone+1 555 010 1234Phone number
socialsinstagram, tiktok…Custom: Social profiles
techKlaviyo, Meta PixelCustom: Tech stack
product_count42Custom: Product count
revenue_bandSmallCustom: Estimated revenue

Choose which stores sync

You almost never want every new store in your CRM. Each webhook carries a filter, set in the dashboard when you create it, so only matching stores are sent. Filter by platform, country, niche, site type, revenue band and whether the store has a verified email. Create several webhooks with different filters if different teams want different stores.

Filtering at the source keeps HubSpot clean and keeps your Zapier task usage down, since Zapier only ever sees the stores that matter to you.

Avoiding duplicate records

HubSpot deduplicates companies on the domain property and contacts on the email. Map the FisherLeads domain to the HubSpot company domain and use the Create or Update Company action in Zapier (or an upsert in your own code), and HubSpot will update an existing company instead of making a second one.

FisherLeads also deduplicates on its side. Each store is sent once when it first matches, so you will not get the same launch twice.

Trigger HubSpot workflows and sequences

Because each new store lands as a real HubSpot record, everything HubSpot already does on record creation works. Enroll new companies in a workflow, assign an owner, start a sequence, or send an internal Slack or email alert. A store that launched minutes ago can be in an active outreach sequence before your competitors have even found it.

Freshness, retries and reliability

Stores reach HubSpot within seconds of going live. FisherLeads pushes matches as they happen rather than on a nightly batch, so your pipeline is always current.

Deliveries are reliable. Reply with any 2xx status to acknowledge a webhook. If your endpoint errors or times out, FisherLeads keeps the leads and retries on the next pass, and after repeated failures the webhook is paused automatically so a broken URL does not pile up. Use the Test button in the dashboard to send a signed ping and confirm everything is wired before you rely on it.

Plans: webhooks and Zapier are on the Enterprise plan. The REST API read access is on Business, with higher limits on Enterprise.

Security and your data

Every webhook is signed with an HMAC SHA256 of the body using a secret only you and FisherLeads hold, so you can verify each delivery really came from us and was not tampered with in transit.

The integration is one way: FisherLeads sends new stores to you. It does not read, store or scan your HubSpot data. Nothing from your CRM ever comes back to FisherLeads. What lands in HubSpot is the public store data in the table above.

Best practices

  • Filter tightly at the webhook so HubSpot only fills with stores that match your ideal customer.
  • Map the domain to the HubSpot company domain so updates land on the right company and never duplicate.
  • Verify the signature on every delivery if you use your own endpoint.
  • Store the webhook secret somewhere safe and rotate it in the dashboard if it is ever exposed.
  • Start with the Test event and one filter, confirm records look right in HubSpot, then widen the filter.

Questions

Start sending new stores to HubSpot

Get the freshest store leads the day they launch, flowing straight into the tools you already work in.