Catch stalled Breezy HR candidates every Monday

By General Input

Every Monday at 9am, get a Slack summary and personal email nudges for the candidates whose pipeline stage hasn't moved in a week.

Integrations

  • Breezy HR
  • Slack Bot
  • Gmail

Type

Agentic Task

Categories

  • HR & People
  • Operations

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).

Related prompts

Explore more prompts
Win back LiveChat visitors whose chats went unansweredA brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seats