Weekly Breezy HR funnel health report in Notion and Slack
Every Monday at 8am, publish a structured weekly report of pipeline health, hiring velocity, and stage bottlenecks to Notion, with a short summary in Slack.
Every Monday at 8am, build a weekly hiring funnel intelligence report from Breezy HR, publish it as a new page in a Notion database, and post a short summary to a designated Slack channel. The Notion page is the canonical artifact; the Slack message is the nudge to go read it.
Trigger: cron, every Monday at 8am in the user's timezone.
Step 1: Pull the data from Breezy HR. Call List Positions with state=published to enumerate every open role. For each role, call Get Pipeline to fetch the stage definitions, then call List Candidates for Position to fetch the candidates currently on that role. Use the candidate stage timestamps to figure out how long each candidate has been sitting in their current stage.
Step 2: Reason over the data. For each open role compute candidates per stage, stage-to-stage conversion (what fraction of candidates that entered stage A advanced to stage B), and median time-in-stage. Flag any stage where the median time-in-stage exceeds a configurable threshold (default 7 days) or where the count has piled up with zero advances in the last week. Across all roles, surface the top 2 to 3 bottlenecks, name the specific roles that are stalling, and write a plain-English recommended action for each (for example: "Senior PM has 14 candidates in screen but 0 advanced this week, recruiter should triage today").
Step 3: Write the report to Notion. Use Create a Page with a Notion database as the parent. The page title should include the week (for example "Hiring funnel - week of Mon Jun 16"). Structure the body with three sections: Funnel health (per-role candidate counts by stage and conversion rates, formatted as readable tables or bulleted blocks), Hiring velocity (median time-in-stage per role, week-over-week trend if available, total candidates advanced this week), and Recommended actions (the top 2 to 3 named bottlenecks with the suggested intervention). Keep the formatting clean and skimmable.
Step 4: Post the Slack summary. Use Slack Bot Send a Message to a designated channel. Keep it short: the week label, the top 3 headlines (one line each, naming the role and the issue, e.g. "Senior PM stuck at screen, 14 candidates, 0 advanced"), and a link to the Notion page that was just created. Do not dump the full report into Slack.
Configurable inputs to expose: the Notion database id for the weekly report, the Slack channel id (or name), the time-in-stage threshold in days (default 7), the day and time of the cron, and an optional role filter (for example only roles tagged with a certain department) in case the user wants to scope this to part of the org.
Notes for the build: Breezy HR is API-key style auth (email and password exchanged for a session token); company_id is needed for the Breezy calls so resolve it once at the start. Notion pages must be created under a database the integration has been shared with, so make that requirement clear in setup. Use Slack Bot (not the user Slack integration) so the message is attributed to the workspace bot. Stay resilient to roles that have no candidates yet (just note them as empty rather than failing).
Additional information
What does this prompt do?
- Walks every open role in Breezy HR each week and counts how candidates are spread across each pipeline stage.
- Computes stage-to-stage conversion and flags stages where candidates have been sitting too long.
- Names the top 2 to 3 bottlenecks, points to the specific roles that are stalling, and suggests next steps in plain English.
- Writes the whole thing as a structured weekly page in a Notion database, with sections for funnel health, hiring velocity, and recommended actions.
- Posts a short Slack summary with the top 3 headlines and a link to the Notion page so the team actually reads it.
What do I need to use this?
- A Breezy HR login that can see every open role and pipeline you want included
- A Notion workspace with a database for weekly reports, shared with the General Input connection
- A Slack workspace with the General Input bot added to the channel that should get the summary
How can I customize it?
- Change when the report runs (default is Monday at 8am).
- Adjust the time-in-stage threshold that counts a stage as stalled (default is 7 days).
- Pick which Notion database the weekly page lands in, and which Slack channel gets the summary.
- Limit the report to a specific group of roles or departments if you only care about a subset of the funnel.
Frequently asked questions
Where does the actual report live, Notion or Slack?
How does it decide what counts as a bottleneck?
Can I change the stalled stage threshold?
Will it work if I only have a couple of open roles?
What about the page from last week?
Can it run on a different day or time?
Stop guessing where your hiring pipeline is stuck.
Connect Breezy HR, Notion, and Slack once, and get a clear weekly read on funnel health, hiring velocity, and the exact stages that need attention.