{
  "name": "Triage and escalate HubSpot tickets to Jira with Slack SLA alerts",
  "nodes": [
    {
      "id": "eab71572-72da-4bf2-9143-ea6895eb822f",
      "name": "Every 10 Mins",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -464,
        160
      ]
    },
    {
      "id": "63faef9b-c7fe-40b9-b937-7df97f1b4d08",
      "name": "HubSpot: Search New Tickets",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -240,
        160
      ]
    },
    {
      "id": "21b22741-9688-4f07-a985-984892439465",
      "name": "Check: Are there tickets?",
      "type": "n8n-nodes-base.if",
      "position": [
        -16,
        160
      ]
    },
    {
      "id": "760efc8a-bbf5-4e85-8889-bd52a36b2dca",
      "name": "Loop: Process Tickets",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        208,
        160
      ]
    },
    {
      "id": "48f84fac-65a4-4d54-bc07-7b564ca0cb5f",
      "name": "HubSpot: Get Associations",
      "type": "n8n-nodes-base.hubspot",
      "position": [
        432,
        160
      ]
    },
    {
      "id": "35946b7b-3ed6-45b9-9334-576d05683f70",
      "name": "Filter: Has Email?",
      "type": "n8n-nodes-base.filter",
      "position": [
        656,
        160
      ]
    },
    {
      "id": "7e267a4b-dc0c-4b56-866b-1726bfdf6ff0",
      "name": "HubSpot: Get Contact Data",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        880,
        160
      ]
    },
    {
      "id": "01ea5b8b-3308-4dba-bd0c-034f4fefdb41",
      "name": "Code: Calculate Severity",
      "type": "n8n-nodes-base.code",
      "position": [
        1104,
        160
      ]
    },
    {
      "id": "b51655fe-d7b9-4740-9cc5-0cc93674a9c7",
      "name": "Jira: Create Triage Ticket",
      "type": "n8n-nodes-base.jira",
      "position": [
        1328,
        160
      ]
    },
    {
      "id": "ee9b8dd8-1794-4655-94af-613e42da7e68",
      "name": "Slack: Notify Channel",
      "type": "n8n-nodes-base.slack",
      "position": [
        1552,
        160
      ]
    },
    {
      "id": "ef436359-a48d-4370-82fb-f5b24615a2d6",
      "name": "Jira: Get Latest Status",
      "type": "n8n-nodes-base.jira",
      "position": [
        2000,
        160
      ]
    },
    {
      "id": "9e96bcba-7132-40d0-8485-5d2354867633",
      "name": "Check: Escalation Needed?",
      "type": "n8n-nodes-base.if",
      "position": [
        2224,
        160
      ]
    },
    {
      "id": "f08cf9f8-e880-4e99-9635-3e186f5b9a37",
      "name": "Slack: Send Alert",
      "type": "n8n-nodes-base.slack",
      "position": [
        2448,
        160
      ]
    },
    {
      "id": "b1708a4c-e8aa-4a5b-bb60-a471b0333cc2",
      "name": "Wait: Response Timer",
      "type": "n8n-nodes-base.wait",
      "position": [
        1776,
        160
      ]
    },
    {
      "id": "8f1d52b6-b4b8-4f52-8e8c-5b304cdb79af",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -496,
        -112
      ],
      "parameters": {
        "width": 624,
        "height": 464,
        "content": "## Workflow Setup & Trigger\n\n* **Schedule:** Runs every 10 minutes to check for new tickets.\n* **HubSpot Search:** Retrieves only tickets created within the last 10 minutes to prevent duplicates.\n* **"
      }
    },
    {
      "id": "1ff838d0-7195-4fb3-8fcd-a2789ea57303",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        160,
        -112
      ],
      "parameters": {
        "width": 864,
        "height": 464,
        "content": "## Data Enrichment\n\n* **Loop:** Splits the batch of tickets to process them one by one.\n* **Associations:** Queries HubSpot to find the Contact associated with the Ticket.\n* **Contact Details:** Retri"
      }
    },
    {
      "id": "28561074-d2b8-47bb-81cf-d058272ef7aa",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1056,
        -112
      ],
      "parameters": {
        "width": 640,
        "height": 464,
        "content": "## Logic & Triage\n\n* **Severity Calculation:** Uses JavaScript to classify tickets as CRITICAL, High, or Normal based on revenue thresholds and churn risk keywords.\n* **Jira Task:** Creates a new task"
      }
    },
    {
      "id": "d14a3c50-7445-4f0a-b2ef-dd29475a8fa1",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1728,
        -112
      ],
      "parameters": {
        "width": 848,
        "height": 464,
        "content": "## SLA Monitor & Escalation\n\n* **Wait Timer:** Pauses the workflow for 15 minutes (SLA buffer).\n* **Status Check:** Queries Jira to see if the ticket is still in 'To Do' status.\n* **Escalation:** If t"
      }
    },
    {
      "id": "8fd8f1de-5974-48ae-bac9-97e8442892e0",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -400,
        -560
      ],
      "parameters": {
        "width": 640,
        "height": 304,
        "content": "## Workflow Overview\n\n**Automated VIP Ticket Escalation**\n\nThis workflow acts as an automated triage system to ensure high-value customers receive immediate attention.\n\n* **Trigger:** Monitors HubSpot"
      }
    },
    {
      "id": "77bada53-dd71-4517-b6f8-f8d3eb1b3c33",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -416,
        480
      ],
      "parameters": {
        "width": 368,
        "height": 212,
        "content": "## Contact me\n- If you need any modification to this workflow\n- if you need some help with this workflow\n- Or if you need any workflow in n8n, Make, or Langchain / Langgraph\n\nWrite to me: [thomas@poll"
      }
    }
  ],
  "connections": {
    "Every 10 Mins": {
      "main": [
        [
          {
            "node": "HubSpot: Search New Tickets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter: Has Email?": {
      "main": [
        [
          {
            "node": "HubSpot: Get Contact Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait: Response Timer": {
      "main": [
        [
          {
            "node": "Jira: Get Latest Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop: Process Tickets": {
      "main": [
        [
          {
            "node": "HubSpot: Get Associations",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Slack: Notify Channel": {
      "main": [
        [
          {
            "node": "Wait: Response Timer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Jira: Get Latest Status": {
      "main": [
        [
          {
            "node": "Check: Escalation Needed?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code: Calculate Severity": {
      "main": [
        [
          {
            "node": "Jira: Create Triage Ticket",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check: Are there tickets?": {
      "main": [
        [
          {
            "node": "Loop: Process Tickets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check: Escalation Needed?": {
      "main": [
        [
          {
            "node": "Slack: Send Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HubSpot: Get Associations": {
      "main": [
        [
          {
            "node": "Filter: Has Email?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HubSpot: Get Contact Data": {
      "main": [
        [
          {
            "node": "Code: Calculate Severity",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Jira: Create Triage Ticket": {
      "main": [
        [
          {
            "node": "Slack: Notify Channel",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HubSpot: Search New Tickets": {
      "main": [
        [
          {
            "node": "Check: Are there tickets?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}