FisherLeads

Airtable integration

New store leads, straight into Airtable

Turn FisherLeads into a live source of records for Airtable. Every newly launched store that matches your filters lands in your base the day it goes live, typed and ready for your views, your team and your automations.

Overview

Airtable is where many teams keep the work that a spreadsheet cannot hold well. It gives you typed fields, single and multiple select options, linked records, views and a clean interface, which makes it a natural home for a list of leads that people actually work rather than just store.

FisherLeads is where you find online stores the moment they launch, each one confirmed live and enriched with the founder contact, the platform it runs on and the tech behind it. Connect the two and your Airtable base fills itself with fresh, high intent leads. As soon as a new store matches the filters you set, FisherLeads sends it over and a record appears in your base, typed and ready to sort, group and assign.

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

What you can do

Create a record per store

Every matching new store becomes an Airtable record, with its domain, platform, country and niche in typed fields you can sort and filter.

Enrich with founder contact

The verified owner email and social profiles land on the record, so your team can start outreach the day a store goes live.

Only the stores you want

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

Trigger automations

A newly created record can fire an Airtable automation: post to Slack, send an email, set a status or assign an owner, with no extra tools.

How the integration works

There are three ways to connect FisherLeads to Airtable. Most people start with Zapier because it needs no code and maps fields with a few clicks. Teams with a developer often prefer a direct webhook or the REST API for full control over how records are shaped and deduplicated. 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 without changing anything on the FisherLeads side.

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 record in your Airtable base. No code, about ten minutes, and you set it up once. Available on the Enterprise plan.

1

Prepare your Airtable base

Create or open the base and table that will hold your leads. Add the fields you want to fill, for example Domain, Merchant, Website, Country, Niche, Email and Status, choosing a field type that suits each one.

2

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.

3

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.

4

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.

5

Add the Airtable action

Add a second step, choose Airtable, and select the Create Record action. Pick your base and table, then map each store field to the matching Airtable field: Domain, Merchant, Website, Country, Niche, Email and the rest.

6

Publish

Turn the Zap on. From now on, every new store that matches your filter becomes a record in your base within seconds of launching, with nothing more to do.

Each delivery can carry up to 50 new stores at once. To create a record for every store in a batch, add a Looping by Zapier step before the Airtable 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 Airtable 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 your table fields and create records in one call.

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 write anything into your base.

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 create or update records in Airtable 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 Airtable fields when you build your Zap or your own sync, and pick a field type that matches so your views and filters work well.

FisherLeads fieldExampleSuggested Airtable field
domainexample.comDomain (single line text, unique)
urlhttps://example.comWebsite (URL)
merchantExample Beauty CoMerchant (single line text)
platformshopifyPlatform (single select)
site_typeecommerceSite type (single select)
countryUSCountry (single select)
nichebeautyNiche (single or multiple select)
launched2026-06-30Launched (date)
emailhello@example.comEmail (email field)
phone+1 555 010 1234Phone (phone or text)
socialsinstagram, tiktok…Socials (long text or URL)
techKlaviyo, Meta PixelTech (multiple select)
product_count42Product count (number)
revenue_bandSmallRevenue band (single select)

Choose which stores sync

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

Filtering at the source keeps your base clean and keeps your Zapier task usage down, since Zapier only ever sees the stores that matter to you. It also means a view in Airtable can stay simple, because the rough sorting already happened before the record arrived.

Keeping records unique

Airtable does not enforce uniqueness on its own, so two deliveries for the same domain could in theory create two records. The fix is simple. Keep a Domain field and treat it as your key. In Zapier, add a Find Record step that searches your table for the incoming domain, then use a path or a Create or Update style action so an existing record is updated instead of duplicated.

FisherLeads also deduplicates on its side. Each store is sent once, when it first matches your filter, so you will not receive the same launch twice. Between that and a Domain key in Airtable, your base stays one record per store.

Airtable automations and interfaces

Because each new store lands as a real Airtable record, everything Airtable already does on record creation works. An automation can fire the moment a record is created to post the new store to a Slack channel, send an email to the owner of a sales queue, set a Status of New, or assign a rep by filling an owner field.

Interfaces then give your team a clean board over the same data, with the newest launches up top, grouped by platform or country, so a rep can pick up a store and start working it without ever touching the raw table. The result is a lead desk that refills itself as stores go live.

Freshness, retries and reliability

Stores reach your base 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 Airtable bases. Nothing from your base ever comes back to FisherLeads. What lands in Airtable is the public store data in the table above.

Best practices

  • Filter tightly at the webhook so your base only fills with stores that match your ideal customer.
  • Keep a Domain field and use it as your key, with a Find Record step, so updates land on the right record and never duplicate.
  • Give each field a type that matches the data, so single select, date, URL and email fields power clean views and filters.
  • 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 Airtable, then widen the filter.

Questions

Start sending new stores to Airtable

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