{
  "name": "Extract skill matrix to Google Sheets with Google Drive and GPT-4o",
  "nodes": [
    {
      "id": "7119286f-4f1b-41ac-9aa0-8e0ba5e9a2be",
      "name": "When clicking ‘Execute workflow’",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        0,
        0
      ]
    },
    {
      "id": "be3bdafb-8250-4580-809b-84df5a18587e",
      "name": "Azure OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatAzureOpenAi",
      "position": [
        992,
        224
      ]
    },
    {
      "id": "539bdc67-0f64-409c-afbb-83bcef1d164c",
      "name": "Search Resume",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        224,
        0
      ]
    },
    {
      "id": "550324ac-717b-4749-b885-e78777a107f6",
      "name": "Download Resume",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        448,
        0
      ]
    },
    {
      "id": "4c59808e-dd0d-4957-9738-b813cb2d3e70",
      "name": "Extract content from File",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        672,
        0
      ]
    },
    {
      "id": "fdece73f-e3a0-4678-bd79-733f91ac38f3",
      "name": "Skill analyser",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        896,
        0
      ]
    },
    {
      "id": "810daa5b-6b4e-4960-9951-b7693a5a9e2c",
      "name": "Parse structure json",
      "type": "n8n-nodes-base.code",
      "position": [
        1296,
        0
      ]
    },
    {
      "id": "676a04bd-ed64-46ee-a97c-428b9d3d1555",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -224,
        -272
      ],
      "parameters": {
        "width": null,
        "height": 272,
        "content": "##  Manual Trigger Node\n\n**Purpose:** Starts the workflow execution\n**How it works:** Click the \"Execute workflow\" button to begin processing\nWhen to use: Run this when you want to analyze new resumes"
      }
    },
    {
      "id": "42f2c726-7b9d-4b11-85a1-a10b0a54bfda",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        112,
        -352
      ],
      "parameters": {
        "width": null,
        "height": 336,
        "content": "## Search Resume (Google Drive)\n\n**Purpose:** Locates resume files in a designated Google Drive folder\n\n**Configuration:**\nConnected to a specific folder named \"Resume_store\"\nSearches for all files in"
      }
    },
    {
      "id": "3ae4d01a-6b6a-43b9-bb63-cbce538d3513",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        336,
        160
      ],
      "parameters": {
        "width": null,
        "height": 304,
        "content": "##  Download Resume (Google Drive)\n\n**Purpose:** Downloads each resume file from Google Drive\n\n**How it works:** Takes the file IDs from the search step and downloads the actual PDF files\n\n**Security:"
      }
    },
    {
      "id": "78e6ef99-d11b-4423-b846-20052eeb357e",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        512,
        -336
      ],
      "parameters": {
        "width": null,
        "height": 304,
        "content": "##  Extract Content from File\n\n**Purpose:** Converts PDF resumes into readable text\n\n**Functionality:**\nProcesses PDF files\nExtracts all text content for analysis\n\n**Output:** Plain text version of ea"
      }
    },
    {
      "id": "2a0c837d-b006-4d75-a1f2-f4f4f7d10098",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        720,
        304
      ],
      "parameters": {
        "width": null,
        "height": 304,
        "content": "## . Azure OpenAI Chat Model\n\n**Purpose:** Provides AI language model for skill analysis\n\n**Configuration:**\nUses GPT-4o-mini model\nConnected via secure Azure OpenAI credentials\n\n**Role:** Powers the "
      }
    },
    {
      "id": "aa4ef7a5-8ef9-49a9-88f5-acf32b0fa7d1",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        848,
        -416
      ],
      "parameters": {
        "width": null,
        "height": 400,
        "content": "## Skill Analyser (AI Agent)\n\n**Purpose:** Main intelligence of the workflow - analyzes resume text for technical skills\n\n**System Instructions:**\nFocuses on predefined tech stack: React, Node.js, Ang"
      }
    },
    {
      "id": "52d9bd11-c8be-4337-b799-195d1b267b52",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1104,
        176
      ],
      "parameters": {
        "width": null,
        "height": 336,
        "content": "## Parse Structured JSON\n\n**Purpose:** Processes and filters the AI analysis results\n\n**JavaScript Code Logic:**\nParses the JSON output from the AI agent\nFilters skills to only include those with prof"
      }
    },
    {
      "id": "e6fd03e9-307d-470c-b904-b7852271b9ae",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1296,
        -528
      ],
      "parameters": {
        "width": null,
        "height": 512,
        "content": "## Update sheet with Skill matrix (Google Sheets)\n\n**Purpose:** Stores the extracted skills in a Google Sheets database\nTarget Sheet: \"Resume store\" spreadsheet, \"Sheet2\" tab\n\n**Data Mapping:**\nSkill "
      }
    },
    {
      "id": "9fa44b2f-4e20-471f-aa01-9d4e6ffc1a67",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -640,
        -48
      ],
      "parameters": {
        "width": null,
        "height": 496,
        "content": "## Workflow Process Flow\n\n**Start → Manual trigger initiates the process**\n\n**Search → Finds all resume files in Google Drive folder**\n\n**Download → Retrieves each resume file**\n\n**Extract → Converts "
      }
    },
    {
      "id": "1fe999a3-5f03-4c31-9dd5-de285bbc510d",
      "name": "Update sheet with skill matrix",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1520,
        0
      ]
    }
  ],
  "connections": {
    "Search Resume": {
      "main": [
        [
          {
            "node": "Download Resume",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Skill analyser": {
      "main": [
        [
          {
            "node": "Parse structure json",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download Resume": {
      "main": [
        [
          {
            "node": "Extract content from File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse structure json": {
      "main": [
        [
          {
            "node": "Update sheet with skill matrix",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Azure OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Skill analyser",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Extract content from File": {
      "main": [
        [
          {
            "node": "Skill analyser",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Execute workflow’": {
      "main": [
        [
          {
            "node": "Search Resume",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}