{
  "name": "AI-powered candidate screening and evaluation workflow using OpenAI and Airtable",
  "nodes": [
    {
      "id": "dfe988d2-abd5-4970-b77c-3841ba4ee74a",
      "name": "Search Job Posting",
      "type": "n8n-nodes-base.airtable",
      "position": [
        2120,
        220
      ]
    },
    {
      "id": "ecaa86b0-2daf-4428-a39c-91adc9711d5c",
      "name": "Create Candidate",
      "type": "n8n-nodes-base.airtable",
      "position": [
        3080,
        440
      ]
    },
    {
      "id": "700b266c-3c7e-41b2-9f1c-5f28957d6d34",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        2400,
        440
      ]
    },
    {
      "id": "e465aae6-f67c-49b8-9230-fb655c873f6b",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        2580,
        440
      ]
    },
    {
      "id": "d4f6d899-3de7-4ea2-a5c6-697f3d847da0",
      "name": "Candidate Screener AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        2400,
        220
      ]
    },
    {
      "id": "084de55a-6bb1-451f-8160-c3ad673dc6df",
      "name": "Set File Array for airtable",
      "type": "n8n-nodes-base.set",
      "position": [
        2440,
        880
      ]
    },
    {
      "id": "b1fb07a5-97f8-4363-9af0-34ace33f4d17",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        2840,
        440
      ]
    },
    {
      "id": "5c80e876-7af7-4e65-b3ce-03008b62e22f",
      "name": "Upload File",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1960,
        880
      ]
    },
    {
      "id": "c87c2dd5-c569-4ab4-9690-a998bfd56acf",
      "name": "Set File Permission",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        2200,
        880
      ]
    },
    {
      "id": "99e0222e-6863-4771-80df-2c649460bd76",
      "name": "Check if candidate is suitable",
      "type": "n8n-nodes-base.if",
      "position": [
        3280,
        440
      ]
    },
    {
      "id": "a03600ea-6716-452b-825e-2f4fcd56149e",
      "name": "Send email to HR",
      "type": "n8n-nodes-base.gmail",
      "position": [
        3560,
        440
      ]
    },
    {
      "id": "8ad661e1-96ea-4bd3-8693-7c950dcb995c",
      "name": "Candidate Application Form",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        1480,
        220
      ]
    },
    {
      "id": "249757a8-1ffd-4f0a-a601-4c4cecd192de",
      "name": "Extract Resume PDF",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        1800,
        220
      ]
    },
    {
      "id": "54d4a604-4b71-46aa-8e66-70af7eb8fa77",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2360,
        -60
      ],
      "parameters": {
        "width": 360,
        "height": 680,
        "content": "🧠 Candidate Screener AI Agent\nUses OpenAI to analyze:\n- Resume content vs job requirements\n- Skills matching\n- Cover letter quality\n\n📊 OUTPUTS:\n- Screening Status (Suitable/Not Suitable/Under Review)\n"
      }
    },
    {
      "id": "147e45e9-07c2-49d3-aaf2-f8b1166e73a8",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2000,
        80
      ],
      "parameters": {
        "width": 340,
        "height": 300,
        "content": "## Search Job Posting (Job Matching)\nFinds the matching job posting for the applied position"
      }
    },
    {
      "id": "e0a42f0f-b87b-4b0d-be8b-7b27f49242b0",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1880,
        680
      ],
      "parameters": {
        "width": 760,
        "height": 340,
        "content": "## File Preparation for Airtable Upload\n\n- Upload the file to Google Drive  \n- Set the permission to public  \n- Format the data to match the format required by Airtable for file uploads\n"
      }
    },
    {
      "id": "3f5c7e35-cb78-4902-9cce-3a0012abba0a",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2800,
        280
      ],
      "parameters": {
        "width": 420,
        "height": 380,
        "content": "## Merge & Create Candidate\n\n- Merge data from both flows (Candidate Screener AI Agent and File Flow)  \n- Use the merged data to create a candidate in Airtable\n"
      }
    },
    {
      "id": "3e5117fc-2393-4b14-b01a-2de10dc68a07",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3260,
        240
      ],
      "parameters": {
        "width": 420,
        "height": 420,
        "content": "## Check Candidate & Send Email to HR\n\n- Check if the candidate is qualified or not  \n- If the candidate is qualified, the system will send an email to HR\n"
      }
    },
    {
      "id": "fef018f9-a8bb-4745-8ebc-373bd6a1a072",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1400,
        -80
      ],
      "parameters": {
        "width": 560,
        "height": 580,
        "content": "## Candidate Application Form\n\nWeb form for candidates to submit applications\n\nFields:\n- Full Name (required)\n- Email Address (required, email validation)\n- Position Applied For (required)\n- Relevant "
      }
    },
    {
      "id": "ea391ee8-0f82-459f-89c9-2c8cd6222426",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1080,
        -80
      ],
      "parameters": {
        "width": 280,
        "height": 280,
        "content": "## SETUP REQUIRED\n**Author:** [Billy Christi](https://n8n.io/creators/billy/)\n\nAirtable Base Structure:  \n[Copy this Airtable Base](https://airtable.com/appgVjZcaRP8BsKf0/shrQAqQ2JUW50EEyW/tblGIVbpACR"
      }
    },
    {
      "id": "d40a5581-16de-47de-a2d5-c1c246e382da",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        760,
        640
      ],
      "parameters": {
        "width": 460,
        "height": 460,
        "content": "## 🤖 AI-Powered Candidate Screening and Evaluation Workflow using OpenAI and Airtable\n\n**What This Template Does:**\n- Creates a web form for candidates to submit applications with resume uploads\n- Aut"
      }
    },
    {
      "id": "3f9fa7c4-d451-4983-bbf6-05224b7ec842",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1240,
        640
      ],
      "parameters": {
        "width": 500,
        "height": 460,
        "content": "## 📋 WORKFLOW PROCESS OVERVIEW\nStep 1: 📝 Candidate Application Form collects candidate details and PDF resume  \nStep 2: 📄 Extract Resume PDF converts uploaded PDF into readable text  \nStep 3: 📁 Upload"
      }
    },
    {
      "id": "f0274c42-d47b-42db-8bf4-371455b7eee1",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3780,
        80
      ],
      "parameters": {
        "width": 380,
        "height": 760,
        "content": "# 👋 Hi, I’m Billy\n![My Photo](https://i.ibb.co/Gvn63Bzc/Billy-Christi-AI-Automation.jpg)\nI help businesses build **n8n workflows** & **AI automation projects**.  \nNeed help with n8n or AI Automation p"
      }
    }
  ],
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "Create Candidate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload File": {
      "main": [
        [
          {
            "node": "Set File Permission",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Candidate": {
      "main": [
        [
          {
            "node": "Check if candidate is suitable",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Candidate Screener AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Extract Resume PDF": {
      "main": [
        [
          {
            "node": "Search Job Posting",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Search Job Posting": {
      "main": [
        [
          {
            "node": "Candidate Screener AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set File Permission": {
      "main": [
        [
          {
            "node": "Set File Array for airtable",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Candidate Screener AI Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Candidate Application Form": {
      "main": [
        [
          {
            "node": "Extract Resume PDF",
            "type": "main",
            "index": 0
          },
          {
            "node": "Upload File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Candidate Screener AI Agent": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set File Array for airtable": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Check if candidate is suitable": {
      "main": [
        [
          {
            "node": "Send email to HR",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}