CJS.
Back to N8N Workflows

Case Study · N8N Workflow

HR Recruitment Process

End-to-end recruitment automation that ingests applicant resumes from Gmail, enriches and tracks them in Google Sheets, sends assessment emails, books interview slots via Google Calendar, and notifies HR on Slack at every stage.

25 nodes · 18 connectionsGmailGoogle SheetsGoogle DriveGoogle CalendarSlackSwitch Logic

The problem

HR was drowning in manual steps every time an applicant emailed in: download the resume, file it, copy candidate details into a spreadsheet, ping the team on Slack, then later remember to email assessments, find a free interview slot, send confirmations, and keep the tracker in sync the whole way.

Each step was simple — and each step was a place errors crept in. Resumes got lost in inboxes. Candidates were double-booked. Status updates lagged behind reality. The fix wasn't a new tool; it was wiring the existing tools together so the workflow ran itself.

Architecture

Four logical stages, 25 nodes, 18 connections. Each stage is independent and idempotent.

1

Resume Intake

A Gmail trigger watches a dedicated applicant inbox. New messages route the resume attachment to a Drive folder, a Set node enriches the candidate record (name, email, role, applied-on), the row is appended to a Google Sheets tracker, and HR is notified in Slack with a link to the new entry.

Gmail TriggerGoogle DriveSetGoogle SheetsSlack
2

Status Routing

When HR updates a candidate's status in the tracker, a Sheets trigger fires a Switch node. Each branch handles a different decision: send an assessment email, kick off interview scheduling, or send a polite decline — all idempotent so re-saving a row never duplicates emails.

Sheets TriggerSwitchGmail
3

Interview Scheduling

For candidates moving forward, the workflow checks Google Calendar availability against the requested slot. If a conflict exists it flags the row; if the slot is free it creates the meeting, then a Switch routes Initial vs Final interview into the right confirmation track.

Google CalendarIfSwitch
4

Confirmation & Sync

The matching confirmation email goes out (Initial or Final), the tracker is stamped with meeting status + time, and the team is notified in Slack so panelists can prep — closing the loop without a single manual hand-off.

GmailGoogle SheetsSlack

Outcome

  • Resume triage time dropped from hours to seconds — every applicant lands in the tracker the moment their email arrives
  • Zero double-bookings: Calendar conflicts are caught before a meeting is created
  • HR team gets Slack pings at every stage, eliminating status-check follow-ups
  • Re-runnable safely — Switch + If guards make the workflow idempotent on retry

Want to ship something like this?

I build production n8n workflows for ops, sales, and customer support teams.