{
  "name": "Track employee performance KPIs from ClickUp with GPT-4.1 and Google Sheets",
  "nodes": [
    {
      "id": "c868124d-d47d-4cac-b7f6-227e5eec08eb",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -2720,
        496
      ]
    },
    {
      "id": "d19f2e70-81eb-4eae-947a-3364cd8a234c",
      "name": "Get many folders",
      "type": "n8n-nodes-base.clickUp",
      "position": [
        -2496,
        496
      ]
    },
    {
      "id": "5b6aeedf-b801-47dd-9465-546221d7de7c",
      "name": "Get many tasks",
      "type": "n8n-nodes-base.clickUp",
      "position": [
        -2016,
        512
      ]
    },
    {
      "id": "166ad36b-ceca-4cd2-9602-4e1c8e6f6aca",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -2272,
        496
      ]
    },
    {
      "id": "908cebd1-eadd-4cc7-a806-b5ded51ee1b4",
      "name": "Message a model1",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        -1808,
        512
      ]
    },
    {
      "id": "016ebf61-710c-49c1-b97c-ddaa5ba20fc0",
      "name": "Code in JavaScript",
      "type": "n8n-nodes-base.code",
      "position": [
        -1472,
        512
      ]
    },
    {
      "id": "174d1b30-281b-424f-b70a-09f156e6fde4",
      "name": "Append or update row in sheet1",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -1264,
        512
      ]
    },
    {
      "id": "c130ffc3-1018-46a0-b601-fe2f05ec0c34",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -3440,
        288
      ],
      "parameters": {
        "width": 592,
        "height": 672,
        "content": "## ClickUp Task Performance → Employee KPI Sheet\n\n### How it works\nThis workflow runs on a schedule and pulls tasks from ClickUp. Each task is processed individually and sent to an AI model to generat"
      }
    },
    {
      "id": "0e72a237-d0f9-439d-8c7b-ceaf2a3ff755",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2800,
        288
      ],
      "parameters": {
        "width": 912,
        "height": 672,
        "content": "## Step 1: ClickUp Data Collection\nFetches folders and tasks from the selected ClickUp space.\nLoops through each task so they can be analyzed individually.\n"
      }
    },
    {
      "id": "f035c693-de1d-48ff-9247-f3bfb83cdea8",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1856,
        288
      ],
      "parameters": {
        "width": 528,
        "height": 672,
        "content": "## Step 2: Task Analysis & KPI Processing\nGenerates structured task summaries using AI.\nParses output and recalculates KPI scores and ratings using JavaScript.\n"
      }
    },
    {
      "id": "be504b93-cc5f-4614-8a26-37cc3f1423b0",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1296,
        288
      ],
      "parameters": {
        "width": 528,
        "height": 672,
        "content": "## Step 3: KPI Reporting to Sheet\nWrites task-level performance data into Google Sheets.\nCreates a live employee KPI and productivity report.\n"
      }
    }
  ],
  "connections": {
    "Get many tasks": {
      "main": [
        [
          {
            "node": "Message a model1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "Get many tasks",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get many folders": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Message a model1": {
      "main": [
        [
          {
            "node": "Code in JavaScript",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Get many folders",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code in JavaScript": {
      "main": [
        [
          {
            "node": "Append or update row in sheet1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Append or update row in sheet1": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}