Integrations
Pipedrive integration
Check a Pipedrive person’s email when it is added or its primary address changes, and save the status in a custom person field your filters and automations can use. A webhook relay you deploy as a Cloudflare Worker checks within seconds, and a Node clean-up command works through any person filter.
- Status: Setup guide
- A webhook relay and a clean-up command
export EV_API_KEY=… PIPEDRIVE_API_TOKEN=… PIPEDRIVE_DOMAIN=acme
node clean.mjs --setup # creates the result fields
node clean.mjs --filter 12 --dry-run # counts what it would check
node clean.mjs --filter 12 # checks and writes the resultsAt a glance.
- Status
- Setup guide. Not listed on a marketplace yet: you set it up yourself in a few steps, below and in the full guide.
- For
- Sales teams on Pipedrive who want each new person’s address checked before outreach, and existing contacts cleaned one filter at a time.
- You need
- Your Pipedrive API token, which acts as you, and your company domain; a Cloudflare account for the relay; Node 22.18 or later for the clean-up command; and an API key made for it, with a daily credit cap. To clean a filter of more than 50 persons, the key also needs the permission Bulk lists.
- Costs
- 1 credit = 1 validated address, as with any API request. Free: unknown results, API errors, malformed addresses and test addresses on sandbox.email-validation.org.
- Full guide
- Read the full setup guide
Typical uses.
Check new persons
Pipedrive’s person webhook sends each new or changed person to the relay, which checks only when the primary address is new, and writes the Email status, reason and checked-at fields.
Clean a filter
The clean-up command checks every person of a filter that has no result yet: up to 50 one by one, more as one bulk job it uploads, waits for and writes back.
Filter and automate
Build Pipedrive filters and automations on the Email status field, which holds one of valid, invalid, catch_all, unknown or disposable.
Set it up. 5 steps.
The short version of the full setup guide, which stays the reference when a step does not match what you see.
Create the fields
With
PIPEDRIVE_API_TOKENandPIPEDRIVE_DOMAINset, runnode clean.mjs --setup: it creates the Text fields Email status, Email status reason and Email checked at, where missing. Or point both pieces at fields of your own.Deploy the relay
Deploy
relay.jsto your Cloudflare account withwranglerand your company domain, and set the secretsEV_API_KEY,PIPEDRIVE_API_TOKEN,WEBHOOK_USERand aWEBHOOK_PASSWORDof at least 32 random letters and digits.Create the webhook
In Pipedrive, open Settings, Tools and apps, Webhooks, Create new webhook: event action *, event object person, the relay’s address as the endpoint URL, and your webhook user and password as HTTP Auth.
Check it once
Add a test person with
no_mailbox@sandbox.email-validation.org: within a few seconds its Email status isinvalid. Then delete the test person.Clean existing persons
Create a person filter, take its id from the address while it is open, and run
node clean.mjs --filterwith that id, first with--dry-run.
Good to know.
- The relay ignores every change except a new primary address, including its own writes to the result fields, so a result never starts a second check; a repeated delivery of an event it already checked is skipped.
- It answers within Pipedrive’s 10-second limit and asks for a new delivery only when trying again can work. A refused key or no credits answers 200 not_checked and nothing is charged: fix the cause, then clean the filter to catch up.
- If a clean-up run stops, run the same command again: it resumes the same bulk job from a small state file of ids, so a list is never paid for twice.
- Each read and write uses Pipedrive API tokens from your company’s daily budget; the command spaces its requests and waits when Pipedrive asks it to.
- For EU data residency, add
--var EV_REGION:euto the relay’s deploy command, or run the clean-up command with--region eu.
Updated · Maintained by the email-validation.org team