Step 2: Enrichment and Filtering
This is the stage clients underestimate and the one that determines whether the leads are usable.
The basic filter: an If node checking whether email is not empty and whether company_size is above the client's floor. Wire the false branch to a Set node that logs the rejected lead to a Google Sheet. Clients ask for that log more often than you'd expect, and having it ready prevents the "why are there only 80 leads?" conversation.
For AI-generated personalization, use the HTTP Request node to call an AI API with a prompt that includes the prospect's name, company, and recent activity. Keep the prompt short. A 400-token prompt that generates a one-sentence opener is faster and cheaper at scale. Cap the output at 200 tokens. At 500 leads per run, every extra token multiplies.
Email verification is worth adding even when clients don't ask. A ZeroBounce or NeverBounce call on each email adds latency (use batch endpoints, not per-lead calls) but drops bounce rates substantially. Clients with active sending domains care about this, and it protects your reputation as the developer.
Step 3: Pushing to the Client's System
Instantly.ai has an official community node for n8n (install it via Settings > Community Nodes). Same for HubSpot and Notion. For tools without native nodes, use HTTP Request and the tool's REST API. For a complete walkthrough of building an Instantly.ai integration in n8n, How to Build a Cold Email System for Client Work with Instantly.ai covers the full sequence.
Build the push step with deduplication. Before inserting a lead, query the destination system to check whether the email already exists. Instantly.ai's API includes a duplicate-check parameter on lead creation. HubSpot's create-or-update contact endpoint handles deduplication natively by matching on email. For custom CRMs, query first.
Test the push step with a single hardcoded lead before wiring it to the full pipeline. The failure modes (wrong field names, auth errors, rate limits) show up immediately on one lead and don't show up at all until you're 400 leads in if you skip this.
Making It Client-Ready
A workflow that runs clean on your machine is not a client-ready deliverable. Four things separate a demo from a handoff.
- Error nodes on every branch that matters. The Error Trigger node catches unhandled failures and writes them to a Slack channel or Google Sheet. Wire it from the start.
- Execution logging. n8n's built-in execution log keeps the last N runs, but clients can't read it. Write a brief summary to a Google Sheet at the end of each run: timestamp, leads pulled, leads qualified, leads pushed, errors. This is the one doc they'll actually look at.
- Credentials in the credential manager, not hardcoded. Use n8n's credential manager for every API key. When you hand off the workflow, the client updates credentials through the n8n UI, not by editing your JSON export.
- A README in the workflow notes. n8n lets you add sticky notes to the canvas. Write two short paragraphs: what this workflow does, what to change when something breaks. This costs five minutes and avoids a support call three months later.
Building Client-Ready n8n Workflows: Error Handling, Retries, and Reliable Handoff goes deeper on the reliability patterns worth baking in before handoff.
What Clients Pay for Lead Generation Work
Cold email automation posted 1,958 jobs on DevSnipe over the 30 days ending October 2026, the highest volume of any category tracked across five platforms. n8n automation specifically posted 192 jobs over the same period. For rate detail, DevSnipe's n8n automation rate data breaks down hourly and project-based ranges from live job postings.
Lead gen pipelines typically price as fixed-fee projects because the scope is bounded: a defined source, a defined output, a defined destination. Hourly billing on a workflow you've built three times before undersells your speed and creates client anxiety about hours. Quote the deliverable, not the time.
To see where n8n lead generation jobs are posted right now, DevSnipe's n8n job feed tracks active postings across five platforms, updated daily.
Frequently Asked Questions
How much does a typical n8n lead generation workflow cost to build for a client?
n8n lead generation workflows typically price as fixed-fee projects in the $500 to $2,500 range, depending on the number of sources, enrichment steps, and integrations involved. DevSnipe tracked 1,958 cold email automation job postings over the 30 days ending October 2026 across five platforms, making it the highest-volume category in the job index. Per-lead pricing (a setup fee plus a rate per 1,000 leads processed monthly) works better for ongoing retainers than one-time builds. These are budget ranges observed from live job postings, not guaranteed earnings.
What lead sources work best in an n8n workflow for client delivery?
LinkedIn (via Apify's scraping actors), Apollo.io's API, and client-provided CSV files are the three most common lead sources in n8n lead generation workflows built for paying clients, based on patterns across cold email automation work in DevSnipe's job index covering the 30 days ending October 2026. LinkedIn provides rich profile data but requires a scraping intermediary because LinkedIn does not offer a direct contact API. Apollo.io covers both company-level and contact-level data in the same integration, which reduces the number of tools in the workflow. CSV is the right choice when clients already have a partial list and need it enriched and pushed, not rebuilt from scratch. Each source requires different authentication and error handling in n8n.
Do I need to add email verification to a lead gen workflow?
Email verification is worth including on any n8n lead gen workflow that feeds a cold email tool, because a high bounce rate can damage the client's sending domain reputation. NeverBounce and ZeroBounce both offer batch verification endpoints that are faster than per-lead calls. DevSnipe's job data shows cold email automation posted 1,958 jobs over the 30 days ending October 2026, making it the top category tracked, and clients in that category frequently specify deliverability requirements. Building verification in by default, even when the client doesn't ask, protects their domain and your track record as the developer.
How do I handle duplicate leads in n8n workflows?
Duplicate handling in n8n depends on the destination system, and it matters in high-volume work: cold email automation posted 1,958 jobs over the 30 days ending October 2026 on DevSnipe, and lead count accuracy is one of the first things clients check after handoff. Instantly.ai's API includes a duplicate-check parameter on lead creation that you pass explicitly. HubSpot's create-or-update contact endpoint handles deduplication natively by matching on email address. For custom destinations without native deduplication, query the system for the email before inserting and skip the record if it exists. Build a separate count of skipped duplicates and include it in the execution summary you write to a Google Sheet at the end of each run.
Where do n8n lead generation jobs get posted?
n8n automation and cold email automation jobs are posted on Upwork, LinkedIn, and Skool, among other platforms. DevSnipe's job index tracked 192 n8n automation postings and 1,958 cold email automation postings over the 30 days ending October 2026 across five platforms, with cold email being the top category by volume. You can set up job alerts for both categories at https://devsnipe.com/jobs/n8n-automation. Lead generation work is usually listed under "cold email automation" or "API integrations" rather than "n8n" specifically, so searching by outcome finds more postings than searching by tool.