{
  "name": "Generate multi-channel release notes from ClickUp tasks with GPT-4o, Notion & Slack",
  "nodes": [
    {
      "id": "d2d1f6df-b89b-435b-aa69-c6a7e84bd982",
      "name": "Validate Incoming ClickUp Task Event",
      "type": "n8n-nodes-base.if",
      "position": [
        -1344,
        -240
      ]
    },
    {
      "id": "8ae9f883-49df-464d-bf5a-fa6351c51a5f",
      "name": "Log Invalid ClickUp Events to Google Sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -928,
        128
      ]
    },
    {
      "id": "c884e43d-5823-481d-a0cb-f43c8b471326",
      "name": "Fetch Full Task Details from ClickUp",
      "type": "n8n-nodes-base.clickUp",
      "position": [
        -640,
        -256
      ]
    },
    {
      "id": "3f7c53f1-c1df-4762-84f5-75b534a1de5b",
      "name": "Extract Clean Task Fields from ClickUp Data",
      "type": "n8n-nodes-base.code",
      "position": [
        -384,
        -256
      ]
    },
    {
      "id": "f4559864-e4de-4d2b-9427-7bc7a15ea5fc",
      "name": "Provide GPT-4o Model for Release Notes Generation",
      "type": "@n8n/n8n-nodes-langchain.lmChatAzureOpenAi",
      "position": [
        1136,
        16
      ]
    },
    {
      "id": "77d63c36-df56-4f12-9c10-d060b5fd6e3c",
      "name": "Generate Structured Release Notes via AI",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1136,
        -240
      ]
    },
    {
      "id": "bf7b20b8-23af-4511-b487-574c9a0d07a5",
      "name": "Extract Release Notes Title & Final Output",
      "type": "n8n-nodes-base.code",
      "position": [
        1536,
        -240
      ]
    },
    {
      "id": "483b81ea-b25f-43ef-9930-6d09725d763f",
      "name": "Create Release Notes Page in Notion",
      "type": "n8n-nodes-base.notion",
      "position": [
        1824,
        -240
      ]
    },
    {
      "id": "f1e2aaed-c1ce-4a4a-ad50-55d7aed709eb",
      "name": "Post Release Announcement to Slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        2112,
        -240
      ]
    },
    {
      "id": "b316cb94-8507-4f0c-b897-762535d1e24e",
      "name": "Append Release Log Entry to Google Sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2432,
        -240
      ]
    },
    {
      "id": "2722eac8-dc0e-4566-8f44-c36cf4a3f299",
      "name": "Send Release Summary Email",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2336,
        -608
      ]
    },
    {
      "id": "90d26ead-66a7-462c-8652-c86ea79edf6f",
      "name": "Provide GPT-4o Model for Metadata Extraction",
      "type": "@n8n/n8n-nodes-langchain.lmChatAzureOpenAi",
      "position": [
        -128,
        256
      ]
    },
    {
      "id": "7d029983-92a9-440c-a2e5-e1f40469aa05",
      "name": "Generate Release Metadata via AI",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -96,
        32
      ]
    },
    {
      "id": "d90c385e-8db7-4e1e-9740-467bf26066a6",
      "name": "Parse AI Metadata JSON Output",
      "type": "n8n-nodes-base.code",
      "position": [
        256,
        32
      ]
    },
    {
      "id": "e2068588-bd5c-4dcf-b027-3a4c38ab6fef",
      "name": "Merge Task Details with Metadata",
      "type": "n8n-nodes-base.merge",
      "position": [
        592,
        -240
      ]
    },
    {
      "id": "ebccabcd-da53-4381-a375-29ace5e46589",
      "name": "Combine Task Info + Metadata into Final Payload",
      "type": "n8n-nodes-base.code",
      "position": [
        832,
        -240
      ]
    },
    {
      "id": "6d8cfcfd-1ec0-4017-a488-6f49a1713bba",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2528,
        -1136
      ],
      "parameters": {
        "width": 816,
        "height": 464,
        "content": "## 🚀 Generate Release Notes Using ClickUp + GPT-4o + Notion + Slack\nThis workflow transforms raw ClickUp task updates into complete release documentation.\nIt validates incoming events, fetches task de"
      }
    },
    {
      "id": "56e3d7d6-04ed-469b-b405-06192bed9917",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1904,
        -592
      ],
      "parameters": {
        "width": 1152,
        "height": 912,
        "content": "## 📝 ClickUp Event Intake & Validation\nCaptures incoming task update events and validates them before processing.\n\n• Webhook  \n  Receives raw ClickUp event payload via POST.\n\n• Code in JavaScript  \n  "
      }
    },
    {
      "id": "f9a9912f-ac13-4e47-bc1f-6e2491b3ae33",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -704,
        -608
      ],
      "parameters": {
        "width": 1168,
        "height": 1040,
        "content": "## 🔍 Task Data Extraction & Metadata Enrichment\nFetches full task information and enhances it with AI-generated metadata.\n\n• Fetch Full Task Details from ClickUp  \n  Retrieves detailed task data (stat"
      }
    },
    {
      "id": "3dee45a4-ce0a-4015-abf2-420e24a441a8",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        512,
        -496
      ],
      "parameters": {
        "width": 528,
        "height": 464,
        "content": "## 🧩 Merge Task Details with Metadata\nCombines clean task fields with AI-generated metadata into one payload.\n\n• Merge Task Details with Metadata  \n  Joins task information and metadata into a single "
      }
    },
    {
      "id": "08460f7a-9547-4745-99ca-7c816e78e007",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1088,
        -528
      ],
      "parameters": {
        "width": 672,
        "height": 688,
        "content": "## ✍️ AI-Generated Structured Release Notes\nCreates high-quality release notes using GPT-4o with strict formatting rules.\n\n• Provide GPT-4o Model for Release Notes Generation  \n  Supplies AI engine to"
      }
    },
    {
      "id": "cfade227-75ad-42f0-88e2-24fad80c9319",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1808,
        -976
      ],
      "parameters": {
        "width": 768,
        "height": 1072,
        "content": "## 📣 Automated Release Communication & Documentation\nCreates documents, notifies teams, and logs release details.\n\n• Create Release Notes Page in Notion  \n  Stores full release notes in the Release No"
      }
    },
    {
      "id": "a9f2b8f1-406b-49c7-9992-9cc9f5c061dd",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -1808,
        -240
      ]
    },
    {
      "id": "bb569018-5aab-426b-9b26-86d85ffdbe55",
      "name": "Code in JavaScript",
      "type": "n8n-nodes-base.code",
      "position": [
        -1600,
        -240
      ]
    }
  ],
  "connections": {
    "Webhook": {
      "main": [
        [
          {
            "node": "Code in JavaScript",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code in JavaScript": {
      "main": [
        [
          {
            "node": "Validate Incoming ClickUp Task Event",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse AI Metadata JSON Output": {
      "main": [
        [
          {
            "node": "Merge Task Details with Metadata",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Generate Release Metadata via AI": {
      "main": [
        [
          {
            "node": "Parse AI Metadata JSON Output",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge Task Details with Metadata": {
      "main": [
        [
          {
            "node": "Combine Task Info + Metadata into Final Payload",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Post Release Announcement to Slack": {
      "main": [
        [
          {
            "node": "Append Release Log Entry to Google Sheet",
            "type": "main",
            "index": 0
          },
          {
            "node": "Send Release Summary Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Release Notes Page in Notion": {
      "main": [
        [
          {
            "node": "Post Release Announcement to Slack",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Full Task Details from ClickUp": {
      "main": [
        [
          {
            "node": "Extract Clean Task Fields from ClickUp Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Validate Incoming ClickUp Task Event": {
      "main": [
        [
          {
            "node": "Fetch Full Task Details from ClickUp",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Log Invalid ClickUp Events to Google Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Structured Release Notes via AI": {
      "main": [
        [
          {
            "node": "Extract Release Notes Title & Final Output",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Release Notes Title & Final Output": {
      "main": [
        [
          {
            "node": "Create Release Notes Page in Notion",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Clean Task Fields from ClickUp Data": {
      "main": [
        [
          {
            "node": "Generate Release Metadata via AI",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge Task Details with Metadata",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Provide GPT-4o Model for Metadata Extraction": {
      "ai_languageModel": [
        [
          {
            "node": "Generate Release Metadata via AI",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Combine Task Info + Metadata into Final Payload": {
      "main": [
        [
          {
            "node": "Generate Structured Release Notes via AI",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Provide GPT-4o Model for Release Notes Generation": {
      "ai_languageModel": [
        [
          {
            "node": "Generate Structured Release Notes via AI",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    }
  }
}