How I Automated the Entire Hiring Process with n8n

Jono CatliffAbout 7 min readApr 19, 2025Watch original
THE SUMMARYAI-generated

Key Concepts

  • Automated Recruitment: Streamlining the hiring process from candidate sourcing to onboarding using automation tools.
  • N8N: A workflow automation platform used to connect different applications and automate tasks.
  • Google Sheets Dashboard: A centralized spreadsheet to track applicant progress through each stage of the recruitment process.
  • Indeed Integration: Automating responses and data extraction from Indeed job applications.
  • OpenAI Integration: Using AI to extract job titles from unstructured email data.
  • Webhooks: Triggering workflows based on changes in Google Sheets.
  • Cal.com Integration: Automating interview scheduling with a free Calendly alternative.
  • GoHighLevel: A CRM and marketing automation platform for more advanced email and SMS campaigns.
  • JSON (JavaScript Object Notation): A lightweight data-interchange format used for structuring data.
  • API (Application Programming Interface): A set of rules and specifications that software programs can follow to communicate with each other.

Automated Recruitment Workflow with N8N

1. Triggering the Workflow: Receiving New Recruits

  • Main Point: The workflow starts when a new candidate applies on Indeed or through a website form.
  • Indeed Setup:
    • The most important setting on Indeed is to ensure that you receive individual email notifications for each application. This is done by checking the appropriate box under "Application Updates" when creating a job posting.
    • This individual notification is crucial for triggering automated responses.
  • Gmail Trigger:
    • N8N monitors a Gmail (or Outlook) inbox for new emails.
    • A credential needs to be created to connect N8N to the Gmail account.
    • Polling Time: The frequency at which N8N checks for new emails. The video suggests setting this to every hour to avoid exceeding the free tier execution limits on N8N Cloud.
    • Filter: A filter is set to only trigger the workflow for emails with "Indeed" in the subject line (specifically, "Applied on Indeed").
  • Example: The video uses a mock candidate, Grace Elise Pelzer, to demonstrate the workflow.

2. Extracting Job Title with OpenAI

  • Main Point: Using OpenAI to extract the job title from the unstructured email subject line.
  • OpenAI Setup:
    • An OpenAI account with a balance of at least $5 is required.
    • An API key is generated from platform.openai.com and added as a credential in N8N.
    • The video uses the "4.0-mini" model for cost-effectiveness.
  • Message Structure:
    • System Message: Provides context to the AI ("You're an intelligent bot capable of pulling out the job title from an email subject line").
    • User Message: Contains the actual email subject line ("Please pull out the job title from this email subject line").
    • Assistant Message: Specifies the desired output format (JSON with a "job" field).
  • JSON Formatting: The assistant message instructs OpenAI to output the data in JSON format: {"job": "freelance video editor"}.
  • Example: The AI extracts "freelance video editor" from the subject line "freelance video editor applied on Indeed."

3. Adding Applicant Data to Google Sheets

  • Main Point: Populating a Google Sheets dashboard with applicant information.
  • Google Sheets Setup:
    • A Google Sheet is created with columns for first name, last name, job, date added, Indeed email, code, onboarding form completed, test sent, test completed, interview scheduled, hired, rejected, resume, portfolio link, years of experience, and expected salary.
    • N8N connects to the Google Sheet using a credential.
  • Data Mapping:
    • Data from the Gmail trigger and OpenAI is mapped to the corresponding columns in the Google Sheet.
    • First and Last Name Extraction: JavaScript functions (.split()) are used to separate the first and last names from the full name in the email.
    • Date Added: The today function in N8N is used to automatically insert the current date.
    • Unique Code Generation: A JavaScript function (math.random(), math.floor()) generates a random numerical code for each applicant. This code is used to uniquely identify the applicant throughout the recruitment process.
  • Matching Column: The "Indeed email" column is used as the matching column to update existing rows if an applicant has already applied.
  • Example: Grace Elise Pelzer's information (name, job title, date added, unique code, Indeed email) is added to the Google Sheet.

4. Sending an Automated Response

  • Main Point: Sending an automated email to the applicant with a link to an onboarding form.
  • Email Content:
    • The email thanks the applicant for applying and provides a link to an onboarding form.
    • The unique code is included in the email, which the applicant needs to enter in the onboarding form.
  • Onboarding Form:
    • A form is created using N8N's form submission trigger.
    • The form collects additional information such as first name, last name, email, resume, portfolio link, years of experience, expected salary, and the unique code.

5. Updating Google Sheets with Onboarding Data

  • Main Point: Updating the Google Sheet with the data submitted through the onboarding form.
  • Form Submission Trigger:
    • N8N listens for submissions to the onboarding form.
  • Google Sheets Update:
    • The Google Sheet is updated with the data from the form submission.
    • The "Onboarding Form Completed" checkbox is set to "true."
    • Matching Column: The "Code" column is used as the matching column to update the correct row.
  • Automated Rejection:
    • A conditional statement is used to automatically reject applicants based on criteria such as years of experience.
    • If the applicant's years of experience is less than 3, the "Rejected" checkbox is set to "true."

6. Manual Review and Test Assignment

  • Main Point: A manual review step is introduced before sending a test.
  • Webhook Trigger:
    • A webhook trigger is used to monitor changes in the Google Sheet.
    • A Google Apps Script is added to the Google Sheet to send data to the webhook URL whenever a cell is edited.
  • Google Apps Script:
    • The script sends data to the N8N webhook URL whenever a cell is edited.
    • The script needs to be authorized to access the Google Sheet.
  • Filter:
    • A filter is added to the N8N workflow to only process changes where the value is "true" (i.e., a checkbox is checked).
  • Switch Statement:
    • A switch statement is used to determine which action to take based on the column that was edited (Screening Approved, Test Approved, Hired).
  • Sending a Test:
    • If the "Screening Approved" checkbox is checked, an email is sent to the applicant with a link to a test submission form.
    • The test submission form collects the link to the test results on Google Drive and the unique code.

7. Processing Test Results and Scheduling Interviews

  • Main Point: Processing test results and scheduling interviews using Cal.com.
  • Updating Google Sheets with Test Results:
    • The Google Sheet is updated with the link to the test results and the "Test Completed" checkbox is set to "true."
  • Cal.com Integration:
    • If the "Test Approved" checkbox is checked, an email is sent to the applicant with a link to schedule an interview on Cal.com.
    • The unique code is passed to Cal.com as a query parameter to automatically populate the code field in the booking form.
  • Cal.com Trigger:
    • N8N listens for new bookings on Cal.com.
    • When a booking is created, the Google Sheet is updated with the "Interview Scheduled" checkbox set to "true."

8. Hiring and Onboarding

  • Main Point: Completing the recruitment process by hiring the candidate.
  • Hiring Action:
    • When the "Hired" checkbox is checked, the workflow can be configured to perform actions such as sending a contract or inviting the candidate to Slack.

9. Advanced Considerations

  • GoHighLevel Integration: The video suggests using GoHighLevel for more advanced email and SMS campaigns to increase conversion rates.
  • Error Handling: The video mentions potential errors and provides troubleshooting tips.

Conclusion

The video provides a detailed walkthrough of how to automate the entire recruitment process using N8N, Google Sheets, OpenAI, and Cal.com. By implementing this workflow, businesses can save time, improve efficiency, and ensure a consistent and streamlined hiring experience. The video emphasizes the importance of individual email notifications from Indeed, the use of unique codes for applicant identification, and the flexibility of N8N to integrate with various applications. The use of free tools like Cal.com is highlighted to lower the barrier to entry for businesses looking to automate their recruitment process without significant upfront costs.

AI summaries can miss context or contain errors. Check important details against the original video.

Go a little deeper.

Have a question about this video? Load its transcript to open the video chat.