INTEGRATIONS · MAKE

ZipLead and Make: a custom webhook, then a router.

Yes. ZipLead posts a JSON webhook to one URL you save in Settings, and Make's Custom webhook module receives it. There is no ZipLead app in Make's directory, so you use that generic module and route on the event name. On the ZipLead side, The Webhook URL field is on Command ($179/mo), the plan that includes API access. Operator and the free plan do not have it.

SETUP

Six steps, and the one people skip.

STEP 01

Add the webhook module

In Make, create a new scenario and click the big plus. Search for Webhooks and pick Custom webhook. Click Add, give it a name, Save. Make shows an address on hook.<region>.make.com. Copy it.

STEP 02

Paste it into ZipLead

In ZipLead, open the dashboard and click Settings in the left sidebar. Scroll to the section titled Webhook URL. Paste the address into the field and click Save.

STEP 03

Send the test

A Send test payload button appears under the field once a URL is saved. Click it while the Make module is listening. Make reports Successfully determined and now knows the fields event, timestamp and data.

STEP 04

Re-determine after the first real event

The test's data field only has message and userId. Real events carry different fields (see the table). After the first real event lands, open the webhook module and click Re-determine data structure so the real fields show up for mapping.

STEP 05

Route on the event name

Add a Router after the webhook. On each route set a filter: event, Text operator Equal to, and the event you want (prospect.gold, pipeline.moved, and so on). For one bundle per prospect, put an Iterator on data.prospects.

STEP 06

Add your modules and switch it on

Google Sheets, Slack, a CRM, an HTTP module to your own system. Then set scheduling to Immediately as data arrives and turn the scenario on. Run a search in ZipLead to see scrape.completed come through.

THE EVENTS

Everything ZipLead will send.

Same URL for all of them. Filter on the event field in the body or the X-ZipLead-Event header.

EventWhen it firesWhat data holds
test.pingYou click Send test payload in Settings.message, userId
scrape.completedA search finishes.jobId, location, radius, industries, totalProspects
prospect.enrichedYou enrich prospects in a search.jobId, enrichedCount, prospects (id, name, score, tier)
prospect.goldA prospect you just enriched scores 85 or higher, the Hot tier. Sent alongside prospect.enriched.jobId, count, prospects (id, name, score, tier)
pipeline.movedYou move one or more prospects to a new pipeline stage.prospectIds, newStatus, prospects (id, name)
alerts.raisedThe weekly monitoring run finds changes, and only if the Webhook switch under Alert delivery is on.count, alerts (prospectId, prospectName, type, severity, message)
THE PAYLOAD

What one request looks like.

WHAT ARRIVESONE POST PER EVENT
POST https://your-endpoint
Content-Type: application/json
User-Agent: ZipLead-Webhook/1.0
X-ZipLead-Event: prospect.gold

{
  "event": "prospect.gold",
  "timestamp": "2026-09-09T18:20:11.000Z",
  "data": {
    "jobId": 4127,
    "count": 2,
    "prospects": [
      { "id": 88213, "name": "Coastline Drain Co.", "score": 91, "tier": "PRIME" },
      { "id": 88240, "name": "Peak Electric", "score": 86, "tier": "PRIME" }
    ]
  }
}
BEFORE YOU BUILD ON IT

The limits, stated plainly.

One URL per account

There is a single Webhook URL field. Every event goes to it. If you want Zapier and Make both, catch it once and fan out from there.

HTTPS only

The field rejects anything that does not start with https://.

One attempt, no retry

ZipLead sends each event once and waits up to 10 seconds for a 2xx. If your endpoint is down or slow, that event is gone. It does not queue and it does not try again.

Not signed

There is no signing secret or HMAC header. If you need to know a request really came from ZipLead, put a secret in the URL itself (Zapier and Make URLs already are unguessable) and check it on your side.

Names, scores and tiers. Not phone numbers.

The prospect events carry id, name, score and tier. They do not carry phone, website, address or email. For the full record, download the CSV or call GET /api/v1/prospects with the job_id from the event.

Tier values are the stored names

tier arrives as PRIME, SOLID, WATCH or SKIP. The app shows those as Hot, Warm, Cold and Skip. Same thing, older names.

QUESTIONS

Make questions, answered straight.

Do I need the Command plan for Make?

Yes. Webhooks and the REST API are the two things Command adds on top of Operator, along with 200 searches and 500 enrichment credits a month instead of 100 and 100. On Operator you can still export a CSV and import it wherever you want.

Why does Make show the wrong fields?

Because it learned the structure from the test payload, whose data field only carries message and userId. Send a real event (run a search, or move a prospect in the pipeline), then open the webhook module and click Re-determine data structure.

Can I use Make and Zapier at the same time?

Not directly. ZipLead has one Webhook URL field, so every event goes to one place. Point it at Make and use an HTTP module to forward to Zapier if you need both, or the other way round.

Does the webhook give Make the phone number?

No. Prospect events carry id, name, score and tier. For the phone, website and address, download the CSV from the search, or have Make call GET /api/v1/prospects?job_id=<jobId> with your API key from Settings, which returns the full records.

Wire it to a real search.

5 free searches a month, no card, so you can see the data before you pay for the webhook. On Zapier instead? That page is here.

Run a free search