Meine Workflows

Fortgeschritten

Dies ist ein AI Summarization, Multimodal AI-Bereich Automatisierungsworkflow mit 13 Nodes. Hauptsächlich werden If, Set, Gmail, SplitInBatches, Agent und andere Nodes verwendet. Gmail ordnen: GPT-4 zur Kategorisierung und Archivierung inaktiver E-Mails verwenden

Voraussetzungen
  • Google-Konto + Gmail API-Anmeldedaten
  • OpenAI API Key
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "name": "My workflow",
  "nodes": [
    {
      "id": "7e91ccc0-03e5-4989-8c3f-d3635313f393",
      "name": "Zeitplan-Auslöser",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -864,
        368
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 2
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "eea7bc1f-c4a4-4c2d-bd6f-27f977948e32",
      "name": "Alte Posteingangs-E-Mails auflisten",
      "type": "n8n-nodes-base.gmail",
      "position": [
        -640,
        368
      ],
      "webhookId": "a77f2f37-91b8-44e1-9d9e-7a58136627c0",
      "parameters": {
        "simple": false,
        "filters": {
          "q": "label:inbox older_than:45d",
          "labelIds": [
            "INBOX"
          ],
          "readStatus": "read"
        },
        "options": {},
        "operation": "getAll",
        "returnAll": true
      },
      "typeVersion": 2.1,
      "alwaysOutputData": false
    },
    {
      "id": "d88c4116-55e9-48b8-ae1f-9d89cc39bd99",
      "name": "E-Mail für KI vorbereiten",
      "type": "n8n-nodes-base.set",
      "position": [
        -192,
        240
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "5d3c4c5b-5f80-4340-82ca-fb584a1fc953",
              "name": "threadId",
              "type": "string",
              "value": "={{ $json.threadId }}"
            },
            {
              "id": "a33a5a8a-dc7a-4fed-9262-8c6d10434128",
              "name": "messageId",
              "type": "string",
              "value": "={{ $json.id }}"
            },
            {
              "id": "c982f401-ce58-4d5e-ba30-a13d03971705",
              "name": "Subject",
              "type": "string",
              "value": "={{ $json.subject }}"
            },
            {
              "id": "c18cd58e-407a-48a4-b9e1-5877a1f90df4",
              "name": "text",
              "type": "string",
              "value": "={{ $json.text }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "57e6c6b6-fe9a-49ff-aac6-3687bdb3b236",
      "name": "Über E-Mails iterieren",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -416,
        368
      ],
      "parameters": {
        "options": {},
        "batchSize": 50
      },
      "typeVersion": 3
    },
    {
      "id": "3dab757d-460d-4935-a6bc-10e761072575",
      "name": "KI-Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        32,
        240
      ],
      "parameters": {
        "text": "=You are an assistant classifying Gmail emails. Output JSON only, no prose.\n\nOnly use these inputs:\nthreadId: {{ $json.threadId }}\nmessageId: {{ $json.messageId }}\nsubject: {{ $json.subject }}\ntext: {{ $json.text }}\n\nAssume today's date is {{ $now.toFormat('yyyy-LL-dd') }}.\n\nTasks:\n1) Extract a due date from the text if present, format YYYY-MM-DD. If none, use null.\n2) Decide if the email requires action. Action means at least one of:\n   - It is an invoice or bill that expects payment\n   - It explicitly requests a reply or a decision\n   - It clearly contains a task or meeting to schedule\n3) Set trashable = true if any of these are true:\n   - due_date is null\n   - due_date is earlier than today\n   - requires_action is false\n   Otherwise trashable = false.\n\nReturn JSON with this exact structure:\n{\n  \"threadId\": \"<string>\",\n  \"messageId\": \"<string>\",\n  \"requires_action\": true | false,\n  \"due_date\": \"YYYY-MM-DD\" | null,\n  \"trashable\": true | false,\n  \"reason\": \"<short explanation>\"\n}\n",
        "options": {},
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "54867a18-8d2b-4697-92ed-b01c53cb322c",
      "name": "OpenAI Chat-Modell",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        48,
        464
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini",
          "cachedResultName": "gpt-4o-mini"
        },
        "options": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "20193ea2-1b6d-428b-9219-160ffab88242",
      "name": "Strukturierter Ausgabe-Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        176,
        464
      ],
      "parameters": {
        "schemaType": "manual",
        "inputSchema": "{\n  \"title\": \"SimpleEmailTriage\",\n  \"type\": \"object\",\n  \"required\": [\"threadId\", \"messageId\", \"requires_action\", \"due_date\", \"trashable\", \"reason\"],\n  \"properties\": {\n    \"threadId\": { \"type\": \"string\" },\n    \"messageId\": { \"type\": \"string\" },\n    \"requires_action\": { \"type\": \"boolean\" },\n    \"due_date\": { \"type\": [\"string\", \"null\"], \"pattern\": \"^\\\\d{4}-\\\\d{2}-\\\\d{2}$\" },\n    \"trashable\": { \"type\": \"boolean\" },\n    \"reason\": { \"type\": \"string\" }\n  },\n  \"additionalProperties\": false\n}\n"
      },
      "typeVersion": 1.3
    },
    {
      "id": "2495ccbf-8a5b-4cc3-bce3-6d961616dc16",
      "name": "Abgeschlossen",
      "type": "n8n-nodes-base.noOp",
      "position": [
        -192,
        48
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "e7a26dcc-ded8-4d74-8fff-19942a46c5cc",
      "name": "Bedingung - Archivieren?",
      "type": "n8n-nodes-base.if",
      "position": [
        384,
        368
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "7426c831-e458-48fe-80ef-5b2fe11c897c",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $json.output.trashable }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "c9824337-668f-490b-a32c-0e10c6ebe7db",
      "name": "Haftnotiz",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        0
      ],
      "parameters": {
        "color": 5,
        "width": 304,
        "height": 608,
        "content": "### 🧠 AI Email Classifier\n\n• The \"AI Agent\" sends email content to OpenAI with a clear instruction set to classify the email (due date, action needed, trashable).\n• If \"trashable\" is true, the email can be archived or trashed. "
      },
      "typeVersion": 1
    },
    {
      "id": "5a40520c-0d16-442f-a9ef-d13ca97d204d",
      "name": "Haftnotiz1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -704,
        112
      ],
      "parameters": {
        "color": 5,
        "height": 416,
        "content": "### 📥 Gmail: List Old Emails\n\n• This Gmail node fetches all emails in the inbox that are read and older than 45 days.\n• You can modify the search filter to change which emails are targeted (e.g., change older_than:45d to a different duration)."
      },
      "typeVersion": 1
    },
    {
      "id": "0672da9a-b5bb-4709-ac87-99ddb56632cd",
      "name": "Haftnotiz2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -944,
        112
      ],
      "parameters": {
        "color": 5,
        "height": 416,
        "content": "### 📆 Schedule the Workflow\n\n• The \"Schedule Trigger\" by default, it's 2am everyday. \n• Modify it to your desired interval (e.g., daily, hourly) to control how often the workflow runs."
      },
      "typeVersion": 1
    },
    {
      "id": "ef9dfef6-9d58-4d49-9bc6-407bd4853b35",
      "name": "E-Mail archivieren",
      "type": "n8n-nodes-base.gmail",
      "position": [
        608,
        448
      ],
      "webhookId": "eeb7c097-a237-4d0f-98bc-ae823c89822b",
      "parameters": {
        "labelIds": [
          "INBOX"
        ],
        "resource": "thread",
        "threadId": "={{ $json.output.threadId }}",
        "operation": "removeLabels"
      },
      "typeVersion": 2.1
    }
  ],
  "connections": {
    "3dab757d-460d-4935-a6bc-10e761072575": {
      "main": [
        [
          {
            "node": "e7a26dcc-ded8-4d74-8fff-19942a46c5cc",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ef9dfef6-9d58-4d49-9bc6-407bd4853b35": {
      "main": [
        [
          {
            "node": "57e6c6b6-fe9a-49ff-aac6-3687bdb3b236",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "57e6c6b6-fe9a-49ff-aac6-3687bdb3b236": {
      "main": [
        [
          {
            "node": "2495ccbf-8a5b-4cc3-bce3-6d961616dc16",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "d88c4116-55e9-48b8-ae1f-9d89cc39bd99",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7e91ccc0-03e5-4989-8c3f-d3635313f393": {
      "main": [
        [
          {
            "node": "eea7bc1f-c4a4-4c2d-bd6f-27f977948e32",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "54867a18-8d2b-4697-92ed-b01c53cb322c": {
      "ai_languageModel": [
        [
          {
            "node": "3dab757d-460d-4935-a6bc-10e761072575",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "d88c4116-55e9-48b8-ae1f-9d89cc39bd99": {
      "main": [
        [
          {
            "node": "3dab757d-460d-4935-a6bc-10e761072575",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e7a26dcc-ded8-4d74-8fff-19942a46c5cc": {
      "main": [
        [
          {
            "node": "ef9dfef6-9d58-4d49-9bc6-407bd4853b35",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "57e6c6b6-fe9a-49ff-aac6-3687bdb3b236",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "eea7bc1f-c4a4-4c2d-bd6f-27f977948e32": {
      "main": [
        [
          {
            "node": "57e6c6b6-fe9a-49ff-aac6-3687bdb3b236",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "20193ea2-1b6d-428b-9219-160ffab88242": {
      "ai_outputParser": [
        [
          {
            "node": "3dab757d-460d-4935-a6bc-10e761072575",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Fortgeschritten - KI-Zusammenfassung, Multimodales KI

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Workflow-Informationen
Schwierigkeitsgrad
Fortgeschritten
Anzahl der Nodes13
Kategorie2
Node-Typen10
Schwierigkeitsbeschreibung

Für erfahrene Benutzer, mittelkomplexe Workflows mit 6-15 Nodes

Autor
Matt Chong | n8n Creator

Matt Chong | n8n Creator

@mattxchong

Automation nerd fueled by good coffee, deep curiosity, and clean flows.

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34