Pipedrive is a sales CRM, and the addresses in it come from web forms, imports and reps typing fast. Spaw does not offer a Pipedrive marketplace app, because a Zap or a Make scenario gives the same result without asking for access to your account: a new-person trigger, a verification step, and an update-person action that writes the verdict to a custom field. The person's phone number takes a second flow of the same kind.
Set up the fields
- In Pipedrive, add custom fields on the person: a single-option or text field for the verdict, a text field for the reason, and a numeric field for the risk score. Fields on the person rather than the deal keep the verdict attached to the address.
- Create a secret API key on the API keys page of your Spaw dashboard.
Verify new people as they arrive
- In Zapier or Make, start the flow with the Pipedrive trigger for a new person.
- Add the verification step. Until the Spaw apps for Zapier and Make are listed, this is a Webhooks by Zapier POST or a Make HTTP request to
https://spaw.co/api/v1/emailwith the headerAuthorization: Bearer sk_live_…and this body, mapping the address from the trigger:
{
"email": "[email protected]"
}
The Zapier page and the Make page show the exact configuration.
- Add a filter so the flow continues only when the person has an email.
- Add the Pipedrive action that updates a person, and map the response's
data.deliverable,data.reasonanddata.risk_scoreinto the three custom fields. Zapier presents nested fields with adataprefix; Make shows them under the parsed response. - Turn the flow on and test it by creating a person with the address
[email protected], which answers a fixed deliverable result at no cost and never appears in your history.
A person can carry more than one email in Pipedrive. Verify the primary one, or add a second verification step for the other addresses if reps rely on them.
Clean the existing database
For people already in Pipedrive, export them to a spreadsheet, and run the email column through a bulk verification on the Spaw dashboard or with the bulk endpoint. The result CSV keeps your original columns and adds the verdict, so it imports straight back with the person id as the match key. Rows that answer undeliverable are added to your suppression list automatically, and later batch and bulk runs answer them without a probe. The list cleaning checklist explains what to do with each group.
What to do with the verdict
Use the verdict field in Pipedrive filters and automations. A deliverable person is ready for sequences. A risky person needs a glance at the reason: catch_all means the company's mail server accepts every address, so the mailbox is unconfirmed but often real, role means a shared inbox such as sales@, and disposable means a throwaway domain. An undeliverable person should not enter a sequence; when the response's data.did_you_mean is filled, the address was a near miss and the suggested spelling can be written back as a note for the rep. risk_score is a 0 to 100 sum of published weights for teams that prefer one threshold.
Phone numbers
Pipedrive keeps a list of phone numbers on each person, each with a label and a flag for the primary one (Pipedrive's API reference for persons, read 27 September 2026). Validate the primary number, as with email.
- Add four text custom fields on the person: the E.164 number, the line type, whether sending is allowed, and the reason when it is not.
- Start a second Zap or scenario on the same new-person trigger, with a filter that continues only when the person has a phone number (an empty
phoneis refused with a422). In it, add a Webhooks by Zapier POST or a Make HTTP request tohttps://spaw.co/api/v1/phonewith the same header and this body, mapping the primary phone number:
{
"phone": "(202) 555-0100",
"country": "US"
}
A number stored with its + and calling code needs no country. For numbers reps type in national format, send the ISO 3166-1 alpha-2 code of their country: typed into the step when your people are all in one country, or mapped from a custom field that holds the two-letter code. A country name, or UK (the code is GB), is refused with a 422, and a national number sent without a country answers valid: false with the reason missing_country, free. Send the number and its country only, nothing else about the person. Once the Spaw apps are listed, the step becomes the Validate Phone Number action in Zapier and Validate a Phone Number in Make.
- Give that flow an update-person action of its own that maps
data.e164,data.line_type,data.ok_to_sendanddata.blocked_byinto the four fields. Kept separate, a person without a phone number still gets its email verdict, and a person without an email still gets its phone number checked. - Test with +1 202 555 0100 and +1 202 555 0103, two documented test numbers that cost nothing: the first answers a valid mobile with
ok_to_sendtrue, the secondok_to_sendfalse withblocked_bydisposable, under the default SMS policy.
data.e164 is the form to dedupe people by. It is also kept for an invalid number in a block nobody holds, so read it together with the sending field, which is false for every invalid number. Before a step that texts the person, filter on that field: ok_to_send is your account's SMS policy applied to the answer, set once on the account so every Zap, batch and bulk run applies the same rules, and blocked_by names the rule that decided a false. It is a fraud and deliverability decision, not consent and not a do-not-call scrub. line_type comes from the numbering plan or, for a North American number, from the holder of its block in the regulator's table; it describes how the range was allocated, never the network that serves the number after a port, and an ordinary US number answers fixed_line_or_mobile unless its block holder settles the type (why). Leave the complaint counts (complaints_90d, complaints_last_at) off person records: they count the complaints consumers sent the FTC naming a number as the caller, which is not the Do Not Call Registry and says nothing about whether you may call or text the number, and the reports are unverified, with caller ID often spoofed. Every field is on the phone endpoint page.
Cost
Each new person that answers deliverable or risky spends 1 credit; unverified answers and repeats within seven days are free, and undeliverable answers are free within a fair-use allowance. A phone lookup costs 1 credit when the number is valid; invalid numbers, unassigned blocks and repeats of the same number within seven days are free. Zapier and Make count their own tasks or operations. A bulk run bills each row the same way as it is processed, and duplicates inside the file are verified once.