← All N8N workflows
AI & researchAirtableChain LLMExtract From FileFormForm Trigger

🚨 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.

Workflow preview
TransformExtract from FileExtract From FileAI & modelsOpenAI Chat Model1OpenAI Chat ModelTransformStructured OutputParserOutput Parser StructuredAI & modelsOpenAI Chat Model2OpenAI Chat ModelTriggerStep 1 of 2 - Upload CVForm TriggerData storeSave to AirtableAirtableAI & modelsClassify DocumentText ClassifierWeb / APIUpload File to RecordHTTP RequestIntegrationForm SuccessFormData storeSave to Airtable1AirtableTriggerStep 2 of 2 -Application FormForm TriggerAI & modelsApplication SuitabilityAgentChain LLMIntegrationFile Upload RetryFormIntegrationRedirect To Step 2 of 2FormIntegrationSubmission SuccessForm

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.

Workflow node names, types, and operations
NodeCategoryTypeOperation
Extract from FileTransformExtract From Filepdf
OpenAI Chat Model1AI & modelsOpenAI Chat ModelSee node parameters
Structured Output ParserTransformOutput Parser StructuredSee node parameters
OpenAI Chat Model2AI & modelsOpenAI Chat ModelSee node parameters
Step 1 of 2 - Upload CVTriggerForm TriggerSee node parameters
Save to AirtableData storeAirtablecreate
Classify DocumentAI & modelsText ClassifierSee node parameters
Upload File to RecordWeb / APIHTTP RequestPOST
Form SuccessIntegrationFormcompletion
Save to Airtable1Data storeAirtableupdate
Step 2 of 2 - Application FormTriggerForm TriggerSee node parameters
Application Suitability AgentAI & modelsChain LLMSee node parameters
File Upload RetryIntegrationFormSee node parameters
Redirect To Step 2 of 2IntegrationFormcompletion
Submission SuccessIntegrationFormSee node parameters

Setup

  1. Download the JSON and import it into an isolated n8n instance. Leave the workflow inactive.
  2. Connect your own credentials through n8n’s credential store. Replace REPLACE_WITH_* values with your resource identifiers.
  3. Inspect API destinations, Code nodes, database queries, file paths, and outbound actions.
  4. 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

  • airtableTokenApi
  • openAiApi

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

Learn more about Form Ending

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

Learn more about Forms

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.

More in AI & research