🚨 Change Base URL here!
Configured with Airtable, Chain LLM, Extract From File, Form, and additional nodes. Review the connections and setup before adapting this template.
Node categories in this workflow
- Transform
- AI & models
- Trigger
- Data store
- Web / API
- Integration
Icons describe general node roles, inferred from node types. Inspect the parameters for the configured action.
Drag to pan; use + and − to zoom. Reconstructed from the exported node positions; nothing runs here. Dashed lines represent non-main connections. Full node names and notes appear below.
How it works
The exported workflow contains the following configured nodes. Their connections are shown above; inspect the JSON for the complete logic, expressions, and external actions.
| Node | Category | Type | Operation |
|---|---|---|---|
| Extract from File | Transform | Extract From File | |
| OpenAI Chat Model1 | AI & models | OpenAI Chat Model | See node parameters |
| Structured Output Parser | Transform | Output Parser Structured | See node parameters |
| OpenAI Chat Model2 | AI & models | OpenAI Chat Model | See node parameters |
| Step 1 of 2 - Upload CV | Trigger | Form Trigger | See node parameters |
| Save to Airtable | Data store | Airtable | create |
| Classify Document | AI & models | Text Classifier | See node parameters |
| Upload File to Record | Web / API | HTTP Request | POST |
| Form Success | Integration | Form | completion |
| Save to Airtable1 | Data store | Airtable | update |
| Step 2 of 2 - Application Form | Trigger | Form Trigger | See node parameters |
| Application Suitability Agent | AI & models | Chain LLM | See node parameters |
| File Upload Retry | Integration | Form | See node parameters |
| Redirect To Step 2 of 2 | Integration | Form | completion |
| Submission Success | Integration | Form | See node parameters |
Setup
- Download the JSON and import it into an isolated n8n instance. Leave the workflow inactive.
- Connect your own credentials through n8n’s credential store. Replace
REPLACE_WITH_*values with your resource identifiers. - Inspect API destinations, Code nodes, database queries, file paths, and outbound actions.
- Run with synthetic data and harmless destinations. Enable triggers only after checking the actual outputs.
Requirements
An n8n instance with the listed node types and compatible versions. Service-connected workflows may require accounts, credentials, or paid APIs.
Credential types declared in the source
airtableTokenApiopenAiApi
Workflow notes
1. Application Form To Upload CV
1. Application Form To Upload CV
Learn more the Form Trigger node
Our application process starts with a simple file upload to get the applicant's CV for processing.
2. Document Classifier and ReUpload Form
2. Document Classifier and ReUpload Form
Read more about the Text Classifier
Form validation remains a critical step and before the introduction of LLMs, classifying document types was a relatively troublesome process. Today, n8n's text classifier node does an excellent job at this task.
Contextual validation powered by AI means invalid, incomplete or poorly created applicant CVs can be rejected as a quality check. When this happens in our workflow, we present the user again with the file upload form to retry.
3. Smarter Application Pre-fill with Job Role Context
3. Smarter Application Pre-fill with Job Role Context
Read more about the Basic LLM node
Information extraction is a logical next step once we have our PDF contents but we can extend further by only extracting data which is relevant to our job post. This ensure the information we extract is always relevant which saves time for the hiring team.
To achieve this for this demo, I've included the job post in the prompt for the LLM to compare the CV against. The provides the AI enough context to complete the task successfully.
4. Save to Applicant Tracking System
4. Save to Applicant Tracking System
Read more about the Airtable node
Next, we can complete our simple data capture by integrating and pushing data to our Applicant Tracking System.
Here, we're using Airtable because we can also store PDF files in our rows.
See our example Airtable here: https://airtable.com/appQ6mE9KSzlvaGDT/shrIivfe9qH6YEYAs
5. Redirect to Application Form
5. Redirect to Application Form
Finally to complete the form flow for step 1 of 2, we'll use a form ending node to redirect the user to step 2 of 2.
Here, we using query params as part of our redirect as this will pre-fill the form fields in step 2 of 2.
6. Application Form to Amend Details
6. Application Form to Amend Details
In the second part of the application process, applicants are presented with a form containing multiple fields to complete. This step has often been a source of frustration for many, as they end up duplicating information that’s already in their CV.
If our redirection with prefilled data works as intended, this issue will be resolved, as the fields will be automatically populated by our LLM during step 1 of 2. This also allows candidates the opportunity to review and refine the application fields before submitting.
Try It Out!
Try It Out!
This n8n template combines form file uploads with AI components to create a simple but effective job application submission flow.
It's a perfect low-cost solution without the bells and whistles of the surface yet is highly advanced with its use of AI.
How it works
- The application submission process starts with an n8n form trigger to accept CV files in the form of PDFs.
- The PDF is validated using the text classifier node to determine if it is a valid CV.
- A basic LLM node is used to extract relevant information from the CV as data capture. A copy of the original job post is included to ensure relevancy.
- Applicant's data is then sent to an ATS for processing. For our demo, we used airtable because we could attach PDFs to rows.
- Finally, a second form trigger is used to allow the applicant to amend any of the generated application fields.
Need Help?
Join the Discord or ask in the Forum!
Happy Hacking!
🚨 Change Base URL here!
🚨 Change Base URL here!
This redirect requires the full base URL, change it to the host of your n8n instance.
🚨 Change Base URL here!
🚨 Change Base URL here!
Purpose and structure
This folder contains the 🚨 Change Base URL here! workflow. Its executable nodes use airtable, chainLlm, extractFromFile, form, formTrigger, httpRequest, lmChatOpenAi, outputParserStructured, textClassifier. The table and connection map below are derived from the JSON, not an inferred guarantee of behavior.
Setup
Import inactive. Configure your own credentials and replace REPLACE_WITH_* values. Review external destinations and Code nodes before running.
Entry points
Step 1 of 2 - Upload CV, Step 2 of 2 - Application Form
Verification
Sanitized source candidate; not runtime-tested. This overview is generated from node metadata. Read the folder README for the connection map, credential types, and license.
Attribution
https://github.com/Zie619/n8n-workflows/blob/94007c1445d9258a7da116646b79473e7c7c3282/workflows/Extractfromfile/0646_Extractfromfile_Form_Export_Webhook.json MIT; preserve source notices.