{
  "name": "flowsulting · Zahlen einsammeln → Wochenreport",
  "nodes": [
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "cronExpression",
              "expression": "0 7 * * 1"
            }
          ]
        }
      },
      "id": "report-t1",
      "name": "Montag 07:00",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [
        0,
        0
      ]
    },
    {
      "parameters": {
        "operation": "executeQuery",
        "query": "SELECT quelle, count(*) AS anzahl, sum(betrag) AS summe FROM vorgaenge WHERE created_at > now() - interval '7 days' GROUP BY 1;",
        "options": {}
      },
      "id": "report-a1",
      "name": "Zahlen einsammeln",
      "type": "n8n-nodes-base.postgres",
      "typeVersion": 2.5,
      "position": [
        280,
        0
      ],
      "retryOnFail": true,
      "maxTries": 3,
      "waitBetweenTries": 2000
    },
    {
      "parameters": {
        "jsCode": "const rows = $input.all().map(i => i.json);\nconst sum = (k) => rows.reduce((a, r) => a + Number(r[k] || 0), 0);\nreturn [{ json: { vorgaenge: sum('anzahl'), umsatz: sum('summe'), vorwoche: $('Zahlen einsammeln').first().json.vorwoche ?? null } }];"
      },
      "id": "report-a2",
      "name": "Kennzahlen rechnen",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        560,
        0
      ]
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "Schreibe aus diesen Kennzahlen einen Wochenbericht für einen Handwerks- oder Kanzleiinhaber. Drei Absätze: was gut lief, was Aufmerksamkeit braucht, worauf diese Woche schauen. Keine Fachbegriffe.\n\n{{ JSON.stringify($json) }}",
        "messages": {}
      },
      "id": "report-a3",
      "name": "In Klartext übersetzen",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "typeVersion": 1.5,
      "position": [
        840,
        0
      ]
    },
    {
      "parameters": {
        "fromEmail": "info@flowsulting.de",
        "toEmail": "inhaber@kunde.de",
        "subject": "Ihre Woche in Zahlen",
        "emailFormat": "html",
        "html": "={{ $json.html }}",
        "options": {}
      },
      "id": "report-e1",
      "name": "Bericht versenden",
      "type": "n8n-nodes-base.emailSend",
      "typeVersion": 2.1,
      "position": [
        1120,
        0
      ],
      "retryOnFail": true,
      "maxTries": 3,
      "waitBetweenTries": 2000
    },
    {
      "parameters": {
        "operation": "insert",
        "schema": {
          "__rl": true,
          "value": "public",
          "mode": "list"
        },
        "table": {
          "__rl": true,
          "value": "reports",
          "mode": "list"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "woche": "={{ $json.woche }}",
            "vorgaenge": "={{ $json.vorgaenge }}",
            "umsatz": "={{ $json.umsatz }}"
          }
        },
        "options": {}
      },
      "id": "report-d1",
      "name": "Verlauf fortschreiben",
      "type": "n8n-nodes-base.postgres",
      "typeVersion": 2.5,
      "position": [
        1400,
        0
      ],
      "retryOnFail": true,
      "maxTries": 3,
      "waitBetweenTries": 2000
    },
    {
      "parameters": {
        "model": {
          "__rl": true,
          "value": "gpt-4.1-mini",
          "mode": "list"
        },
        "options": {
          "temperature": 0.2
        }
      },
      "id": "report-llm",
      "name": "KI-Modell",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "typeVersion": 1.1,
      "position": [
        840,
        260
      ]
    }
  ],
  "connections": {
    "Montag 07:00": {
      "main": [
        [
          {
            "node": "Zahlen einsammeln",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Zahlen einsammeln": {
      "main": [
        [
          {
            "node": "Kennzahlen rechnen",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Kennzahlen rechnen": {
      "main": [
        [
          {
            "node": "In Klartext übersetzen",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "In Klartext übersetzen": {
      "main": [
        [
          {
            "node": "Bericht versenden",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Bericht versenden": {
      "main": [
        [
          {
            "node": "Verlauf fortschreiben",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "KI-Modell": {
      "ai_languageModel": [
        [
          {
            "node": "In Klartext übersetzen",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "pinData": {},
  "meta": {
    "templateCredsSetupCompleted": false
  },
  "tags": [
    {
      "name": "flowsulting"
    },
    {
      "name": "Betrieb & Reporting"
    }
  ]
}
