ActiveCampaign automations start from tags and custom fields, so a verification step only has to put the verdict on the contact and the rest is ordinary automation work. Spaw does not offer an ActiveCampaign app; the flow uses ActiveCampaign's new-contact trigger in Zapier or Make, a verification step, and an update that adds a tag and fills a field. The contact's phone number takes a second flow of the same kind.
Verify new contacts
- Create a secret API key on the API keys page of your Spaw dashboard.
- In ActiveCampaign, add a custom text field for the verdict reason and a number field for the risk score. Tags carry the verdict itself.
- In Zapier or Make, start with the ActiveCampaign trigger for a new contact, or for a contact added to a specific list if you only want to verify subscribers.
- Add the verification step: a Webhooks by Zapier POST or a Make HTTP request to
https://spaw.co/api/v1/emailwith the headerAuthorization: Bearer sk_live_…and this body, mapping the contact's email:
{
"email": "[email protected]"
}
The Zapier page and the Make page describe the step field by field. Once the Spaw apps for those platforms are listed, it becomes a Verify Email action with a saved connection.
- Add the ActiveCampaign action that creates or updates a contact, match on the email, add a tag built from
data.deliverable(for examplespaw-deliverable,spaw-risky,spaw-undeliverable), and mapdata.reasonanddata.risk_scoreinto the custom fields. - In ActiveCampaign, build an automation that starts when the
spaw-undeliverabletag is added and unsubscribes the contact from marketing lists, and another that gates your welcome series on thespaw-deliverabletag. - Test by creating a contact with
[email protected], a free test address that answers a fixed result and never appears in your history.
If a welcome automation starts on list subscription, add a wait step of a few minutes before the first send so the tag has time to arrive.
Clean an existing list
Export the list to CSV, run the email column through a bulk verification on the Spaw dashboard or with the bulk endpoint, and import the result CSV back with the verdict column mapped to tags on import and the reason and score mapped to the custom fields. The result keeps your original columns. Undeliverable rows also join your Spaw suppression list, so later runs answer them for free. The list cleaning checklist explains what to do with each group.
What to do with the verdict
Let the tags drive the automations. spaw-deliverable contacts get the full program. spaw-risky contacts need the reason field: role inboxes such as info@ rarely engage with marketing mail, catch_all domains are unconfirmed but often real, and disposable domains are gone before the second email. spaw-undeliverable contacts should be unsubscribed rather than deleted; when the response's data.did_you_mean is filled, a task for a teammate with the suggested address recovers the record. The risk score field gives a single threshold for teams that prefer one number.
Phone numbers
- In ActiveCampaign, add a custom text field for the phone answer's blocking reason. Tags carry the decision itself.
- Start a second Zap or scenario on the same new-contact trigger, with a filter that continues only when the contact has a phone number (an empty
phoneis refused with a422, which stops the run). Kept apart from the email flow, a contact without a phone number still gets its email tag. In it, add a Webhooks by Zapier POST or a Make HTTP request tohttps://spaw.co/api/v1/phonewith the same header and this body, mapping the contact's phone:
{
"phone": "(202) 555-0100",
"country": "US"
}
- Add a Paths step in Zapier or a router in Make on
data.ok_to_send. The true path adds the tagspaw-phone-okand writesdata.e164into the contact's phone field, so every number is stored in one form. The false path addsspaw-phone-blockedand writesdata.blocked_byinto the reason field. - If your automations send text messages, start their SMS steps with a condition on the
spaw-phone-oktag, after the same short wait the welcome series uses. - Test with +1 202 555 0100 and +1 202 555 0103, two documented test numbers that cost nothing: the first answers a valid mobile with
ok_to_sendtrue, the secondok_to_sendfalse withblocked_bydisposable, under the default SMS policy.
A number stored with its + and calling code needs no country. For numbers written in national format, send the ISO 3166-1 alpha-2 code of their country, typed into the step when your contacts are all in one country or mapped from a field that holds the two-letter code; a country name, or UK (the code is GB), is refused with a 422, and a national number sent without a country answers valid: false with the reason missing_country, free. Send the number and its country only, nothing else about the contact. Once the Spaw apps are listed, the step becomes the Validate Phone Number action in Zapier and Validate a Phone Number in Make.
The phone step only tags and fills fields; it never subscribes a contact to anything. ok_to_send is your account's SMS policy applied to the answer, set once on the account so every Zap, batch and bulk run applies the same rules, and blocked_by names the rule that decided a false: invalid, opted_out (by default) for a number your suppression list holds as opted out, country, line_type, a signal such as disposable for a number published by an SMS-receiving website, where anyone can read a code sent to it, or risk_score. It is a fraud and deliverability decision, not consent and not a do-not-call scrub. Every field is on the phone endpoint page.
Cost
Each new contact that answers deliverable or risky spends 1 credit; unverified answers and repeats within seven days are free, and undeliverable answers are free within a fair-use allowance. A phone lookup costs 1 credit when the number is valid; invalid numbers, unassigned blocks and repeats of the same number within seven days are free. Zapier and Make bill their own tasks. Bulk runs bill per processed row and verify duplicates once.