skip to Main Content

How To Validate Email Addresses in ManyChat

Max van Collenburg By Max van Collenburg

Did you know that if 10% of the emails you collect are bad, that less than 44% are delivered?

Crazy, right?

That’s why you have to guard the quality of your email list with your life.

You have to make sure you don’t get any fake or disposable email addresses on it.

That’s why you have to validate email addresses that you capture in Messenger with your bot.

Luckily for you, I’ve figured out how you can do that in 4 easy steps.

The tool we’re going to use is called NeverBounce.

It’s free for 1.000 validations and after that it’s $0,008 or something.

They have a handy API that we can hook up to ManyChat.

Let me explain.

Download: want the exact flows I'm using to validate email addresses? Click here.

Step 1 – Create a free account

Create a free account at NeverBounce & verify your email address.

Go to “Apps” and create a new app.

Create a new app in NeverBounce

Select the webhook type & click create.

Select webhook & click create

This will give you your webhook URL.

Copy your webhook URL

Copy it & go over the ManyChat.

Step 2 – Create email capture

Setup a simple email capture in ManyChat.

Note that we’re saving the email address to a custom field called “Response”.

Only after the email address is validated, we’re going to store it in the “Email” custom field.

Example of a simple email capture in ManyChat

And automatically continue to an action step.

Automatically continue to an action step in ManyChat

Step 3 – External request

Create an external request.

Create an external request in ManyChat

Paste your webhook URL & replace {email} with the Response variable.

Paste your webhook url in the external request

Go to response mapping.

Use $.result to save the outcome of the request to the Multifield custom field.

(the multifield custom field is a field I’m using for all kinds of things that you need to store temporarily)

Set the response mapping of the external request

This will save the result of the validation.

There are 4 possible outcomes:

  • Disposable: you have a lot of disposable email address services on the internet.
  • Invalid: the email address doesn’t exist.
  • Accept all: the email address is valid, but it’s a catch-all email address.
  • Valid: hooray! It’s valid!

Now we have to send a message depending on these outcomes.

Step 4 – Confirmation message

To check the outcome, we’re going to use conditions to check the value of the custom field we’ve used earlier in the response mapping.

Automatically continue after the external request & setup conditions to check if it’s “disposable” or “invalid”.

We then add some actions to clear the Multifield & Response custom field.

(it’s good practise to keep your subscribers clean)

How to add actions to keep subscribers clean

Do you notice how the last action is slightly different?

Because it’s not invalid or disposable, we know it’s valid.

That’s why we store the value of Response (which is the email address) in the Email custom field.

Save response to email custom field in ManyChat

And then we create some confirmation messages for the subscriber.

If it’s invalid or disposable, we ask them to type another email address.

And if it’s valid, we tell them the download they requested is on its way.

Confirmation message validation

That’s it!

You’ve now made sure only high-quality email addresses can join your email list.

I hope it’s helpful! 🙂