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

Also in n8n's template library: Check cold email compliance and draft Gmail messages with Precleared.

Set it up

  1. In n8n, create a new workflow, open the ⋯ menu at the top right and choose Import from File. Pick the download.
  2. 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_number and recipient_country are optional.
  3. Pick the sheet in Read leads and in Write the result back.
  4. Add the credentials below.
  5. 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.
  6. 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

Noden8n credentialValue
Read leads, Write the result backGoogle SheetsSign in with the Google account that owns the sheet
Check with PreclearedHeader AuthName Authorization, value Bearer pc_live_...
Add to InstantlyHeader AuthName Authorization, value Bearer followed by your Instantly API v2 key, which needs the leads:create scope
Add to SmartleadQuery AuthName api_key, value your Smartlead API key
Add to lemlistBasic AuthLeave the user empty; the password is your lemlist API key
Create Apollo contact, Add to Apollo sequenceHeader AuthName 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:

ValueMeaning
addedThe 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 clearedThe 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.