N8N

Verify Your Emails Automatically via MillionVerifier in N8N

Let's see how to verify your emails via MillionVerifier in your N8N workflow

Bernadett Schin image Written by Bernadett Schin
Back to articles Bernadett Schin image Written by Bernadett Schin

Summary

In this article, you can learn more about how you can build an N8N workflow that captures lead data from a form, verifies the email address, enriches the lead profile with additional data, and adds qualified leads directly to an outreach campaign.

Here you may find the JSON file including this workflow described above. To get started, download and copy-paste it to your N8N canvas.


Verify Your Emails Automatically via MillionVerifier in N8N.json

For a step by step video guidance please visit the following page:


What you need to start

To build this workflow, you will need active accounts and API access to the following services:

  • n8n (Cloud or self-hosted)

  • MillionVerifier (for email verification)

  • Apollo.io (for data enrichment)

  • Instantly.ai (for email outreach)


1. Set up the Trigger (n8n Form)

The workflow starts by capturing incoming lead data. While a webhook can be used for third-party apps, this example uses an n8n Form.

  1. Add an n8n Form node to your canvas as the trigger.

  2. Set the Form Title (e.g., "Contact Us").

  3. Add the following Form Elements:

    • first_name (Text Input)

    • last_name (Text Input)

    • email (Email)

  4. Click Execute step and open the test URL in a new tab. Submit the form with dummy data to populate the node so you have data to map in subsequent steps.

  5. Tip: Right-click the node and select "Pin" to keep this test data available while you build.


2. Verify Email Address with MillionVerifier

Next, check if the submitted email address is valid.

  1. Add an HTTP Request node.

  2. Set the Method to GET.

  3. Set the URL to: https://api.millionverifier.com/api/v3

  4. Configure Authentication:

    • Authentication Type: Generic Credential Type

    • Generic Auth Type: Query Auth

    • Create a new credential. Set the Name to api (lowercase).

    • Retrieve your API key from the MillionVerifier dashboard (Account > Account Settings > API Keys) and paste it into the Value field. Save the credential.

  5. Under Send Query Parameters, add a parameter:

    • Name: email

    • Value: Map this to the email output from the n8n form ({{ $json.email }}).

  6. Execute the step and pin the node.


3. Filter for Good Emails

Use an IF node to ensure only verified, good quality emails proceed further.

  1. Add an If node connected to the MillionVerifier output.

  2. Add a Condition:

    • Value 1: Map the quality result from MillionVerifier ({{ $json.quality }}).

    • Operator: Is equal to

    • Value 2: Type the string good.

  3. The workflow will now branch. Continue building on the True branch.


4. Enrich Lead Data with Apollo

For valid emails, gather more context about the lead.

  1. Add an HTTP Request node to the "True" output of the If node.

  2. Set the Method to GET.

  3. Set the URL to: https://api.apollo.io/api/v1/people/match

  4. Configure Authentication:

    • Authentication Type: Generic Credential Type

    • Generic Auth Type: Header Auth

    • Create a new credential. Set the Name to X-API-KEY.

    • Generate an API key in the Apollo dashboard (Settings > Integrations > API Keys). Ensure the key has scopes for contact/search and people/match. Paste the key into the Value field and save.

  5. Under Send Query Parameters, add the following parameters mapped from your initial n8n form:

    • first_name: Map to the form's first name.

    • last_name: Map to the form's last name.

    • email: Map to the form's email.

  6. Execute the step to retrieve the enriched JSON payload. Pin the node.


5. Add Lead to Campaign in Instantly

Finally, send the verified and enriched lead data to your outreach tool.

  1. Add a final HTTP Request node.

  2. Set the Method to POST.

  3. Set the URL to: https://api.instantly.ai/api/v2/leads

  4. Configure Authentication:

    • Authentication Type: Generic Credential Type

    • Generic Auth Type: Bearer Auth

    • Create a new credential.

    • Generate an API key in the Instantly dashboard (Settings > Integrations > API Keys), granting all necessary scopes. Paste it into the Token field and save.

  5. Set Send Body to enabled.

  6. Set Body Content Type to JSON.

  7. Select Specify Body: Using JSON and construct your payload. You will need to map fields from both the initial form and the Apollo enrichment node.

JSON Body Example:Note: You must replace the static campaign ID with your specific campaign ID found in the Instantly URL.

{
  "campaign": "YOUR-INSTANTLY-CAMPAIGN-ID",
  "email": "{{ $('On form submission').json.email }}",
  "first_name": "{{ $('On form submission').json.first_name }}",
  "last_name": "{{ $('On form submission').json.last_name }}",
  "company_name": "{{ $('Enrich Lead - Apollo').json.person.organization.name }}",
  "job_title": "{{ $('Enrich Lead - Apollo').json.person.title }}",
  "website": "{{ $('Enrich Lead - Apollo').json.person.organization.primary_domain }}",
  "skip_if_in_workspace": true,
  "skip_if_in_campaign": true,
  "custom_variables": {
    "apollo_id": "{{ $('Enrich Lead - Apollo').json.person.id }}",
    "industry": "{{ $('Enrich Lead - Apollo').json.person.organization.industry }}",
    "employee_count": "{{ $('Enrich Lead - Apollo').json.person.organization.estimated_num_employees }}",
    "linkedin_url": "{{ $('Enrich Lead - Apollo').json.person.linkedin_url }}"
  }
}
  1. Execute the node. You should receive a status response indicating success.

  2. Verify the new lead has been populated correctly by checking the Leads tab of your campaign inside the Instantly application.


Did this answer your question?

Sad smiley Neutral smiley Happy smiley
AI-Powered Knowledge Base by

MillionVerifier