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.
Integrations
Breezy HR
Notion
Slack Bot
Type
Categories
- HR & People
- Operations
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).
What it does
- 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 you’ll need
- 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 to 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.
Use cases
- AI Reports
- Daily Digests
- Research & Monitoring