# Zapier, Make and n8n via webhook

Source: https://listplus.ai/en/help/export-sync-integrations/zapier-make-n8n
Last updated: 2026-10-15

ListPlus doesn't have a native app in the Zapier, Make or n8n
marketplaces. You connect all three the standard way these tools
support any service: a webhook. ListPlus sends your list's data out as JSON
to a URL you paste in, and each of the three has a matching trigger (Zapier's
"Catch Hook", Make's "Custom webhook" module, n8n's "Webhook" node) that
receives it.

## Sending your list out via webhook

Open the list, click **Export** in the list header, then click **All
destinations** next to "Send to an app" (webhook isn't one of the three
apps shown by default) and pick **HTTP Request** — it's under the **Data &
automation** tab, or search "HTTP". For n8n, use HTTP Request too, not the
separate n8n tile.

On the next screen:

- **Endpoint URL** — paste the URL your Zapier catch hook, Make webhook
  module or n8n webhook node gives you, and pick the HTTP method (**POST**,
  **PUT** or **PATCH**; POST is what all three expect).
- **Delivery Mode** — how your rows are grouped into requests:
  - **One request per record** (default) — one HTTP call per row. This is
    what the app recommends for Zapier and Make.com, since each call fires
    one automation run there.
  - **Batched (multiple records per request)** — a chosen number of rows per
    call (**Records per request**, 1–1000, default 100). Suggested for
    custom APIs.
  - **All records in a single request** — every row in one call. Suggested
    for a custom endpoint (n8n can take this too).
    A tag under the setting shows the resulting request count, e.g. "3
    requests for 250 records".
- **Include enrichment data** — off by default. Turn it on to attach an
  extra object of enrichment results to each record, including values
  Enrich has already found for that row but you haven't filled into the
  list's cells yet (see "[Exporting your list](https://listplus.ai/en/help/export-sync-integrations/export-overview)" for how unfilled enrichment
  is otherwise excluded).
- **Authentication** (optional, collapsed by default) — None (the URL
  itself is treated as the secret, the default for most Zapier/Make/n8n
  hooks), Bearer Token, API Key Header, Basic Auth, or Custom Header.
- **Custom Headers** (optional) — add any extra header name/value pairs your
  endpoint needs.

Click **Send Test Record** to send the first record of your export to the
endpoint before committing to the full send — useful in Make.com, which
uses the test call to detect the data structure for the rest of your
scenario. It shows the response status and body. When you're ready, click
**Send N records** to run the real export.

## What actually happens when you click Send

ListPlus's own server makes the HTTP calls (not your browser), one request
at a time, waiting up to 30 seconds for each response. If a call fails, it
isn't retried automatically — it's counted as failed and the run continues
with the next one. When it's done you get a toast: "N records sent
successfully", or "N records sent, N failed" if some calls didn't succeed.

## Example payload

With **One request per record**, each call looks like this (your actual
column names replace `email`/`firstName`):

```json
{
  "record": {
    "email": "jane@acme.com",
    "firstName": "Jane",
    "company": "Acme"
  },
  "meta": {
    "listId": "…",
    "listName": "Q3 Leads",
    "totalRecords": 250,
    "exportedAt": "2026-09-25T10:00:00.000Z",
    "columns": [ … ],
    "recordIndex": 0,
    "deliveryMode": "one_by_one",
    "includesArData": false,
    "source": "listplus"
  }
}
```

**Batched** and **All records in a single request** send `"records": [...]`
(an array) instead of `"record"`, plus `batchIndex`, `batchCount` and
`recordCount` in `meta`. Each record contains your list's columns plus a
stable row ID; other internal fields are stripped; enrichment values only
appear if you turned Include enrichment data on.

## Is this triggered automatically?

Not from the export wizard: there, sending is a manual action — you open
the wizard and click Send each time you want to push the current data out.
For automatic sending, use a list trigger that hands rows to a webhook
pipeline whose Release is set to Automatic (see below).

## Alternative: a webhook pipeline

For a steady flow of single records rather than a whole-list export, use a
**pipeline** with the **Webhook** target ("To n8n, Zapier or Make" on the
Pipelines start page). You add rows from any list or contacts from the Watchlist,
and each one is sent as its own signed JSON request when someone clicks
Send. Every record uses fixed field names (such as `email`, `first_name`,
`company_name`) whatever your columns are called, so one Zap or scenario
works for all your lists, and each record shows afterwards whether it was
sent. A webhook pipeline costs credits per delivered record (see the price
list; the export wizard's webhook stays free) and sends when you click Send
— or by itself if Release is set to Automatic. See "[Pipelines to Slack, CRMs,
sequencers, Sheets and webhooks](https://listplus.ai/en/help/pipelines/pipelines-crm-slack-and-webhook)".

## Getting data into ListPlus from Zapier, Make or n8n

Three ways don't need a native app either:

- **A list webhook.** For records that belong in one list — form
  submissions, new leads, sign-ups — give that list its own webhook: in
  the list click the **Set up** icon next to the list's name → **Webhook** → **Create
  webhook**, and POST JSON to the URL from Zapier's "Webhooks by Zapier"
  action, Make's HTTP module or an n8n HTTP Request node. Fields land in
  the matching columns without a mapping step and duplicates are merged;
  if you like, spam, test entries and invalid addresses wait in the Inbox
  for your decision instead (off by default). It costs no credits on
  every plan, within daily limits per plan. See "[List webhooks: receive
  records from forms and tools](https://listplus.ai/en/help/lists-and-import/list-webhooks)".
- **The per-list API connection.** Each list can get its own secret URL that
  works as a REST API and an MCP server, which Zapier's, Make's or n8n's
  generic HTTP/REST modules can call to read, add, update or enrich rows in
  that list. The workspace owner or an admin sets it up from the list
  header: click **More** → **Automation** → **Set up agent access** (or
  **Add API Endpoint** if the list already has one). It's included on every
  plan; enrichment triggered through it costs
  the same credits as doing it in the app. Its setup screen has ready-made
  examples for Zapier, Make and n8n. See the API connection topic for
  the full setup.
- **Your Inbox intake address.** In Flows, open **Inbox → Webhook &
  automations** and click **Create webhook** (or use the ⋮ on that row) to get a webhook URL that anything can POST to — pasted text, a
  CSV or JSON snippet, a calendar invite (.ics file). The page shows a
  ready-made snippet for n8n's HTTP Request node and Zapier's Webhooks
  module; Make's HTTP/Webhooks module works the same way (POST JSON or
  plain text). The same screen also shows your personal forwarding address
  for this workspace — useful if the tool notifies you by email rather than calling a
  webhook. Keep attachments under about 3 MB in total — larger e-mails
  may not arrive — and note that Excel files and scanned PDFs are skipped. Whatever arrives lands in the workspace's shared Inbox for you to review and
  turn into contacts (recognition costs credits per run) — see "[The
  Inbox](https://listplus.ai/en/help/inbox-and-saved/inbox)" topic for limits and how recognition works.

## Cost

Sending your list out via webhook costs no credits, including with Include
enrichment data turned on — it only attaches results already looked up, it
doesn't trigger new lookups. Getting data in via a list webhook, the API
connection or the Inbox intake address costs no credits to receive; credits are only spent the
same way they normally are — enrichment, and recognizing contacts in the
Inbox (a price per run, whatever the format; all prices are in "[Price list: what every action costs](https://listplus.ai/en/help/plans-credits-billing/price-list)").

**Related topics:** export-overview · send-to-sequencers ·
export-to-hubspot-and-sheets · pipelines-crm-slack-and-webhook ·
sync-overview.

## FAQ

### Does ListPlus have a native Zapier, Make or n8n app?

No, not in any of those three marketplaces. You connect through a generic HTTP Request/webhook destination in ListPlus's export wizard instead — it POSTs JSON to a URL, which is exactly what Zapier's Catch Hook, Make's Custom webhook module and n8n's Webhook node are built to receive.

### How do I send my list to Zapier, Make or n8n?

Click Export in the list header, click All destinations, and pick HTTP Request (it's under the Data & automation tab, or search "HTTP"). Paste the URL your Zapier/Make/n8n webhook trigger gave you, pick a delivery mode, and click Send N records.

### Where is the webhook/HTTP Request option in the export wizard?

It isn't one of the three apps shown right away (Google Sheets, HubSpot, Lemlist). Click All destinations next to "Send to an app", then open the Data & automation tab or search "HTTP Request" (searching "webhook" won't find it). For n8n, use HTTP Request too, not the separate n8n tile.

### What's the difference between the delivery modes?

One request per record sends one HTTP call per row (recommended for Zapier and Make.com, since each call triggers one run there). Batched sends a set number of rows per call (1–1000, default 100). All records in a single request sends everything in one call (recommended for a custom endpoint).

### What does the data sent to my webhook actually look like?

Each request is JSON. One request per record sends `{"record": {...your columns...}, "meta": {...}}`; Batched and All-at-once send `{"records": [...], "meta": {...}}` with `batchIndex`/`batchCount` added. Each record carries your columns plus a row ID; other internal fields are stripped; enrichment results are only included if you turn on Include enrichment data.

### Can I test the webhook before sending my whole list?

Yes. Click Send Test Record to send the first record of your export to your endpoint and see the response status and body — this is also how Make.com detects the data structure for the rest of your scenario.

### Can I add authentication or custom headers to the request?

Yes. The Authentication section supports Bearer Token, API Key Header, Basic Auth or Custom Header (default is None, treating the URL itself as the secret), and you can add any number of extra custom headers separately.

### Does the webhook send automatically, or do I have to trigger it every time?

The export wizard's webhook is manual only: you click Send each time, and it is free. For automatic sending, set up a list trigger that hands rows to a webhook pipeline with Release set to Automatic; pipeline deliveries cost credits per record.

### Should I use the export webhook or a webhook pipeline for Zapier, Make or n8n?

Use the export webhook to send a whole list (or a selection) once, with your own column names and a choice of batching. Use a pipeline with the Webhook target to hand over single records from any list or the Watchlist over time, with fixed field names, a signature and a per-record sent status; both only send when you click, unless the pipeline's Release is set to Automatic, in which case it also sends by itself.

### How do I get data into ListPlus from Zapier, Make or n8n instead of out?

For records that belong in one list, give the list its own webhook (in the list: Set up → Webhook → Create webhook) and POST JSON to it: fields land in the matching columns, at no credit cost on every plan. For unstructured content, send it to your personal Inbox intake webhook URL (Flows → Inbox → Webhook & automations → Create webhook) and recognize the contacts there. To read, update or enrich rows from those tools, use the list's API connection (list header → More → Automation).

### Does sending to a webhook cost credits?

No. Sending via webhook costs no credits, even with Include enrichment data on, since it only attaches results already looked up rather than triggering new lookups.
