{
  "schema": "ldwf",
  "version": 1,
  "name": "E-Mail Inbox Triage",
  "meta": {
    "exportedAt": "2025-11-16T16:55:19.896Z",
    "exporter": "client"
  },
  "graph": {
    "nodes": [
      {
        "type": "add",
        "data": {
          "executionId": null,
          "errorHandling": {
            "strategy": "stop"
          },
          "name": "Add",
          "fromLeftHandle": false
        },
        "id": "7755cf48-e124-4850-9ddd-007eeae9e915",
        "position": {
          "x": 3840,
          "y": 4580
        }
      },
      {
        "type": "trigger",
        "data": {
          "comment": "📅 WORKFLOW-START: Stündlicher Trigger\n\n🎯 Was macht dieser Schritt?\nStartet den E-Mail-Triage-Workflow automatisch jede volle Stunde.\n\n⚙️ Setup:\n- Cron-Ausdruck: '0 * * * *' (jede Stunde zur Minute 0)\n- Läuft 24/7 automatisch ohne manuelle Intervention\n\n🎨 Personalisierungsoptionen:\n- Alle 30 Min: '*/30 * * * *'\n- Alle 2 Stunden: '0 */2 * * *'\n- Nur Werktags 9-17 Uhr: '0 9-17 * * 1-5'\n- Täglich um 9 Uhr: '0 9 * * *'\n- Nur Montags um 8 Uhr: '0 8 * * 1'\n\n💡 Tipp: Für event-basierte Auslösung (neue E-Mail) müssten Sie einen Gmail-Trigger verwenden.",
          "executionId": null,
          "errorHandling": {
            "strategy": "stop"
          },
          "slug": "hourlyTrigger",
          "name": "Stündlicher E-Mail Check",
          "kind": "scheduled",
          "cron": "0 * * * *"
        },
        "id": "121acb99-0153-4675-b4eb-ef25c8fa6db8",
        "position": {
          "x": 20,
          "y": 4580
        }
      },
      {
        "type": "loop_end",
        "data": {
          "comment": "🔚 SCHRITT 7: Loop-Ende\n\n🎯 Was macht dieser Schritt?\nBeendet die Loop und signalisiert, dass alle E-Mails verarbeitet wurden.\n\n⚙️ Setup:\n- Muss mit dem Loop-Start 'processEmails' verknüpft sein\n- Error Handling: 'continue' (Fehler bei einzelner E-Mail stoppt nicht den gesamten Workflow)\n\n🔄 Was passiert hier?\n1. Alle E-Mails wurden durchlaufen\n2. Jede E-Mail wurde kategorisiert und gelabelt\n3. Dringende E-Mails haben Benachrichtigungen ausgelöst\n4. Workflow fährt mit nächstem Schritt fort (Zusammenfassung)\n\n🎨 Personalisierungsoptionen:\n- Error Handling Strategy:\n  • 'continue': Bei Fehler nächste E-Mail verarbeiten (empfohlen)\n  • 'stop': Bei Fehler gesamten Workflow stoppen\n\n💡 Hinweis: Daten aus der Loop (einzelne Kategorisierungen) sind außerhalb der Loop nicht direkt verfügbar - nur Gesamtergebnis.",
          "executionId": null,
          "errorHandling": {
            "strategy": "continue"
          },
          "name": "Loop End",
          "slug": "processEmailsEnd",
          "loopEndSlug": "processEmails"
        },
        "id": "ba912cb2-3c7d-4b98-9c1b-912f122f3000",
        "position": {
          "x": 4364,
          "y": 4580
        }
      },
      {
        "type": "action",
        "data": {
          "comment": "📧 SCHRITT 1: Ungelesene E-Mails abrufen\n\n🎯 Was macht dieser Schritt?\nDurchsucht Ihr Gmail-Postfach nach allen ungelesenen E-Mails und gibt diese als Liste zurük.\n\n⚙️ Setup:\n- Gmail-Verbindung erforderlich (wird automatisch erkannt)\n- Filter: 'is:unread' (nur ungelesene E-Mails)\n- Gibt Array mit E-Mail-Objekten zurück (Betreff, Absender, Inhalt, ID, etc.)\n\n🎨 Personalisierungsoptionen:\nPassen Sie den Filter an Ihre Bedürfnisse an:\n- Nur Posteingang: 'is:unread in:inbox'\n- Nur von bestimmter Domain: 'is:unread from:@example.com'\n- Nur wichtige: 'is:unread is:important'\n- Nur letzte 24h: 'is:unread newer_than:1d'\n- Kombiniert: 'is:unread in:inbox -from:newsletter@*'\n\n💡 Tipp: Der Filter unterstützt die gleiche Syntax wie die Gmail-Suchleiste.",
          "executionId": null,
          "errorHandling": {
            "strategy": "stop"
          },
          "slug": "searchUnreadEmails",
          "actionId": "93ea6174-98a4-4cdb-8f51-5865ddad250f",
          "config": {
            "connectionId": null,
            "requiresConfirmation": false,
            "modelId": "64776bd9-4c58-42d0-8301-2c8a4566e68c",
            "fields": {
              "filter": {
                "mode": "manual",
                "value": "is:unread"
              }
            }
          }
        },
        "id": "67ff7d2e-e17f-4da5-bafd-3954a1fef23a",
        "position": {
          "x": 560,
          "y": 4580
        }
      },
      {
        "type": "loop",
        "data": {
          "comment": "🔁 SCHRITT 2: Loop-Start - E-Mails einzeln verarbeiten\n\n🎯 Was macht dieser Schritt?\nIteriert über jede gefundene E-Mail und führt die nachfolgenden Schritte für jede E-Mail einzeln aus.\n\n⚙️ Setup:\n- Loop-Array: Alle E-Mails aus dem vorherigen Schritt\n- Max. Iterationen: 200 E-Mails (Gmail-API-Limit)\n- Concurrency: Deaktiviert (sequentielle Verarbeitung)\n\n📊 Verfügbare Loop-Variablen:\n- {{processEmails.output.currentItem}} - Aktuelle E-Mail\n- {{processEmails.output.currentIndex}} - Index (0, 1, 2, ...)\n- {{processEmails.output.total}} - Gesamtanzahl E-Mails\n\n🎨 Personalisierungsoptionen:\n- maxIterations: Erhöhen bis 200 (mehr E-Mails verarbeiten)\n- concurrency: true (parallele Verarbeitung, schneller aber ressourcenintensiver)\n\n💡 Hinweis: Alle Schritte bis zum 'Loop End' werden für jede E-Mail ausgeführt.",
          "executionId": null,
          "errorHandling": {
            "strategy": "stop"
          },
          "name": "E-Mails verarbeiten",
          "slug": "processEmails",
          "loopArrayValue": "{{searchUnreadEmails.output}}",
          "maxIterations": 200,
          "concurrency": false
        },
        "id": "123107c2-742d-4f8a-925f-76c6892913a0",
        "position": {
          "x": 1120,
          "y": 4580
        }
      },
      {
        "type": "agent",
        "data": {
          "comment": "🤖 SCHRITT 3: KI-Kategorisierung\n\n🎯 Was macht dieser Schritt?\nAnalysiert jede E-Mail mit KI und ordnet sie automatisch einer von 4 Kategorien zu:\n• Dringend: Zeitkritische Anfragen, wichtige Geschäftsvorgänge\n• Info: Newsletter, Updates, Benachrichtigungen\n• Spam: Unerwünschte Werbung, Phishing\n• Follow-up: Antwort erforderlich, aber nicht dringend\n\n⚙️ Setup:\n- Analysiert: Betreff, Absender, E-Mail-Inhalt (Snippet)\n- Output: Kategorie, Begründung, Erfolgs-Status\n- Modell: Standard-LLM (konfigurierbar)\n\n🎨 Personalisierungsoptionen:\n1. Kategorien anpassen:\n   - Eigene Kategorien in 'options' definieren\n   - Prompt entsprechend anpassen\n   - Beispiele: 'Kunden', 'Team', 'Extern', 'Rechnungen'\n\n2. Kriterien verfeinern:\n   - Absender-Whitelists im Prompt erwähnen\n   - Spezifische Keywords für Kategorien\n   - Zeitbezogene Kriterien (z.B. 'heute', 'dringend')\n\n3. Zusätzliche Daten nutzen:\n   - Vollständigen Body: {{processEmails.output.currentItem.body}}\n   - Anhänge: {{processEmails.output.currentItem.attachments}}\n\n💡 Tipp: Testen Sie verschiedene Prompts, um die Kategorisierung zu optimieren!",
          "executionId": null,
          "errorHandling": {
            "strategy": "stop"
          },
          "slug": "categorizeEmail",
          "assistantId": null,
          "mode": "create",
          "name": "E-Mail Kategorisierung",
          "prompt": {
            "mode": "manual",
            "value": "Analysiere die folgende E-Mail und kategorisiere sie in genau EINE der folgenden Kategorien:\n\n1. **Dringend**: E-Mails, die sofortige Aufmerksamkeit erfordern (z.B. zeitkritische Anfragen, wichtige Geschäftsvorgänge, Notfälle)\n2. **Info**: Informative E-Mails ohne direkte Handlungsaufforderung (z.B. Newsletter, Updates, Benachrichtigungen)\n3. **Spam**: Unerwünschte Werbung, Phishing-Versuche oder irrelevante Massenmails\n4. **Follow-up**: E-Mails, die eine Antwort oder weitere Aktion erfordern, aber nicht dringend sind\n\nE-Mail Details:\n- Betreff: {{processEmails.output.currentItem.subject}}\n- Absender: {{processEmails.output.currentItem.from}}\n- Inhalt: {{processEmails.output.currentItem.snippet}}\n\nBestimme die passende Kategorie basierend auf Inhalt, Absender und Dringlichkeit."
          },
          "attachmentIds": [],
          "output": "structured",
          "connectionOverrides": {},
          "outputSchema": [
            {
              "id": "34431654-69fa-4303-9fce-035bb0698263",
              "name": "category",
              "description": "Die zugewiesene Kategorie",
              "type": "select",
              "required": true,
              "options": [
                "Dringend",
                "Info",
                "Spam",
                "Follow-up"
              ]
            },
            {
              "id": "3af60e23-584a-4e49-8926-925b261ad512",
              "name": "reason",
              "description": "Kurze Begründung für die Kategorisierung",
              "type": "string",
              "required": true
            },
            {
              "id": "d6d8d81c-5174-44c4-a74f-b4800e68ce3f",
              "name": "success",
              "description": "Ob die Kategorisierung erfolgreich war",
              "type": "boolean",
              "required": true
            }
          ],
          "modelId": "c968689a-c0d9-49de-aa76-b10ed15ebb0e",
          "tools": [],
          "maxSteps": 25
        },
        "id": "7c33c046-f368-4425-9c1c-b3fa870252eb",
        "position": {
          "x": 1680,
          "y": 4580
        }
      },
      {
        "type": "action",
        "data": {
          "comment": "🏷️ SCHRITT 4: Gmail-Label aktualisieren\n\n🎯 Was macht dieser Schritt?\nFügt der E-Mail automatisch ein Label basierend auf der KI-Kategorisierung hinzu (Dringend, Info, Spam, Follow-up).\n\n⚙️ Setup:\n- Verwendet die Message-ID aus der aktuellen Loop-Iteration\n- KI generiert das passende Gmail-Label basierend auf der Kategorie\n- Erstellt neue Labels automatisch, falls sie noch nicht existieren\n\n📊 Wie es funktioniert:\n1. Liest Kategorie aus dem vorherigen Schritt\n2. KI wählt oder erstellt entsprechendes Gmail-Label\n3. Fügt Label zur E-Mail hinzu\n\n🎨 Personalisierungsoptionen:\n1. Feste Label-IDs verwenden:\n   - Ändern Sie Mode auf 'manual'\n   - Verwenden Sie Gmail-Label-IDs direkt\n   - Beispiel: 'Label_1234567890'\n\n2. Label-Namen anpassen:\n   - Prompt ändern für eigene Namenskonvention\n   - Z.B. 'Triage/Dringend', 'Auto/Info'\n\n3. Mehrere Labels hinzufügen:\n   - Array mit mehreren Label-IDs\n   - Beispiel: '[\"IMPORTANT\", \"Label_123\"]'\n\n4. Labels entfernen:\n   - Feld 'removeLabelIds' nutzen\n   - Z.B. 'UNREAD' entfernen nach Kategorisierung\n\n💡 Tipp: Erstellen Sie die Labels vorher manuell in Gmail für konsistente Farben!",
          "executionId": null,
          "errorHandling": {
            "strategy": "stop"
          },
          "slug": "updateEmailLabel",
          "actionId": "3838c3de-fceb-495b-862b-d6165eafbb7b",
          "config": {
            "connectionId": null,
            "requiresConfirmation": false,
            "modelId": "c968689a-c0d9-49de-aa76-b10ed15ebb0e",
            "fields": {
              "threadId": {
                "mode": "none"
              },
              "messageId": {
                "mode": "manual",
                "value": "{{processEmails.output.currentItem.id}}"
              },
              "addLabelIds": {
                "mode": "prompt",
                "prompt": "Füge das Label basierend auf der Kategorie hinzu: {{categorizeEmail.output.structured.category}}. Verwende die Gmail-API-Label-IDs oder erstelle ein neues Label mit diesem Namen."
              },
              "removeLabelIds": {
                "mode": "none"
              }
            }
          }
        },
        "id": "d3ce6889-86e0-4776-bcfa-a0e80bbc7c1e",
        "position": {
          "x": 2224,
          "y": 4580
        }
      },
      {
        "type": "condition",
        "data": {
          "comment": "❓ SCHRITT 5: Dringlichkeits-Prüfung\n\n🎯 Was macht dieser Schritt?\nPrüft, ob die E-Mail als 'Dringend' kategorisiert wurde und verzweigt den Workflow entsprechend.\n\n⚙️ Setup:\n- Bedingung 1 (Dringend): Wenn Kategorie === 'Dringend'\n- Bedingung 2 (Nicht dringend): Wenn Kategorie !== 'Dringend'\n- Mode: Manual (feste JavaScript-Bedingung)\n\n🔀 Workflow-Verzweigung:\n✅ Dringend → Benachrichtigung senden\n❌ Nicht dringend → Direkt weiter (keine Benachrichtigung)\n\n🎨 Personalisierungsoptionen:\n1. Mehrere Benachrichtigungs-Kategorien:\n   - Weitere Bedingungen hinzufügen\n   - Z.B. auch 'Follow-up' benachrichtigen\n   - Bedingung: {{categorizeEmail.output.structured.category === 'Follow-up'}}\n\n2. Komplexere Logik:\n   - Kombinierte Bedingungen\n   - Z.B. 'Dringend UND von wichtigem Absender'\n   - {{categorizeEmail.output.structured.category === 'Dringend' && processEmails.output.currentItem.from.includes('boss@')}}\n\n3. Zeitbasierte Bedingungen:\n   - Nur während Arbeitszeiten benachrichtigen\n   - JavaScript-Code für Zeit-Checks\n\n💡 Tipp: Sie können auch KI-basierte Bedingungen verwenden (Mode: 'prompt')!",
          "executionId": null,
          "errorHandling": {
            "strategy": "stop"
          },
          "name": "Ist dringend?",
          "slug": "checkUrgent",
          "mode": "manual",
          "outputMode": "single",
          "modelId": "64776bd9-4c58-42d0-8301-2c8a4566e68c",
          "forceSelectBranch": false,
          "conditions": [
            {
              "id": "8242c518-664f-47c8-8a09-a4e7942149c0",
              "name": "Dringend",
              "value": "{{categorizeEmail.output.structured.category === \"Dringend\"}}",
              "prompt": null
            },
            {
              "id": "064d28fc-d465-43c3-97ac-dbeffab66313",
              "name": "Nicht dringend",
              "value": "{{categorizeEmail.output.structured.category !== \"Dringend\"}}",
              "prompt": null
            }
          ]
        },
        "id": "6d18b5c1-7414-4fb4-9877-77e9ac9f72fd",
        "position": {
          "x": 2768,
          "y": 4580
        }
      },
      {
        "type": "send_notification",
        "data": {
          "comment": "🔔 SCHRITT 6: Dringend-Benachrichtigung\n\n🎯 Was macht dieser Schritt?\nSendet Ihnen eine sofortige Benachrichtigung, wenn eine E-Mail als 'Dringend' kategorisiert wurde.\n\n⚙️ Setup:\n- Wird nur ausgeführt, wenn Bedingung 'Dringend' erfüllt ist\n- KI erstellt formatierte Benachrichtigung mit:\n  • E-Mail-Betreff\n  • Absender\n  • Kategorie (Dringend)\n  • KI-Begründung für Kategorisierung\n\n📱 Wo erscheint die Benachrichtigung?\n- Langdock-Plattform (In-App)\n- Optional: E-Mail, Slack, Teams (je nach Integration)\n\n🎨 Personalisierungsoptionen:\n1. Nachrichtenformat anpassen:\n   - Prompt ändern für eigenes Format\n   - Z.B. nur Betreff und Link zur E-Mail\n   - Emojis hinzufügen: '⚠️ DRINGEND: {{subject}}'\n\n2. Zusätzliche Informationen:\n   - E-Mail-Preview: {{processEmails.output.currentItem.snippet}}\n   - Empfänger: {{processEmails.output.currentItem.to}}\n   - Zeitstempel: {{processEmails.output.currentItem.date}}\n\n3. Festes Nachrichtenformat (Mode: manual):\n   value: '⚠️ DRINGEND\\nBetreff: {{processEmails.output.currentItem.subject}}\\nVon: {{processEmails.output.currentItem.from}}'\n\n4. Alternative Benachrichtigungswege:\n   - Slack-Nachricht senden (Slack-Action hinzufügen)\n   - E-Mail senden (Gmail Send Action)\n   - SMS via Twilio\n\n💡 Tipp: Für mehrere Benachrichtigungskanäle, fügen Sie parallel weitere Action-Nodes hinzu!",
          "executionId": null,
          "errorHandling": {
            "strategy": "stop"
          },
          "name": "Dringend-Benachrichtigung",
          "slug": "urgentNotification",
          "modelId": "c968689a-c0d9-49de-aa76-b10ed15ebb0e",
          "message": {
            "mode": "prompt",
            "prompt": "Erstelle eine Benachrichtigung für eine dringende E-Mail mit folgenden Details:\n- Betreff: {{processEmails.output.currentItem.subject}}\n- Absender: {{processEmails.output.currentItem.from}}\n- Kategorie: {{categorizeEmail.output.structured.category}}\n- Begründung: {{categorizeEmail.output.structured.reason}}"
          }
        },
        "id": "f9608dce-d0ef-4c49-bf75-fa56aeb03c3c",
        "position": {
          "x": 3312,
          "y": 4200
        }
      },
      {
        "type": "code",
        "data": {
          "comment": "📊 SCHRITT 8: Zusammenfassung erstellen\n\n🎯 Was macht dieser Schritt?\nErstellt eine Zusammenfassung aller verarbeiteten E-Mails mit Statistiken und Zeitstempel.\n\n⚙️ Setup:\n- Sprache: JavaScript\n- Input: Alle gefundenen E-Mails aus Schritt 1\n- Output: Zusammenfassungstext, Anzahl, Zeitstempel\n\n📊 Ausgabe:\n• Gesamtanzahl verarbeiteter E-Mails\n• Zeitpunkt der Verarbeitung\n• Bestätigung der Kategorisierung\n\n🎨 Personalisierungsoptionen:\n1. Detaillierte Statistik hinzufügen:\n   - Zähler für jede Kategorie (erfordert Loop-Daten-Aggregation)\n   - Beispiel-Code unten\n\n2. Zusammenfassung per E-Mail senden:\n   - Gmail 'Send Email' Action danach hinzufügen\n   - summary-Variable als E-Mail-Body verwenden\n\n3. Daten in Spreadsheet speichern:\n   - Google Sheets Action hinzufügen\n   - Zeile mit Timestamp + Statistik anhängen\n\n4. Slack-Zusammenfassung:\n   - Slack 'Send Message' Action hinzufügen\n   - Formatierung für Slack anpassen\n\n📝 Erweiterter Code (mit Kategorien-Zählung):\n```javascript\n// Hinweis: Loop-interne Daten sind nicht direkt verfügbar\n// Alternative: Separate Tracking-Variable oder Database\nconst emails = searchUnreadEmails.output || [];\nconst summary = {\n  total: emails.length,\n  timestamp: new Date().toISOString(),\n  categories: {\n    dringend: 0,\n    info: 0,\n    spam: 0,\n    followup: 0\n  }\n};\n\n// Für detaillierte Statistik müssten Kategorisierungen\n// in einer Datenbank oder Variable gespeichert werden\n\nreturn summary;\n```\n\n💡 Tipp: Für detaillierte Kategorie-Statistiken, fügen Sie in der Loop einen 'Append to Array' Code-Block hinzu!",
          "executionId": null,
          "errorHandling": {
            "strategy": "stop"
          },
          "name": "Zusammenfassung erstellen",
          "slug": "createSummary",
          "language": "javascript",
          "code": "// Zähle die E-Mails nach Kategorie\nconst emails = searchUnreadEmails.output || [];\n\n// Initialisiere Zähler\nconst summary = {\n  total: emails.length,\n  dringend: 0,\n  info: 0,\n  spam: 0,\n  followup: 0,\n  timestamp: new Date().toISOString()\n};\n\n// Da wir die Kategorisierungsergebnisse nicht direkt aus der Loop extrahieren können,\n// erstellen wir eine einfache Zusammenfassung basierend auf der Gesamtzahl\nconst summaryText = `E-Mail Triage Zusammenfassung\\n` +\n  `================================\\n` +\n  `Zeitpunkt: ${new Date().toLocaleString('de-DE')}\\n\\n` +\n  `Insgesamt verarbeitete E-Mails: ${summary.total}\\n\\n` +\n  `Hinweis: Alle E-Mails wurden kategorisiert und mit entsprechenden Labels versehen.\\n` +\n  `Dringende E-Mails haben eine Benachrichtigung ausgelöst.`;\n\nreturn {\n  summary: summaryText,\n  totalProcessed: summary.total,\n  timestamp: summary.timestamp\n};"
        },
        "id": "4baa24bc-e460-4b0f-afb2-b53a84b5304d",
        "position": {
          "x": 4884,
          "y": 4580
        }
      }
    ],
    "edges": [
      {
        "id": "2023c8e4-7869-4c22-9a0d-574b1f48c874",
        "source": "121acb99-0153-4675-b4eb-ef25c8fa6db8",
        "target": "67ff7d2e-e17f-4da5-bafd-3954a1fef23a",
        "animated": false,
        "sourceHandle": "output-success",
        "targetHandle": "input-default",
        "conditionId": null
      },
      {
        "id": "bd6176ee-e369-4d33-83e3-ef5c9efd339c",
        "source": "67ff7d2e-e17f-4da5-bafd-3954a1fef23a",
        "target": "123107c2-742d-4f8a-925f-76c6892913a0",
        "animated": false,
        "sourceHandle": "output-success",
        "targetHandle": "input-default",
        "conditionId": null
      },
      {
        "id": "ca05b6ee-3631-49f4-b0e0-9fdde87ee941",
        "source": "123107c2-742d-4f8a-925f-76c6892913a0",
        "target": "7c33c046-f368-4425-9c1c-b3fa870252eb",
        "animated": false,
        "sourceHandle": "output-success",
        "targetHandle": "input-default",
        "conditionId": null
      },
      {
        "id": "9baedfc5-3bb1-40f0-81ad-6506d8998746",
        "source": "ba912cb2-3c7d-4b98-9c1b-912f122f3000",
        "target": "4baa24bc-e460-4b0f-afb2-b53a84b5304d",
        "animated": false,
        "sourceHandle": "output-success",
        "targetHandle": "input-default",
        "conditionId": null
      },
      {
        "id": "3c1f8250-65b5-4032-84c0-f4037faf8570",
        "source": "7c33c046-f368-4425-9c1c-b3fa870252eb",
        "target": "d3ce6889-86e0-4776-bcfa-a0e80bbc7c1e",
        "animated": false,
        "sourceHandle": "output-success",
        "targetHandle": "input-default",
        "conditionId": null
      },
      {
        "id": "faf03399-6dcd-474c-ad44-59497fd32d1d",
        "source": "d3ce6889-86e0-4776-bcfa-a0e80bbc7c1e",
        "target": "6d18b5c1-7414-4fb4-9877-77e9ac9f72fd",
        "animated": false,
        "sourceHandle": "output-success",
        "targetHandle": "input-default",
        "conditionId": null
      },
      {
        "id": "e9a9698e-beb0-493a-8755-2d482259a6ac",
        "source": "6d18b5c1-7414-4fb4-9877-77e9ac9f72fd",
        "target": "f9608dce-d0ef-4c49-bf75-fa56aeb03c3c",
        "animated": false,
        "sourceHandle": "output-condition",
        "targetHandle": "input-default",
        "conditionId": "8242c518-664f-47c8-8a09-a4e7942149c0"
      },
      {
        "id": "2f202cc0-00f5-4edc-a5a6-bf105dced639",
        "source": "f9608dce-d0ef-4c49-bf75-fa56aeb03c3c",
        "target": "7755cf48-e124-4850-9ddd-007eeae9e915",
        "animated": false,
        "sourceHandle": "output-success",
        "targetHandle": "input-default",
        "conditionId": null
      },
      {
        "id": "322f5f42-dae3-483b-ba8d-9793cab58103",
        "source": "6d18b5c1-7414-4fb4-9877-77e9ac9f72fd",
        "target": "7755cf48-e124-4850-9ddd-007eeae9e915",
        "animated": false,
        "sourceHandle": "output-condition",
        "targetHandle": "input-default",
        "conditionId": "064d28fc-d465-43c3-97ac-dbeffab66313"
      },
      {
        "id": "7cdcc89c-60ce-4be4-b332-ca8bdb2cd0c6",
        "source": "7755cf48-e124-4850-9ddd-007eeae9e915",
        "target": "ba912cb2-3c7d-4b98-9c1b-912f122f3000",
        "animated": false,
        "sourceHandle": "output-success",
        "targetHandle": "input-default",
        "conditionId": null
      }
    ]
  }
}