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.

Agentic Task
HubSpotZeroBounceGmailMarketingOperationsAI ReportsDaily DigestsEmail Automation
PromptCreate

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.

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.

FAQs

Will this work on HubSpot Free?
Yes. The workflow only reads contacts, which is available on every HubSpot tier including Free.
How many contacts can it validate in one run?
ZeroBounce checks up to 200 addresses per batch and the agent pages through as many batches as needed. A typical week of new contacts is well within reach, and the agent will warn you in the report if your credit balance is running low.
Does it modify my HubSpot contacts?
No. The report is read-only. It surfaces the riskiest addresses so your team can decide what to remove or re-verify, but nothing is changed in HubSpot automatically.
Can I send the report somewhere other than email?
Yes. You can change the delivery step to post the digest in Slack, drop it into a Google Doc, or add it to a Notion page instead of, or in addition to, the Gmail send.
What if the agent runs out of ZeroBounce credits mid-run?
The agent checks your remaining credit balance and includes it in the report. If a run is interrupted by an empty balance, the digest will call that out so you can top up before the next Monday.

Related templates

Client-by-client cold email pipeline review for agencies

Pick a client and a date range to see sent, replies, meetings booked and the real deal value your cold email produced, campaign by campaign.

Instantly
HubSpot
Slack Bot
App
Partner tier review board for quarterly promotion calls

Work every partner tier decision from one board, with the revenue and commission numbers, clear promotion thresholds, and AI review briefs.

Introw
HubSpot
Slack
App
Reconcile partner commissions between HubSpot and Introw

Open one board at month end to find every closed deal missing a commission, every commission with no deal behind it, and every amount that does not add up.

Introw
HubSpot
Slack
App
Hiring signal board for your customers and open pipeline

Open one board each morning to see which of your accounts are hiring, what they are building, and where your product fits the roles they just opened.

JobsPipe
HubSpot
App
Run your nutrition clients' weekly meal plans from one console

See who is due, build a week of dinners on demand, swap anything you do not like, then send the recipe and grocery links yourself.

Instacart
Airtable
Gmail
App
Placement pricing desk for recruiting and staffing agencies

Open a live deal, see the market pay range for that role and city, set your markup, and write the agreed numbers straight back onto the deal.

Job Salary Data
HubSpot
App

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.