Free workflow: CSV Lead Sourcing → ICP Filter → Dedupe → Google Sheets

Sharing a workflow I built as part of a cold outreach pipeline. This one handles the first step — cleaning and filtering lead exports before they go into sequences.

## What it does

1. **CSV Upload** — accepts any lead export via Form Trigger (Apollo, Hunter, LinkedIn Sales Navigator, ZoomInfo, hand-built spreadsheet)
2. **ICP Filter** — filters by your criteria: title, industry, company size. Edit the filter node to match your target
3. **Deduplication** — checks each lead against your existing Google Sheet contacts. If the email already exists, it's skipped
4. **Clean Append** — new leads only get added to your sheet, ready for outreach

## Stack

- n8n (self-hosted or cloud free tier)
- Google Sheets
- No paid APIs

## How to use

1. Import the JSON into n8n
2. Connect your Google Sheets credentials
3. Set your ICP filter criteria in the filter node
4. Upload a CSV via the form trigger
5. Clean leads appear in your sheet

5 nodes, dead simple. Takes about 5 minutes to set up.

## The workflow JSON

https://gist.github.com/CelestChief/1fd8072cf06b70578103a4a53ddfdf23

## Context

I use this daily to clean Apollo exports before running email sequences. It's the first piece of a 3-workflow outreach pipeline I built (sourcing → email sequence → reply handling). Sharing this one standalone because it's useful on its own even if you have a completely different outreach setup.

Happy to answer questions about the build or how I'm using it in the larger pipeline.