Integrations

ActiveCampaign integration

Tag each ActiveCampaign contact with its validation result, so one segment on ev:remove leaves out every address you should not mail. A sync command checks a whole list as one bulk list, and a webhook relay on your own Cloudflare account checks each new contact within seconds.

  • Status: Setup guide
  • A sync command and a webhook relay

Clean a listNode 22.18 or later

Terminal
export EV_API_KEY=…                # your API key, with Bulk lists
export ACTIVECAMPAIGN_URL=…        # Settings, Developer: URL
export ACTIVECAMPAIGN_API_TOKEN=…  # Settings, Developer: Key

node sync.mjs --list 3 --dry-run   # counts what it would check
node sync.mjs --list 3             # checks and tags

At a glance.

Status
Setup guide. Not listed on a marketplace yet: you set it up yourself in a few steps, below and in the full guide.
For
ActiveCampaign users who want bad addresses kept out of their campaigns and automations: a list cleaned before a send, and each new contact checked as it arrives.
You need
The URL and Key shown under Settings, Developer in ActiveCampaign, for a user who can view and edit contacts and manage tags, and an API key made for it, with a daily credit cap; the sync command also needs its Bulk lists permission, which is off by default. The sync command runs on Node 22.18 or later, the relay on a Cloudflare account of yours.
Costs
1 credit = 1 validated address, as with any API request. Free: unknown results, API errors, malformed addresses and test addresses on sandbox.email-validation.org.
Full guide
Read the full setup guide

Typical uses.

Set it up. 6 steps.

The short version of the full setup guide, which stays the reference when a step does not match what you see.

  1. Create a key

    Create an API key with Validate addresses, plus Bulk lists for the sync command, and a daily credit cap. Download the three files the guide links: sync.mjs, relay.js and webhook.json.

  2. Copy your ActiveCampaign details

    In ActiveCampaign, open Settings, Developer and copy the URL exactly as it is shown there, and the Key. Keep the Key secret: it can do what your user can do.

  3. Clean a list

    Set EV_API_KEY, ACTIVECAMPAIGN_URL and ACTIVECAMPAIGN_API_TOKEN, run node sync.mjs --list 3 --dry-run to count, then run it again without --dry-run to check and tag. A list’s id is the number in its page’s address.

  4. Deploy the relay

    Deploy relay.js to your Cloudflare account with wrangler, with your ActiveCampaign URL, and give it the secrets EV_API_KEY, ACTIVECAMPAIGN_API_TOKEN and RELAY_SECRET, at least 32 random letters and digits.

  5. Add the webhook

    Under Settings, Developer, Webhooks, add the relay’s address followed by / and your RELAY_SECRET, choose the list, the type Contact added only and all sources.

  6. Test it

    Add a test contact with no_mailbox@sandbox.email-validation.org: within a few seconds it has the tags ev:invalid and ev:remove, at no cost. Then delete the test contact.

Good to know.

Updated · Maintained by the email-validation.org team