n8n template
n8n: verify a lead sheet, then add only the sendable leads to Instantly
Import one JSON file into n8n. It reads your lead sheet, checks every address with the SimpleVerifier API and adds only the leads marked send to your Instantly campaign.
About 15 minutes to set upCold email senders who keep leads in a Google Sheet and want bad addresses stopped before they reach a sequence.
How it runs
- 1
Read leads
Google Sheets node returns every row.
- 2
Verify
HTTP Request node calls the SimpleVerifier verify endpoint, one row at a time.
- 3
Keep sendable
If node passes rows where action equals send.
- 4
Add to Instantly
HTTP Request node posts each kept lead to your campaign.
What you need
- An n8n account or a self-hosted n8n
- A Google Sheet with columns email, first_name, last_name and company
- A SimpleVerifier API key from simpleverifier.com/api-keys (starts with sv_live_)
- An Instantly account, an API v2 key and the ID of an existing campaign
Set it up
- In n8n choose Create workflow, open the menu and pick Import from file. Choose the downloaded JSON.
- Create a Header Auth credential named SimpleVerifier API key. Set Name to Authorization and Value to Bearer followed by your key. Select it in the SimpleVerifier verify node.
- Create a second Header Auth credential for Instantly with the same Name and your Instantly key, and select it in the Add lead to Instantly node.
- In the Read leads node connect your Google account and set your Sheet ID and sheet name. In the Instantly node replace YOUR_INSTANTLY_CAMPAIGN_ID.
- Run it on 10 rows first. Open the verify node and read a few results before you run the whole sheet.
Where your judgment still matters
The workflow keeps only action = send. Rows marked send_with_care, such as catch-all domains, go to the skip branch. If you want them in a smaller campaign, add a second branch yourself. Check the first 10 leads in Instantly before you start sending, and check the field names against Instantly's API reference if Instantly changes it.
Tested on 14 November 2026 with n8n 2.47.7: the file imports and runs, the branch step sorted sample results correctly, and the verify step reached the live endpoint. It was not run with an API key, so the full path to Instantly was not run live. The Instantly request body was checked against Instantly's published API v2 reference but not run against a live Instantly account.
Start with your own key
Every template calls the SimpleVerifier API with your key. Create one, then run the template on a handful of rows. To check a whole list without any setup, upload it as a CSV.
Common questions
- Does this import without edits?
- The file follows n8n's export format. After import you pick your own credentials and set the Sheet ID and campaign ID, because those are yours. n8n shows a red marker on any node that still needs one.
- Why one lead at a time?
- The verify node waits 600 milliseconds between rows to stay under 120 calls a minute per key. A slow mail server can take up to about 30 seconds, so the timeout is 40 seconds.
- Which SimpleVerifier plan do I need?
- Pro is $39/month with 10,000 API and MCP calls included, then $1.50 per 1,000. Cancel anytime. Each key can make 120 calls a minute.
- What do valid, risky and invalid mean here?
- The result has a status and an action. Action send means the mail server confirmed the mailbox. send_with_care is a catch-all, role inbox or provider that hides mailbox status. retry_later means the check could not finish. do_not_send means the address will bounce or is a throwaway. Catch-all addresses are never marked valid.
Related: Verify emails in n8n · Instantly integration · API docs
More n8n templates: n8n: verify an Apollo or Clay export, write a first line with AI, add to Smartlead
All workflow templates · By SimpleVerifier Team