Explore AI Summary

n8n lead generation: 10 enrichment recipes, plus Zapier

Thumbnail for 10 n8n lead generation and Zapier recipes that find, enrich and route leads with Scalelist, each with trigger, steps and credit cost.

Contents

These 10 recipes automate lead generation in n8n and Zapier: each one finds or enriches a lead with Scalelist and routes it where your team works. The five n8n recipes call the Scalelist API through n8n’s HTTP Request node, so they are labeled “via the API”. The five Zapier recipes use the Scalelist Zapier app and its two actions, Email Finder and Mobile Finder.

Every recipe lists its trigger, its steps, what one run costs in credits and what to do when a step fails.

How to use these recipes

Pick a recipe by its trigger, copy the steps, then swap in your own apps. Test every recipe on five contacts you know before you switch it on.

Table of 10 n8n lead generation and Zapier recipes with trigger and credits per run, from 1 credit per email found to 20 per mobile found, 0 on a miss.
Every recipe charges only for data found, so a run that finds nothing costs 0 credits.
  • n8n, once: create a Header Auth credential with the name X-Api-Key and your Scalelist API key as the value. In each HTTP Request node, set the method to POST, the URL to an endpoint on https://api.scalelist.com, and send a JSON body.
  • Zapier, once: add the Scalelist app to a Zap and connect your Scalelist account when Zapier asks. Recipes with more than one action need a paid Zapier plan: the Free plan allows two-step Zaps only.
  • Map fields from a real run: the API reference does not publish response schemas for the find and search endpoints yet. Run each node once on a known contact and map from what comes back.
  • Know both bills: Scalelist charges credits for data found. Zapier counts tasks per action, and n8n counts one execution per workflow run, whatever the number of nodes.
Zapier lead generation vs n8n: the Scalelist Zapier app has 2 actions and no trigger; n8n calls every Scalelist API endpoint through the HTTP Request node.
Pick Zapier for one-record enrichment with no code, and n8n when you need bulk tasks, people search or branching.

n8n lead generation recipes (via the Scalelist API)

n8n lead generation with Scalelist runs through n8n’s HTTP Request node: n8n sends the request, and Scalelist returns the email, the mobile or the people. That route also reaches the bulk and search endpoints, which the Zapier app does not have.

Recipe 1: A mobile for every new signup

Recipe 1 (n8n, via the API): signup to mobile in Slack
Trigger: Webhook node receives your signup form (work email, name, company).
Step 1: HTTP Request, POST /api/v1/phone/find with {"email": "<signup email>", "custom": {"signup_id": "<id>"}}.
Step 2: If node: did a mobile come back?
Step 3, yes: Slack message to the owning rep with name, company and mobile.
Step 3, no: add the lead to your email-only follow-up.
Credits per run: 20 if a mobile is found, 0 if not.
If it fails: Retry On Fail on the HTTP node, and On Error set to "Continue (using error output)" so a failed lookup still reaches the follow-up. Post the error to an #ops-alerts channel.
  • Why it works: /phone/find accepts a work email on its own, so the form stays short and the rep still gets a number.
  • Use it when: inbound demo requests or trials matter enough to call within the hour. The mobile number API page has the full field list.
Annotated n8n lead generation workflow: webhook signup, HTTP Request to /api/v1/phone/find with email and custom ID, retry and error output, then an If node to Slack.
Five nodes, one credit rule: the workflow pays 20 credits only on the runs that hand a rep a number.

Recipe 2: Nightly CRM phone backfill in tasks of 100

Recipe 2 (n8n, via the API): nightly phone backfill with a webhook
Trigger: Schedule Trigger, every night at 2:00.
Step 1: CRM node: contacts with no phone number, capped at 300 per night.
Step 2: Loop Over Items in batches of 100.
Step 3: HTTP Request, POST /api/v1/phone/bulk, header Idempotency-Key "phones-<date>-<batch>", body {"webhook_url": "<URL of workflow B>", "requests": [{"first_name", "last_name", "company_domain", "custom": {"crm_id"}}]}.
Workflow B: Webhook node receives the results, updates each contact by custom.crm_id and stamps "phone checked <date>", misses included.
Credits per run: 20 per mobile found. The 300-contact cap limits a night to 6,000 credits.
If it fails: a 402 means there are not enough credits to start the batch, so stop and alert. On a network error, resend with the same Idempotency-Key within 24 hours: no duplicate task, no second charge.
  • Why it works: one request queues 100 lookups and the results arrive later, so the workflow never waits.
  • Use it when: reps call from the CRM and half the records have no number. Stamping misses stops the job from paying to ask again tomorrow.
n8n lead enrichment flow: nightly schedule pulls 300 contacts, sends batches of 100 to the Scalelist phone bulk API, receives results by webhook and updates the CRM.
Stamping misses is what keeps night two cheaper than night one.

Recipe 3: A weekly list of VPs who just started

Recipe 3 (n8n, via the API): new-in-role VPs every Monday
Trigger: Schedule Trigger, Mondays at 7:00.
Step 1: HTTP Request, POST /api/v1/people/industries/resolve with {"industries": ["logistics"]} to get the exact categories. No credits.
Step 2: HTTP Request, POST /api/v1/people/count with {"job_titles": ["VP of Operations", "Director of Operations"], "industries": [<resolved>], "locations": [{"type": "country", "value": "United States"}], "company_size": {"min": 200, "max": 1000}, "recently_changed_jobs": true}.
Step 3: If node: fewer than 100 matches? If not, post the count to Slack and stop.
Step 4: HTTP Request, POST /api/v1/people/search with the same body and "page_size": 25, passing the returned next_cursor as "cursor" for the next page.
Step 5: HTTP Request, POST /api/v1/email/bulk with each person's name and company domain, results to a second workflow that writes a sheet or CRM list.
Credits per run: 1 per profile returned plus 1 per email found. 60 people with 54 emails found = 114 credits.
If it fails: a search page is capped to your remaining balance, and 0 credits returns 402. Remove people you already contacted before step 5.
  • Why it works: recently_changed_jobs returns only people whose role started in roughly the last three months, and a new leader is a classic outbound trigger. More on timing in finding new executives in their first 90 days.
  • Use it when: you want a fresh, small list each week instead of one big export. The people data API covers every search parameter.

Recipe 4: Target accounts to decision makers

Recipe 4 (n8n, via the API): from account domain to 5 contacts
Trigger: Google Sheets Trigger, row added to your "Target accounts" tab (company domain).
Step 1: HTTP Request, POST /api/v1/people/search with {"company_domains": ["<domain>"], "seniority": ["CXO", "VP", "Head"], "job_functions": ["Operations"], "page_size": 5}.
Step 2: Loop Over Items: HTTP Request, POST /api/v1/email/find with {"full_name": "<name>", "company_domain": "<domain>", "custom": {"account_row": "<row>"}}.
Step 3: Google Sheets, append each person with email and status to a "Contacts" tab.
Credits per run: at most 5 for profiles plus 5 for emails found, so 10 per account.
If it fails: no match returns no profiles and costs 0; write "no match" on the row so nobody retries it by hand.
  • Why it works: sales picks the accounts, the workflow finds the people, so account-based lists stay current without a weekly export.
  • Use it when: your team works a named account list. Add /phone/find for the top two contacts at 20 credits each when you call.

Recipe 5: Route every new contact by email status

Recipe 5 (n8n, via the API): Valid, Risky or call
Trigger: your CRM's new-contact trigger node.
Step 1: HTTP Request, POST /api/v1/email/find with name and company domain.
Step 2: Switch node on the status that came back.
Valid: add to the list your main-domain sequence sends from.
Risky: add to a secondary-domain list, sent in smaller batches.
Nothing found: HTTP Request, POST /api/v1/phone/find, then create a call task.
Credits per run: 1 when an email is found (Valid or Risky); 20 when no email but a mobile is found; 0 when neither is.
If it fails: map the Switch from a real response first, because the reference does not publish the field names yet.
  • Why it works: about 20 to 30% of Risky (catch-all) emails are deliverable, per Scalelist’s help center, so they get a careful send instead of the bin.
  • Use it when: leads arrive outside Scalelist. For lists built inside Scalelist, the sequencer syncs do the same split without a workflow.

Zapier lead generation recipes (Scalelist Zapier app)

Zapier lead generation with Scalelist uses two actions. Email Finder needs a first and last name, with a company name or website. Mobile Finder takes a name, company name or website, email, job title or city.

The app has no trigger, so each Zap starts with a new record in another app. Conditional steps (“only continue if”) and Autoreplay of errored runs are on Zapier’s Professional plan and above.

Recipe 6: Web form lead to CRM with a mobile

Recipe 6 (Zapier): form lead gets a mobile and a rep alert
Trigger: your form app's new-submission trigger (HubSpot, Typeform, Webflow…).
Step 1: Scalelist, Mobile Finder: First Name, Last Name, Company Name, Email.
Step 2: Only continue if a mobile came back.
Step 3: HubSpot, update the contact's phone field.
Step 4: Slack, direct message to the contact owner.
Credits per run: 20 if a mobile is found, 0 if not.
If it fails: turn on Autoreplay. Test the Zap with a contact you know has no mobile, to see what Mobile Finder returns on a miss.
  • Why it works: the email from the form is one of the inputs Mobile Finder accepts, alongside name and company.
  • Use it when: you want speed to lead without code. It works with any CRM Zapier can update.

Recipe 7: New Salesforce lead gets a verified email

Recipe 7 (Zapier): Salesforce lead without email
Trigger: Salesforce, new lead.
Step 1: Only continue if the lead's Email is empty.
Step 2: Scalelist, Email Finder: First Name, Last Name, Company Website.
Step 3: Salesforce, update the lead: Email, plus a custom "Email status" field.
Credits per run: 1 if an email is found, 0 if not.
If it fails: Autoreplay covers errors; the step 1 condition stops a replay from overwriting an email a rep typed in.
  • Why it works: Salesforce has no native Scalelist integration yet, and this Zap closes the gap for new leads. See the Salesforce integration guide for the other routes.
  • Use it when: reps create leads by hand from calls or events and skip the email field.

Recipe 8: New Pipedrive person gets a mobile and a call task

Recipe 8 (Zapier): Pipedrive person to a call today
Trigger: Pipedrive, new person.
Step 1: Scalelist, Mobile Finder: First Name, Last Name, Company Name, Job Title.
Step 2: Only continue if a mobile came back.
Step 3: Pipedrive, update the person's phone.
Step 4: Pipedrive, create a Call activity due today.
Credits per run: 20 if a mobile is found, 0 if not.
If it fails: Autoreplay, plus a weekly look at Zap history for runs that stopped at step 2.
  • Why it works: Job Title separates two people with the same name at one company.
  • Use it when: your team books meetings by phone and Pipedrive is the CRM.

Recipe 9: New sheet row gets a verified email

Recipe 9 (Zapier): Google Sheets row to email
Trigger: Google Sheets, new spreadsheet row.
Step 1: Scalelist, Email Finder: First Name, Last Name, Company Website.
Step 2: Google Sheets, update the row: Email, Status, date checked.
Credits per run: 1 if an email is found, 0 if not.
If it fails: Autoreplay; leave the Email cell empty on a miss so a teammate sees which rows need another source.
  • Why it works: teammates add rows all week and each one fills itself.
  • Use it when: rows arrive one by one. For a sheet you enrich in one go, the Google Sheets add-on does it without Zapier.

Recipe 10: Event registrants to a call list

Recipe 10 (Zapier): registrant to call list
Trigger: your webinar or event app's new-registrant trigger.
Step 1: Scalelist, Mobile Finder: First Name, Last Name, Email, Company Name.
Step 2: Only continue if a mobile came back.
Step 3: Google Sheets, add a row to the "Call list" tab, or send it to your dialer.
Credits per run: 20 if a mobile is found, 0 if not. 200 registrants cost at most 4,000 credits.
If it fails: Autoreplay; registrants with no mobile found cost 0 and simply stay off the call list.
  • Why it works: a registrant already knows your name, so the first call is not a cold one.
  • Use it when: you run webinars or events and have reps who call.

Mistakes to avoid

Most broken lead generation automations fail in the same five ways. Each one costs credits, tasks or deliverability.

  • Looping single calls for a backfill. Send bulk tasks of 100 with a webhook instead of 1,000 parallel single calls.
  • Re-enriching the same contact every night. Store the result and the date, misses included.
  • Mapping fields before you see a response. Run one real call first; the schemas are not published yet.
  • Sending Risky emails from your main domain. Route them to a secondary domain, as in recipe 5.
  • No cap on scheduled runs. Limit contacts per run, and treat a 402 as a stop signal, not a retry.

Where Scalelist fits, and when to skip the workflow tool

A workflow tool is worth it when leads start outside Scalelist. When they start inside it, or when the job needs judgment, another route is shorter.

Decision tree for lead generation automation: Zapier app for single records, n8n via the Scalelist API for volume, direct sync from Scalelist, or Claude with the MCP server.
Build a workflow only when the leads start outside Scalelist; otherwise the shorter route already exists.
  • Leads found in Scalelist, going to a sequencer: push them directly; no workflow needed.
  • Judgment steps, such as which accounts to pick or what to say: run the same credits from Claude with the Scalelist MCP server, or schedule it as a Claude Code outbound agent.
  • Leads in Clay: call the same endpoints from an HTTP column, as the Clay API guide shows.
  • Your own code: the Scalelist API reference hub lists every endpoint with its credit cost.

All connectors and their status are on the Scalelist integrations page.

Get an API key and run recipe 1 on your next five signups

Get 20 credits to test it

FAQ

What is n8n lead generation?

n8n lead generation means using n8n workflows to find, enrich and route sales leads automatically. A trigger such as a form, a schedule or a new CRM record starts the workflow, an HTTP Request node calls a data API such as Scalelist for emails, mobiles or people, and later nodes write the result to your CRM, a sheet or Slack.

Does Scalelist have an n8n integration?

No. There is no Scalelist node in n8n. n8n calls the Scalelist REST API through its generic HTTP Request node, with your key in an X-Api-Key header. That route reaches every endpoint, including bulk tasks with webhooks and people search, and charges the same credits as the app.

Does Scalelist work with Zapier?

Yes. The Scalelist Zapier app has two actions: Email Finder, which finds a work email from a name and company details, and Mobile Finder, which finds a mobile from a name, company or email. It has no trigger, so each Zap starts in another app, such as a form, a CRM or a spreadsheet.

How much does one recipe run cost?

It depends on what is found: 1 credit per email found, 20 per mobile found and 1 per profile a search returns. A run that finds nothing costs 0. On top of that, Zapier counts tasks for each action, and n8n counts one execution per workflow run.

Can I build these recipes in Make?

Make is listed on the Scalelist integrations page, but we have not verified a Scalelist module in Make, so this page has no Make recipes. The recipes here cover the Scalelist Zapier app and n8n through the Scalelist API.

How do I avoid paying twice for the same lookup?

Store every result with the date, misses included, and check that store before you call Scalelist again. For bulk tasks, send an Idempotency-Key header: repeating the same key and body within 24 hours returns the original task, with no duplicate and no extra credits.

Sources

Arnaud Renoux

Co-Founder at Scalelist