{
  "name": "Escalate product UAT critical bugs with OpenAI, Jira and Slack",
  "nodes": [
    {
      "id": "a720620e-25aa-423c-9f02-f957995b8165",
      "name": "trigger",
      "type": "n8n-nodes-base.webhook",
      "position": [
        496,
        -192
      ]
    },
    {
      "id": "799e4a87-8d32-47be-8e27-7f79b6e59735",
      "name": "normalize",
      "type": "n8n-nodes-base.code",
      "position": [
        880,
        0
      ]
    },
    {
      "id": "eca4998b-7324-4430-8268-e02de600d82a",
      "name": "parsing and validation",
      "type": "n8n-nodes-base.code",
      "position": [
        1600,
        0
      ]
    },
    {
      "id": "a89c57b4-7479-4a27-a71d-07f053ff04c2",
      "name": "critical bug",
      "type": "n8n-nodes-base.jira",
      "position": [
        1824,
        0
      ]
    },
    {
      "id": "e38ee892-a1c0-4570-b463-877ce34291ed",
      "name": "engeneering alert",
      "type": "n8n-nodes-base.slack",
      "position": [
        2032,
        0
      ]
    },
    {
      "id": "c90dd414-4659-4421-8da0-a5f01892972a",
      "name": "tester email",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2800,
        80
      ]
    },
    {
      "id": "42e9bcbf-a50b-4227-95c9-c063524a0b06",
      "name": "slack tester",
      "type": "n8n-nodes-base.slack",
      "position": [
        2800,
        -128
      ]
    },
    {
      "id": "f889f02d-3cc4-43ef-814f-3c566df54b19",
      "name": "clean text",
      "type": "n8n-nodes-base.code",
      "position": [
        1040,
        0
      ]
    },
    {
      "id": "9960d6de-2665-47e0-a958-966e969cc1c7",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        -752
      ],
      "parameters": {
        "width": 400,
        "height": 1328,
        "content": "## How it works\n\nThis workflow automates Product UAT critical bug escalation using AI.\n\nWhen a tester submits feedback via a webhook, the workflow normalizes and cleans the input before sending it to "
      }
    },
    {
      "id": "a23dfd66-5b76-43de-8e15-96a1f6dda5df",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        384,
        -752
      ],
      "parameters": {
        "width": 768,
        "height": 1328,
        "content": "## Ingestion & Normalization\n\nCollects UAT feedback from a webhook and normalizes all inputs\n(tester, source, build, page, message) into a clean, AI-ready data structure."
      }
    },
    {
      "id": "3be2ae4d-b1a0-4fa6-8969-e7397427ad76",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1184,
        -752
      ],
      "parameters": {
        "width": 576,
        "height": 1328,
        "content": "## AI Triage & Quality Control\n\nAn AI model analyzes the feedback and returns a structured triage\n(type, severity, summary, confidence), which is parsed and validated before execution."
      }
    },
    {
      "id": "4d1479c8-74ed-4707-a6a1-d4d8d7f0277e",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1792,
        -752
      ],
      "parameters": {
        "width": 624,
        "height": 1328,
        "content": "## Critical Bug Escalation\n\nValidated critical bugs automatically create a Jira issue\nand trigger an engineering Slack alert with full context."
      }
    },
    {
      "id": "c3c5b21f-0f6b-4159-a741-3ac30b36edda",
      "name": "Webhook response",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        2976,
        -32
      ]
    },
    {
      "id": "0bdf87b2-2e98-4a19-a8ed-0af895be33ca",
      "name": "how to contact",
      "type": "n8n-nodes-base.if",
      "position": [
        2496,
        0
      ]
    },
    {
      "id": "99285181-4c7d-4d20-bece-0f066f5b40e5",
      "name": "compose reply branch 1",
      "type": "n8n-nodes-base.set",
      "position": [
        2256,
        0
      ]
    },
    {
      "id": "f86ce651-83a4-4983-bd0d-10a5c15d9efd",
      "name": "AI agent",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1296,
        0
      ]
    },
    {
      "id": "659fd4a4-c0c4-4f7e-95d5-0cb305a94d20",
      "name": "data merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        704,
        0
      ]
    },
    {
      "id": "91b87775-ed61-4ca9-a07b-df7f93ac017b",
      "name": "data mapping",
      "type": "n8n-nodes-base.set",
      "position": [
        496,
        192
      ]
    },
    {
      "id": "b67fc4f1-6247-4bf3-a30f-eb90da2ab953",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2448,
        -752
      ],
      "parameters": {
        "width": 784,
        "height": 1328,
        "content": "## Closed Loop\n\nNotifies the tester via Slack or email\nand responds to the original webhook\nwith a structured status payload."
      }
    }
  ],
  "connections": {
    "trigger": {
      "main": [
        [
          {
            "node": "data merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI agent": {
      "main": [
        [
          {
            "node": "parsing and validation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "normalize": {
      "main": [
        [
          {
            "node": "clean text",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "clean text": {
      "main": [
        [
          {
            "node": "AI agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "data merge": {
      "main": [
        [
          {
            "node": "normalize",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "critical bug": {
      "main": [
        [
          {
            "node": "engeneering alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "data mapping": {
      "main": [
        [
          {
            "node": "data merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "slack tester": {
      "main": [
        [
          {
            "node": "Webhook response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "tester email": {
      "main": [
        [
          {
            "node": "Webhook response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "how to contact": {
      "main": [
        [
          {
            "node": "slack tester",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "tester email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "engeneering alert": {
      "main": [
        [
          {
            "node": "compose reply branch 1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "compose reply branch 1": {
      "main": [
        [
          {
            "node": "how to contact",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "parsing and validation": {
      "main": [
        [
          {
            "node": "critical bug",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}