{
  "name": "Fleißbots: Fehlerwarner (n8n Error Trigger)",
  "nodes": [
    {
      "id": "a1",
      "name": "Fehler erkannt",
      "type": "n8n-nodes-base.errorTrigger",
      "typeVersion": 1,
      "position": [
        0,
        0
      ],
      "parameters": {},
      "notes": "Diesen Workflow in JEDEM zu überwachenden Workflow unter Settings → Error Workflow eintragen. Er bekommt workflow.name, execution.error.message, execution.lastNodeExecuted und execution.url."
    },
    {
      "id": "a2",
      "name": "Konversationen holen",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.3,
      "position": [
        240,
        0
      ],
      "parameters": {
        "url": "https://api.fleissbots.adlx.de/api/v1/bot/conversations",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpBearerAuth"
      },
      "notes": "Nach dem Import HIER und im nächsten Knoten die Credential wählen: Typ „Bearer Auth“, Token = Fleißbots Bot-Token. Antwort ist ein Array → n8n macht daraus ein Item je Konversation. Jeder Nutzer des Bots bekommt die Meldung."
    },
    {
      "id": "a3",
      "name": "Fehler melden",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.3,
      "position": [
        480,
        0
      ],
      "parameters": {
        "method": "POST",
        "url": "https://api.fleissbots.adlx.de/api/v1/bot/messages",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"conversation_id\": \"{{ $json.conversation_id }}\",\n  \"type\": \"text\",\n  \"priority\": \"critical\",\n  \"text\": ={{ JSON.stringify(\"**Workflow-Fehler: \" + ($('Fehler erkannt').first().json.workflow?.name || \"unbekannt\") + \"**\\n\" + ($('Fehler erkannt').first().json.execution?.error?.message || $('Fehler erkannt').first().json.trigger?.error?.message || \"keine Fehlermeldung\") + \"\\n\\n\" + \"Schritt: \" + ($('Fehler erkannt').first().json.execution?.lastNodeExecuted || \"-\") + \"\\n\" + ($('Fehler erkannt').first().json.execution?.url ? \"[Ausführung öffnen](\" + $('Fehler erkannt').first().json.execution.url + \")\" : \"\")) }}\n}",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpBearerAuth"
      },
      "notes": "priority: critical = zeitkritische Mitteilung auf dem iPhone. Bewusst: ein stehender Workflow ist der Fall, für den das gedacht ist."
    }
  ],
  "connections": {
    "Fehler erkannt": {
      "main": [
        [
          {
            "node": "Konversationen holen",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Konversationen holen": {
      "main": [
        [
          {
            "node": "Fehler melden",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  },
  "pinData": {},
  "meta": {
    "templateCredsSetupCompleted": false
  }
}
