Manual list cleaning is fine when you import once a quarter — it falls apart the moment contacts trickle in continuously through forms, ads, and integrations. The fix is to verify at the moment of capture, not at the moment of send, so your nurture sequences are always operating on a clean dataset.
GoHighLevel's workflow builder, paired with the MailerMonk REST API, makes this a 10-minute setup. Below are five recipes we install for every agency on the platform, ordered roughly from highest impact to nice-to-have.
Five workflow recipes worth installing today
Auto-verify on contact create
Trigger: Contact Created. Action 1: Webhook → POST https://api.mailermonk.com/v1/verify with { email: {{contact.email}} }. Action 2: Conditional — if response.status == "invalid", add tag mm-invalid and exit; otherwise tag mm-valid and continue to your normal nurture entry. This single recipe stops 95% of bounces before they happen.
Quarantine risky and unknown contacts
Branch off the auto-verify recipe. If status == "risky" or status == "unknown", route into a separate, lower-volume re-engagement sequence rather than the main nurture. These contacts may deliver, but they correlate with higher complaint rates — give them a softer touch.
Daily domain health check
Trigger: Schedule — daily at 06:00. Action: Webhook → GET https://api.mailermonk.com/v1/domains/{your-sending-domain}/health. If any of dmarc/spf/dkim/blocklist is failing, send a Slack notification to ops. Catches drift the moment it happens.
Suppress on hard bounce
Trigger: Email Bounced (hard). Action: Webhook → MailerMonk verify, then add tag mm-suppressed and remove from all active sequences. Closes the loop on the small percentage that slip past pre-send verification.
Re-verify stale contacts before re-engagement
Trigger: Smart list — contacts not emailed in 90+ days. Action: Verify before sending. Email addresses decay at roughly 22%/year — re-verifying before a re-engagement send is the difference between a clean revival and a deliverability disaster.
Designing workflows that fail safely
Always add a fallback branch on webhook actions: if MailerMonk returns a 5xx or times out, default to allowing the contact through rather than blocking them. Verification is a safety net, not a critical path — a temporary outage shouldn't break onboarding for new leads.
Use the Webhook action's built-in retry rather than rolling your own. GoHighLevel will retry 5xx responses with backoff automatically, and the MailerMonk API is idempotent at the email-address level so duplicates are harmless.
Tagging conventions that scale across an agency
Standardise on the mm- prefix for every MailerMonk-set tag (mm-valid, mm-invalid, mm-risky, mm-unknown, mm-disposable, mm-role, mm-suppressed). It makes filters readable, audit logs greppable, and onboarding new staff trivial — the prefix tells them at a glance what the tag means and who set it.
Avoid tagging with raw scores or timestamps; those belong in custom fields, not tags. Tags are for branching logic; custom fields are for analytics.
Frequently asked questions
Does the auto-verify webhook slow down form submissions?
MailerMonk's verify endpoint typically responds in under 2 seconds. Run the webhook async (GoHighLevel does this by default for workflow actions) and the form submission completes immediately while verification happens in the background.
What if I run out of verification credits mid-month?
Verification calls past your monthly cap return HTTP 402 with a clear error. The recipes above default-allow on non-200 responses, so contacts continue flowing — but you'll want a notification action on 402 so you know to top up.
Can these recipes be exported and reused across sub-accounts?
Yes — GoHighLevel snapshots include workflow definitions. Build the recipes in one sub-account, snapshot it, and apply the snapshot to every new client. The only per-account change is the API key.
What about contacts that change email address?
Trigger a re-verify on the Contact Updated event when the email field changes. Same webhook, same downstream tagging — just a different trigger.
Run a free deliverability audit on your sending domain
MailerMonk's audit checks DMARC alignment, SPF lookups, DKIM keys, MX records, and major blocklists in under a minute. No signup, no card.
