This workflow sends each hiring manager a weekly email overview of their open roles, including pipeline totals, per-position summaries, interviews scheduled for the next week, and stuck candidates (no movement ≥ 7 days). It uses the Breezy HR API to fetch positions, candidates, and events, determines hiring managers per position (with fallback mapping), aggregates results per manager, and then either previews or sends HTML email digests. The process runs every Monday at 07:30 (Asia/Kolkata) with optional dry-run previews and rate-limited email sends.
- Hiring managers wanting one consolidated weekly snapshot instead of multiple fragmented updates.
- Talent and recruiting teams using Breezy HR who need pipeline hygiene and forecast readiness at a glance.
- Operations partners preferring standardized emails with HTML formatting and text fallbacks.
- Cron Trigger — Runs every Monday at 07:30 IST.
- Fetch Open Positions — Breezy HR
PositionsAPI node fetches open roles according to configured filters. - Determine Hiring Manager — For each position, the workflow checks for a hiring manager within the team; if none, a fallback map is used.
- Candidate Aggregation — Fetches candidates per position, computes stage counts, and marks candidates as “stuck” if they haven’t moved in
STUCK_AFTER_DAYS. - Interview Events — Fetches position events and identifies interviews scheduled in the next calendar week.
- Aggregate by Manager — Groups results per hiring manager and builds HTML digest emails.
- Send or Dry Run — If
DRY_RUNis true, outputs a preview; otherwise sends emails with rate-limiting between messages.
-
Add Credentials in n8n
- HTTP Header Auth for Breezy HR —
Authorization: Bearer <YOUR_TOKEN> - SMTP (Gmail) — For sending weekly digests
- HTTP Header Auth for Breezy HR —
-
Configure “Set: Config” Variables
BREEZY_API_BASE=https://api.breezy.hr/v3COMPANY_ID= your Breezy company IDTIMEZONE= e.g.,Asia/KolkataINCLUDE_ONLY_OPEN=trueUSE_BREEZY_HM_DETECTION=trueHM_FALLBACK_MAP_JSON= JSON mapping fallback position → manager emailSTUCK_AFTER_DAYS= number of days without movement to consider a candidate stuckINTERVIEW_EVENT_KEYWORDS_CSV= comma-separated interview keywords (e.g.,interview)SMTP_FROM,SUBJECT_TEMPLATE,INTRO_TEMPLATE,OUTRO_TEMPLATEDRY_RUN=truefor preview,falseto send emailsRATE_LIMIT_EMAIL_SECONDS= seconds between email sends
-
Activate Workflow in n8n.
- Breezy HR API token with access to positions, candidates, teams, and events.
- SMTP (e.g., Gmail) configured in n8n for sending emails.
- n8n account (cloud or self-hosted) with HTTP Header Auth and SMTP credentials.
- Schedule — Modify the Cron expression to change day/time.
- Scope — Set
INCLUDE_ONLY_OPEN=falseto include positions in other states. - Interview Detection — Add keywords to
INTERVIEW_EVENT_KEYWORDS_CSV. - Stuck Threshold — Adjust
STUCK_AFTER_DAYSfor marking candidates as stuck. - Templates & Subjects — Update
SUBJECT_TEMPLATE,INTRO_TEMPLATE,OUTRO_TEMPLATEfor email formatting. - Fallback Map — Expand
HM_FALLBACK_MAP_JSONfor more granular fallback values.
- Slack Delivery — Post weekly summary to Slack alongside email.
- CSV Attachments — Per-manager CSV files for offline analysis.
- Manager CC Options — CC recruiting leads or HR partners.
- Dashboard Writeback — Log weekly metrics to Google Sheets.
- Custom Windows — Adjust the interview window (e.g., next 2 weeks instead of 1).
- Hiring managers receiving one weekly email summarizing open roles and upcoming interviews.
- Recruiting operations tracking pipeline health and identifying stalled candidates.
- Leadership using a weekly snapshot for Monday stand-ups or reports.
| Issue | Possible Cause | Solution |
|---|---|---|
| No emails sent | DRY_RUN=true |
Set DRY_RUN=false to enable actual emails. |
| Missing HM recipients | No hiring manager found via API and no fallback map | Add mapping in HM_FALLBACK_MAP_JSON. |
| Interviews list empty | Different event labels used in Breezy HR | Add matching labels to INTERVIEW_EVENT_KEYWORDS_CSV. |
| Stuck candidates missing | Threshold too high or missing timestamps | Lower STUCK_AFTER_DAYS or verify activity timestamps. |
| API errors | Invalid or expired Breezy HR token | Recreate HTTP Auth credential with valid token. |
| Emails fail | SMTP issues or provider limits | Check SMTP credentials, From address, and provider limits. |
For assistance tuning filters, adjusting aggregation logic, adding Slack summaries, CSV exports, or dashboards, contact WeblineIndia. Our n8n workflow experts can help tailor this workflow to your stack and requirements.