請求書リマインダー:GmailからTasksへ

中級

これはInvoice Processing, AI Summarization分野の自動化ワークフローで、13個のノードを含みます。主にIf, Gmail, GoogleTasks, Agent, ScheduleTriggerなどのノードを使用。 Gmail と Google Tasks を使用して請求書を自動のに検出し、リマインダーを作成します

前提条件
  • Googleアカウント + Gmail API認証情報
  • OpenAI API Key
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "name": "Invoice Reminder: Gmail to Tasks",
  "nodes": [
    {
      "id": "95eeaaed-ce70-4f9d-82aa-e67bec2a84d2",
      "name": "スケジュールトリガー",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        0,
        -288
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "hours"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "46df89b3-2ac9-4905-ac0a-d4bcf4dbcf9a",
      "name": "AIエージェント",
      "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": "構造化出力パーサー",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        608,
        -64
      ],
      "parameters": {
        "schemaType": "manual",
        "inputSchema": "{...}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "51db6f62-ddb6-4cb3-b33e-b1431cbe9ba2",
      "name": "操作なし(何もしない)",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1072,
        -96
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "a6abcee9-5187-4777-a843-1d7096ac674c",
      "name": "タスクを作成",
      "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": "メールにラベルを追加",
      "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": "メールを既読にする",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1296,
        -288
      ],
      "parameters": {
        "messageId": "={{ $json.id }}",
        "operation": "markAsRead"
      },
      "typeVersion": 2.1
    },
    {
      "id": "e360894f-77e8-49cb-b8ba-e2d271fd521e",
      "name": "未読メールを取得",
      "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": "メールが請求書か確認",
      "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": "付箋",
      "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": "付箋2",
      "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": "付箋1",
      "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
          }
        ]
      ]
    }
  }
}
よくある質問

このワークフローの使い方は?

上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。

このワークフローはどんな場面に適していますか?

中級 - 請求書処理, AI要約

有料ですか?

このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。

ワークフロー情報
難易度
中級
ノード数13
カテゴリー2
ノードタイプ9
難易度説明

経験者向け、6-15ノードの中程度の複雑さのワークフロー

作成者
Matt Chong

Matt Chong

@mattxchong

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

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34