GPT-4o mini を使用して Gmail メールを分類し、Telegram 通知を送信

中級

これはAI Summarization, Multimodal AI分野の自動化ワークフローで、13個のノードを含みます。主にGmail, Telegram, GmailTrigger, Agent, LmChatOpenAiなどのノードを使用。 GPT-4o mini を使って Gmail のメールを分類し、Telegram へ通知を送信

前提条件
  • Googleアカウント + Gmail API認証情報
  • Telegram Bot Token
  • OpenAI API Key
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "meta": {
    "instanceId": "8f5bc3586a09bb005132364a23028fdc8e3d8c8e33cd86682840171acfa0648a"
  },
  "nodes": [
    {
      "id": "9cd65245-e711-4f03-b678-9594d0f35b2f",
      "name": "Gmailトリガー",
      "type": "n8n-nodes-base.gmailTrigger",
      "position": [
        -1136,
        16
      ],
      "parameters": {
        "simple": false,
        "filters": {},
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        }
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "96ptpCJChvUmC7FR",
          "name": "Gmail account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "cb59304f-46f2-4f7b-821e-9681137da80b",
      "name": "分類エージェント",
      "type": "@n8n/n8n-nodes-langchain.textClassifier",
      "position": [
        -832,
        -32
      ],
      "parameters": {
        "options": {
          "multiClass": true,
          "systemPromptTemplate": "Please classify the text provided by the user into one of the following categories: {categories}, and use the provided formatting instructions below. Don't explain, and only output the json."
        },
        "inputText": "=Email: {{ $json.from.value[0].address }}\nName: {{ $json.from.value[0].name }}\nSubject: {{ $json.subject }}\nBody: {{ $json.text}}",
        "categories": {
          "categories": [
            {
              "category": "High Priority",
              "description": "Emails requiring immediate attention or action, typically from key stakeholders, clients, or decision-makers. These emails often contain time-sensitive requests, deadlines, or escalated issues. Keywords: urgent, ASAP, immediate, deadline, action required, high priority"
            },
            {
              "category": "Work Related",
              "description": "Anything related to my Work. Keyword: Work {Add more relevant work details here}"
            },
            {
              "category": "Promotion",
              "description": "Anything related to updating on promotions. Keywords: newsletter, promotion, offer, sale, campaign, marketing, launch"
            },
            {
              "category": "Other",
              "description": "If you don't know what category is this email."
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "95600e56-c8b2-402c-b769-fe7724bbf5a6",
      "name": "AIエージェント1",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -448,
        176
      ],
      "parameters": {
        "text": "=You are a notification assistant. When an email is received, generate a short, casual, and direct notification about it.\nCATEGORY:  {{ $json.labelIds[0] }}\nFrom: {{ $json.from.value[0].address  || $json.from.value[0].name}} \n\nSubject: {{ $json.subject }}\nBody: {{ $json.text }}\n\n",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "3c04b2db-d9a4-401c-8e38-a7d3b92665fe",
      "name": "テキストメッセージ送信",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -64,
        176
      ],
      "webhookId": "0e77de2e-6e1a-457d-b79b-413f7d066d9a",
      "parameters": {
        "text": "={{ $json.output }}",
        "chatId": "{input your telegram id here}",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "qzw76kM1w1nZA0a6",
          "name": "Subreddit_finder_bot"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "d2834e35-4d72-47bb-95fb-8cb082993833",
      "name": "高優先度",
      "type": "n8n-nodes-base.gmail",
      "position": [
        -416,
        -96
      ],
      "webhookId": "4e089f5f-58ea-4c8d-8870-3d155a81f0b7",
      "parameters": {
        "labelIds": [
          "YELLOW_STAR",
          "IMPORTANT"
        ],
        "messageId": "={{ $json.id }}",
        "operation": "addLabels"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "96ptpCJChvUmC7FR",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "157490fb-6cfc-4ec9-a8d6-dc8a20358e47",
      "name": "仕事関連",
      "type": "n8n-nodes-base.gmail",
      "position": [
        -240,
        -96
      ],
      "webhookId": "4e089f5f-58ea-4c8d-8870-3d155a81f0b7",
      "parameters": {
        "labelIds": [
          "Label_1704671005251458060"
        ],
        "messageId": "={{ $json.id }}",
        "operation": "addLabels"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "96ptpCJChvUmC7FR",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "eed9519c-a572-4e60-bafb-80a53c054e07",
      "name": "プロモーション",
      "type": "n8n-nodes-base.gmail",
      "position": [
        -80,
        -96
      ],
      "webhookId": "4e089f5f-58ea-4c8d-8870-3d155a81f0b7",
      "parameters": {
        "labelIds": [
          "Label_2537748930215029681"
        ],
        "messageId": "={{ $json.id }}",
        "operation": "addLabels"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "96ptpCJChvUmC7FR",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "9691763a-2a82-41ce-9a3a-2589c5779085",
      "name": "付箋",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -480,
        -288
      ],
      "parameters": {
        "width": 816,
        "height": 352,
        "content": "## Gmail Label\nThis node is responsible for actually labeling your email.\nYou may add 2 labels in one classification but for this template, I did a 1 Classification, 1 Label\n\n## NOTE:\nMake sure the label name you'll add in your label node is already existing in your gmail account otherwise it won't work."
      },
      "typeVersion": 1
    },
    {
      "id": "726fc541-0729-4017-ae3f-75bc6e14c3da",
      "name": "付箋1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -480,
        64
      ],
      "parameters": {
        "color": 5,
        "width": 816,
        "height": 320,
        "content": "## Telegram Message\n- Create a bot on @botfather telegram and use that as a credential.\n- Set the chat ID as your chatID so it would message you."
      },
      "typeVersion": 1
    },
    {
      "id": "f52fa480-449f-44a2-afcb-922fbd0ce2d2",
      "name": "4o-mini",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -448,
        272
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini",
          "cachedResultName": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "D8Cg9yQ6kspeYccH",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "207cff11-d136-4c15-a1ab-df29f17abe64",
      "name": "付箋2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -928,
        -144
      ],
      "parameters": {
        "color": 3,
        "width": 432,
        "height": 448,
        "content": "## AI Classification\nYou may Customize the Categories based on the Emails you want to be labeled."
      },
      "typeVersion": 1
    },
    {
      "id": "30139756-7d33-4d69-be06-9f509df104e5",
      "name": "4o-mini",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -832,
        160
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini",
          "cachedResultName": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "D8Cg9yQ6kspeYccH",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "5b87419b-7ee3-4942-939b-5cd16550a997",
      "name": "付箋3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1232,
        -112
      ],
      "parameters": {
        "width": 304,
        "height": 336,
        "content": "# Mail Listener\nThis node listens for new emails every minute, you may change the polling time"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "30139756-7d33-4d69-be06-9f509df104e5": {
      "ai_languageModel": [
        [
          {
            "node": "cb59304f-46f2-4f7b-821e-9681137da80b",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "95600e56-c8b2-402c-b769-fe7724bbf5a6": {
      "main": [
        [
          {
            "node": "3c04b2db-d9a4-401c-8e38-a7d3b92665fe",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9cd65245-e711-4f03-b678-9594d0f35b2f": {
      "main": [
        [
          {
            "node": "cb59304f-46f2-4f7b-821e-9681137da80b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "cb59304f-46f2-4f7b-821e-9681137da80b": {
      "main": [
        [
          {
            "node": "d2834e35-4d72-47bb-95fb-8cb082993833",
            "type": "main",
            "index": 0
          },
          {
            "node": "95600e56-c8b2-402c-b769-fe7724bbf5a6",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "157490fb-6cfc-4ec9-a8d6-dc8a20358e47",
            "type": "main",
            "index": 0
          },
          {
            "node": "95600e56-c8b2-402c-b769-fe7724bbf5a6",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "eed9519c-a572-4e60-bafb-80a53c054e07",
            "type": "main",
            "index": 0
          },
          {
            "node": "95600e56-c8b2-402c-b769-fe7724bbf5a6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

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

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

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

中級 - AI要約, マルチモーダルAI

有料ですか?

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

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

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

作成者
Christian Moises

Christian Moises

@hyxcreation

I value my time. so I created an Automation for 4 hours to save 20 minutes. I'll post all my works so you'd save that 20 minutes without spending 4 hours to create it. lol.

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34