AI-Powered Candidate Evaluation System via Slack and Google Sheets - n8n Workflow

Automate candidate resume evaluation using AI agents triggered by Slack. This powerful n8n workflow analyzes PDFs, fetches job descriptions from Google Drive, and logs results to Google Sheets, providing fast HR insights.

Workflow Preview

Ready to automate?

Download this n8n workflow template and start using it instantly.

Who is this best for?

HR Teams and Recruiters: Who need to rapidly screen candidates based on technical fit and job requirements.
Technical Hiring Managers: Seeking immediate, data-driven summaries of candidate profiles.
n8n Automation Specialists: Looking for advanced examples combining AI agents, document parsing, and third-party integrations.
Companies using Slack and Google Sheets: That require centralized tracking and communication for recruiting tasks.

Overview

Recruiting often involves manual, time-consuming steps, especially when matching a resume against a detailed job description. This sophisticated n8n workflow solves this by creating a fully automated pipeline, triggered simply by uploading a candidate profile PDF to Slack.

This robust n8n workflow integrates two specialized AI agents. The first extracts and standardizes candidate data and matches the requested position to a predefined job description URL stored in a Google Sheet. The second agent (the 'HR Expert') performs the core evaluation, comparing skills, experience, and qualifications against the official job description text. The final evaluation, including a fit score and recommendation, is posted directly back to the Slack conversation and simultaneously logged in Google Sheets for auditing. This n8n workflow acts as a powerful, autonomous screening tool, saving HR considerable time and ensuring objective evaluation criteria across all applicants.

How it Works

This automation starts with the Webhook n8n trigger, listening for a POST request, typically from a Slack app mention.


  1. Trigger and Validation: The n8n trigger catches the Slack mention event. An If n8n node checks if a file (resume PDF) is attached. If no file exists, a Slack message informs the user to re-upload.

  2. Data Ingestion: The Download Candidate Profile From Slack n8n node uses the Slack API credentials to securely download the attached PDF. This file is then processed by the Extract from File n8n node, converting the resume content into plain text for AI processing.

  3. Profile Analysis Agent: The Profile Analyzer Agent (a LangChain Agent) receives the resume text and the original Slack message. It uses a Google Sheets Tool (n8n node) to query available job positions, identify the role requested by the user, and retrieve the corresponding Job Description URL.

  4. Job Description Retrieval: Using the derived URL, the n8n workflow downloads the Job Description PDF from Google Drive and extracts its text content.

  5. HR Expert Evaluation: The HR Expert Agent (a specialized LLM Chain n8n node) takes three inputs: the extracted candidate profile (JSON), the job description text, and a detailed instruction prompt. It outputs a structured JSON evaluation, including an overall fit score and recommendation.

  6. Data Preparation and Logging: The Map Columns code n8n node restructures the AI's output, merging it with candidate details and the applied position. This standardized data is then appended to a designated tracking sheet using the Update evaluation sheet Google Sheets n8n node.

  7. Notification: Finally, the n8n workflow uses the Slack n8n node to post the full evaluation summary, score, and recommendation back into the original Slack thread, completing the seamless automation loop. This entire n8n workflow demonstrates a high-utility use case for automation specialists.

Installation Guide

To deploy this n8n workflow template, follow these steps:


  1. Import the n8n workflow: Copy the provided JSON data and paste it directly into your n8n instance using the 'Import from JSON' function.

  2. Set up Slack Credentials:

You will need two Slack credentials: one for API requests (OAuth2 API credential) used for downloading files and one for the Bot Token (API credential) used for sending messages. Update the credentials in the Download Candidate Profile From Slack, Get information about a user, Send result in the mentioned channel, and Inform user that profile is missing n8n nodes.

  1. Set up OpenAI Credentials: Configure your OpenAI API Key credential and link it to the gpt4-1 model and gpt-4-1 model 2 n8n nodes.

  2. Configure Google Sheets for Job Mapping:

Create a Google Sheet mapping Position Titles to Job Description URLs (Google Drive links).
Update the Query available positions n8n node with the correct Google Sheets credential and the ID/URL of this mapping sheet.

  1. Configure Google Drive and Logging Sheets:

Ensure the Download file Google Drive n8n node has access to the Drive containing your Job Descriptions.
* Update the Update evaluation sheet Google Sheets n8n node with the credential and the Document ID for your evaluation tracking log.

  1. Configure Webhook Trigger: Activate the Webhook n8n node. n8n will provide a unique URL. Configure your Slack App's event subscriptions (app_mention) to post to this n8n trigger URL.

Node Details

Webhook (n8n trigger): The entry point of the n8n workflow. It is configured to listen for POST requests at the /slack-gilfoyle path, handling incoming Slack events.
Download Candidate Profile From Slack (HTTP Request n8n node): Uses the slackOAuth2Api credential to download the private resume file URL provided in the Slack event data. Key configuration: Response format set to 'File'.
Profile Analyzer Agent (LangChain Agent n8n node): This highly specific n8n node utilizes the gpt4-1 model and the Query available positions Google Sheets tool. Its function is to parse the resume text, identify the applied position, and fetch the corresponding Job Description URL from the Google Sheet.
Download file (Google Drive n8n node): Downloads the Job Description PDF file using the dynamic URL outputted by the Profile Analyzer Agent. Key configuration: File ID set via expression: {{ $json.output.JobDescription }}.
HR Expert Agent (LangChain Chain n8n node): The core evaluation engine. It uses the gpt-4-1 model 2 and a structured output parser (json parser 2) to perform a comprehensive comparison between the candidate profile and the job description, producing structured metrics.
Map Columns (Code n8n node): A JavaScript n8n node designed to extract and format key data points (fit score, recommendation, strengths) from the HR Expert Agent's complex JSON output, preparing the data for simple row insertion into Google Sheets.
Update evaluation sheet (Google Sheets n8n node): Appends the final, mapped evaluation results into a specified Google Sheet, ensuring every candidate screened by this n8n workflow is logged.
Send result in the mentioned channel (Slack n8n node): Sends the professional summary and fit score back to the user in the Slack channel, using dynamic data from the preceding n8n nodes.

Related n8n Workflows

Free

Nodes: 15 Nodes
Updated: December 26 2025
View all
Created by

Empowering small and medium businesses with smart automation and practical AI, no big tech team required.

Featured*