Rechnungserinnerung: Gmail zu Tasks

Fortgeschritten

Dies ist ein Invoice Processing, AI Summarization-Bereich Automatisierungsworkflow mit 13 Nodes. Hauptsächlich werden If, Gmail, GoogleTasks, Agent, ScheduleTrigger und andere Nodes verwendet. Automatische Erkennung von Rechnungen in Gmail und Erinnerungserstellung mit Google Tasks

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": "Invoice Reminder: Gmail to Tasks",
  "nodes": [
    {
      "id": "95eeaaed-ce70-4f9d-82aa-e67bec2a84d2",
      "name": "Zeitplan-Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        0,
        -288
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "hours"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "46df89b3-2ac9-4905-ac0a-d4bcf4dbcf9a",
      "name": "KI-Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "onError": "continueRegularOutput",
      "position": [
        448,
        -288
      ],
      "parameters": {
        "text": "=You are an intelligent assistant that reads emails and determines whether the message is related to an invoice or a payment notification.\n\nYour tasks:\n1. Determine if the email is invoice-related.\n2. If yes, extract:\n   - Due date (in YYYY-MM-DD format, or null)\n   - Amount due (as a number, no currency symbols)\n\nAlways include these metadata values:\nId: {{ $json.id }}\nthreadId: {{ $json.threadId }}\nbody: {{ $json.text }}\nsubject: {{ $json.subject }}\nsender: {{ $json.from.value[0].name }}\n\nReturn only a valid JSON object in the format below:\n\n```json\n{\n  \"is_invoice\": true or false,\n  \"due_date\": \"YYYY-MM-DD\" or null,\n  \"amount_due\": number or null,\n  \"email_id\": \"string\",\n  \"thread_id\": \"string\",\n  \"sender\": \"string\",\n  \"subject\": \"string\"\n}",
        "options": {},
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2.1
    },
    {
      "id": "9f3cb030-5bbb-4203-b473-84e986ab1848",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        480,
        -64
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o",
          "cachedResultName": "gpt-4o"
        },
        "options": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "4fcf203d-d777-4aaf-b157-64f7ddea55c5",
      "name": "Strukturierter Ausgabe-Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        608,
        -64
      ],
      "parameters": {
        "schemaType": "manual",
        "inputSchema": "{...}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "51db6f62-ddb6-4cb3-b33e-b1431cbe9ba2",
      "name": "Keine Aktion, nichts tun",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1072,
        -96
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "a6abcee9-5187-4777-a843-1d7096ac674c",
      "name": "Aufgabe erstellen",
      "type": "n8n-nodes-base.googleTasks",
      "position": [
        1072,
        -480
      ],
      "parameters": {
        "task": "",
        "title": "=Invoice from {{ $json.output.sender }} – ${{ $json.output.amount_due }} due {{ $json.output.due_date }}",
        "additionalFields": {}
      },
      "typeVersion": 1
    },
    {
      "id": "09aa7d30-3328-42ea-a4d5-66944b72d43a",
      "name": "E-Mail-Label hinzufügen",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1072,
        -288
      ],
      "parameters": {
        "messageId": "={{ $json.output.email_id }}",
        "operation": "addLabels",
        "labelNames": [
          "Invoice"
        ]
      },
      "typeVersion": 2.1
    },
    {
      "id": "7fca02d6-db42-430a-bf26-ef80f84eaee7",
      "name": "E-Mail als gelesen markieren",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1296,
        -288
      ],
      "parameters": {
        "messageId": "={{ $json.id }}",
        "operation": "markAsRead"
      },
      "typeVersion": 2.1
    },
    {
      "id": "e360894f-77e8-49cb-b8ba-e2d271fd521e",
      "name": "Ungelesene E-Mails abrufen",
      "type": "n8n-nodes-base.gmail",
      "position": [
        224,
        -288
      ],
      "parameters": {
        "simple": false,
        "filters": {
          "readStatus": "unread"
        },
        "options": {},
        "operation": "getAll"
      },
      "typeVersion": 2.1
    },
    {
      "id": "f5674f2a-6875-4b89-94f8-13fb2d2c05fd",
      "name": "Prüfen, ob E-Mail eine Rechnung ist",
      "type": "n8n-nodes-base.if",
      "position": [
        848,
        -288
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "dc8158a0-29aa-4c7f-9de3-994a5d827331",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $json.output.is_invoice }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "a38b2d77-9ead-436d-ab40-12fcced60f72",
      "name": "Haftnotiz",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        952,
        -608
      ],
      "parameters": {
        "color": 5,
        "width": 336,
        "height": 288,
        "content": "### 💡 Customize Task Format  \nYou can change the title in this node.  For example: `Pay invoice from {{sender}} by {{due_date}}`  \nInclude more invoice details in the notes field if needed."
      },
      "typeVersion": 1
    },
    {
      "id": "2f9a2857-ebe6-4d0f-a583-af4b655e4844",
      "name": "Haftnotiz2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -64,
        0
      ],
      "parameters": {
        "width": 304,
        "height": 224,
        "content": "### ⚠️ Setup Required  \n- Connect your Gmail account using OAuth2  \n- Add your OpenAI API Key under **API Credentials**  \n- Connect your Google Tasks account  \n- Create this label in Gmail: **Invoice**"
      },
      "typeVersion": 1
    },
    {
      "id": "6da66212-1ddb-4822-b660-70e0a94dc0b2",
      "name": "Haftnotiz1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -128,
        -416
      ],
      "parameters": {
        "color": 5,
        "width": 320,
        "height": 272,
        "content": "### 💡 Schedule Trigger  \nThis runs every hour.  \nYou can change the interval here depending on how often you want Gmail to be checked."
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "46df89b3-2ac9-4905-ac0a-d4bcf4dbcf9a": {
      "main": [
        [
          {
            "node": "f5674f2a-6875-4b89-94f8-13fb2d2c05fd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "95eeaaed-ce70-4f9d-82aa-e67bec2a84d2": {
      "main": [
        [
          {
            "node": "e360894f-77e8-49cb-b8ba-e2d271fd521e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e360894f-77e8-49cb-b8ba-e2d271fd521e": {
      "main": [
        [
          {
            "node": "46df89b3-2ac9-4905-ac0a-d4bcf4dbcf9a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9f3cb030-5bbb-4203-b473-84e986ab1848": {
      "ai_languageModel": [
        [
          {
            "node": "46df89b3-2ac9-4905-ac0a-d4bcf4dbcf9a",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "09aa7d30-3328-42ea-a4d5-66944b72d43a": {
      "main": [
        [
          {
            "node": "7fca02d6-db42-430a-bf26-ef80f84eaee7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4fcf203d-d777-4aaf-b157-64f7ddea55c5": {
      "ai_outputParser": [
        [
          {
            "node": "46df89b3-2ac9-4905-ac0a-d4bcf4dbcf9a",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "f5674f2a-6875-4b89-94f8-13fb2d2c05fd": {
      "main": [
        [
          {
            "node": "09aa7d30-3328-42ea-a4d5-66944b72d43a",
            "type": "main",
            "index": 0
          },
          {
            "node": "a6abcee9-5187-4777-a843-1d7096ac674c",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "51db6f62-ddb6-4cb3-b33e-b1431cbe9ba2",
            "type": "main",
            "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 - Rechnungsverarbeitung, KI-Zusammenfassung

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-Typen9
Schwierigkeitsbeschreibung

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

Autor
Matt Chong

Matt Chong

@mattxchong

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

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34