{
  "id": "ywYDhP2qPDpTI4o8",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Monitor Job Changes",
  "tags": [],
  "nodes": [
    {
      "id": "bfd83cbd-7be1-4421-8f28-97033f8d1704",
      "name": "When clicking \u2018Test workflow\u2019",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        0,
        0
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "f9795893-2bd8-47f6-8778-a73a86b33b20",
      "name": "Extract Job Changes",
      "type": "n8n-nodes-base.airtop",
      "position": [
        220,
        0
      ],
      "parameters": {
        "url": "https://www.linkedin.com/mynetwork/catch-up/job_changes/",
        "prompt": "This is a list of job changes. Extract 5 job changes. For each job change, extract the name of the person, the new position, and the person's LinkedIn profile URL of the person.\n\nAlso, classify every new position to a function like marketing, sales, HR, executive, and so on. ",
        "resource": "extraction",
        "operation": "query",
        "profileName": "AmirLinkedin",
        "sessionMode": "new",
        "additionalFields": {
          "outputSchema": "{\n  \"type\": \"object\",\n  \"properties\": {\n    \"job_changes\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"The name of the person who has a job change.\"\n          },\n          \"new_position\": {\n            \"type\": \"string\",\n            \"description\": \"The new position title of the person.\"\n          },\n          \"linkedin_profile_url\": {\n            \"type\": \"string\",\n            \"description\": \"The LinkedIn profile URL of the person.\"\n          },\n          \"position_function\": {\n            \"type\": \"string\",\n            \"description\": \"The function classification of the new position, such as marketing, sales, HR, executive, etc.\"\n          }\n        },\n        \"required\": [\n          \"name\",\n          \"new_position\",\n          \"linkedin_profile_url\",\n          \"position_function\"\n        ],\n        \"additionalProperties\": false\n      },\n      \"description\": \"A list of job changes with details about the person, their new position, and classification of the position.\"\n    }\n  },\n  \"required\": [\n    \"job_changes\"\n  ],\n  \"additionalProperties\": false,\n  \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n}"
        }
      },
      "credentials": {
        "airtopApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "a85288fd-4dd5-4b50-9c65-9d1d62204614",
      "name": "Edit Fields",
      "type": "n8n-nodes-base.set",
      "position": [
        440,
        0
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "1f2d018f-b2bb-4065-8201-a72b16aa2aa9",
              "name": "data.modelResponse",
              "type": "object",
              "value": "={{ $json.data.modelResponse }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "22291d03-b195-4d52-81e9-6d1d39d42955",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -820,
        -440
      ],
      "parameters": {
        "width": 740,
        "height": 920,
        "content": "README\n# Monitoring Job Changes on LinkedIn\n## Use Case\nThis automation tracks job changes among your LinkedIn connections and extracts relevant details. It's ideal for triggering timely outreach, updating CRM records, or feeding lead scoring workflows based on new roles.\n\n## What This Automation Does\nIt scrapes your LinkedIn \"Job Changes\" feed and returns:\n- Name of the person\n- Their new position\n- LinkedIn profile URL\n- Functional category (e.g., marketing, sales, HR, executive)\n\nEach run processes 5 job changes at a time.\n\n## How It Works\n1. **Manual Trigger**: Starts the workflow when the user clicks \"Test workflow.\"\n2. **Airtop Enrichment**: Navigates to the LinkedIn job changes page and extracts:\n   - `name`\n   - `new_position`\n   - `linkedin_profile_url`\n   - `position_function` (classification such as marketing, sales, HR, etc.)\n3. **Formatting**: Output is structured into clean JSON for use in further workflows.\n\n## Setup Requirements\n1. [Airtop Profile](https://portal.airtop.ai/browser-profiles) connected to LinkedIn\n2. Airtop API key configured in n8n\n3. A LinkedIn account with a populated \u201cJob Changes\u201d feed\n\n## Next Steps\n- **Automate Alerts**: Add Slack, email, or CRM integrations to notify your team.\n- **Enrich and Score Leads**: Chain this with your ICP scoring workflow to evaluate new roles.\n- **Customize Scope**: Expand extraction to more than 5 job changes or add filters based on job titles or functions.\n"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "f0962f18-31a3-4830-b50e-b2b388db31a0",
  "connections": {
    "Extract Job Changes": {
      "main": [
        [
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking \u2018Test workflow\u2019": {
      "main": [
        [
          {
            "node": "Extract Job Changes",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}