{
  "name": "Automate resume screening with Gmail, Gemini AI, and Airtable to Google Sheets",
  "nodes": [
    {
      "id": "049242f2-4300-462a-9aa0-4b02dfde99c1",
      "name": "Gmail Trigger",
      "type": "n8n-nodes-base.gmailTrigger",
      "position": [
        220,
        30
      ]
    },
    {
      "id": "c610f1ed-df34-4bec-a308-ffa68b1eda74",
      "name": "Airtable",
      "type": "n8n-nodes-base.airtable",
      "position": [
        440,
        155
      ]
    },
    {
      "id": "2873ae38-0c44-4493-a604-1088e768ec63",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        880,
        155
      ]
    },
    {
      "id": "424f557a-1bab-4116-ad34-2f03251f44d9",
      "name": "EmailMatcher",
      "type": "n8n-nodes-base.code",
      "position": [
        660,
        155
      ]
    },
    {
      "id": "a528ce65-eeb4-49c4-8c8d-bf152ea6f52a",
      "name": "PromptBuilder",
      "type": "n8n-nodes-base.code",
      "position": [
        1300,
        140
      ]
    },
    {
      "id": "39fc01a4-5a9b-438e-9932-e4b82f47bb4c",
      "name": "ReadyAttachment",
      "type": "n8n-nodes-base.code",
      "position": [
        1220,
        -160
      ]
    },
    {
      "id": "ee2d7f60-58be-475c-8d54-502f0bbf0aea",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        1640,
        -20
      ]
    },
    {
      "id": "08d15341-fad1-41b4-8dd1-45c19ef66e19",
      "name": "PayloadBuilder",
      "type": "n8n-nodes-base.code",
      "position": [
        1860,
        -20
      ]
    },
    {
      "id": "c18f2954-dced-4342-a0aa-66a81545f5ff",
      "name": "FileUpload",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1420,
        -20
      ]
    },
    {
      "id": "14be41de-3ef7-4258-952d-affe1c439341",
      "name": "ResponseGenerator",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2080,
        -20
      ]
    },
    {
      "id": "e0dd0699-059a-49ba-942d-58f10aaec4b7",
      "name": "ParseResponse",
      "type": "n8n-nodes-base.code",
      "position": [
        2400,
        -100
      ]
    },
    {
      "id": "f0c3079a-8cda-4a2c-bfde-0fc3d61037bd",
      "name": "Merge1",
      "type": "n8n-nodes-base.merge",
      "position": [
        1020,
        -160
      ]
    },
    {
      "id": "03a33b24-68a2-4f5f-afc2-36ef1cbdb0f7",
      "name": "Google Drive",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1900,
        -240
      ]
    },
    {
      "id": "2ef593bc-bd85-451b-91a4-e93c32739659",
      "name": "CombineData",
      "type": "n8n-nodes-base.merge",
      "position": [
        2240,
        -200
      ]
    },
    {
      "id": "3cf0a49e-df9a-4cca-b245-a46838748e69",
      "name": "Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2580,
        -100
      ]
    },
    {
      "id": "da71f4e7-21d7-403b-8e0b-d0ce2e9ee7b1",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        240,
        -520
      ],
      "parameters": {
        "width": 500,
        "height": 380,
        "content": "# ResumeRadar\n\nThis workflow automates the resume screening process:\n1. Monitors Gmail for emails with PDF attachments\n2. Extracts job titles from email subjects\n3. Matches against job listings in Air"
      }
    },
    {
      "id": "1e73497d-9df7-403c-a89a-4555a76681f6",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        540,
        300
      ],
      "parameters": {
        "width": 380,
        "height": 240,
        "content": "## Job Matching Logic\n\nThis code extracts job titles from email subjects and matches against Airtable listings using:\n- Regular expressions for common application phrases\n- Smart similarity matching w"
      }
    },
    {
      "id": "37c8a308-2fdd-42f4-8b97-d9a25c8437dd",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1040,
        -480
      ],
      "parameters": {
        "width": 420,
        "height": 280,
        "content": "## Resume Processing\n\nCurrently configured to accept PDF resumes only.\n\nTo support other formats:\n1. Edit the ALLOWED set in this node\n2. Add formats like 'application/msword', 'application/vnd.openxm"
      }
    },
    {
      "id": "2528ce2a-089a-49be-9674-393d73d28c7f",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1180,
        280
      ],
      "parameters": {
        "width": 420,
        "height": 220,
        "content": "## AI Prompt\n\nThis node creates a structured prompt for Gemini to:\n- Extract candidate name and phone from resume\n- Score candidate fit on a scale of 1-10\n- Provide a concise explanation\n\nCustomize th"
      }
    },
    {
      "id": "2161802f-3bd9-4366-926c-717b38ec5257",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1720,
        180
      ],
      "parameters": {
        "width": 420,
        "height": 260,
        "content": "## Gemini API Request Builder\n\nThis node prepares the payload for Gemini AI by:\n1. Combining the resume file with job context\n2. Structuring the prompt for consistent analysis\n3. Setting response sche"
      }
    }
  ],
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 1
          },
          {
            "node": "PromptBuilder",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "Merge": {
      "main": [
        [
          {
            "node": "PayloadBuilder",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge1": {
      "main": [
        [
          {
            "node": "ReadyAttachment",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Airtable": {
      "main": [
        [
          {
            "node": "EmailMatcher",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "FileUpload": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "CombineData": {
      "main": [
        [
          {
            "node": "ParseResponse",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "EmailMatcher": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Drive": {
      "main": [
        [
          {
            "node": "CombineData",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Gmail Trigger": {
      "main": [
        [
          {
            "node": "Airtable",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ParseResponse": {
      "main": [
        [
          {
            "node": "Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "PromptBuilder": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          },
          {
            "node": "CombineData",
            "type": "main",
            "index": 3
          }
        ]
      ]
    },
    "PayloadBuilder": {
      "main": [
        [
          {
            "node": "ResponseGenerator",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ReadyAttachment": {
      "main": [
        [
          {
            "node": "FileUpload",
            "type": "main",
            "index": 0
          },
          {
            "node": "Google Drive",
            "type": "main",
            "index": 0
          },
          {
            "node": "CombineData",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "ResponseGenerator": {
      "main": [
        [
          {
            "node": "CombineData",
            "type": "main",
            "index": 2
          }
        ]
      ]
    }
  }
}