Daily AI cold outreach from a dedicated AgentMail inbox
Each weekday at 9am, an agent finds fresh Apollo leads, drafts personalized cold emails in your voice, and recaps the batch in Slack.
Build me an autonomous AI SDR workflow that runs every weekday at 9am in my local time zone and sends a fresh batch of personalized cold outreach emails from my dedicated AgentMail outreach inbox. Use a cron trigger.
Each run should do the following:
1. Pull a small batch of net new leads matching my ICP from Apollo using People Search, then enrich each one with Apollo People Enrichment to get a verified work email, current title, seniority, and recent employment history. My ICP filters are: target titles, seniorities, industries, geographies, and company headcount range (ask me for these on the first run and remember them).
2. For each lead, do light research using what Apollo returns (job title, seniority, recent role change, company size, industry) and draft a short, plain-text personalized cold opener written in my voice. Keep each email at roughly 90 words, one clear call to action to book a quick intro call, no fluff, no emojis, no em dashes. Pick a single angle per lead (recent promotion, hiring signal, company stage, etc.) and reference it naturally in the opener.
3. Before sending to a given address, check my AgentMail outreach inbox using List Messages to see whether I have sent to that address in the last 60 days. If I have, skip that lead. Also skip any generic role addresses (info@, sales@, support@, hello@, contact@, admin@, noreply@) and any addresses on a user-supplied blocklist.
4. Send each approved draft via AgentMail Send Email from my outreach inbox. Set thread metadata cleanly so future replies group into a single thread per lead. Apply a label like "outbound" so I can filter later.
5. Respect a daily send cap (default 20 per run, configurable) so the inbox stays warm. If Apollo returns more matches than the cap, queue the leftovers for tomorrow rather than blasting them all today.
6. At the end of the run, post a single recap to my #sales-outreach Slack channel using Slack Send a Message. The recap should list each lead contacted with name, role, company, the subject line used, and a one-line note on why the agent chose that angle. Also include totals: how many were attempted, sent, skipped for dedupe, skipped for generic address, or failed to send.
If sending fails for a specific lead (bounce, rate limit, validation error), log it in the Slack recap with the reason and move on. Never retry the same lead within the same run.
Make the daily send cap, dedupe window in days, target ICP filters, sending inbox, Slack channel, run time, and voice/style notes all easy to edit later without rebuilding the workflow.
Additional information
What does this prompt do?
- Every weekday at 9am, an agent pulls a small batch of fresh ICP leads from Apollo and drafts a personalized cold opener for each one in your voice.
- Sends each email from a dedicated AgentMail outreach inbox so future replies stay grouped to the right thread.
- Skips anyone you already contacted in the last 60 days and never sends to generic addresses like info@, sales@, or support@.
- Posts one tidy recap to your sales Slack channel listing who got contacted, their role, company, subject line, and why the agent picked that angle.
What do I need to use this?
- An Apollo account so the agent can search for fresh leads and pull verified work emails and job history.
- An AgentMail account with a dedicated outreach inbox on a warmed-up sending domain.
- A Slack workspace and the channel where the daily recap should land (default #sales-outreach).
- Your ICP filters: target titles, seniorities, industries, geographies, and company headcount range.
- A short note on your voice and the one call to action you want every email to make.
How can I customize it?
- Change the run time, time zone, skip weekends or holidays, or move to two batches a day.
- Adjust the daily send cap, the 60-day dedupe window, or the rough word-count budget per email.
- Refine the ICP filters, swap the recap channel, or paste in voice samples and a few winning openers so the drafts sound like you.
Frequently asked questions
Will this overwhelm my inbox if Apollo returns thousands of matches?
How does the agent know not to email someone twice?
Can I send from my own domain instead of agentmail.to?
What if I want to review the batch before anything goes out?
How does it personalize each email?
Does it ever send to role accounts like info@ or sales@?
Stop hand-writing cold emails every morning.
Connect Apollo, AgentMail, and Slack once, and Geni ships a personalized outreach batch from your warm inbox every weekday at 9am.