Weekly CRM hygiene report for marketing ops
Every Monday morning, validate the past week's new and updated HubSpot contacts and email marketing ops a written digest of risky and undeliverable addresses.
Build me an agent workflow that produces a weekly CRM hygiene report for the marketing ops team.
Trigger: a cron schedule that runs every Monday at 8:00am local time.
When the workflow runs, the agent should:
1. Use HubSpot Search Contacts to pull every contact whose createdate or lastmodifieddate falls in the last 7 days. Page through results until there are no more (HubSpot search caps at 10,000 total). Collect each contact's id, email, firstname, lastname, lifecyclestage, and hubspot_owner_id.
2. Deduplicate the email list and drop any contacts with no email. Send the remaining addresses through ZeroBounce Batch Validate Emails in groups of up to 200 per call. Be patient with the response: batch validate can take up to 70 seconds, so do not bail early. Page through batches until every address has been validated.
3. Group the validation results into buckets: Valid (status = valid), Catch-all (status = catch-all), Risky (status = do_not_mail with sub-status disposable, role_based, spamtrap, abuse, or toxic), and Undeliverable (status = invalid, or sub-status mailbox_not_found / does_not_accept_mail / failed_smtp_connection). Count each bucket and compute the share of the total.
4. Pick the 10 worst offenders across Risky and Undeliverable, preferring contacts that are higher up the funnel (lifecyclestage of customer or opportunity over subscriber). For each, include the contact name, email, bucket, sub-status, and HubSpot record link.
5. Call ZeroBounce Get Credit Balance and note the remaining credits.
6. Draft a written digest (plain text or simple HTML) that includes: a one-paragraph summary of deliverability impact for the week, a counts-by-bucket table with percentages, the 10 riskiest addresses with a recommended action for each (remove, suppress, re-verify, or keep), a one-sentence recommended next step per bucket, and the ZeroBounce credit balance footer.
7. Send the digest with Gmail Send a Message to marketing-ops@ (let the user override the address at setup time). Subject line should be "Weekly CRM hygiene report — week of <Monday's date>".
The workflow is read-only against HubSpot. Do not write back to contacts, do not create tasks, do not delete anything. If a step errors (HubSpot 429, ZeroBounce credit exhausted, Gmail send failure), include the error in the digest so the team knows the run was partial, and still attempt the Gmail send with whatever data was collected.
Additional information
What does this prompt do?
- Every Monday at 8am, pulls every HubSpot contact created or updated in the past 7 days.
- Runs the collected email addresses through ZeroBounce in batches and groups the results into valid, catch-all, risky, and undeliverable buckets.
- Writes a plain-English digest with deliverability impact, the 10 riskiest addresses to remove or re-verify, and a recommended next step for each bucket.
- Notes your remaining ZeroBounce credit balance at the bottom and emails the whole report to marketing-ops via Gmail.
What do I need to use this?
- A HubSpot account with permission to read contacts.
- A ZeroBounce account with API access and enough credits to validate a week of new contacts.
- A Gmail account that can send to your marketing ops inbox.
How can I customize it?
- Change the schedule to daily, biweekly, or a different day and time.
- Swap the recipient address or add CC recipients on the marketing ops team.
- Adjust the lookback window (7 days by default) or narrow the contact filter to a specific list, lifecycle stage, or owner.
- Tune what counts as risky vs. undeliverable, or change how many top offenders the digest highlights.
Frequently asked questions
Will this work on HubSpot Free?
How many contacts can it validate in one run?
Does it modify my HubSpot contacts?
Can I send the report somewhere other than email?
What if the agent runs out of ZeroBounce credits mid-run?
Stop letting bad emails quietly burn your sender reputation.
Connect HubSpot, ZeroBounce, and Gmail once, and Geni delivers a clean weekly hygiene report to marketing ops every Monday morning.