{
  "id": "AsXqHxGmKIJhXmZW",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "CV",
  "tags": [],
  "nodes": [
    {
      "id": "bd9d2a09-8cb1-4b38-9265-317ef97db203",
      "name": "On form submission",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -2768,
        1264
      ],
      "parameters": {
        "options": {},
        "formTitle": "WELCOME TO OUR TEAM",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Full Name",
              "requiredField": true
            },
            {
              "fieldType": "email",
              "fieldLabel": "E-Mail Add",
              "requiredField": true
            },
            {
              "fieldType": "number",
              "fieldLabel": "Phone Number ",
              "requiredField": true
            },
            {
              "fieldType": "file",
              "fieldLabel": "Upload CV ",
              "multipleFiles": false,
              "requiredField": true,
              "acceptFileTypes": "PDF."
            }
          ]
        },
        "formDescription": "Fulfill the column's below."
      },
      "typeVersion": 2.3
    },
    {
      "id": "6bfb1395-45d8-420c-8c1f-bdf464c2179d",
      "name": "Summarization CV-s",
      "type": "@n8n/n8n-nodes-langchain.chainSummarization",
      "position": [
        -1616,
        1264
      ],
      "parameters": {
        "options": {},
        "chunkingMode": "advanced"
      },
      "typeVersion": 2.1
    },
    {
      "id": "b40e6d8a-9787-452d-9fea-e02b67f9db5b",
      "name": "APPLICANT Classification",
      "type": "@n8n/n8n-nodes-langchain.textClassifier",
      "position": [
        -960,
        1264
      ],
      "parameters": {
        "options": {},
        "inputText": "={{ $json.output }}",
        "categories": {
          "categories": [
            {
              "category": "Classified",
              "description": "The applicant is suitable for work based on our requirements."
            },
            {
              "category": "Not Classified",
              "description": "The applicant it's not suitable for work based on our requirment "
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "c9f26cca-3875-425b-81e0-ffaa3c9e3940",
      "name": "CV COMPARATOR",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -1296,
        1264
      ],
      "parameters": {
        "text": "=You are an AI Professional Agent for Hiring. \n\nYou Have a Acces to Google Word Tools to remember Our Hiring Criteria. \n\nBased on the previous Summarization of CV-s {{ $json.output.text }}\n\nOutput one Summarization if the Candidate it's cappable for accomplishing our Criteria or not. ",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "453370f4-1fd4-4ecf-a4cc-16a54ca92cef",
      "name": "CV Criteria.",
      "type": "n8n-nodes-base.googleDocsTool",
      "position": [
        -1232,
        1488
      ],
      "parameters": {
        "operation": "get",
        "documentURL": "=1t1Lwh0yF8JcnpyjKRNKGMBGy1CO8SOsDQLO01ivIONE"
      },
      "credentials": {
        "googleDocsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "3cd278af-5677-4956-b26a-4c15542c116c",
      "name": "Send a message in Gmail",
      "type": "n8n-nodes-base.gmailTool",
      "position": [
        -464,
        1232
      ],
      "parameters": {
        "sendTo": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('To', ``, 'string') }}",
        "message": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message', ``, 'string') }}",
        "options": {
          "appendAttribution": false
        },
        "subject": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Subject', ``, 'string') }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "e1ce41f7-5079-4b83-90ed-57103b43c597",
      "name": "Switch",
      "type": "n8n-nodes-base.switch",
      "position": [
        -2544,
        1264
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "word",
              "conditions": {
                "options": {
                  "version": 3,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "8eafb723-72f6-45c4-b769-8e9e9159be06",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json['Upload CV '].mimetype }}",
                    "rightValue": "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "pdf",
              "conditions": {
                "options": {
                  "version": 3,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "58282843-5944-43db-b5bc-f1614f5c0127",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json['Upload CV '].mimetype }}",
                    "rightValue": "application/pdf"
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.4
    },
    {
      "id": "97217f9d-70fe-4603-bb3e-73ff8a8eb1b9",
      "name": "Anthropic Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "position": [
        -592,
        1232
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "claude-sonnet-4-5-20250929",
          "cachedResultName": "Claude Sonnet 4.5"
        },
        "options": {}
      },
      "credentials": {
        "anthropicApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "3318e745-47ca-40da-829f-7babc58100af",
      "name": "Extract from File",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        -2096,
        1536
      ],
      "parameters": {
        "options": {},
        "operation": "pdf",
        "binaryPropertyName": "Upload_CV_"
      },
      "typeVersion": 1.1
    },
    {
      "id": "d7d69eb9-f268-4449-b048-41ee103791ea",
      "name": "uploading",
      "type": "n8n-nodes-pdfco.PDFco Api",
      "position": [
        -2320,
        1168
      ],
      "parameters": {
        "name": "=",
        "operation": "Upload File to PDF.co",
        "binaryData": true,
        "binaryPropertyName": "Upload_CV_"
      },
      "credentials": {
        "pdfcoApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "64b859db-cc69-48ed-848e-4899197e6e40",
      "name": "Converting to PDF Link",
      "type": "n8n-nodes-pdfco.PDFco Api",
      "position": [
        -2096,
        1168
      ],
      "parameters": {
        "url": "={{ $json.url }}",
        "operation": "Convert to PDF",
        "advancedOptionsCommon": {}
      },
      "credentials": {
        "pdfcoApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "acac022d-f3b7-41f4-b5bc-f11dd5f55071",
      "name": "Extracting the content inside the Link",
      "type": "n8n-nodes-pdfco.PDFco Api",
      "position": [
        -1872,
        1168
      ],
      "parameters": {
        "url": "={{ $json.url }}",
        "operation": "Convert from PDF",
        "advancedOptions": {}
      },
      "credentials": {
        "pdfcoApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "c5ab3d72-2ece-460f-922d-fb0ac4bf85cf",
      "name": "Get availability in a calendar in Google Calendar",
      "type": "n8n-nodes-base.googleCalendarTool",
      "position": [
        -336,
        1232
      ],
      "parameters": {
        "options": {},
        "calendar": {
          "__rl": true,
          "mode": "list",
          "value": "user@example.com",
          "cachedResultName": "user@example.com"
        },
        "resource": "calendar"
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "0d0d90c2-5997-48ff-971e-d32050a7f240",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -3440,
        976
      ],
      "parameters": {
        "width": 560,
        "height": 1072,
        "content": "# CV CLASSIFIER\n\n## HOW IT WORKS ?\n\n### On Form Submission : Create columns for providing personal information and uploading data.\n\n### Switch Node : Separate the branches if it's in PDF Format or Google Word .\n\n### PDF.co :  We add three nodes of them :  \n1) uploading a file  \n2) Convert to PDF and \n3) Convert from PDF.\n\n### Extract From File : it's on the path if the Data Uploaded it's on PDF Format who extract inside information.\n\n### Summarization CV's : Make summarization of the item from previous nodes.\n### CV Comparator : We give instructions to make classification between CV Criteria what Company hire and what's the Applicant's CV\n\n### Applicant Classification : Output the final results and make a division if the Applicant's are suitable for next interview or not. \n\n### POSITIVE AGENT : Express Congratulations to the Applicant via Email and also check the calendar and providing the free dates available for interview. \n\n### NEGATIVE AGENT : On politely way he's responding that applicant's didn't pass the Criteria and wish them more success on the future "
      },
      "typeVersion": 1
    },
    {
      "id": "4b248964-5cfd-4877-865b-c6b0215bc415",
      "name": "POSITIVE AGENT",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -544,
        1008
      ],
      "parameters": {
        "text": "=#Role\n\n-You Are an AI Professional Agent for hiring. Act like  with the backround of 10 year's on Tesla company and Bestseller Autor in New York Times.\n\n#Context\n\nYou receive the affirmated criteria succsesfully.\nCreate an Appointment Schedule on Google Calendar , only from Monday till Friday.Than Generate the text where you express congratulations for passing succsesfully the criteria. You'll invite them for the next part of Interview on the office with the availability that you Created on Google Calendar.\n\n#Tools \n\n-Use The Gmail Tool to send Email to Applicant's.\n-For scheduling appointment use Google Calendar Tool.\n-The current date and time is: {{$json.now}}\n-E-Mail of applicants can be found here : {{ $('On form submission').item.json['E-Mail Add'] }}\n-Refer to applicant with their name : {{ $('On form submission').item.json['Full Name'] }}\n\n#Output\n\n-Maintain that bulletpoint's to be outputed in HTML format",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "b866525a-9db5-4c5b-9c88-fa5b5d9f2c15",
      "name": "NEGATIVE AGENT",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -544,
        1408
      ],
      "parameters": {
        "text": "={{ $json.output }}",
        "options": {
          "systemMessage": "=- You are an AI Agent for express condolences.\n\n#Context\n\n- Write an Email where can give condolences to the Applicant for not passing our criteria of hiring and also include the motivation content where they can make changes on their life. Refer The beginning of the Email with their Name's \n\n# Tools \n\n- Use Gmail Tool For sending a Email.\n- The Email of the Applicant can be found here : \n{{ $('On form submission').item.json['E-Mail Add'] }}\n-Names of Applicants be based on : {{ $('On form submission').item.json['Full Name'] }}\n-Maintain the output format text to be HTML Format"
        },
        "promptType": "define"
      },
      "typeVersion": 3.1
    },
    {
      "id": "b4cbddf3-0086-42b1-b508-e4c512e2dd3d",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2800,
        1120
      ],
      "parameters": {
        "color": 7,
        "width": 416,
        "height": 480,
        "content": "## Form Submission \n\n## Divider Path"
      },
      "typeVersion": 1
    },
    {
      "id": "5b7272a1-1a1b-44ab-8e90-ebb7887b6144",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2352,
        944
      ],
      "parameters": {
        "color": 7,
        "width": 688,
        "height": 400,
        "content": "## 1) Converting for URL \n\n## 2) Converting to PDF from URL \n\n## 3) Extracting Information"
      },
      "typeVersion": 1
    },
    {
      "id": "b997e98a-55c9-47b2-9e13-894d96cccc39",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2288,
        1424
      ],
      "parameters": {
        "color": 7,
        "width": 512,
        "height": 272,
        "content": "## Extract Context"
      },
      "typeVersion": 1
    },
    {
      "id": "e0afa055-ac03-446a-b1db-8ddef3807f5a",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1616,
        1120
      ],
      "parameters": {
        "color": 7,
        "width": 592,
        "height": 560,
        "content": "## Summarization of CV-s \n\n## Comparator between criteria and Summarization"
      },
      "typeVersion": 1
    },
    {
      "id": "a87ba441-998f-4f5e-943d-65c2448c42bc",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -992,
        1104
      ],
      "parameters": {
        "color": 7,
        "width": 336,
        "height": 560,
        "content": "## Classification Branches "
      },
      "typeVersion": 1
    },
    {
      "id": "4a6676ca-7c23-417e-a8f6-e92fa632e0ae",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -640,
        784
      ],
      "parameters": {
        "color": 7,
        "width": 464,
        "height": 848,
        "content": "## Expressing \n\n## Writing \n\n## Scheduling"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "availableInMCP": false,
    "executionOrder": "v1"
  },
  "versionId": "11e5ad9f-5671-4dbb-936a-e01b53956336",
  "connections": {
    "Switch": {
      "main": [
        [
          {
            "node": "uploading",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Extract from File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "uploading": {
      "main": [
        [
          {
            "node": "Converting to PDF Link",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "CV Criteria.": {
      "ai_tool": [
        [
          {
            "node": "CV COMPARATOR",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "CV COMPARATOR": {
      "main": [
        [
          {
            "node": "APPLICANT Classification",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract from File": {
      "main": [
        [
          {
            "node": "Summarization CV-s",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On form submission": {
      "main": [
        [
          {
            "node": "Switch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Summarization CV-s": {
      "main": [
        [
          {
            "node": "CV COMPARATOR",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Anthropic Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Summarization CV-s",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "CV COMPARATOR",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "APPLICANT Classification",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "POSITIVE AGENT",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "NEGATIVE AGENT",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Converting to PDF Link": {
      "main": [
        [
          {
            "node": "Extracting the content inside the Link",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send a message in Gmail": {
      "ai_tool": [
        [
          {
            "node": "POSITIVE AGENT",
            "type": "ai_tool",
            "index": 0
          },
          {
            "node": "NEGATIVE AGENT",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "APPLICANT Classification": {
      "main": [
        [
          {
            "node": "POSITIVE AGENT",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "NEGATIVE AGENT",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extracting the content inside the Link": {
      "main": [
        [
          {
            "node": "Summarization CV-s",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get availability in a calendar in Google Calendar": {
      "ai_tool": [
        [
          {
            "node": "POSITIVE AGENT",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  }
}