{
  "id": "CYDemwO42LTGiiPR",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Company ICP scoring",
  "tags": [],
  "nodes": [
    {
      "id": "53ac44a9-4774-42f5-8b3d-d7c83272c1fa",
      "name": "On form submission",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -40,
        0
      ],
      "parameters": {
        "options": {},
        "formTitle": "Company ICP scoring",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Company LinkedIn URL",
              "placeholder": "https://www.linkedin.com/company/airtop-ai/"
            },
            {
              "fieldLabel": "Airtop Profile (connected to Linkedin)"
            }
          ]
        },
        "formDescription": "=This automation takes company's Linkedin Profile URL and Airtop Profile (authenticated for Linkedin) and returns the company's ICP score"
      },
      "typeVersion": 2.2
    },
    {
      "id": "4e65be06-eae0-4e38-9c5d-dae54484770d",
      "name": "Unify params",
      "type": "n8n-nodes-base.set",
      "position": [
        180,
        100
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "f071e020-6701-4ef3-8f32-db59d68206c8",
              "name": "company_linkedin",
              "type": "string",
              "value": "={{ $json[\"Company LinkedIn URL\"] || $json.company_linkedin }}"
            },
            {
              "id": "571ddf88-a16a-4a5a-ba4b-c5d06dd92334",
              "name": "airtop_profile",
              "type": "string",
              "value": "={{ $json[\"Airtop Profile (connected to Linkedin)\"] || $json.airtop_profile }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "cbb36eeb-521c-4627-8913-ae8f18cc0ffb",
      "name": "Calculate ICP",
      "type": "n8n-nodes-base.airtop",
      "position": [
        400,
        100
      ],
      "parameters": {
        "url": "={{ $json.company_linkedin }}",
        "prompt": "=Task: Analyze the company's LinkedIn profile and calculate a score based on the criteria below.\n\nInformation Source: Use data from the company's LinkedIn profile, including the About section, Employee count, Industry, Headquarters, Services, and any keywords or descriptions provided.\n\n## Scoring Criteria\n\n### AI Focus\n- Low (5 pts)\n- Medium (10 pts) \n- High (25 pts)\n\n### Technical Level\n- Basic (5 pts)\n- Intermediate (15 pts)\n- Advanced (25 pts)\n- Expert (35 pts)\n\n### Employee Count\n- 0-9 (5 pts)\n- 10-150 (25 pts)\n- 150+ (30 pts)\n### Agency Status\n- Automation Agency (20 pts)\n- NOT Automation Agency (0 pts)\n\n### Geography\n- US/Europe (10 pts)\n- NOT US/Europe (0 pts)\n\n## Instructions\n\n1. Review company LinkedIn profile data including:\n   - About section\n   - Employee count\n   - Industry\n   - Headquarters location\n   - Services offered\n   - Keywords and descriptions\n\n2. For each category:\n   - Determine appropriate classification\n   - Assign corresponding points\n   - Provide brief justification\n\n3. Calculate and output:\n   - Total composite score\n   - Detailed breakdown by category",
        "resource": "extraction",
        "operation": "query",
        "profileName": "={{ $json.airtop_profile }}",
        "sessionMode": "new",
        "additionalFields": {
          "outputSchema": "{\n  \"type\": \"object\",\n  \"properties\": {\n    \"AI_Focus\": {\n      \"type\": \"integer\",\n      \"description\": \"Points based on AI focus level: Low (5), Medium (10), High (25)\"\n    },\n    \"Technical_Level\": {\n      \"type\": \"integer\",\n      \"description\": \"Points based on technical level: Basic (5), Intermediate (15), Advanced (25), Expert (35)\"\n    },\n    \"Employee_Count\": {\n      \"type\": \"integer\",\n      \"description\": \"Points based on employee count: 0-9 (5), 10-150 (25), 150+ (30)\"\n    },\n    \"Agency_Status\": {\n      \"type\": \"integer\",\n      \"description\": \"Points based on agency status: NOT Automation Agency (0), Automation Agency (20)\"\n    },\n    \"Geography\": {\n      \"type\": \"integer\",\n      \"description\": \"Points based on geography: NOT US/Europe (0), US/Europe Based (10)\"\n    },\n    \"total_score\": {\n      \"type\": \"integer\",\n      \"description\": \"Total composite score calculated from all categories\"\n    },\n    \"justifications\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"AI_Focus\": {\n          \"type\": \"string\",\n          \"description\": \"Justification for AI focus score\"\n        },\n        \"Technical_Level\": {\n          \"type\": \"string\",\n          \"description\": \"Justification for technical level score\"\n        },\n        \"Employee_Count\": {\n          \"type\": \"string\",\n          \"description\": \"Justification for employee count score\"\n        },\n        \"Agency_Status\": {\n          \"type\": \"string\",\n          \"description\": \"Justification for agency status score\"\n        },\n        \"Geography\": {\n          \"type\": \"string\",\n          \"description\": \"Justification for geography score\"\n        }\n      },\n      \"required\": [\n        \"AI_Focus\",\n        \"Technical_Level\",\n        \"Employee_Count\",\n        \"Agency_Status\",\n        \"Geography\"\n      ],\n      \"additionalProperties\": false\n    }\n  },\n  \"required\": [\n    \"AI_Focus\",\n    \"Technical_Level\",\n    \"Employee_Count\",\n    \"Agency_Status\",\n    \"Geography\",\n    \"total_score\",\n    \"justifications\"\n  ],\n  \"additionalProperties\": false,\n  \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n}"
        }
      },
      "credentials": {
        "airtopApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "dee222c2-95fc-4af5-8752-422b20444350",
      "name": "Parse to JSON",
      "type": "n8n-nodes-base.set",
      "position": [
        620,
        100
      ],
      "parameters": {
        "mode": "raw",
        "options": {},
        "jsonOutput": "={{ $json.data.modelResponse }}",
        "includeOtherFields": "={{ false }}"
      },
      "typeVersion": 3.4
    },
    {
      "id": "d10f07de-9845-47e5-b2fe-9b4b7ea78704",
      "name": "When Executed by Another Workflow",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "position": [
        -40,
        200
      ],
      "parameters": {
        "workflowInputs": {
          "values": [
            {
              "name": "company_linkedin"
            },
            {
              "name": "airtop_profile"
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "02ddfe9b-4421-4270-bb72-75aea37c5889",
      "name": "Flat json",
      "type": "n8n-nodes-base.set",
      "position": [
        840,
        100
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "6300628a-829a-4f47-b052-11e17db494b3",
              "name": "icp_company_score",
              "type": "number",
              "value": "={{ $json.total_score }}"
            },
            {
              "id": "b33c1bfc-03f2-4d69-b50d-045cd0170fa3",
              "name": "ai_focus",
              "type": "number",
              "value": "={{ $json.AI_Focus }}"
            },
            {
              "id": "68a52ead-2166-48a1-98b3-93d7a099f451",
              "name": "employee_count",
              "type": "number",
              "value": "={{ $json.Employee_Count }}"
            },
            {
              "id": "e048f68b-d456-4968-8e2b-cce1c4c97e94",
              "name": "technical_level",
              "type": "number",
              "value": "={{ $json.Technical_Level }}"
            },
            {
              "id": "aeaf34f4-76fa-4ab5-bc45-758f847aabbe",
              "name": "agency_status",
              "type": "number",
              "value": "={{ $json.Agency_Status }}"
            },
            {
              "id": "3f97682b-b0bd-4802-9d58-99b3ece90528",
              "name": "geography",
              "type": "number",
              "value": "={{ $json.Geography }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "376edace-c71d-40ca-a0e7-4cc6d11bed17",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -80,
        -100
      ],
      "parameters": {
        "width": 400,
        "height": 460,
        "content": "## Input Parameters\nRun this workflow using a form or from another workflow"
      },
      "typeVersion": 1
    },
    {
      "id": "8687eea7-1059-43e4-8575-f8a6ebeae0a2",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        340,
        -100
      ],
      "parameters": {
        "color": 5,
        "width": 700,
        "height": 460,
        "content": "## Calculate ICP"
      },
      "typeVersion": 1
    },
    {
      "id": "5f2723ea-8df0-430e-8a4c-a057b7e6081a",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -800,
        -580
      ],
      "parameters": {
        "width": 700,
        "height": 1400,
        "content": "README\n\n# Automating Company ICP Scoring via LinkedIn\n\n## Use Case\n\nThis automation scores companies based on their LinkedIn profile using custom Ideal Customer Profile (ICP) criteria. It\u2019s ideal for qualifying B2B leads and prioritizing outreach based on fit.\n\n## What This Automation Does\n\nInputs required:\n\n- **Company LinkedIn URL**: Public LinkedIn profile of the company.\n- **Airtop Profile (connected to LinkedIn)**: [Airtop Profile](https://portal.airtop.ai/browser-profiles) authenticated to access and extract profile data.\n\nThe automation analyzes the LinkedIn page and calculates a score based on:\n\n### Scoring Criteria\n\n| **Category**       | **Classification**        | **Points** |\n|--------------------|---------------------------|------------|\n| **AI Focus**        | Low                       | 5          |\n|                    | Medium                    | 10         |\n|                    | High                      | 25         |\n| **Technical Level** | Basic                     | 5          |\n|                    | Intermediate              | 15         |\n|                    | Advanced                  | 25         |\n|                    | Expert                    | 35         |\n| **Employee Count**  | 0\u20139                       | 5          |\n|                    | 10\u2013150                    | 25         |\n|                    | 150+                      | 30         |\n| **Agency Status**   | Not Automation Agency     | 0          |\n|                    | Automation Agency         | 20         |\n| **Geography**       | Outside US/Europe         | 0          |\n|                    | US/Europe Based           | 10         |\n\nThe result includes:\n- Total ICP score\n- Detailed justifications for each score component\n\n## How It Works\n\n1. Opens the company\u2019s LinkedIn page using Airtop.\n2. Analyzes metadata including employee count, headquarters, services, and keywords.\n3. Applies the scoring rubric and returns structured JSON with scores and reasons.\n4. Optionally flattens the result for storage or CRM integration.\n\n## Setup Requirements\n\n1. [Airtop API Key](https://portal.airtop.ai/api-keys)\n2. LinkedIn-authenticated [Airtop Profile](https://portal.airtop.ai/browser-profiles)\n\n## Next Steps\n\n- **Combine with Lead Lists**: Score companies from outreach lists.\n- **Push to CRM**: Add scores to HubSpot or Salesforce records.\n- **Adjust Scoring Weights**: Modify rubric to reflect your ICP strategy.\n"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "0c0c8719-c1c6-46da-8752-4f503e72ecfb",
  "connections": {
    "Unify params": {
      "main": [
        [
          {
            "node": "Calculate ICP",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Calculate ICP": {
      "main": [
        [
          {
            "node": "Parse to JSON",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse to JSON": {
      "main": [
        [
          {
            "node": "Flat json",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On form submission": {
      "main": [
        [
          {
            "node": "Unify params",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When Executed by Another Workflow": {
      "main": [
        [
          {
            "node": "Unify params",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}