Docs · Recipes

Check leads in Zapier before they reach your sequencer

Webhooks by Zapier makes the check, a log step records every answer, a filter stops anything that isn't cleared, and the last step adds the lead to your campaign. You need a paid Zapier plan, as Webhooks and multi-step Zaps aren't on the free one.

New lead → Webhooks: POST to Precleared → Log the verdict → Filter: ok_to_email only → Add to your sequencer

1. The trigger

Start wherever new leads appear: Google Sheets → New Spreadsheet Row, HubSpot → New Contact, a form or a table. You need each lead's email, names, company and address source. A company number and recipient country are optional.

2. The check

Add Webhooks by Zapier → POST.

FieldValue
URLhttps://precleared.dev/api/v1/check
Payload TypeJson
Datarecipient_email: the email field. address_source: published, bought, scraped, given or unknown. sender_country: GB or US. pitch: what you offer. Optional: company_number, recipient_country
Wrap Request In ArrayNo
UnflattenYes
HeadersAuthorization: Bearer pc_live_...

Blank optional fields are ignored, and a blank address source counts as unknown. Test the step. You should see Verdict, Next Step, Footer Text and Receipt Id in the result. No key yet? Get a free key.

3. Log the verdict

Add Google Sheets → Create Spreadsheet Row in a log sheet, with the email from step 1 and the Verdict, Next Step and Receipt Id from step 2. Every lead's answer is kept, including the ones that won't be sent.

4. The filter

Add Filter by Zapier: only continue if Verdict (Text) Exactly matches ok_to_email. Everything else stops here, already logged with its next step.

5. Add the lead to your sequencer

Your campaign or sequence id is in its URL in the sequencer.

Instantly

Instantly → Add Lead to Campaign. Pick the campaign and map Email, First Name, Last Name and Company Name from step 1. If the action shows custom fields, add precleared_receipt with the Receipt Id from step 2.

lemlist

lemlist → Add Lead to Campaign. Pick the campaign and map Email, First Name, Last Name and Company Name from step 1. If the action shows custom fields, add precleared_receipt with the Receipt Id from step 2.

Smartlead

Webhooks by Zapier → Custom Request, method POST, URL https://server.smartlead.ai/api/v1/campaigns/YOUR_CAMPAIGN_ID/leads?api_key=YOUR_SMARTLEAD_API_KEY, header Content-Type: application/json. Put this in Data, inserting the lead's fields from step 1 and the Receipt Id from step 2:

{
  "lead_list": [{
    "email": "EMAIL",
    "first_name": "FIRST NAME",
    "last_name": "LAST NAME",
    "company_name": "COMPANY",
    "custom_fields": { "precleared_receipt": "RECEIPT ID" }
  }]
}

Apollo

Connect Apollo with a master API key, as adding contacts to a sequence needs one.

  1. Apollo → Find or Create Contact. Map Email, First Name, Last Name and Company from step 1.
  2. Apollo → API Request (Beta), method POST, URL https://api.apollo.io/api/v1/emailer_campaigns/YOUR_SEQUENCE_ID/add_contact_ids, with this body, inserting the Contact ID from the Find or Create Contact step:
{
  "emailer_campaign_id": "YOUR_SEQUENCE_ID",
  "contact_ids": ["CONTACT ID"],
  "send_email_from_email_account_id": "YOUR_MAILBOX_ID"
}

To find your mailbox id, call GET https://api.apollo.io/api/v1/email_accounts through the same API Request action. Apollo starts sending as soon as a contact joins an active sequence, so test with a paused one first.

Running it

Each Zap run uses one Precleared check per lead: a free key covers 25 a day and a £39 pack covers 2,000. To check a lead again, for example after adding a company number to an unknown one, replay that run from your Zap history.

See footers and receipts, which work the same way in every recipe.

Decision support with sources, not legal advice.