{
  "meta": {
    "instanceId": "257476b1ef58bf3cb6a46e65fac7ee34a53a5e1a8492d5c6e4da5f87c9b82833"
  },
  "nodes": [
    {
      "id": "45ae6e88-3fda-4e95-84db-085a895cc564",
      "name": "When clicking u2018Test workflowu2019",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        260,
        -100
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "09f71a7c-1219-426d-8563-fa05654cab44",
      "name": "Calculate ICP PersonScoring",
      "type": "n8n-nodes-base.airtop",
      "position": [
        700,
        -100
      ],
      "parameters": {
        "url": "={{ $json['Linkedin_URL_Person'] }}",
        "prompt": "Please extract the following information from the LinkedIn profile page:nn1. **Full Name**: Extract the full name of the individual.n2. **Current or Most Recent Job Title**: Identify the job title next to the logo of the current or last employer.n3a. **Current or Most Recent Employer**: Extract the name of the first company in the employment experience block. n3b. Linkedin Company URL of the Current or Most Recent Employer: Extract the link of the first company in the employment experience blockn4. **Location**: Extract the location of the individual.n5. **Number of Connections**: Extract the number of connections the individual has.n6. **Number of Followers**: Extract the number of followers the individual has.n7. **About Section Text**: Extract the text from the 'About' section.n8. **Interest Level in AI**: Determine the person's interest level in AI (e.g., beginner, intermediate, advanced, expert).n9. **Seniority Level**: Determine the seniority level of the person (e.g., junior, mid-level, senior, executive).n10. **Technical Depth**: Determine the technical depth of the person (e.g., basic, intermediate, advanced, expert).n11. **ICP Score**: Calculate the ICP Score based on the following criteria:n    - AI Interest: beginner-5 pts, intermediate-10 pts, advanced-25 pts, expert-35 ptsn    - Technical Depth: basic-5 pts, intermediate-15 pts, advanced-25 pts, expert-35 ptsn    - Seniority Level: junior-5 pts, mid-level-15 pts, senior-25 pts, executive-30 ptsn    - Sum the points to get the ICP Score.nnEnsure that the extracted information is accurate and formatted according to the specified output schema.nnFor example, if the LinkedIn profile is of a senior software engineer with a strong interest in AI, return the following output:n{n  "full_name": "Jane Doe",n  "current_or_last_employer": "Tech Innovations Inc.",n  "current_or_last_title": "Senior Software Engineer",n  "location": "San Francisco, CA",n  "number_of_connections": 500,n  "number_of_followers": 300,n  "about_section_text": "Experienced software engineer with a passion for developing innovative programs that expedite the efficiency and effectiveness of organizational success.",n  "ai_interest_level": "advanced",n  "seniority_level": "senior",n  "technical_depth": "advanced",n  "icp_score": 85n}n",
        "resource": "extraction",
        "operation": "query",
        "sessionMode": "new",
        "additionalFields": {
          "outputSchema": "{n  "type": "object",n  "properties": {n    "full_name": {n      "type": "string",n      "description": "The full name of the individual."n    },n    "current_or_last_title": {n      "type": "string",n      "description": "The job title next to the logo of the current or last employer."n    },n    "current_or_last_employer": {n      "type": "string",n      "description": "The name of the first company in the employment experience block."n    },n    "linkedin_company_url": {n      "type": "string",n      "description": "The LinkedIn URL of the first company in the employment experience block."n    },n    "location": {n      "type": "string",n      "description": "The location of the individual."n    },n    "number_of_connections": {n      "type": "integer",n      "description": "The number of connections the individual has."n    },n    "number_of_followers": {n      "type": "integer",n      "description": "The number of followers the individual has."n    },n    "about_section_text": {n      "type": "string",n      "description": "The text from the 'About' section."n    },n    "ai_interest_level": {n      "type": "string",n      "description": "The person's interest level in AI."n    },n    "seniority_level": {n      "type": "string",n      "description": "The seniority level of the person."n    },n    "technical_depth": {n      "type": "string",n      "description": "The technical depth of the person."n    },n    "icp_score": {n      "type": "integer",n      "description": "The ICP Score calculated based on AI interest, technical depth, and seniority level."n    }n  },n  "required": [n    "full_name",n    "current_or_last_title",n    "current_or_last_employer",n    "linkedin_company_url",n    "location",n    "number_of_connections",n    "number_of_followers",n    "about_section_text",n    "ai_interest_level",n    "seniority_level",n    "technical_depth",n    "icp_score"n  ],n  "additionalProperties": false,n  "$schema": "http://json-schema.org/draft-07/schema#"n}n"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "28c2c1d4-f43f-46c6-b21d-fbaf5fed4efa",
      "name": "Format response",
      "type": "n8n-nodes-base.code",
      "position": [
        900,
        -100
      ],
      "parameters": {
        "mode": "runOnceForEachItem",
        "jsCode": "const row_number = $('Get person').item.json.row_numbernconst Linkedin_URL_Person = $('Get person').item.json.Linkedin_URL_Personnconst ICP_Score_Person = JSON.parse($input.item.json.data.modelResponse).icp_scorennreturn { json: {n  row_number,n  Linkedin_URL_Person,n  ICP_Score_Personn}};"
      },
      "typeVersion": 2
    },
    {
      "id": "1646b60c-21f2-4222-bc4c-8660184fa46a",
      "name": "Update row",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1120,
        -100
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [
            {
              "id": "Linkedin_URL_Person",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Linkedin_URL_Person",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "ICP_Score_Person",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "ICP_Score_Person",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [
            "row_number"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1WC_awgb-Ohtb0f4o_OJgRcvunTLuS8kFQgk6l8fkR2Q/edit#gid=0",
          "cachedResultName": "Person"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1WC_awgb-Ohtb0f4o_OJgRcvunTLuS8kFQgk6l8fkR2Q",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1WC_awgb-Ohtb0f4o_OJgRcvunTLuS8kFQgk6l8fkR2Q/edit?usp=drivesdk",
          "cachedResultName": "ICP Score for Template"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "5a151773-1075-4a9f-9637-6241e7137638",
      "name": "Get person",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        480,
        -100
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1WC_awgb-Ohtb0f4o_OJgRcvunTLuS8kFQgk6l8fkR2Q/edit#gid=0",
          "cachedResultName": "Person"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1WC_awgb-Ohtb0f4o_OJgRcvunTLuS8kFQgk6l8fkR2Q",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1WC_awgb-Ohtb0f4o_OJgRcvunTLuS8kFQgk6l8fkR2Q/edit?usp=drivesdk",
          "cachedResultName": "ICP Score for Template"
        }
      },
      "typeVersion": 4.5
    }
  ],
  "pinData": {},
  "connections": {
    "Get person": {
      "main": [
        [
          {
            "node": "Calculate ICP PersonScoring",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format response": {
      "main": [
        [
          {
            "node": "Update row",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Calculate ICP PersonScoring": {
      "main": [
        [
          {
            "node": "Format response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking u2018Test workflowu2019": {
      "main": [
        [
          {
            "node": "Get person",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}