Docs · Recipes
Check leads in n8n before they reach your sequencer
Download a ready-made workflow for your sequencer. Each one reads new leads from Google Sheets every morning, checks them with Precleared, adds only cleared leads to your campaign and writes every verdict back to the sheet.
Downloads
| Sequencer | Workflow |
|---|---|
| Instantly | precleared-n8n-instantly.json |
| Smartlead | precleared-n8n-smartlead.json |
| lemlist | precleared-n8n-lemlist.json |
| Apollo | precleared-n8n-apollo.json |
Also in n8n's template library: Check cold email compliance and draft Gmail messages with Precleared.
Set it up
- In n8n, create a new workflow, open the ⋯ menu at the top right and choose Import from File. Pick the download.
- Give your sheet these columns:
email,first_name,last_name,company_name,address_source,company_number,recipient_country,verdict,rule,next_step,footer_requirement,receipt_id,checked_at,added_to_campaign,note.company_numberandrecipient_countryare optional. - Pick the sheet in Read leads and in Write the result back.
- Add the credentials below.
- Fill in Your settings: your country (GB or US), what you offer and your campaign or sequence id. For Apollo, also add the id of the mailbox that sends.
- Run it once, check the sheet and your sequencer, then switch it on.
Your campaign or sequence id is in its URL in the sequencer. For an Apollo mailbox id, call GET https://api.apollo.io/api/v1/email_accounts with your master key.
Credentials
| Node | n8n credential | Value |
|---|---|---|
| Read leads, Write the result back | Google Sheets | Sign in with the Google account that owns the sheet |
| Check with Precleared | Header Auth | Name Authorization, value Bearer pc_live_... |
| Add to Instantly | Header Auth | Name Authorization, value Bearer followed by your Instantly API v2 key, which needs the leads:create scope |
| Add to Smartlead | Query Auth | Name api_key, value your Smartlead API key |
| Add to lemlist | Basic Auth | Leave the user empty; the password is your lemlist API key |
| Create Apollo contact, Add to Apollo sequence | Header Auth | Name x-api-key, value your Apollo master API key |
What ends up in the sheet
Every checked row gets its verdict, the rule behind it, the next step, what the footer must include, the receipt id and the time of the check. added_to_campaign says one of these:
| Value | Meaning |
|---|---|
added | The lead is in your campaign or sequence |
skipped: … | The sequencer didn't add it, for example because it's already in the campaign |
not added: … | lemlist refused it, with lemlist's reason |
failed: … | The call to the sequencer failed, for example with a wrong key or id |
no: not cleared | The verdict wasn't ok_to_email |
A row Precleared couldn't answer, for example once the day's checks are used, stays blank with the reason in note and is tried again on the next run. A row marked error, for example an address that isn't valid, isn't retried: fix it and clear the verdict. To check an unknown row again, add its company number or recipient country and clear the verdict.
Each lead uses one Precleared check. Set max_checks_per_run to how many leads you want checked each morning: up to 25 on a free key, or whatever suits you with a £39 pack of 2,000.
See footers and receipts, which work the same way in every recipe.
Decision support with sources, not legal advice.