Weekly MailerLite list cleanup with NeverBounce
Every Monday morning, your full MailerLite list is bulk-verified, risky addresses are removed, and your marketing-ops channel gets a clean health summary in Slack.
Build me an agent workflow that runs on a weekly cron, every Monday at 7am Eastern, and does a full list-hygiene sweep on my MailerLite account using NeverBounce bulk verification.
Step 1: page through MailerLite List All Subscribers to collect every active subscriber. Keep each subscriber's id, email, and sign-up source fields (groups, form id, or whatever opt-in metadata is present) so the agent can attribute bad addresses back to a source later.
Step 2: hand the resulting email list to NeverBounce Create Bulk Verification Job with input_location set to supplied, auto_parse enabled, and auto_start enabled. Give the job a filename that includes the date so it is easy to find in NeverBounce later.
Step 3: poll NeverBounce Get Bulk Job Status until the job status is complete. Use a reasonable backoff (start around 30 seconds, grow to a few minutes for larger lists). If the job lands in under_review or any error state, stop the workflow and post a short note in the Slack channel explaining what happened so a human can take a look.
Step 4: page through NeverBounce Retrieve Bulk Job Results to pull every row. Match each result back to the MailerLite subscriber by email.
Step 5: act on each result. For invalid addresses, call MailerLite Delete Subscriber. For disposable addresses, call MailerLite Update Subscriber to set status to unsubscribed. For catchall and unknown results, do not touch the subscriber but include them in the report. Leave valid subscribers alone.
Step 6: post a Slack Send a Message summary to a marketing-ops channel I will specify when I set this up. The summary should include: total subscribers checked, counts by result type (valid, invalid, disposable, catchall, unknown), the number of subscribers unsubscribed vs deleted, the approximate credit spend for the run (one credit per non-duplicate address is a fine estimate, but use the actual tally from NeverBounce where you can), the worst-offending sign-up sources if any pattern is discernible from the MailerLite metadata, and a short two or three sentence paragraph the marketer can paste straight into their next list-health review.
Treat the unsubscribe-versus-delete threshold and the summary writing as places where the agent should use judgement. Keep the prompt structured so I can later swap the channel, tweak which result codes get cleaned up, or change the cron schedule without rewriting the whole thing.
Additional information
What does this prompt do?
- Pulls every active subscriber from MailerLite and runs the entire list through a NeverBounce bulk verification job.
- Quietly unsubscribes risky addresses and removes confirmed bad ones, so future campaigns only reach real inboxes.
- Posts a Monday morning health summary to Slack with counts by result type, the credit spend, and a short paragraph you can paste into your next list review.
- Leaves grey-area results like catchalls and unknowns in place, but surfaces them in the summary so nothing gets cleaned up by surprise.
What do I need to use this?
- A MailerLite account with an API token.
- A NeverBounce account with enough credits to verify your full list (roughly one credit per subscriber).
- A Slack workspace and the channel where the weekly summary should land.
How can I customize it?
- Change the day or time the cleanup runs. The default is every Monday at 7am Eastern.
- Choose whether disposable and invalid addresses get unsubscribed or fully deleted from your account.
- Pick a different Slack channel for the summary, or have it sent as a direct message instead.
- Tighten or loosen which result types get cleaned up. For example, you can opt to leave disposables alone, or include catchalls in the cleanup.
Frequently asked questions
Will this delete subscribers I might want back later?
How much does the verification cost each week?
What happens to catchall and unknown results?
Can I run this less often than weekly?
Will this interfere with my MailerLite campaigns or hit rate limits?
Stop sending to dead addresses.
Connect MailerLite, NeverBounce, and Slack once, and Geni runs your list cleanup every Monday morning before you sit down with coffee.