{
  "name": "AIva Starter · Из задач — в дайджест команды",
  "nodes": [
    {
      "parameters": {},
      "id": "team-digest-start",
      "name": "Запуск вручную",
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        0,
        180
      ],
      "notes": "Нажмите Execute workflow в n8n. Внешние сервисы не вызываются."
    },
    {
      "parameters": {
        "mode": "runOnceForAllItems",
        "jsCode": "return [{\"json\":{\"task\":\"Согласовать бриф\",\"owner\":\"Анна\",\"due\":\"2026-09-20\",\"done\":false,\"as_of\":\"2026-09-24\"}},{\"json\":{\"task\":\"Подготовить отчёт\",\"owner\":\"Иван\",\"due\":\"2026-09-25\",\"done\":false,\"as_of\":\"2026-09-24\"}},{\"json\":{\"task\":\"Проверить макет\",\"owner\":\"Анна\",\"due\":\"2026-09-22\",\"done\":true,\"as_of\":\"2026-09-24\"}}];"
      },
      "id": "team-digest-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,due:new Date(x.due+'T12:00:00Z').toISOString().slice(0,10)}}));"
      },
      "id": "team-digest-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,overdue:!x.done&&x.due<x.as_of}}));"
      },
      "id": "team-digest-2",
      "name": "Просрочка",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        660,
        180
      ],
      "notes": "Сравнивает срок с датой отчёта."
    },
    {
      "parameters": {
        "mode": "runOnceForAllItems",
        "jsCode": "return $input.all().map(({json:x})=>({json:{...x,status:x.done?'Готово':x.overdue?'Просрочено':'В работе'}}));"
      },
      "id": "team-digest-3",
      "name": "Ответственные",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        880,
        180
      ],
      "notes": "Готовит данные по ответственным."
    },
    {
      "parameters": {
        "mode": "runOnceForAllItems",
        "jsCode": "return [{json:{text:$input.all().map(({json:x})=>x.owner+' · '+x.task+' · '+x.status).join(String.fromCharCode(10))}}];"
      },
      "id": "team-digest-4",
      "name": "Дайджест",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1100,
        70
      ],
      "notes": "Собирает текст; сообщения никуда не отправляются."
    },
    {
      "parameters": {
        "mode": "runOnceForAllItems",
        "jsCode": "return $input.all().filter(x=>x.json.overdue).map(({json:x})=>({json:{task:x.task,owner:x.owner,due:x.due}}));"
      },
      "id": "team-digest-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": []
}
