Daily Breezy HR overnight applicant shortlist in Slack
Every weekday at 8am, score overnight Breezy HR applicants against each open role and post a ranked top-3 shortlist to your recruiting Slack channel.
Build me an agent workflow that runs every weekday morning at 8am in my local timezone. The job is to screen the candidates who applied to my Breezy HR roles overnight and post a ranked shortlist for each role into Slack so my hiring team can start the day on the strongest applicants.
Trigger: a cron schedule, weekdays at 8am.
On each run, do the following in Breezy HR:
1. Call List Companies to discover the company the signed-in user belongs to. If there is more than one, use the first one unless I have configured a specific company id.
2. Call List Positions for that company, filtered to published roles only. Skip drafted, archived, or closed positions.
3. For each published position, call List Candidates for Position. Filter client-side to candidates whose created_at is within the last 24 hours. If a role has zero new candidates in that window, skip it entirely. Do not post an empty digest.
4. For every new candidate on a position that survives the filter, call Get Candidate to pull the full profile (work history, education, custom fields) and Get Candidate Resume to download the primary resume file. Pass the resume to the model as a file attachment so it can read the resume text directly.
Then score each new candidate against the position description, which is the job description source. Reason in plain language about specific strengths and obvious gaps. Produce a match score from 0 to 100 and a one-line rationale per candidate. Rank the candidates per role and keep only the top 3.
Finally, for each role that has at least one new candidate, call the Slack Bot Send a Message operation once to post one digest message to a configurable channel (default #recruiting). The message should include:
- The role name and a link to the Breezy position page as the header
- The number of new applicants in the last 24 hours
- A numbered top-3 list with candidate name, match score, one-line rationale, and a deep link back to the Breezy candidate page so a recruiter can open the full profile in one click
Format the Slack message with mrkdwn (single asterisks for bold, angle-bracket links). Keep it scannable. Cap at top 3 per role even if more applicants came in. Post one message per role, in the same channel, so each role is its own digest entry.
Inputs to expose to the user when configuring this workflow:
- The Slack channel name or id to post into
- The schedule (default Mon to Fri at 8am, user's timezone)
- The lookback window in hours (default 24)
- Shortlist size (default 3)
- Optional minimum match score to include a candidate at all
Use the Slack Bot integration (not user Slack) so the digest posts as a workspace bot independent of any single recruiter's account.
Additional information
What does this prompt do?
- Wakes up every weekday at 8am and looks across every published role in your Breezy HR account.
- For each role, pulls the candidates that applied in the last 24 hours and reads their profile, work history, and resume.
- Scores each new applicant against the job description in plain language, flagging clear strengths and obvious gaps.
- Posts one message per role to your recruiting Slack channel with a top-3 shortlist, match scores, one-line rationales, and a deep link back to Breezy.
- Skips roles that had zero overnight applicants so your channel only lights up when there is something to review.
What do I need to use this?
- A Breezy HR login with access to the roles and candidates you want screened. A dedicated integration user without two-factor authentication works best.
- A Slack workspace where you can install the General Input bot and invite it to your recruiting channel.
- The name of the Slack channel that should receive the morning digest, for example #recruiting or #hiring-pipeline.
How can I customize it?
- Change the schedule. 8am on weekdays is the default, but you can run it twice a day, only on Mondays, or in a different timezone.
- Point it at a different Slack channel, a private hiring room, or a direct message to the hiring manager for each role.
- Tune the shortlist size and bar. Show top 5 instead of top 3, or only surface candidates that clear a minimum match score.
- Narrow the scope to a specific department, location, or pipeline stage so the digest stays focused on roles you are actively hiring for.
Frequently asked questions
Do I need Breezy HR's paid Candidate Match Score feature for this to work?
Will it screen every open role, or can I limit it to specific positions?
What if no one applied overnight to a particular role?
Can I change the Slack channel it posts to?
How does it decide which candidates make the top 3?
Stop scrolling through overnight applicants in Breezy HR.
Connect Breezy HR and Slack once, and Geni delivers a ranked shortlist for every open role before your hiring team's first coffee.