How To Validate Email Addresses in ManyChat

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.

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

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.

simple email capture

And automatically continue to an action step.

continue to action

Step 3 – External request

Create an external request.

create external request

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

paste request url response

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)

email validation response mapping

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”.

conditions to check result of validation

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

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

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

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! 🙂

Want the exact validation Flow that I’m using?

Get the exact Flow I’m using to validate email addresses.

    Avatar of Max van Collenburg
    Max van Collenburg

    I'm addicted to travel, love a good cappuccino, have two cute cats, and craft actionable content for online business owners that want to grow their business with non-sleazy chat marketing. More weird facts about me here.

    10 thoughts on “How To Validate Email Addresses in ManyChat”

    1. Avatar of Helder Pinto

      Great Content! Thanks Max!

      • Avatar of Max van Collenburg

        You’re welcome! Happy to hear it’s helpful 😄🙌

    2. Avatar of Andriy

      You are AMAZING!
      Hi, from Ukraine!

      • Avatar of Max van Collenburg

        Thanks! 😄

    3. Avatar of GP

      This is cool stuff, we use the same techniques in all our of email capture lead flows. We use instead of since they are high in accuracy, fast in the API response

      • Avatar of Max van Collenburg looks great too! Maybe I’ll give that a try in the future 😄

    4. Avatar of JC Cheong

      Hi Max, because Manychat updated the email became a system field rather than a custom email user input… So we can’t delete the system field based on the example you show.

      Is there another method to workaround?

      Thank you, appreciate your help!

      • Avatar of Max van Collenburg

        Hey JC! You’re correct!

        The implementation of this is now slightly different;
        1) Store the email address into a user field called “Response”
        2) Check if the email inside the Response field is valid
        3) If yes, store that email address into the email system field. And this is where it gets tricky, as there is no standard action for this (yet). The only option I’ve found is to use the ManyChat API to update the contact.
        4) Delete the value of the Response user field.

        I hope that helps!

        I’ll add this to my task list to update this article 🙂

    5. Avatar of Mattia

      Hi. ManyChat can also check if a customer email address is already registered on a specific mailchimp list?

      My goal is: when is starting a manychat automation (from dm or story reaction), check if this user is already registered on mailchimp list and check if is already a follower.


      • Avatar of Max van Collenburg

        Hey Mattia! It’s possible, but it might be tricky to find that subscriber if you don’t have their full name in MailChimp.

        If you do have their full name, you could use a tool like Make to search if there is a subscriber in MailChimp with that exact name.

    Leave a Comment