Guard your sender reputation on cold outreach campaigns

Every weekday morning, vet your pending leads for bad emails and low engagement scores, then only send personalized cold emails to the ones that pass.

Agentic Task
Google SheetsZeroBounceGmailSalesMarketingEmail AutomationLead Enrichment
PromptCreate

Build an agent workflow that gates a cold outreach campaign so we never burn sender reputation on a junk list. The agent framing is right because the per-row decision combines multiple signals and the drafting step is open-ended.

Trigger: cron, every weekday (Monday through Friday) at 9am in the user's local timezone.

Step 1. Use Google Sheets Get Values to read pending rows from the 'outreach_queue' tab of the user's spreadsheet. The columns are: name, company, email, talking_point, status. Process every row where the status column is empty. Skip rows where status is already filled in (they've been handled in a previous run).

Step 2. For each empty-status row, call ZeroBounce Validate Email on the email address, then call ZeroBounce AI Email Scoring on the same address. Capture the deliverability verdict (status / sub-status) and the AI score (0 to 10).

Step 3. Decide what to do with the row based on the combined signals:

- If the ZeroBounce verdict is invalid, abuse, spamtrap, or disposable, do NOT send. Mark the row's status as 'skipped: bad_email'.

- Else if the AI score is below 8, do NOT send. Mark the row's status as 'skipped: low_score'. (Note to the user: 9 is a conservative cutoff, 8 is balanced. Pick one and stick with it.)

- Otherwise, draft a short, personalized cold email using the talking_point column for context. Keep it under 120 words, plain text, no marketing fluff, and end with a single soft call to action. Send it from the user's Gmail account using Gmail Send a Message.

Step 4. After each row is processed, use Google Sheets Update Values to write back to that row: the new status ('sent', 'skipped: bad_email', or 'skipped: low_score'), the ZeroBounce verdict, and the AI score. Leaving these reasons in the sheet matters because the operator may want to manually re-check borderline cases (e.g. a 7.9 score for a known good prospect).

Process rows sequentially so a failure on one row never blocks the others, and so the agent can log a clear per-row outcome. At the end of the run, log a one-line summary: how many rows processed, how many sent, how many skipped for bad email, and how many skipped for low score.

What does this prompt do?

  • Reads pending rows from your outreach queue spreadsheet every weekday morning.
  • Checks each address for deliverability issues like disposable, spam-trap, abuse, and invalid emails.
  • Scores each lead's engagement likelihood and skips anyone below your quality threshold.
  • Drafts and sends a short, personalized cold email from your Gmail account to qualified leads only.
  • Writes the verdict, the score, and the outcome back into your sheet so you always know why a lead was sent or skipped.

What do I need to use this?

  • A Google account with an outreach queue spreadsheet (columns for name, company, email, talking point, and status).
  • A Gmail account that you want to send the cold emails from.
  • A ZeroBounce account for email validation and AI quality scoring.

How can I customize it?

  • Change the send time or the days of the week the campaign runs.
  • Adjust the AI score cutoff (9 is conservative, 8 is balanced) and which deliverability verdicts count as a skip.
  • Edit the email tone, opening line, signature, or call to action the agent uses when drafting.

FAQs

Why does this protect my sender reputation?
Sending to invalid, disposable, or spam-trap addresses causes bounces and complaints, which inbox providers use to throttle or block future emails. Filtering those out before anything goes out keeps your domain in good standing.
What happens to leads that get skipped?
They stay in the sheet with a clear reason written next to them, like 'skipped: bad_email' or 'skipped: low_score', along with the ZeroBounce verdict and AI score. An operator can review borderline cases and manually re-queue them if they want.
Can I change the quality threshold?
Yes. The agent uses an AI score cutoff that you control. A score of 9 is conservative and only emails very high-quality leads, while 8 is more balanced. You can tune it up or down at any time.
Does the agent write the email itself?
Yes. For each lead that passes both checks, the agent drafts a short personalized cold email using the talking point you've recorded for that row, then sends it through Gmail.
What if my sheet uses different column names?
You can rename columns and update the prompt to match. As long as you have an email column, a personalization column, and a status column the agent can write to, it will work.

Related templates

Call overdue Xero customers with an AI collections agent

Every weekday at 10am, an AI voice agent phones your most overdue Xero accounts, logs what each customer promised, and reports back to finance in Slack.

LiveKit
Xero
Deepgram
+2
Agentic Task
Local listing health board for every location you manage

See every Google Maps listing you manage on one screen, ranked worst first, with an audit button that writes the fix list for you.

Local Business Data
Google Sheets
App
Win back LiveChat visitors whose chats went unanswered

Every couple of hours we find the chats your team never answered, email those visitors a real reply, and hand the sensitive ones to a support lead.

LiveChat
Gmail
Slack
Agentic Task
Let support send one-off Loops emails without an engineer

Your team picks a template, finds the customer, checks they are safe to email, then sends it, with every send logged where the whole team can see it.

Loops.so
Stripe
Google Sheets
App
Stop cold emails to anyone with a live deal in Pipedrive

Every night at 2am, pull the contacts on your open and won deals and block them from your cold outreach before the next send goes out.

Mailshake
Pipedrive
Google Sheets
Deterministic Code
iMessage campaign console with pre-flight checks and delivery board

Build every text campaign in one screen: check who is actually reachable, see a realistic send plan, then watch delivery land row by row.

LoopMessage
Google Sheets
HubSpot
App

Stop burning sender reputation on bad leads.

Connect Google Sheets, Gmail, and ZeroBounce once, and Geni runs your validated cold outreach campaign every weekday at 9am.