Daily Breezy HR overnight applicant shortlist in Slack

By General Input

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.

Integrations

  • Breezy HR
  • Slack Bot

Type

Agentic Task

Categories

  • HR & People
  • Operations

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.

Related prompts

Explore more prompts
A 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 seatsPause marketing emails to escalated customers, then restore them