{
  "name": "Score applicants from a form against the job and log them in Google Sheets",
  "nodes": [
    {
      "name": "About this template",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "parameters": {
        "content": "## Score form applicants against the job and log them in Google Sheets\n\nShare the form with applicants (or replace it with a Typeform or Tally trigger). For each one, SourceGeek saves the applicant, scores them against the job description in the **Job** node and writes a dossier. A row with the score, the reason and the dossier link is added to your Google Sheet.\n\nSet the Google Sheet in the last node: its first row needs the columns Name, Email, Score, Reason and Dossier.\n\nCredits: a profile lookup and a score per applicant.\n\n### Set up\n1. Install the community node **n8n-nodes-sourcegeek** (Settings → Community nodes).\n2. In SourceGeek, create an API key under Settings → Connected apps → API keys, and add it as a **SourceGeek API** credential. No account yet? [Start a free 14-day trial](https://chat.sourcegeek.com/sign-up?utm_source=n8n&utm_medium=template&utm_campaign=n8n_templates&utm_content=score-form-applicants-google-sheets).\n\nMore SourceGeek templates: https://www.sourcegeek.com/en/templates#score-form-applicants-google-sheets",
        "height": 500,
        "width": 440,
        "color": 5
      },
      "id": "a2d9bb8b-5ebd-4d79-a209-2bb34d18a0bf",
      "position": [
        0,
        120
      ]
    },
    {
      "name": "Application form",
      "type": "n8n-nodes-base.formTrigger",
      "typeVersion": 2.2,
      "parameters": {
        "formTitle": "Apply",
        "formDescription": "Tell us who you are and we'll be in touch.",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Full name",
              "requiredField": true
            },
            {
              "fieldLabel": "Email",
              "fieldType": "email",
              "requiredField": true
            },
            {
              "fieldLabel": "Profile URL",
              "placeholder": "https://...",
              "requiredField": true
            }
          ]
        },
        "options": {}
      },
      "webhookId": "7210c8c6-c259-4d76-a201-48a382a23b3f",
      "id": "6b093b93-dce6-457a-aa45-af95d64c5306",
      "position": [
        520,
        300
      ]
    },
    {
      "name": "Job",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "9fbc462e-06c6-4521-acc0-15ea3f025840",
              "name": "jobDescription",
              "value": "Recruitment consultant, IT, Utrecht. Must have: 2+ years in agency recruitment, full-cycle placements, Dutch and English. Nice to have: experience with developer hiring.",
              "type": "string"
            },
            {
              "id": "e4be18f9-d922-41aa-a217-2e9efe0b0f3e",
              "name": "csv",
              "value": "=Name,Profile URL,Email\n\"{{ $json['Full name'] }}\",{{ $json['Profile URL'] }},{{ $json.Email }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "id": "da6c5df1-5d93-46b4-a839-77236c73a9d9",
      "position": [
        760,
        300
      ]
    },
    {
      "name": "Save the applicant",
      "type": "n8n-nodes-sourcegeek.sourcegeek",
      "typeVersion": 2,
      "parameters": {
        "resource": "sheet",
        "operation": "create_sheet",
        "title": "=Applicant: {{ $('Application form').item.json['Full name'] }}",
        "csv": "={{ $json.csv }}"
      },
      "id": "e5d457eb-1684-46c1-aef0-5069707b5f91",
      "position": [
        1000,
        300
      ]
    },
    {
      "name": "Score against the job",
      "type": "n8n-nodes-sourcegeek.sourcegeek",
      "typeVersion": 2,
      "parameters": {
        "resource": "sheet",
        "operation": "score_leads",
        "artifactId": "={{ $json.artifactId }}",
        "targetDescription": "={{ $('Job').item.json.jobDescription }}"
      },
      "id": "4da465c4-40ca-4187-aac2-4780a1dc8144",
      "position": [
        1240,
        300
      ]
    },
    {
      "name": "Wait for the score",
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1.1,
      "parameters": {
        "amount": 2,
        "unit": "minutes"
      },
      "webhookId": "4a20cd46-9a47-467b-a17f-cd1c161dea45",
      "id": "f9df0b35-2a6d-42f7-a174-3b259e6a0224",
      "position": [
        1480,
        300
      ]
    },
    {
      "name": "Write the dossier",
      "type": "n8n-nodes-sourcegeek.sourcegeek",
      "typeVersion": 2,
      "parameters": {
        "resource": "sheet",
        "operation": "create_shortlist",
        "artifactId": "={{ $('Save the applicant').item.json.artifactId }}",
        "additionalFields": {
          "limit": 1
        }
      },
      "id": "4cf6df32-e041-4309-a486-66ffc0c62d30",
      "position": [
        1720,
        300
      ]
    },
    {
      "name": "Row",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "9f5cd595-c353-4133-a2b0-8ea6221ddcc9",
              "name": "Name",
              "value": "={{ $('Application form').item.json['Full name'] }}",
              "type": "string"
            },
            {
              "id": "4bbe6d7b-2509-4ab3-ad7a-21ddc34adc6e",
              "name": "Email",
              "value": "={{ $('Application form').item.json.Email }}",
              "type": "string"
            },
            {
              "id": "68ec5585-672f-434c-acb6-de71ed046a49",
              "name": "Score",
              "value": "={{ $json.candidates[0]?.score }}",
              "type": "number"
            },
            {
              "id": "bac90d48-c118-40bd-abf9-237963ccb28a",
              "name": "Reason",
              "value": "={{ $json.candidates[0]?.reason }}",
              "type": "string"
            },
            {
              "id": "46958d22-7aa6-4996-af27-88bdaf4f650c",
              "name": "Dossier",
              "value": "={{ $json.url }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "id": "43f20e34-7bcb-44ad-a661-c71647567660",
      "position": [
        1960,
        300
      ]
    },
    {
      "name": "Add to Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.5,
      "parameters": {
        "operation": "append",
        "documentId": {
          "__rl": true,
          "value": "",
          "mode": "url"
        },
        "sheetName": {
          "__rl": true,
          "value": "Applicants",
          "mode": "name"
        },
        "columns": {
          "mappingMode": "autoMapInputData",
          "value": {},
          "matchingColumns": [],
          "schema": []
        },
        "options": {}
      },
      "id": "ac7850a5-596e-425d-a1ba-e190b230cfd6",
      "position": [
        2200,
        300
      ]
    }
  ],
  "pinData": {},
  "connections": {
    "Application form": {
      "main": [
        [
          {
            "node": "Job",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Job": {
      "main": [
        [
          {
            "node": "Save the applicant",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save the applicant": {
      "main": [
        [
          {
            "node": "Score against the job",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Score against the job": {
      "main": [
        [
          {
            "node": "Wait for the score",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait for the score": {
      "main": [
        [
          {
            "node": "Write the dossier",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Write the dossier": {
      "main": [
        [
          {
            "node": "Row",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Row": {
      "main": [
        [
          {
            "node": "Add to Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "meta": {
    "templateCredsSetupCompleted": false
  },
  "tags": []
}
