FisherLeads

Notion integration

New store leads, straight into Notion

Turn FisherLeads into a live feed for a Notion database. Every newly launched store that matches your filters lands as a page in your workspace the day it goes live, ready to sort, filter and work as a board.

Overview

Notion is where a lot of teams already run their day, from docs and wikis to lightweight trackers and simple CRMs. 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 on.

Connect the two and a Notion database becomes a living board of fresh, high intent leads. As soon as a new store matches the filters you set, FisherLeads sends it over and a new page appears in your database, filled in and ready to triage. There is nothing to paste by hand and no weekly cleanup to dread.

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

What you can do

Create a page per store

Every matching new store becomes a page in your Notion database, with its domain, platform, country and niche filled into properties.

Enrich with founder contact

The verified owner email and social profiles land on the page, so your team can reach out without leaving the workspace.

Sort, filter and group

Turn the database into a board, table, calendar or gallery, then filter by platform, country or revenue band to work the list your way.

Only the stores you want

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

How the integration works

There are three ways to connect FisherLeads to Notion. 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 over how pages are shaped. 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, since the data is identical across all three paths.

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 a page in your Notion database. 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.

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.

4

Prepare a Notion database

In Notion, create a database with the properties you want to fill, for example Name, Website, Domain, Platform, Country, Niche, Email and Status. Share it with your Zapier connection so Zapier can see it.

5

Add the Notion action

Add a Notion step and choose Create Database Item. Pick your database, then map the store fields to your properties: merchant to the title, domain, url, email, platform, country, niche and the rest.

6

Publish

Turn the Zap on. From now on, every new store that matches your filter lands as a page in your Notion database within seconds of launching, with nothing more to do.

Each delivery can carry up to 50 new stores at once. To create a page for every store in a batch, add a Looping by Zapier step before the Notion action. For one page 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 Notion 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, so you can map it to Notion properties in whatever way suits your database.

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 before you create any pages.

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 your Notion database 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 Notion properties of the matching type when you build your Zap or your own sync.

FisherLeads fieldExampleSuggested Notion property
merchantExample Beauty CoTitle
urlhttps://example.comURL property
domainexample.comText
platformshopifySelect
site_typeecommerceSelect
countryUSSelect
nichebeautySelect
launched2026-06-30Date
emailhello@example.comEmail property
phone+1 555 010 1234Phone property
socialsinstagram, tiktok…Text or URL
techKlaviyo, Meta PixelMulti select
product_count42Number
revenue_bandSmallSelect

Choose which stores sync

You almost never want every new store in your workspace. 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 boards or teams want different stores.

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

Avoiding duplicate pages

Notion does not enforce unique values on a property, so it will happily create a second page for the same store if you let it. To keep your database clean, add a Find Database Item step in Zapier that searches your Domain property for the incoming domain, then create a page only when none is found, or update the existing one when there is a match.

FisherLeads also deduplicates on its side. Each store is sent once when it first matches, so repeat launches of the same store will not pile up on their own. The Find step protects you against reruns and against overlap between several webhooks pointing at the same database.

Build a pipeline in Notion

Because each new store lands as a real database page, everything Notion already does works on top of it. Add a Status property and switch the database to a board view to drag leads from New to Contacted to Qualified. Add a Person property to assign an owner, and a filtered view per teammate so everyone sees only their stores.

Database and button automations can set a default status, stamp a created date or notify a channel when a page is added, and downstream Zaps can push the same store on to other tools. A store that launched minutes ago can be sitting in the right column, assigned to the right rep, before anyone has opened a spreadsheet.

Freshness, retries and reliability

Stores reach Notion within seconds of going live. FisherLeads pushes matches as they happen rather than on a nightly batch, so your database 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 anything in your Notion workspace. Nothing from your workspace ever comes back to FisherLeads. What lands in Notion is the public store data in the table above.

Best practices

  • Filter tightly at the webhook so your database only fills with stores that match your ideal customer.
  • Add a Find Database Item step on the Domain property so reruns update a page instead of duplicating it.
  • Set the merchant name as the Title property so pages are readable at a glance in every view.
  • Add a Status property and a board view so new stores move through a pipeline instead of piling up.
  • Verify the signature on every delivery if you use your own endpoint, and store the webhook secret somewhere safe.
  • Start with the Test event and one filter, confirm pages look right in Notion, then widen the filter.

Questions

Start sending new stores to Notion

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