filtrat has five n8n workflows you can import and run in minutes. Each one checks your credit balance before it starts, so it stops cleanly instead of failing halfway through a list.
Import a template
- Download the template's file from the table below. It's an n8n workflow in JSON.
- In n8n, open a new workflow, then ⋯ → Import from File and pick the file. (Or choose Import from URL and paste the template's link.)
- Open each HTTP Request node and select your
Filtrat APIcredential. If you haven't made one yet, see Set up n8n credentials. - For the Google Sheets templates, connect your Google account and pick your spreadsheets in the Sheets nodes.
- Run it once with test data before you turn it on.
The templates
| Template | What it does | Download |
|---|---|---|
| Verify Single Email | Verifies one address. The simplest way to test your key | single-verify |
| Find Email by Name | Finds a work email from a first name, last name and domain | single-finder |
| Clean Email List | Every Monday, verifies the emails in a Google Sheet as one bulk job and writes the verified ones to another sheet | bulk-clean |
| Bulk Email Finder (Google Sheets) | Finds emails for each contact in a sheet and appends the results to a results sheet | bulk-finder-sheets |
| Real-Time Lead Gate | A webhook your forms call: verifies the address and answers accept or reject | lead-gate |
Step-by-step node settings for each template are in the n8n section of the API reference.
Verify Single Email
Manual Trigger → Set Test Input → Check Balance → Enough credits? → Verify Email
Change the email in Set Test Input, run it and read status. Replace the trigger with any trigger that provides an email field, such as a form or CRM event. Set resolve_catchall to true to turn catch-all results into verified or invalid.
Find Email by Name
Manual Trigger → Set Test Input → Check Balance → Enough credits? → Find Email → Email found?
Set first_name, last_name and domain. The Email found? node splits found and not-found results so you can handle each. Add company_name to the Find Email body when you have it: it finds more emails when the website's domain doesn't receive mail.
Clean Email List
Schedule (Mondays, 6 AM) → Read Email List → Check Balance → Enough credits? → Create Bulk Job → Wait 30 s → Check Job Status → Still running? → Get Verified Emails → Write Clean List
The input sheet needs an email column. The workflow sends the whole list as one bulk job, checks it every 30 seconds until it's done, then writes the verified addresses to your output sheet. Change the schedule in the first node. To resolve catch-all addresses too, add "auto_resolve_catchall": true to the Create Bulk Job body.
Bulk Email Finder (Google Sheets)
Manual Trigger → Read Contacts → Check Balance → Enough credits? → Loop Over Contacts → Find Email → Wait 1 s → Write Results
The input sheet needs first_name, last_name and domain columns. Results are appended to a sheet named Results with first_name, last_name, domain, found_email, status and confidence. Contacts are processed one at a time with a short pause between them, to stay within your rate limit. Replace the trigger with a schedule to run it automatically.
For thousands of contacts, a bulk finder job is faster than a loop: POST /v1/bulk-finder/jobs/from-list, then poll it like the Clean Email List template does. See Long-running jobs.
Real-Time Lead Gate
Webhook → Check Balance → Enough credits? → Verify Email → Route by Status → Accept or Reject
Your form or app sends {"email": "..."} to the webhook and gets an accept or reject answer back. See Real-time lead gate.
What they cost
The same as anywhere else in filtrat: 1 per verified or invalid result, 5 more for a resolved catch-all, 20 per email found (25 with catch-all resolution). Catch-all, risky, unknown and not-found results are free. Checking your balance is free.
Finding an email behind a catch-all domain with resolve_catchall on (the default) costs 5 on top of the found email: 20 + 5 = 25. The 25 are held when the request starts. If the email isn't found, they're all given back, so a not-found costs nothing. If the email is found on a domain that didn't need resolution, the extra 5 are given back and you pay 20.
Build your own
Every template is a set of ordinary HTTP Request nodes, so you can copy one into your own workflows. Any filtrat endpoint works the same way. See the full API reference.