{
  "schema": "ldwf",
  "version": 1,
  "name": "Newsletter-Inhalte",
  "meta": {
    "exportedAt": "2025-11-16T16:47:34.441Z",
    "exporter": "client"
  },
  "graph": {
    "nodes": [
      {
        "type": "trigger",
        "data": {
          "comment": "🕐 ZEITBASIERTER TRIGGER\n\nBESCHREIBUNG:\nStartet den Workflow automatisch jeden Freitag um 10:00 Uhr. Ideal für die wöchentliche Newsletter-Planung am Ende der Arbeitswoche.\n\nSETUP:\n- Cron-Format: \"0 10 * * 5\" (Minute Stunde Tag Monat Wochentag)\n- Zeitzone: UTC (beachten Sie Ihre lokale Zeitzone!)\n- Keine manuelle Konfiguration erforderlich\n\nPERSONALISIERUNG:\n• Ändern Sie die Uhrzeit: \"0 14 * * 5\" für 14:00 Uhr\n• Ändern Sie den Tag: \"0 10 * * 1\" für Montag\n• Mehrmals pro Woche: \"0 10 * * 1,3,5\" für Mo/Mi/Fr\n• Täglich: \"0 10 * * *\"\n• Monatlich: \"0 10 1 * *\" (erster Tag des Monats)\n\nTIPP: Testen Sie den Workflow zunächst mit dem manuellen Trigger-Button oben rechts!",
          "executionId": null,
          "errorHandling": {
            "strategy": "stop"
          },
          "slug": "fridayTrigger",
          "name": "Jeden Freitag 10:00",
          "kind": "scheduled",
          "cron": "0 10 * * 5"
        },
        "id": "6bd06c7d-c87b-4aa8-a92d-6b13dbddd81f",
        "position": {
          "x": 10,
          "y": 1730
        }
      },
      {
        "type": "agent",
        "data": {
          "comment": "✨ NEWSLETTER TOPIC GENERATOR AGENT\n\nBESCHREIBUNG:\nGeneriert 3-5 konkrete, ausgearbeitete Newsletter-Themenvorschläge basierend auf der Themenanalyse. Jeder Vorschlag enthält Titel, Kurzbeschreibung und detaillierte Content-Outline.\n\nSETUP:\n- Keine zusätzliche Konfiguration erforderlich\n- Nutzt automatisch die Analyse-Ergebnisse vom vorherigen Agenten\n\nWIE ES FUNKTIONIERT:\n1. Empfängt die identifizierten Themen vom Content Analyzer\n2. Wählt die vielversprechendsten 3-5 Themen aus\n3. Erstellt für jedes Thema:\n   - Einprägsamen Titel (max. 60 Zeichen)\n   - Kurzbeschreibung mit Mehrwert (2-3 Sätze)\n   - Strukturierte Content-Outline (4-6 Hauptpunkte)\n4. Formatiert alles als Markdown für Notion\n\nOUTPUT:\n- proposals: Vollständige Themenvorschläge im Markdown-Format\n- count: Anzahl generierter Vorschläge\n- success: Status der Generierung\n\nPERSONALISIERUNG:\n• Anzahl Vorschläge: Ändern Sie \"3-5\" zu \"2-3\" (weniger) oder \"5-7\" (mehr)\n• Titel-Länge: Passen Sie \"max. 60 Zeichen\" an (z.B. \"max. 80 Zeichen\" für ausführlichere Titel)\n• Outline-Tiefe: Ändern Sie \"4-6 Hauptpunkte\" zu mehr/weniger Punkten\n• Ton & Stil: Fügen Sie hinzu \"Verwende einen [professionellen/lockeren/humorvollen] Ton\"\n• Zielgruppe: \"Optimiere für [Ihre Zielgruppe]\"\n• Format: \"Füge Call-to-Action Vorschläge hinzu\" oder \"Inkludiere visuelle Ideen\"\n\nTIPP: Experimentieren Sie mit verschiedenen Prompt-Anweisungen, um den Output auf Ihren Newsletter-Stil abzustimmen!",
          "executionId": null,
          "errorHandling": {
            "strategy": "stop"
          },
          "slug": "topicGenerator",
          "assistantId": null,
          "mode": "create",
          "name": "Newsletter Topic Generator",
          "prompt": {
            "mode": "manual",
            "value": "Du bist ein Newsletter-Stratege.\n\nBasierend auf der Themenanalyse, erstelle 3-5 konkrete Newsletter-Themenvorschläge.\n\nThemenanalyse:\n{{contentAnalyzer.output.structured.topics}}\n\nFür jeden Vorschlag erstelle:\n1. **Titel**: Einprägsamer Newsletter-Titel (max. 60 Zeichen)\n2. **Kurzbeschreibung**: 2-3 Sätze, die den Mehrwert erklären\n3. **Content-Outline**: Strukturierte Gliederung mit 4-6 Hauptpunkten\n\nFormatiere die Ausgabe als strukturierte Liste, die später in Notion gespeichert werden kann."
          },
          "attachmentIds": [],
          "output": "structured",
          "connectionOverrides": {},
          "outputSchema": [
            {
              "id": "3c641c9f-4af6-4140-ad5c-b19c9bffa611",
              "name": "proposals",
              "description": "Newsletter-Themenvorschläge im Markdown-Format",
              "type": "string",
              "required": true
            },
            {
              "id": "e8085efc-e633-49b5-9088-f21751344e1d",
              "name": "count",
              "description": "Anzahl der generierten Vorschläge",
              "type": "number",
              "required": true
            },
            {
              "id": "d554fbfb-9da9-4562-ae66-e01e0be2ce6a",
              "name": "success",
              "description": "Ob die Generierung erfolgreich war",
              "type": "boolean",
              "required": true
            }
          ],
          "modelId": "c968689a-c0d9-49de-aa76-b10ed15ebb0e",
          "tools": [],
          "maxSteps": 25
        },
        "id": "c79db4f6-9373-4ba3-8243-9a6f94dce2e4",
        "position": {
          "x": 1660,
          "y": 1730
        }
      },
      {
        "type": "agent",
        "data": {
          "comment": "🔍 CONTENT ANALYZER AGENT\n\nBESCHREIBUNG:\nAnalysiert alle gesammelten E-Mails aus Gmail und Outlook, identifiziert relevante Themen und gruppiert ähnliche Inhalte. Dieser Agent verarbeitet die Rohdaten und bereitet sie für die Themenvorschlag-Generierung vor.\n\nSETUP:\n- Keine zusätzliche Konfiguration erforderlich\n- Verwendet automatisch alle E-Mails aus vorherigen Schritten\n- Wartet auf beide E-Mail-Quellen (Gmail UND Outlook)\n\nWIE ES FUNKTIONIERT:\n1. Empfängt E-Mails von Gmail und Outlook\n2. Extrahiert Kernthemen aus Betreffzeilen und Inhalten\n3. Gruppiert ähnliche Themen zusammen\n4. Bewertet Relevanz basierend auf Häufigkeit und Aktualität\n5. Gibt strukturierte Liste der Top 5-10 Themen aus\n\nOUTPUT:\n- topics: Detaillierte Liste identifizierter Themen\n- total_emails_analyzed: Anzahl verarbeiteter E-Mails\n- success: Status der Analyse\n\nPERSONALISIERUNG:\n• Zielgruppe anpassen: Bearbeiten Sie den Prompt und definieren Sie Ihre spezifische Zielgruppe (z.B. \"B2B SaaS-Entscheider\", \"E-Commerce-Manager\")\n• Themenanzahl ändern: \"5-10 wichtigsten Themen\" → \"3-7 Themen\" für fokussiertere Auswahl\n• Bewertungskriterien: Fügen Sie spezifische Kriterien hinzu (z.B. \"Berücksichtige Trending-Themen\", \"Fokus auf praxisnahe Inhalte\")\n• Branchen-Fokus: \"Filtere Themen nach [Branche/Kategorie]\"\n\nTIPP: Passen Sie den Prompt an Ihre Newsletter-Strategie an!",
          "executionId": null,
          "errorHandling": {
            "strategy": "stop"
          },
          "slug": "contentAnalyzer",
          "assistantId": null,
          "mode": "create",
          "name": "Content Analyzer",
          "prompt": {
            "mode": "manual",
            "value": "Du bist ein Content-Analyst für Newsletter-Themen.\n\nDeine Aufgabe:\n1. Analysiere alle E-Mails aus Gmail und Outlook\n2. Identifiziere die relevantesten Themen für unsere Zielgruppe\n3. Gruppiere ähnliche Themen zusammen\n4. Bewerte die Relevanz jedes Themas\n\nVerfügbare E-Mails:\n\nGmail markierte E-Mails:\n{{gmailStarred.output}}\n\nOutlook geflaggte E-Mails:\n{{outlookFlagged.output}}\n\nBitte analysiere alle Inhalte und identifiziere die 5-10 wichtigsten Themen mit ihrer Relevanz."
          },
          "attachmentIds": [],
          "output": "structured",
          "connectionOverrides": {},
          "outputSchema": [
            {
              "id": "d78b8bd3-1339-48e9-af8c-672b9944ec55",
              "name": "topics",
              "description": "Liste der identifizierten Themen",
              "type": "string",
              "required": true
            },
            {
              "id": "fc960d89-4f8c-44d9-a539-ce92dd191ee2",
              "name": "total_emails_analyzed",
              "description": "Gesamtzahl analysierter E-Mails",
              "type": "number",
              "required": true
            },
            {
              "id": "46ea1b67-d4bb-4600-a0ff-7eb84e2af792",
              "name": "success",
              "description": "Ob die Analyse erfolgreich war",
              "type": "boolean",
              "required": true
            }
          ],
          "modelId": "c968689a-c0d9-49de-aa76-b10ed15ebb0e",
          "tools": [],
          "maxSteps": 25
        },
        "id": "84257101-a1b1-42ad-bcfd-bd18a5eb68b6",
        "position": {
          "x": 1100,
          "y": 1730
        }
      },
      {
        "type": "action",
        "data": {
          "comment": "📩 OUTLOOK - GEFLAGGTE E-MAILS ABRUFEN\n\nBESCHREIBUNG:\nRuft alle geflaggten (markierten) E-Mails der letzten 7 Tage aus Ihrem Outlook-Postfach ab. Ergänzt die Gmail-E-Mails um weitere Content-Quellen.\n\nSETUP:\n1. Verbinden Sie Ihr Outlook/Microsoft 365-Konto\n2. Genehmigen Sie den Zugriff auf E-Mails (read-only)\n3. Filter ist bereits konfiguriert für geflaggte E-Mails\n\nWIE ES FUNKTIONIERT:\n- Sucht nur geflaggte E-Mails (isFlagged: true)\n- Zeitraum: Letzte 7 Tage (wird automatisch berechnet)\n- Sortierung: Neueste zuerst\n- Gibt Betreff, Absender, Inhalt und Metadaten zurück\n\nPERSONALISIERUNG:\n• Zeitraum ändern: Passen Sie die \"dateFrom\" Berechnung an (z.B. 14 Tage)\n• Bestimmter Ordner: Fügen Sie \"folderId\" hinzu\n• Maximale Ergebnisse: Standard ist 50, max. 1000\n• Nur ungelesene: Fügen Sie Filter \"isRead: false\" hinzu\n• Bestimmter Absender: Fügen Sie \"senderEmail\" Filter hinzu\n\nTIPP: Flaggen Sie während der Woche interessante E-Mails in Outlook, damit sie automatisch erfasst werden!\n\nHINWEIS: Wenn Sie kein Outlook nutzen, können Sie diesen Schritt entfernen und nur Gmail verwenden.",
          "executionId": null,
          "errorHandling": {
            "strategy": "stop"
          },
          "slug": "outlookFlagged",
          "actionId": "45b54dff-5b41-47a3-9ed3-c6b62df08a42",
          "config": {
            "connectionId": null,
            "requiresConfirmation": false,
            "modelId": "c968689a-c0d9-49de-aa76-b10ed15ebb0e",
            "fields": {
              "sortBy": {
                "mode": "manual",
                "value": "receivedDateTime desc"
              },
              "dateFrom": {
                "mode": "prompt",
                "prompt": "Berechne das Datum von vor 7 Tagen im ISO 8601 Format (z.B. 2024-01-15T00:00:00Z)"
              },
              "isFlagged": {
                "mode": "manual",
                "value": "{{ [\"flagged\"] }}"
              }
            }
          }
        },
        "id": "c15db3c1-54ed-4f7e-a739-915875f0a532",
        "position": {
          "x": 540,
          "y": 1920
        }
      },
      {
        "type": "action",
        "data": {
          "comment": "✉️ GMAIL - BENACHRICHTIGUNG SENDEN\n\nBESCHREIBUNG:\nSendet eine professionell formatierte E-Mail-Benachrichtigung an Ihr Marketing-Team, sobald neue Newsletter-Themenvorschläge generiert und in Notion gespeichert wurden.\n\nSETUP:\n1. Verbinden Sie Ihr Gmail-Konto (falls noch nicht verbunden)\n2. Geben Sie die E-Mail-Adresse des Marketing-Teams ein\n3. Die E-Mail wird automatisch generiert und versendet\n\nWIE ES FUNKTIONIERT:\n1. Wartet auf erfolgreiche Notion-Speicherung\n2. Erstellt automatisch E-Mail mit:\n   - Begrüßung\n   - Anzahl der generierten Vorschläge\n   - Anzahl analysierter E-Mails\n   - Link zur Notion-Seite\n   - Freundliche Grußformel\n3. Formatiert mit HTML für bessere Lesbarkeit\n4. Versendet sofort\n\nE-MAIL INHALT:\n- Betreff: \"📧 Neue Newsletter-Themenvorschläge verfügbar\"\n- Körper: Automatisch generiert mit allen relevanten Infos\n- Format: HTML (fett, kursiv, Listen, Zeilenumbrüche)\n\nPERSONALISIERUNG:\n• Empfänger: Ändern Sie zu mehreren Empfängern (kommagetrennt)\n• Betreff: Passen Sie den Text an (z.B. fügen Sie Team-Name hinzu)\n• E-Mail-Ton: Ändern Sie den Prompt für formelleren/lockeren Ton\n• Zusätzliche Infos: Fügen Sie im Prompt weitere Details hinzu (z.B. Deadline, nächste Schritte)\n• CC/BCC: Fügen Sie weitere Empfänger-Felder hinzu\n• Anhänge: Optional können Sie Dateien anhängen\n\nTIPP: Testen Sie zunächst mit Ihrer eigenen E-Mail-Adresse, bevor Sie das Team einbinden!",
          "executionId": null,
          "errorHandling": {
            "strategy": "stop"
          },
          "slug": "sendNotification",
          "actionId": "7e540add-fe6d-44c2-b224-f7c384573cdf",
          "config": {
            "connectionId": null,
            "requiresConfirmation": false,
            "modelId": "c968689a-c0d9-49de-aa76-b10ed15ebb0e",
            "fields": {
              "mailBody": {
                "mode": "prompt",
                "prompt": "Erstelle eine professionelle E-Mail mit folgenden Informationen:\n- Begrüßung\n- Hinweis, dass neue Newsletter-Themenvorschläge generiert wurden\n- Anzahl der Vorschläge: {{topicGenerator.output.structured.count}}\n- Basierend auf {{contentAnalyzer.output.structured.total_emails_analyzed}} analysierten E-Mails\n- Informationen zur Notion-Seite: {{saveToNotion.output}}\n- Freundliche Grußformel\n\nFormatiere die E-Mail mit HTML-Tags für bessere Lesbarkeit."
              },
              "mailSubject": {
                "mode": "manual",
                "value": "📧 Neue Newsletter-Themenvorschläge verfügbar"
              },
              "mailRecipient": {
                "mode": "prompt",
                "prompt": "Gib die E-Mail-Adresse des Marketing-Teams ein"
              }
            }
          }
        },
        "id": "f684b21f-e103-4f0c-b28d-262951d36526",
        "position": {
          "x": 2764,
          "y": 1730
        }
      },
      {
        "type": "action",
        "data": {
          "comment": "📝 NOTION - VORSCHLÄGE SPEICHERN\n\nBESCHREIBUNG:\nErstellt automatisch eine neue Notion-Seite mit allen generierten Newsletter-Themenvorschlägen. Die Seite enthält einen datierten Titel und alle Vorschläge im übersichtlichen Markdown-Format.\n\nSETUP:\n1. Verbinden Sie Ihr Notion-Konto (Button \"Connection\" oben)\n2. Genehmigen Sie den Zugriff auf Notion\n3. Wählen Sie den Ziel-Workspace oder eine Parent-Page\n\nWIE ES FUNKTIONIERT:\n1. Erstellt neue Seite in Ihrem Notion-Workspace\n2. Titel wird automatisch mit aktuellem Datum generiert\n3. Content enthält alle formatierten Themenvorschläge\n4. Icon: 📧 (E-Mail-Symbol)\n5. Gibt URL der erstellten Seite zurück\n\nOUTPUT:\n- URL zur neuen Notion-Seite\n- Page-ID für weitere Verarbeitung\n- Metadaten zur erstellten Seite\n\nPERSONALISIERUNG:\n• Parent-Page: Ändern Sie \"parentId\" um Seiten in einem bestimmten Bereich zu erstellen (z.B. in einem \"Marketing\" oder \"Newsletter\" Ordner)\n• Icon: Ändern Sie das Emoji-Icon (z.B. 💡, 📊, 🎯)\n• Titel-Format: Passen Sie das Datumsformat an (z.B. \"YYYY-MM-DD\" statt \"DD.MM.YYYY\")\n• Datenbank: Statt einfacher Seite können Sie auch in eine Notion-Datenbank schreiben\n• Zusätzliche Felder: Fügen Sie Metadaten hinzu (z.B. Status, Assignee, Priority)\n\nTIPP: Erstellen Sie in Notion einen dedizierten \"Newsletter Planning\" Bereich und setzen Sie diesen als Parent-Page!",
          "executionId": null,
          "errorHandling": {
            "strategy": "stop"
          },
          "slug": "saveToNotion",
          "actionId": "7dba4335-2c76-4648-82ab-5a731759245d",
          "config": {
            "connectionId": null,
            "requiresConfirmation": false,
            "modelId": "c968689a-c0d9-49de-aa76-b10ed15ebb0e",
            "fields": {
              "icon": {
                "mode": "manual",
                "value": "📧"
              },
              "title": {
                "mode": "prompt",
                "prompt": "Erstelle einen Titel mit aktuellem Datum, z.B. 'Newsletter-Themenvorschläge - [Aktuelles Datum im Format DD.MM.YYYY]'"
              },
              "content": {
                "mode": "manual",
                "value": "{{topicGenerator.output.structured.proposals}}"
              },
              "parentId": {
                "mode": "prompt",
                "prompt": "Verwende 'workspace' um die Seite im Workspace zu erstellen"
              }
            }
          }
        },
        "id": "83c76761-9f36-41ba-8ae2-63438149fbcc",
        "position": {
          "x": 2220,
          "y": 1730
        }
      },
      {
        "type": "action",
        "data": {
          "comment": "📧 GMAIL - MARKIERTE E-MAILS ABRUFEN\n\nBESCHREIBUNG:\nRuft alle mit Stern markierten E-Mails der letzten 7 Tage aus Ihrem Gmail-Postfach ab. Diese E-Mails enthalten wichtige Artikel, Newsletter oder Informationen, die Sie für die Newsletter-Themenplanung vorgemerkt haben.\n\nSETUP:\n1. Verbinden Sie Ihr Gmail-Konto (Button \"Connection\" oben)\n2. Genehmigen Sie den Zugriff auf E-Mails (read-only)\n3. Filter ist bereits konfiguriert: \"is:starred newer_than:7d\"\n\nWIE ES FUNKTIONIERT:\n- Gmail-Suchsyntax wird verwendet\n- \"is:starred\" = nur markierte E-Mails\n- \"newer_than:7d\" = nur aus den letzten 7 Tagen\n- Gibt Betreff, Absender, Inhalt und Metadaten zurück\n\nPERSONALISIERUNG:\n• Zeitraum ändern: \"newer_than:14d\" (14 Tage) oder \"newer_than:1m\" (1 Monat)\n• Bestimmter Absender: \"is:starred from:newsletter@example.com\"\n• Label hinzufügen: \"is:starred label:newsletter newer_than:7d\"\n• Ungelesene nur: \"is:starred is:unread newer_than:7d\"\n• Mit Anhängen: \"is:starred has:attachment newer_than:7d\"\n\nTIPP: Markieren Sie während der Woche interessante E-Mails mit einem Stern, damit sie automatisch erfasst werden!",
          "executionId": null,
          "errorHandling": {
            "strategy": "stop"
          },
          "slug": "gmailStarred",
          "actionId": "93ea6174-98a4-4cdb-8f51-5865ddad250f",
          "config": {
            "connectionId": null,
            "requiresConfirmation": false,
            "modelId": "64776bd9-4c58-42d0-8301-2c8a4566e68c",
            "fields": {
              "filter": {
                "mode": "manual",
                "value": "is:starred newer_than:7d"
              }
            }
          }
        },
        "id": "c3f4b6b9-aafe-48d6-8983-3310f606456a",
        "position": {
          "x": 540,
          "y": 1540
        }
      }
    ],
    "edges": [
      {
        "id": "87c7c2fc-13a2-48e5-84d2-e427f134b6e0",
        "source": "6bd06c7d-c87b-4aa8-a92d-6b13dbddd81f",
        "target": "c3f4b6b9-aafe-48d6-8983-3310f606456a",
        "animated": false,
        "sourceHandle": "output-success",
        "targetHandle": "input-default",
        "conditionId": null
      },
      {
        "id": "e1d82ac1-1517-4d70-a579-dbd3f18c53ea",
        "source": "6bd06c7d-c87b-4aa8-a92d-6b13dbddd81f",
        "target": "c15db3c1-54ed-4f7e-a739-915875f0a532",
        "animated": false,
        "sourceHandle": "output-success",
        "targetHandle": "input-default",
        "conditionId": null
      },
      {
        "id": "7175189a-728c-4931-ae06-2906cce923f6",
        "source": "c3f4b6b9-aafe-48d6-8983-3310f606456a",
        "target": "84257101-a1b1-42ad-bcfd-bd18a5eb68b6",
        "animated": false,
        "sourceHandle": "output-success",
        "targetHandle": "input-default",
        "conditionId": null
      },
      {
        "id": "c15db3c1-54ed-4f7e-a739-915875f0a532",
        "source": "c15db3c1-54ed-4f7e-a739-915875f0a532",
        "target": "84257101-a1b1-42ad-bcfd-bd18a5eb68b6",
        "animated": false,
        "sourceHandle": "output-success",
        "targetHandle": "input-default",
        "conditionId": null
      },
      {
        "id": "114b6894-5120-4e55-9672-dc13922d0187",
        "source": "c79db4f6-9373-4ba3-8243-9a6f94dce2e4",
        "target": "83c76761-9f36-41ba-8ae2-63438149fbcc",
        "animated": false,
        "sourceHandle": "output-success",
        "targetHandle": "input-default",
        "conditionId": null
      },
      {
        "id": "f347b329-cc30-4a6d-a1ac-5355fe2b62ec",
        "source": "83c76761-9f36-41ba-8ae2-63438149fbcc",
        "target": "f684b21f-e103-4f0c-b28d-262951d36526",
        "animated": false,
        "sourceHandle": "output-success",
        "targetHandle": "input-default",
        "conditionId": null
      },
      {
        "id": "787680c5-5bf0-4d41-8144-d1e5caea500f",
        "source": "84257101-a1b1-42ad-bcfd-bd18a5eb68b6",
        "target": "c79db4f6-9373-4ba3-8243-9a6f94dce2e4",
        "animated": false,
        "sourceHandle": "output-success",
        "targetHandle": "input-default",
        "conditionId": null
      }
    ]
  }
}