Monday morning cold email capacity check in Slack
Every Monday at 8am ET, compare your sending mailboxes to campaign backlog and get a ranked Slack digest of which campaigns are under-provisioned.
Build me an agent workflow that runs every Monday at 8am America/New_York and posts a cold email capacity digest to Slack. The point of the digest is to catch under-provisioned campaigns before they silently cap outbound: match the supply of sending mailboxes in Primeforge against the demand of unsent leads in Instantly.
Step 1. Compute fleet capacity from Primeforge. Use Primeforge's List Workspace Mailboxes to pull every mailbox in the workspace. Skip any mailbox that is paused or scheduled for deletion. Treat everything remaining as an active mailbox. Estimate total safe daily send capacity as active_mailboxes multiplied by 30 (the standard safe-send number per mailbox per day, which should be a configurable constant near the top of the instructions).
Step 2. Pull demand from Instantly. Use Instantly's List Campaigns to get every active campaign (status 1). For each active campaign, use Instantly's List Leads filtered to that campaign id, and count the leads that are still unsent (pending, status 0, plus active in-sequence, status 1). Keep each campaign's remaining lead count and name/tags.
Step 3. For each campaign, calculate: (a) days_to_drain equals remaining_leads divided by that campaign's fair share of daily capacity, where fair share is fleet_capacity times (this campaign's remaining leads divided by total remaining leads across all active campaigns); (b) demand_share equals this campaign's remaining leads divided by total remaining leads; (c) recommended_additional_mailboxes equals the extra mailboxes needed so that remaining_leads divided by (30 times new_mailbox_count) is at most 7, rounded up. Flag a campaign as at risk if days_to_drain is greater than 14, or if its demand_share is materially higher than its current share of fleet capacity.
Step 4. Send a single Slack digest using the Slack Bot Send a Message action to a channel I will specify when I set this up. Rank the at-risk campaigns from worst to best. For each flagged campaign, state the concrete numbers on one line each: remaining leads, days to drain at current fair share, and recommended additional mailbox count. Under that, call out any campaigns that could be safely paused this week to free capacity for hotter ones (candidates: low remaining leads plus low reply rate, or campaigns whose demand_share is far below their capacity share). If nothing is at risk, post a short green-light note that says the fleet has enough headroom for the week.
Tone: concise and operator-focused. No marketing fluff, no emoji spam, no filler. Use Slack mrkdwn: bold campaign names, one line of numbers per campaign, and a short recommendation at the top. Keep the full message under about 15 lines so it can be read at a glance on a phone.
Make the sends-per-mailbox-per-day assumption (30), the days-to-drain threshold (14), and the target Slack channel easy to change at the top of the workflow instructions so I can tune them later without rewriting the logic.
Additional information
What does this prompt do?
- Adds up your active sending mailboxes and estimates total safe daily send capacity for the week ahead.
- Pulls every active campaign and counts how many leads are still waiting to be sent in each one.
- Ranks campaigns that will take too long to drain at current capacity and estimates how many more mailboxes each one needs.
- Posts a single Slack digest that calls out which campaigns to reinforce and which could be paused to free up capacity for hotter ones.
What do I need to use this?
- A Primeforge account with an API key that can list your workspace mailboxes.
- An Instantly account on the Growth plan or higher with an API key that can read campaigns and leads.
- A Slack workspace connected to Geni, plus the channel or direct message where the Monday digest should post.
How can I customize it?
- Change the day, time, or Slack channel the digest posts to.
- Tune the sends-per-mailbox-per-day assumption if your warmup is tighter or more relaxed than the default of about 30.
- Adjust the days-to-drain threshold that flags a campaign as at risk (the default is 14 days).
- Add or remove specific campaigns and tags you want the digest to cover.
Frequently asked questions
Why not just look at Instantly's dashboard?
What counts as an active mailbox?
Can the digest post in a direct message instead of a channel?
What if I use a different sending platform, like Smartlead?
What happens on a Monday when nothing is at risk?
Related templates
Stop guessing whether your cold email fleet can keep up.
Connect Primeforge, Instantly, and Slack once, and Geni runs this capacity check every Monday at 8am ET.