Weekly signal-based outreach drafts for stale accounts
Every Monday morning, surface target accounts that hit a fresh buying signal last week and queue personalized outreach drafts for your reps to review.
Build an agent workflow that wakes up every Monday at 8am in my timezone (cron trigger) and queues up signal-based outreach drafts for stale target accounts. The agent should reason its way through accounts, decide which ones have news worth acting on, and produce a personalized email draft plus a follow-up task for the owning rep.
Step 1 — pull the working list from HubSpot. Use HubSpot Search Companies to fetch active target accounts. Filter to: companies owned by SDRs (use List Owners / Get Owner to identify which HubSpot owners are on the SDR team, configurable as either a team id, a list of owner emails, or a property like hs_role) AND companies with no logged activity in the last 30 days (use notes_last_updated, num_notes, hs_lastmodifieddate, or notes_last_contacted as the staleness signal — pick whichever the user prefers, default to notes_last_contacted older than 30 days). Cap the working list at a sensible number per run (default 100) so we don't burn ZoomInfo credits.
Step 2 — pull fresh signals from ZoomInfo for each account. For every company in the working list, call ZoomInfo Get Company Insights to check for funding events, leadership changes, hiring anomalies, and intent spikes, and call ZoomInfo Enrich Scoops to pull recent buying signals (new offices, expansions, product launches, layoffs, etc.). Match HubSpot companies to ZoomInfo by domain first, falling back to company name. Batch where the operations support it (Get Company Insights accepts up to 50 companies).
Step 3 — judge whether the signal is worth acting on. Only proceed for accounts that have at least one meaningful signal dated within the last 7 days. 'Meaningful' should be a configurable threshold the user can tune; default to: any funding round, any VP-level-or-above leadership hire, a hiring spike of 10%+ in the last 30 days, a new office or expansion, or an intent spike on a topic the user has marked as relevant. Skip accounts where nothing material happened — do not draft anything for them, do not create a task, do not log them. The goal is high signal, not coverage.
Step 4 — draft a personalized outreach email in Gmail. For each qualifying account, use Gmail Create a Draft to create a draft email in the owning rep's Gmail (or a shared drafts inbox if the user prefers). The draft should: (a) open with a hook that names the specific event (e.g. "Saw you just closed your Series B — congrats" or "Congrats on bringing on [Name] as your new VP of Engineering"), (b) connect that event to a plausible reason it matters for our product in one or two sentences, and (c) end with a low-friction ask (15 minutes next week, a relevant resource, etc.). Keep it short, human, and specific to the event — no generic templates. Set the To: field to the best primary contact at the account (use HubSpot's primary contact for the company, or skip the To: and leave it blank if no good contact exists so the rep fills it in). Set a subject line that references the event.
Step 5 — create a HubSpot follow-up task. Use HubSpot Create Task to create a task on the company record, assigned to the owning rep, with subject like "Review signal-based outreach draft: <event summary>", a due date of today, priority HIGH, and a task body that summarizes (1) which signal fired, (2) the date of the signal, and (3) a link or reference to the Gmail draft (paste the draft id and a https://mail.google.com/mail/u/0/#drafts/<id> link). Associate the task to the company record.
Step 6 — log a short run summary. At the end of the run, the agent should record how many accounts were scanned, how many had qualifying signals, how many drafts were created, and which accounts were skipped and why. This is for the user to monitor over time and tune the threshold.
Configurable knobs the user should be able to set: the schedule, which HubSpot owners or team counts as 'SDRs', the staleness window in days, the working-list cap per run, the signal threshold (which event types count, minimum funding size, minimum seniority for leadership hires, hiring spike percentage), the lookback window for signals in days (default 7), the Gmail account or shared drafts inbox to write into, and intent topics to watch.
Additional information
What does this prompt do?
- Pulls your active target accounts from HubSpot every Monday at 8am, focused on companies owned by your SDRs that have gone quiet in the last 30 days.
- Checks each account against ZoomInfo for fresh signals from the past week: funding rounds, new executive hires, hiring surges, and office expansions.
- Drafts a personalized outreach email in Gmail for every account with a meaningful signal, opening with a specific hook tied to the event.
- Creates a HubSpot task on the account so the owning rep can review the draft, polish it, and send. Accounts with no real news are skipped to keep noise low.
What do I need to use this?
- A HubSpot account with companies, owners, and tasks enabled, plus the ability to read company activity and create tasks.
- A ZoomInfo seat with access to company insights and scoops.
- A Gmail account for the rep or shared inbox where draft emails should land.
How can I customize it?
- Adjust the schedule. Many teams want this on Sunday night, mid-week, or twice a week instead of Monday at 8am.
- Tune the signal threshold. Decide which events count as worth reaching out about (any funding, only Series B and later, only senior leadership hires, etc.) and how recent they must be.
- Change the staleness window. The default skips accounts with activity in the last 30 days, but you can widen or tighten that based on your motion.
- Swap the output. Instead of a Gmail draft plus a HubSpot task, send a Slack DM to the rep, post in a channel, or write the draft straight into a HubSpot engagement.
Frequently asked questions
Will my reps get spammed with drafts every Monday?
Does this send the email automatically?
Which signals does it look at?
What if my SDRs already touched the account recently?
Can I scope this to one team or one SDR?
Turn buying signals into ready-to-send outbound every Monday.
Connect HubSpot, ZoomInfo, and Gmail once, and Geni quietly serves up personalized outreach drafts for every stale account that just had real news.