{
  "name": "Assign Requests Using AI and Send Reminders Based On NocoDB Kanban Board Status",
  "nodes": [
    {
      "id": "4976d737-a419-4cc6-a8fc-dc1a9482642d",
      "name": "Incident Form",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -100,
        200
      ]
    },
    {
      "id": "f9829dfd-c8bd-45c0-b9ac-fe496d527df8",
      "name": "Assign Category",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        620,
        100
      ]
    },
    {
      "id": "bef9f61d-0019-4407-a0fc-9a4c44894d6e",
      "name": "OpenAI Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        540,
        280
      ]
    },
    {
      "id": "ccb2092e-f9bb-4b64-987a-d4349b401d5c",
      "name": "Structure Output Todoist Ready1",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        860,
        260
      ]
    },
    {
      "id": "7b8fa2ca-5697-4792-ab60-3506be78bcdf",
      "name": "Get incident definitions",
      "type": "n8n-nodes-base.nocoDb",
      "position": [
        180,
        100
      ]
    },
    {
      "id": "b6023ac0-0a43-47b5-add3-f11c4bb8a5d1",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -160,
        0
      ],
      "parameters": {
        "width": null,
        "height": 440,
        "content": "## Incident Form\nThis workflow is triggered when someone fills incident form. You could replace it for example with email or webhook, but you will need to update references in other nodes to new field"
      }
    },
    {
      "id": "1a207b67-98de-40e6-8ec2-eb64e515cc14",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        120,
        0
      ],
      "parameters": {
        "width": 1320,
        "height": 440,
        "content": "## Parse Incidents\nAllow AI to compare your incident definitions with input from user. AI will attempt to assign proper category and proper person to given incident. WIth AI assignment, we are formatt"
      }
    },
    {
      "id": "e28f77db-4701-4df2-a79c-b7239a4b4e1f",
      "name": "Insert Incident",
      "type": "n8n-nodes-base.nocoDb",
      "position": [
        1260,
        260
      ]
    },
    {
      "id": "17ccb056-2f0b-4a38-812b-e869842c7032",
      "name": "Aggregate for AI parsing",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        400,
        100
      ]
    },
    {
      "id": "0048bfe3-0e1f-4a2d-8200-900a56afb21b",
      "name": "On schedule or during flow",
      "type": "n8n-nodes-base.noOp",
      "position": [
        160,
        820
      ]
    },
    {
      "id": "25370677-2364-426f-a7ed-f87e4f5d9223",
      "name": "When clicking ‘Test workflow’",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -120,
        900
      ]
    },
    {
      "id": "930fc886-6c1d-4613-b312-360bd37544fa",
      "name": "Task is not picked up after expected response",
      "type": "n8n-nodes-base.if",
      "position": [
        660,
        620
      ]
    },
    {
      "id": "a11567b4-e5e7-4e64-970d-51e61e6f376f",
      "name": "Send email to client",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        1000,
        540
      ]
    },
    {
      "id": "ea9d3ad5-0dd5-428f-8a23-60999c7134f4",
      "name": "Check status every day",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -120,
        720
      ]
    },
    {
      "id": "ce94960f-56c8-4b67-81af-ece07f97c94f",
      "name": "Send email to asignee",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        1260,
        640
      ]
    },
    {
      "id": "8c1cc107-76aa-4d62-871d-d107f2055071",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        360,
        460
      ],
      "parameters": {
        "width": 1080,
        "height": 400,
        "content": "## Stay Informed\nInform both client and developer about current task status. Maybe task was not picked up. Feel free to replace with Slack messages if applicable"
      }
    },
    {
      "id": "b6fb24c3-2a04-4906-be2e-510356cd5f76",
      "name": "Get Unpicked Tasks",
      "type": "n8n-nodes-base.nocoDb",
      "position": [
        420,
        620
      ]
    },
    {
      "id": "5d5b635d-0302-462d-94a5-7055a63e85ac",
      "name": "Get Unfinished Tasks",
      "type": "n8n-nodes-base.nocoDb",
      "position": [
        420,
        1060
      ]
    },
    {
      "id": "4a8724da-a752-46fc-8753-ae6344d9d6d3",
      "name": "Task is not complete in expected time",
      "type": "n8n-nodes-base.if",
      "position": [
        660,
        1060
      ]
    },
    {
      "id": "03fc4e3d-3a49-417e-b0e7-b71cd684e8f7",
      "name": "Send email to client1",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        1000,
        960
      ]
    },
    {
      "id": "ddeeee95-41b6-47e1-add5-60de172d0117",
      "name": "If there is asignee email",
      "type": "n8n-nodes-base.if",
      "position": [
        1000,
        720
      ]
    },
    {
      "id": "fb8a3bf0-0f15-4ea3-b61e-f9b582d64d3f",
      "name": "If there is assignee slack",
      "type": "n8n-nodes-base.if",
      "position": [
        1000,
        1140
      ]
    },
    {
      "id": "c31d46a2-d1f2-4573-a4dd-f07a7f9b2e52",
      "name": "Slack to assignee",
      "type": "n8n-nodes-base.slack",
      "position": [
        1260,
        980
      ]
    },
    {
      "id": "ff015cfa-c234-453a-aef5-b2a2d4bda6db",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        360,
        880
      ],
      "parameters": {
        "width": 1080,
        "height": 460,
        "content": "## Task incomplete\nInform both client and developer that task is after due. Developer should receive message and react accordingly."
      }
    },
    {
      "id": "516f487a-8f3c-457c-8c35-134c66dacc2f",
      "name": "Send another email to asignee",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        1260,
        1160
      ]
    },
    {
      "id": "ab931ca8-ea7a-433c-bf1c-26c9fb67722b",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -160,
        560
      ],
      "parameters": {
        "width": 480,
        "height": 580,
        "content": "## Trigger Task Check Daily\nRunning this more often is probably not good idea because client may receive too many messages when task is delayed"
      }
    },
    {
      "id": "b432ed80-eb24-4978-b711-83660a8edeaf",
      "name": "Format for Noco",
      "type": "n8n-nodes-base.set",
      "position": [
        1040,
        260
      ]
    }
  ],
  "connections": {
    "Incident Form": {
      "main": [
        [
          {
            "node": "Get incident definitions",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Assign Category": {
      "main": [
        [
          {
            "node": "Format for Noco",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format for Noco": {
      "main": [
        [
          {
            "node": "Insert Incident",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Insert Incident": {
      "main": [
        [
          {
            "node": "On schedule or during flow",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Slack to assignee": {
      "main": [
        []
      ]
    },
    "Get Unpicked Tasks": {
      "main": [
        [
          {
            "node": "Task is not picked up after expected response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "Assign Category",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Get Unfinished Tasks": {
      "main": [
        [
          {
            "node": "Task is not complete in expected time",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send email to asignee": {
      "main": [
        []
      ]
    },
    "Check status every day": {
      "main": [
        [
          {
            "node": "On schedule or during flow",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate for AI parsing": {
      "main": [
        [
          {
            "node": "Assign Category",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get incident definitions": {
      "main": [
        [
          {
            "node": "Aggregate for AI parsing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If there is asignee email": {
      "main": [
        [
          {
            "node": "Send email to asignee",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If there is assignee slack": {
      "main": [
        [
          {
            "node": "Slack to assignee",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send another email to asignee",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On schedule or during flow": {
      "main": [
        [
          {
            "node": "Get Unpicked Tasks",
            "type": "main",
            "index": 0
          },
          {
            "node": "Get Unfinished Tasks",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structure Output Todoist Ready1": {
      "ai_outputParser": [
        [
          {
            "node": "Assign Category",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Test workflow’": {
      "main": [
        [
          {
            "node": "On schedule or during flow",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Task is not complete in expected time": {
      "main": [
        [
          {
            "node": "Send email to client1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "If there is assignee slack",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Task is not picked up after expected response": {
      "main": [
        [
          {
            "node": "Send email to client",
            "type": "main",
            "index": 0
          },
          {
            "node": "If there is asignee email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}