Stop drowning in job applications. This workflow transforms your hiring process from a manual, time-consuming data-entry task into an automated, intelligent screening system.
When a candidate applies via your Jotform, this workflow automatically:
Jotform Trigger)Send Confirmation Email)Download Resume PDF)Read Resume Text)Find Job in Notion)Combine Data)AI Candidate Analysis)Score > 40?)Create Candidate in Notion)Alert Hiring Team)Ignore (Score < 40))This template requires manual setup due to Jotform's unique Question IDs (QIDs). Please follow these steps carefully.
To get the file URL, this template requires you to turn "Resolve Data" OFF in the Jotform Trigger. This means the workflow uses Question IDs (e.g., q7_positionApplying, q8_typeA8) instead of human-readable labels.
Your QIDs will be different from the ones in this template. You must run the trigger once, find your QIDs, and replace them in the downstream nodes.
1. Set up Jotform and Notion (See "More Information" section below)
2. Configure the Jotform Trigger Node
q3_fullName, q7_positionApplying, q8_typeA8, uploadYour).3. Configure the Download Resume PDF (HTTP Request) Node
Query AuthHeader Auth credentials.
Jotform API Key (Query)apiKeyuploadYour in the expression {{ $('Jotform Trigger').item.json.uploadYour[0] }} with the QID for your file upload field.4. Configure the Find Job in Notion Node
(See the "Required Notion Setup" section at the end of this document for detailed instructions on how to build this database)
q7_positionApplying in the expression {{ $('Jotform Trigger').item.json.q7_positionApplying }} with the QID for your "Position" dropdown.5. Configure the AI Candidate Analysis Node
q8_typeA8 in the expression {{ $('Jotform Trigger').item.json.q8_typeA8 }} with the QID for your cover letter field.6. Configure the IF (Score > 40?) Node
40 to any score you want to use as your quality filter.7. Configure the Create Candidate in Notion Node
(See the "Required Notion Setup" section at the end of this document for detailed instructions on how to build this database)
{{ $('Jotform Trigger').item.json.q3_fullName.first }} ... (Replace q3_fullName){{ $('Jotform Trigger').item.json.q4_email }} (Replace q4_email){{ $('Jotform Trigger').item.json.q5_phoneNumber?.full ? ... (Replace q5_phoneNumber){{ $('Find Job in Notion').item.json.id }}, is correct.uploadYour with your file QID.8. Configure Communication Nodes
Send Confirmation Email (Gmail): Connect your email credentials and customize the email body.Alert Hiring Team (Slack): Connect your Slack credentials and select your desired channel (e.g., #hiring).9. Activate your Workflow!
false (No) output of the IF (Score > 40?) node to a Google Sheets node to keep a log of all candidates who didn't meet the score threshold.AI Candidate Analysis node to ask for different insights, such as "List 3 potential red flags" or "Estimate years of experience."Jotform is a powerful and easy-to-use online form builder perfect for creating professional job application forms. Its flexibility with file uploads and webhooks makes it an ideal trigger for this n8n automation. If you don't have an account, you can get started using the link above.
Your Jotform must have these fields for the template to work:
Upload Your Resume)
pdf only.Position Applying For)
Summary / Cover Letter)This workflow requires two separate databases in Notion that are linked together. Both databases must be shared with your n8n integration.
Database 1: "Open Positions"
This database holds your job descriptions. The AI reads from this database to understand the job requirements.
Open Positions.Name (Title): This is the job title. It must exactly match the options in your Jotform dropdown (e.g., "Marketing Manager").Job Description (Text): A text field where you will paste the full job description for the role.Database 2: "Candidates"
This database will store every new applicant and their AI-generated score.
Candidates.Candidate Name (Title): This will be filled with the applicant's name from the form.Email (Email): Stores the candidate's email.Phone (Phone): Stores the candidate's phone number.Resume (File): Stores the link to the resume PDF.AI Summary (Text): Stores the 2-sentence summary from the AI.AI Fit Score (Number): Stores the 0-1S00 score from the AI.Key Skills (Multi-select): Stores the skills array generated by the AI.Position (Relation): This is the final, crucial property.
Relation.