{
  "id": "pzYSe2gnvbXLedvG",
  "name": "P1-telegram-task-next-v1",
  "nodes": [
    {
      "parameters": {},
      "id": "sub-wf-trigger",
      "name": "Sub-Workflow Trigger",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "typeVersion": 1,
      "position": [
        240,
        300
      ]
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": ""
          },
          "conditions": [
            {
              "id": "validate-parse-ok",
              "leftValue": "={{ $json.parse_ok }}",
              "rightValue": true,
              "operator": {
                "type": "boolean",
                "operation": "true"
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "id": "validate-title",
      "name": "Validate",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2,
      "position": [
        480,
        300
      ]
    },
    {
      "parameters": {
        "resource": "task",
        "operation": "create",
        "task": "={{ $json.resolved_task_list || ($json.params.test_run ? \"N3V3OGpNaGY4MC0xYWN4Wg\" : \"NEXT\") }}",
        "title": "={{ $json.title }}",
        "dueDate": "={{ $json.params.due || \"\" }}",
        "notes": "={{ \"Event: \" + $json.event_id + ($json.params.test_run ? \"\\nTestRun: \" + $json.params.test_run : \"\") + \"\\nProjekt: \" + ($json.params.p || \"-\") + \"\\nPrio: \" + ($json.params.prio || \"M\") + \"\\nKontext: \" + ($json.params.ctx || \"-\") }}"
      },
      "id": "create-task-next",
      "name": "Google Tasks: NEXT",
      "type": "n8n-nodes-base.googleTasks",
      "typeVersion": 1,
      "position": [
        720,
        200
      ],
      "credentials": {
        "googleTasksOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "jsCode": "const current = items[0].json || {};\nconst upstream = $('Sub-Workflow Trigger').first().json || {};\nconst event = { ...upstream, ...current };\nconst source = event.source || event.source_system || 'telegram';\nreturn [{ json: {\n  chat_id: Number.isFinite(Number(event.chat_id)) ? Number(event.chat_id) : 0,\n  reply_text: 'Task erstellt: ' + (event.title || ''),\n  reply_parse_mode: '',\n  source: source,\n  source_system: event.source_system || source,\n  source_id: event.source_id || '',\n  is_test: Boolean(event.is_test),\n  run_id: event.run_id || null,\n  seq: event.seq || null,\n  expected_route: event.expected_route || '',\n  expected_chain: Array.isArray(event.expected_chain) ? event.expected_chain : [],\n  parse_error: event.parse_error || '',\n  write_safety_error: event.write_safety_error || '',\n  reply_transport: event.reply_transport || (source === 'telegram' ? 'telegram' : 'webhook'),\n  should_telegram_reply: event.should_telegram_reply === true || source === 'telegram',\n  test_run: event.test_run_id || (event.params && event.params.test_run) || '',\n  task_title: event.title || '',\n  task_list: event.resolved_task_list || 'NEXT',\n} }];"
      },
      "id": "build-success-reply",
      "name": "Build Success Reply",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        960,
        200
      ]
    },
    {
      "parameters": {
        "jsCode": "const current = items[0].json || {};\nconst upstream = $('Sub-Workflow Trigger').first().json || {};\nconst event = { ...upstream, ...current };\nconst source = event.source || event.source_system || 'telegram';\nreturn [{ json: {\n  chat_id: Number.isFinite(Number(event.chat_id)) ? Number(event.chat_id) : 0,\n  reply_text: 'Kein Titel angegeben. Beispiel: t: Rechnung senden',\n  reply_parse_mode: '',\n  source: source,\n  source_system: event.source_system || source,\n  source_id: event.source_id || '',\n  is_test: Boolean(event.is_test),\n  run_id: event.run_id || null,\n  seq: event.seq || null,\n  expected_route: event.expected_route || '',\n  expected_chain: Array.isArray(event.expected_chain) ? event.expected_chain : [],\n  parse_error: event.parse_error || '',\n  write_safety_error: event.write_safety_error || '',\n  reply_transport: event.reply_transport || (source === 'telegram' ? 'telegram' : 'webhook'),\n  should_telegram_reply: event.should_telegram_reply === true || source === 'telegram',\n  test_run: event.test_run_id || (event.params && event.params.test_run) || '',\n} }];"
      },
      "id": "build-error-reply",
      "name": "Build Error Reply",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        720,
        440
      ]
    }
  ],
  "connections": {
    "Sub-Workflow Trigger": {
      "main": [
        [
          {
            "node": "Validate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Validate": {
      "main": [
        [
          {
            "node": "Google Tasks: NEXT",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Build Error Reply",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Tasks: NEXT": {
      "main": [
        [
          {
            "node": "Build Success Reply",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  },
  "tags": [
    {
      "name": "diti-ai"
    },
    {
      "name": "phase-1"
    }
  ]
}