Send weekly hiring manager reports with BreezyHR data to email
Weekly hiring‑manager snapshot from Breezy HR to email (pipeline, next‑week interviews, stuck) This workflow sends each hiring manager a single weekly email with an overview of their open roles: pipeline totals, a per...
Template notes
Weekly hiring‑manager snapshot from Breezy HR to email (pipeline, next‑week interviews, stuck)
This workflow sends each hiring manager a single weekly email with an overview of their open roles: pipeline totals, a per‑position summary, interviews scheduled next week and stuck candidates (no movement ≥ 7 days). It queries Breezy HR using your API token, detects the HM via each position’s team (falling back to a simple map when unavailable), aggregates results and emails one digest per HM. The job runs Mondays at 07:30 Asia/Kolkata, includes a DRYRUN preview and rate‑limits sends.
Who’s it for - Hiring managers who want a once‑a‑week snapshot instead of many separate updates. - Talent/recruiting teams using Breezy HR who need pipeline hygiene and next‑week readiness at a glance. - Ops partners who prefer a standardized email with HTML tables and a text fallback.
How it works 1. Cron (Mon 07:30 IST) triggers weekly. 2. Breezy → Positions: Fetch open positions (configurable). 3. Find HM: For each position, read the position team and look for a member with a “hiring manager” role; if none, use the fallback map. 4. Candidates per position: Fetch candidates, compute stage counts and mark stuck where last activity ≥ STUCKAFTERDAYS. 5. Events per position: Fetch events and keep those that look like interviews scheduled next calendar week. 6. Aggregate per position → Group by hiring manager → Build one HTML digest per HM. 7. DRYRUN? If true, output a preview only; otherwise send emails with a small delay between each.
How to set up 1. Credentials in n8n - HTTP Header Auth for Breezy HR: set Authorization: Bearer <YOURTOKEN> in a credential (don’t hardcode in the node). - SMTP (Gmail) to send digests. 2. Open “Set: Config” (single place to edit) - BREEZYAPIBASE = https://api.breezy.hr/v3 - COMPANYID = your Breezy company ID - TIMEZONE = Asia/Kolkata - INCLUDEONLYOPEN = true (use STATEFILTER = open) - USEBREEZYHMDETECTION = true - HMFALLBACKMAPJSON = e.g., { "Default": "hm@example.com", "Java TL": "javatl@company.com" } - STUCKAFTERDAYS = 7 - INTERVIEWEVENTKEYWORDSCSV = interview - SMTPFROM = sender address - SUBJECTTEMPLATE = Weekly HM snapshot {{range}} — {{positionscount}} roles, {{candidatescount}} candidates - INTROTEMPLATE / OUTROTEMPLATE - DRYRUN = false (set true to preview) - RATELIMITEMAILSECONDS = 5 3. Activate the workflow.
Requirements - Breezy HR API token with access to positions, teams, candidates and events. - SMTP (Gmail) account to send emails. - n8n (cloud or self‑hosted) with HTTP Header Auth and SMTP credentials.
How to customize - Schedule: Change Cron to your preferred day/time. - Scope: Set INCLUDEONLYOPEN=false to include other position states. - Interview detection: Edit INTERVIEWEVENTKEYWORDSCSV to match your account’s event labels. - Stuck threshold: Adjust STUCKAFTERDAYS (e.g., 10 or 14). - Templates: Update SUBJECTTEMPLATE, INTROTEMPLATE, OUTROTEMPLATE. - Fallback mapping: Expand HMFALLBACKMAPJSON for positions lacking team data.
Add‑ons - Slack delivery: Post a weekly summary to a channel or DM the HM alongside the email. - CSV attachments: Attach per‑HM CSV of positions/candidates for offline work. - Manager CC: CC a recruiting lead or HRBP for visibility on key roles. - Writeback: Log weekly metrics to Google Sheets for dashboards. - Custom windows: Use a different future window (e.g., interviews in the next 2 weeks).