Zapier and Make recipes

These recipes connect a CRM, a spreadsheet, a form or a mailing list to the API: a new record comes in, its email address is checked, and the result goes back where your team works. Each recipe is written for Zapier and for Make.

Our Zapier and Make apps are not listed on those platforms yet, so there are no one-click templates to copy today. Every recipe below works now with the platform's built-in HTTP step, set up once as shown in The check step. When the apps are listed, the same recipes become templates you copy in one click.

Before you start

  • An API key for the automation. Create one on the API keys page with the permission "Validate addresses", and give it a daily credit cap so a busy automation cannot spend more than you expect.
  • A place for the result. Create it before you build: a contact property in HubSpot, a text field in Salesforce, a custom field in Pipedrive or columns in your sheet. It will hold one of the five result statuses: valid, invalid, catch_all, unknown or disposable. For Mailchimp, create a tag.
  • A free test. Try each recipe with accepted@sandbox.email-validation.org or another test address: they cost nothing.
  • New records only. Every recipe starts on new records. A start on updated records would run again when the result is written back, and check the same address a second time. You pay one credit per check with any result but unknown.

The check step

Every recipe uses this step in the middle. It sends the address to POST https://api.email-validation.org/v1/validate with your API key in the Authorization header (never in the URL), and hands the answer to the next step.

In Zapier, add an action step with Webhooks by Zapier and choose Custom Request:

  1. Method POST, URL https://api.email-validation.org/v1/validate.
  2. Data: {"email": "…"}, inserting the email field from the first step.
  3. Headers: Authorization = Bearer ev_live_… and Content-Type = application/json.
  4. Test the step. Later steps can now use status, reason, action and did_you_mean.

In Make, add the HTTP app's Make a request module:

  1. URL https://api.email-validation.org/v1/validate, method POST.
  2. Headers: Authorization = Bearer ev_live_….
  3. Body type Raw, content type JSON (application/json), request content {"email": "…"} with the email mapped in from the first module.
  4. Turn on Parse response, so later modules can map status, reason, action and did_you_mean.

For EU data residency, use https://api-eu.email-validation.org instead: the same key works on both.

What the fields hold: status is one of the five statuses; reason says why; action is the recommended next step (send, send_with_caution, remove or retry_later); did_you_mean suggests a correction when the address looks like a typo, and is empty otherwise. To write nothing when a check cannot finish (for example when the key reaches its daily cap), add a filter before the last step that continues only when status exists.

HubSpot: new contacts get a status property

Zapier

  1. Trigger: HubSpot, event New Contact.
  2. The check step, with the contact's email.
  3. HubSpot, event Update Contact: pick the contact from step 1 and map status into your status property.

Make

  1. HubSpot CRM, Watch Contacts (new contacts).
  2. The check step, with the contact's email.
  3. HubSpot CRM, Update a Contact: map the contact ID from module 1 and status into your status property.

To check contacts inside HubSpot workflows instead, without Zapier or Make, see Validate emails in HubSpot workflows.

Salesforce: new leads and contacts get a status field

Zapier

  1. Trigger: Salesforce, event New Lead (or New Contact).
  2. The check step, with the lead's or contact's email.
  3. Salesforce, event Update Lead (or Update Contact): pick the record from step 1 and map status into your status field. Map did_you_mean or reason into further fields if you created them.

Make

  1. Salesforce, Watch records, with the object Lead (or Contact).
  2. The check step, with the record's email.
  3. Salesforce, Update a record: the same object, the record ID from module 1, and status in your status field.

Pipedrive: new persons get a status custom field

Zapier

  1. Trigger: Pipedrive, event New Person.
  2. The check step, with the person's primary email.
  3. Pipedrive, event Update Person: pick the person from step 1 and map status into your custom field.

Make

  1. Pipedrive CRM, Watch Persons.
  2. The check step, with the person's primary email.
  3. Pipedrive CRM, Update a Person: map the person ID from module 1 and status into your custom field.

Google Sheets: new rows get their result

Add Status, Reason and Suggestion columns to the sheet first.

Zapier

  1. Trigger: Google Sheets, event New Spreadsheet Row, with your spreadsheet and worksheet.
  2. The check step, with the email column.
  3. Google Sheets, event Update Spreadsheet Row: the same worksheet, the row from step 1, and status, reason and did_you_mean in the three columns.

Make

  1. Google Sheets, Watch New Rows, with your spreadsheet and sheet.
  2. The check step, with the email column.
  3. Google Sheets, Update a Row: the same sheet, the row number from module 1, and the three results in their columns.

To check a whole sheet at once rather than each new row, use Validate emails in Google Sheets.

Typeform and Google Forms: new answers go to a sheet with their result

Give the sheet a header row with Email, Status and Suggestion (or Next step) columns.

Zapier

  1. Trigger: Typeform, event New Entry, or Google Forms, event New Form Response, with your form.
  2. The check step, with the answer to the email question.
  3. Google Sheets, event Create Spreadsheet Row: the email answer, status, and did_you_mean (or action) in their columns.

Make

  1. Typeform, Watch Responses, or Google Forms, Watch Responses, with your form.
  2. The check step, with the answer to the email question.
  3. Google Sheets, Add a Row: the email answer, status, and did_you_mean (or action) in their columns.

Mailchimp: tag new subscribers to remove

Create the tag in Mailchimp first, for example Remove: email check.

Zapier

  1. Trigger: Mailchimp, event New Subscriber, with your audience.
  2. The check step, with the subscriber's email address.
  3. Filter by Zapier: only continue if action exactly matches remove.
  4. Mailchimp, event Add Subscriber to Tag: the same audience, the email address from step 1 and your tag.

Make

  1. Mailchimp, Watch Subscribers, with your audience.
  2. The check step, with the subscriber's email address.
  3. A filter on the next link: action equal to remove.
  4. Mailchimp, Add/Remove Member Tags: the same audience, the email address from module 1 and your tag.

action is remove for invalid and disposable addresses, and for valid ones with a warning such as a known spam trap. A segment on the tag then shows who to clean out before the next campaign.

One-click templates

When our apps are listed on Zapier and Make, each recipe above becomes a template: the app's Validate Email step (Zapier) or Validate an email module (Make) replaces the HTTP step, and your API key is stored in the app's connection instead of a header. Until then, the HTTP step makes the same check at the same cost. For other tools and for bulk lists, see the no-code recipes.

Updated · Maintained by the email-validation.org team