{
  "name": "AIva Starter · Из обращения — в нужную очередь",
  "nodes": [
    {
      "parameters": {},
      "id": "support-triage-start",
      "name": "Запуск вручную",
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        0,
        180
      ],
      "notes": "Нажмите Execute workflow в n8n. Внешние сервисы не вызываются."
    },
    {
      "parameters": {
        "mode": "runOnceForAllItems",
        "jsCode": "return [{\"json\":{\"id\":\"T-01\",\"text\":\"Ошибка входа в кабинет\"}},{\"json\":{\"id\":\"T-02\",\"text\":\"Не прошла оплата заказа\"}},{\"json\":{\"id\":\"T-03\",\"text\":\"Как изменить имя?\"}}];"
      },
      "id": "support-triage-0",
      "name": "Обращения",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        220,
        180
      ],
      "notes": "Три вымышленных обращения."
    },
    {
      "parameters": {
        "mode": "runOnceForAllItems",
        "jsCode": "return $input.all().map(({json:x})=>({json:{...x,normalized:x.text.toLowerCase().trim()}}));"
      },
      "id": "support-triage-1",
      "name": "Нормализация",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        440,
        180
      ],
      "notes": "Приводит текст к нижнему регистру для сравнения."
    },
    {
      "parameters": {
        "mode": "runOnceForAllItems",
        "jsCode": "return $input.all().map(({json:x})=>({json:{...x,topic:/оплат|счет|счёт/.test(x.normalized)?'billing':/ошиб|не работает/.test(x.normalized)?'technical':'general'}}));"
      },
      "id": "support-triage-2",
      "name": "Тема запроса",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        660,
        180
      ],
      "notes": "Ищет слова об оплате и ошибках: это правила, не AI."
    },
    {
      "parameters": {
        "mode": "runOnceForAllItems",
        "jsCode": "return $input.all().map(({json:x})=>({json:{...x,queue:{billing:'Финансы',technical:'Техподдержка',general:'Первая линия'}[x.topic]}}));"
      },
      "id": "support-triage-3",
      "name": "Очередь",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        880,
        180
      ],
      "notes": "Назначает ответственную очередь."
    },
    {
      "parameters": {
        "mode": "runOnceForAllItems",
        "jsCode": "return $input.all().map(({json:x})=>({json:{ticket:x.id,message:x.text,assigned_queue:x.queue,status:'new'}}));"
      },
      "id": "support-triage-4",
      "name": "Карточки задач",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1100,
        70
      ],
      "notes": "Готовит карточку с исходным сообщением."
    },
    {
      "parameters": {
        "mode": "runOnceForAllItems",
        "jsCode": "const queues={};for(const {json:x} of $input.all())queues[x.queue]=(queues[x.queue]||0)+1;return [{json:{queues}}];"
      },
      "id": "support-triage-5",
      "name": "Сводка очередей",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1100,
        290
      ],
      "notes": "Показывает нагрузку по очередям."
    }
  ],
  "connections": {
    "Запуск вручную": {
      "main": [
        [
          {
            "node": "Обращения",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Обращения": {
      "main": [
        [
          {
            "node": "Нормализация",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Нормализация": {
      "main": [
        [
          {
            "node": "Тема запроса",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Тема запроса": {
      "main": [
        [
          {
            "node": "Очередь",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Очередь": {
      "main": [
        [
          {
            "node": "Карточки задач",
            "type": "main",
            "index": 0
          },
          {
            "node": "Сводка очередей",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "tags": []
}
