Catch stalled Breezy HR candidates every Monday
Every Monday at 9am, get a Slack summary and personal email nudges for the candidates whose pipeline stage hasn't moved in a week.
Every Monday at 9am in my timezone, I want an agent that finds candidates stuck in the same Breezy HR pipeline stage for too long and tells me exactly who needs unblocking, so good people don't go cold while my team is heads-down.
Trigger: cron, Mondays at 9am.
What the agent should do, in order:
1. Call Breezy HR List Companies to resolve my company id.
2. Call Breezy HR List Positions filtered to published roles only.
3. For each published position, call Breezy HR List Candidates for Position.
4. Treat a candidate as stalled when both conditions are true: their current stage is anywhere between Applied and Offer (exclude Hired, Disqualified, and On Hold) AND the candidate record's updated_at is more than the stall threshold ago. Default threshold is 7 days. Expose the threshold and the active stage list as configurable variables at the very top of the agent instructions so I can tune them without editing logic.
5. For each stalled candidate, call Breezy HR Get Candidate Stream and inspect the most recent note, the most recent email, and the most recent stage change. Infer the most likely reason the candidate is stuck (waiting on interviewer feedback, no recruiter outreach yet, scorecard missing, candidate hasn't replied to last email, awaiting offer approval, etc.) and write one concrete suggested next action for each.
6. For every position that has at least one stalled candidate, call Breezy HR Get Position Team to map each stalled candidate to a hiring manager.
7. Use Slack Bot Send a Message to post one digest per configured channel (default: a single recruiting channel I configure). Group findings by role; for each candidate list the name, days in current stage, the inferred reason, and the suggested next action.
8. For each hiring manager who owns at least one stalled candidate, use Gmail Send a Message to email them their personal action list. Each manager only sees the candidates assigned to them, with the same per-candidate reason and suggestion.
9. Skip positions with zero stalls entirely. Never send an empty Slack digest, and never email a manager who has nothing to act on.
Performance and rate-limit rules:
- The candidate list response already includes updated_at and current stage, so do all stall filtering from the list response before making any per-candidate calls.
- Only call Get Candidate Stream for candidates that already look stalled. Do not pull the stream for the whole pipeline.
- If Breezy HR returns 429 Too Many Requests, honour the x-ratelimit-reset header and wait until that timestamp before retrying.
Configurable inputs at the top of the agent instructions:
- Stall threshold in days (default 7).
- Slack channel or channels for the team digest.
- Active pipeline stages (default: everything between Applied and Offer, excluding Hired, Disqualified, On Hold).
- Delivery mode: Slack digest only, hiring-manager emails only, or both (default both).
Additional information
What does this prompt do?
- Scans every published role in your Breezy HR account and flags candidates whose pipeline stage hasn't changed in more than seven days.
- Reads the recent activity on each stalled candidate and writes a likely reason, like waiting on interviewer feedback or a missing scorecard.
- Posts one tidy Slack digest grouped by role, so your recruiting team sees the whole picture in a single message.
- Emails each hiring manager only the candidates they own, with a concrete suggested next action for every one.
What do I need to use this?
- A Breezy HR account with permission to view positions, candidates, and candidate activity.
- A Slack workspace where the weekly recruiting digest should land.
- A Gmail account to send personal nudges to hiring managers.
How can I customize it?
- Change how many days a candidate can sit before it counts as stalled. The default is seven.
- Pick which Slack channel receives the team digest, or fan it out to several channels.
- Choose whether to email hiring managers, post to Slack only, or do both.
Frequently asked questions
Will this email hiring managers who have no stalled candidates?
Can I change which pipeline stages count as active?
How often does it run?
Does it work with Breezy HR's free plan?
What does the suggested next action look like?
Stop letting good candidates go cold.
Connect Breezy HR, Slack, and Gmail once, and Geni runs this every Monday at 9am with personalized nudges to the right hiring manager.